Links
Tags
Creators
Details
0.1.0-beta
Compatibility
Required content
Changes
Zoom Extended Beta v0.1.0
Initial Beta Release
Zoom Controls
- Added highly configurable multi-step zooming with dedicated controls for zooming, zooming in, zooming out, and opening settings.
- Added Hold and Toggle zoom activation modes.
- Added configurable remembering of the previously selected zoom step.
- Added an option to reset the selected zoom step when joining or changing worlds.
- Added an option to disable zoom input while menus, inventories, chat, and other screens are open.
- Added separate Zoom In / Next Step and Zoom Out / Previous Step keybinds.
- Added clean zoom-step behavior without intrusive step/status messages.
Zoom Steps
- Added a configurable zoom-step system supporting 2–64 zoom levels.
- Added 20 zoom steps by default for fine zoom control.
- Added a default zoom range of 2x–64x magnification.
- Added configurable minimum and maximum zoom magnification.
- Added automatically generated, smoothly distributed zoom levels between the selected minimum and maximum.
- Added configurable default zoom-step selection.
- Added Clamp and Wrap behavior when moving past the first or last zoom step.
- Added an option to reverse the direction of zoom-step controls.
- Added an in-settings preview of the currently generated zoom range and zoom multipliers.
Mouse-Wheel Zooming
- Added an option to invert mouse-wheel zoom direction.
- Added configurable numbers of zoom steps moved per scroll.
- Added separate smoothing duration specifically for mouse-wheel zooming.
Zoom Animations
-
Added independently configurable zoom-in and zoom-out animations.
-
Added separate zoom-in and zoom-out transition lengths.
-
Added a global animation-speed multiplier.
-
Added optional smooth animations when changing between zoom steps.
-
Added optional tick-based / quantized zoom animations.
-
Added configurable animation tick counts for stepped animations.
-
Added configurable overshoot strength for Back-style animations.
-
Added 12 easing styles:
- Linear
- Ease In
- Ease Out
- Ease In/Out
- Sine
- Cubic
- Quartic
- Quintic
- Exponential
- Back
- Elastic
- Bounce
Camera & View
-
Added configurable minimum FOV protection for extreme zoom levels.
-
Added an optional extreme-FOV clamp to prevent zooming below the configured minimum FOV.
-
Added an option to completely hide the first-person hand and held item while zooming.
-
Added an option to apply the zoomed FOV to the first-person hand when it remains visible.
-
Added configurable HUD behavior while zooming:
- Normal — leaves the HUD untouched.
- Fade — applies a configurable cinematic darkening effect.
- Hide — completely hides the HUD, crosshair, and hotbar while zooming.
-
Added configurable HUD fade strength.
-
HUD hiding is enabled by default for a clean zoomed view.
-
Hand and held-item hiding is enabled by default while zooming.
Mouse Sensitivity
- Added automatic zoom-relative mouse sensitivity.
- Mouse sensitivity can automatically decrease as magnification increases for much more precise aiming at high zoom levels.
- Added configurable relative-sensitivity strength.
- Supports fully proportional 1/zoom sensitivity scaling or weaker custom scaling.
- Relative sensitivity adjustment is enabled by default.
Zoom Sounds
-
Added configurable zoom sound feedback.
-
Added a master switch for all zoom sounds.
-
Added separate sound toggles for:
- Entering zoom.
- Leaving zoom.
- Changing zoom steps.
-
Added a short tick-style sound when changing zoom steps.
-
Added configurable sound volume.
-
Added configurable base sound pitch.
-
Added configurable step-pitch variation across the zoom range, allowing stronger zoom levels to produce progressively different pitches.
Entity Rendering Optimization
-
Added an optional zoom-aware entity rendering optimization system.
-
Entity optimization is disabled by default and can be enabled manually.
-
Added Zoom Only and Always optimization modes.
-
Added multiple ready-made optimization profiles:
- Conservative
- Balanced
- Aggressive
- Custom
-
Added adaptive entity-render-distance scaling based on current zoom strength.
-
Added a configurable minimum magnification before zoom-only optimization begins.
-
Added a configurable minimum adaptive-distance scale for extreme zoom levels.
-
Added an option to preserve normal player rendering distances.
-
Added individually configurable rendering distances for:
- Players
- Hostile mobs
- Passive mobs
- Dropped items and projectiles
- Other entities
-
Manually changing optimization distances automatically allows fully custom optimization behavior.
Configuration
-
Settings are organized into:
- General
- Animation
- View & Scroll
- Steps
- Sound & Feedback
- Optimization
-
Added per-page Reset to Defaults controls.
-
Added persistent configuration saving between game sessions.
Technical
-
Fabric keybind integration with fully remappable zoom controls.
-
Added support for smoothly applying zoom directly to the camera FOV.
-
Added compatibility-focused handling for camera FOV, first-person rendering, HUD rendering, mouse input, and entity render distances.
-
Licensed under Apache License 2.0.
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:7MpfU8en:30zDlsAs"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:7MpfU8en:30zDlsAs"
}

