All versions
0.3.0
Beta
snapcam 0.3.04 months ago 197
Compatibility
Minecraft: Java Edition
1.21.1
Platform
Fabric
Supported environments
Client and server
Changes
New features
- Zoom — scroll wheel or W/S while in placed-camera view zooms in and out (12–200 mm equivalent focal length, logarithmic stepping for even feel across the range). Current focal length shown in the viewfinder HUD.
- Zoom persistence — zoom level is stored in the camera entity and synced to the server. Survives chunk unloads and world reloads; timed shots always use the focal length the camera was left at.
- Animated lens barrel — the camera body is a three-part assembly: fixed body, sliding lens plate, and an inner barrel that extends out as you zoom in. The viewpoint tracks the lens face so it is never rendered from inside the glass.
- Ceiling-mounted camera — place on the underside of any block (aim up and press Use). A centred plate grips the block above; a rod hangs down to the pan/tilt head. Supports full 360° pan and ±70/80° pitch.
- Extended interaction range — holding the Camera item raises entity reach to ~20 blocks, so timed shots can be triggered from across a room.
Bug fixes
- Wall-mounted camera hitbox was the same tall box as the tripod; now correctly sized (0.9 × 0.9 in the attachment plane, 0.85 deep) and orientation-aware.
- Tripod hitbox raised by 0.25 blocks to match the physical model height.
- Wall camera debug line (F3+B) was pointing the wrong way and too high; moved down 1 block and rotated 180°.
- Handheld mode: pressing Use while aimed at a valid block face was placing an additional camera entity at the same time as shooting. Fixed.
- Handheld mode: holding Shift in creative flight caused the player to fly downward while in photo mode. Fixed.
- Controller / Steam Deck (Controlify): sneak-to-exit now works correctly from placed camera view.
- Controller / Steam Deck: jump is fully suppressed while in placed camera view.
- Controller / Steam Deck: creative fly-down is suppressed in handheld mode.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:7NPk0vuz:PRThFNNo"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:7NPk0vuz:PRThFNNo"
}

