Ok Zoomer is a mod that adds a configurable feature-packed zoom key, which allows for zooming. By default, the zoom key is bound to C with the zoom itself being different, with features like zoom scrolling, smooth transitions and reduced mouse sensitivity.
However, this isn't the end of the story, because here, you are in charge of your own zoom! Through the config screen, which is accessible through either the /okzoomer client command or the Mod Menu, the zoom is completely configurable, and if the default behavior isn't exactly what you want, you can change the smallest details or even restore the OptiFine zoom with a press of a button!
The 4.0.0 presentation video can be seen here, although a lot has changed since then.
Mod Menu is optional but it might be a more convenient way to access the config screen.
Ok Zoomer has a lot of features and all of them can be tweaked! The configuration screen is accessible through Mod Menu, however, a client-side command (/okzoomer) is also available as a method of configuring the mod.
Here's a list featuring all of them:
The classic way of moving the camera around which OptiFine uses, but more compatible with Vanilla's cinematic camera itself! It has 3 modes: off, vanilla and multiplied. Vanilla is exactly like the game's cinematic camera feature, and Multiplied multiplies the values used for the smoothiness, reducing or increasing the lingering.
The alternative way of moving the camera around. When zoomed in, the mouse sensitivity is divided dynamically, the further is zoomed in, the slower the mouse is, allowing for more precision. Can be enabled or disabled.
A feature from this mod itself, it adds transitions between zooming in and out instead of a sudden change. It has 3 modes: off, smooth and linear. Smooth transitions are similar to Vanilla's dynamic FOV while linear transitions takes constant steps until it reaches the state.
The behavior of the zoom key itself. It has 3 modes: Hold, Toggle and Persistent. Hold needs the key to be hold in order to zoom, Toggle allows for toggling the zoom with the key, Persistent makes the zoom permanent, with the key being used in order to scroll the zoom (recommended with a 1.0 zoom divisor).
This feature allows for using the mouse wheel in order to zoom in or zoom out. Its specifics can be adjusted in both the Values and the Tweaks section.
Extra Key Binds
Adds more 3 key binds, "Increase Zoom", "Decrease Zoom" and "Reset Zoom". Best used in combination of a toggled or persistent zoom. Can be disabled or enabled, but requires a Minecraft restart in order to apply the changes.
Adds a overlay while zoomed in. There are two modes: Vignette and Spyglass. Vignette is similar to Minecraft's vignette, Spyglass imitates the Spyglass overlay. The texture is a vignette by default, but it can be changed with a resource pack. The texture path is "assets/okzoomer/textures/misc/zoom_overlay.png". With the "Use Spyglass Texture" option, this is replaced with Minecraft's spyglass overlay texture.
Makes the Ok Zoomer zoom depend on the spyglass through different ways. There are 4 options: "Off", "Require Item", "Replace Zoom" and "Both". With "Require Item", the zoom will require a spyglass (and other items inside the "okzoomer:spyglass_dependencies" item tag) before zooming. With "Replace Zoom", the spyglass' zoom is instead replaced with Ok Zoomer's zoom (the zoom key will still work). "Both" imposes both restrictions, making a spyglass item required but with both the zoom key and the spyglass using the Ok Zoomer zoom.
The divisor which is ultimately applied to the FOV while zoomed in.
Minimum/Maximum Zoom Divisor
The minimum zoom divisor which zoom scrolling or the extra key binds can reach.
Upper/Lower Scroll Steps
The number of steps between the zoom divisor and the maximum/minimum zoom divisor. This is used by zoom scrolling, with the scroll step being the unit of change.
The multiplier which is applied to the cinematic camera while the Multiplied mode is used.
The multiplier used by the smooth transition, higher is faster, lower is slower.
Minimum/Maximum Linear Step
The limits of the linear transition's step, used in order to stop a linear transition from going too fast or too slow.
Reset Zoom With Mouse
Allows for resetting the zoom with the mouse's middle button, meant to be used along with zoom scrolling or extra key binds, effective with a persistent zoom.
Unbind Conflicting Key
Unbinds the "Save Toolbar Activator" is both it and the zoom key are set to C, it's enabled when the config file is created but it disables itself once the key's unbound. It can be triggered in the config screen in case the automatic unbinding doesn't work.
Use Spyglass Texture
Replaces the zoom overlay's vignette texture with Minecraft's spyglass texture.
Use Spyglass Sounds
Adds spyglass sounds on zooming in and out. Compatible with other zoom modes!
Show Restriction Toasts
If disabled, toasts warning the player about imposed server restrictions will no longer appear, although they can still be seen through the "/okzoomer" client command.
Print owo on Start
When enabled, this mod will print "[Ok Zoomer] owo what's this" or variations of it in the console log when config is loaded. Originally meant as a signal that this is an indev version of the mod, it can be enabled, independently of the mod's version cycle.
Allows for changing the config with presets that already have the values filled, the preset is applied once the config is saved. Has 3 presets: Default, Classic and Persistent. Default changes the values to the config screen's defaults, Classic changes the values to match OptiFine's zoom. Persistent changes the values to behave more like a FOV change mod than a zoom mod. Spyglass makes the zoom just like a spyglass one.
If you are worried about the cheaty potential of features such as 50x zoom scrolling, don't worry! The server is able to instruct the client to temporarily restrict potentially cheaty features, with them being removed once leaving the server. They can be viewed with the "/okzoomer" client command.
This mod is licensed under the MIT license. You can freely include the mod on any modpack with no permission. Usage of this mod's code on other projects is allowed as long as attribution is given.