Mod Ok Zoomer by EnnuiLangeweile

  • Ok Zoomer by EnnuiLangeweile

    Adds a highly-configurable zoom key for Quilt. The zoom is yours!
    • 596.96 KB
    • 1.16.5
    • December 8, 2019
    • June 8, 2023
    • Miscellaneous
    Ok Zoomer
Mod Information
NameOk ZoomerAuthorEnnuiLangeweileDescriptionAdds a highly-configurable zoom key for Quilt. The zoom is yours!
InformationDownloads:
Version: 1.16.5
Size: 596.96 KB
Updated at: June 8, 2023
Created at: December 8, 2019
Tags
Miscellaneous

Ok Zoomer. The ultimate zoom mod, accept no substitutes.

Ok Zoomer has migrated to the Quilt toolchain!

Since 5.0.0-beta.7, Ok Zoomer has completely switched to the Quilt toolchain! This will allow us to take advantage of its new APIs and in the future, will allow for much more (such as a better config system and better key bind integration with Quilt Key Binds API).

This means that all Fabric versions (including 5.0.0-beta.6) are no longer supported! I won't be able to fix any issues afflicting them. If you attempt to run 5.0.0-beta.7+ on Fabric, this mod will warn you on startup about it through a carefully-crafted Fabric-only part of the mod, which will show a screen.

Why is 5.0.0-beta.6 (the last Fabric version) not working on Fabric???
On the interim between the beginning of the Quilt toolchain's development and its release, Ok Zoomer was already adopting parts of Quilt that were ready at the time. On 5.0.0-beta.4, this resulted into the adoption of a JiJ'd Quilt Standard Libraries, which was needed in order to make a feature work. It ran on the Fabric Loader due to the Quilt Loader not being ready yet. While at the time, I could carefully watch for any issues and eventually fix them through an update (a good example is an issue affecting Continuity being fixed on 5.0.0-beta.6), after 5.0.0-beta.6 happened, Quilt Loader was ready, and therefore, QSL has migrated to it. With that migration, many of its code hacks used for running on Fabric could finally be removed, and so, they were. With Fabric Loader 0.14.x, one of those hacks was broken, and therefore, the dreaded crash happens. This was not an intentional crash, and since QSL had long migrated to the Quilt Loader, I can't really do anything about it anyway. This is a big reason why the Fabric versions are unsupported, because it's no longer practical to maintain them on its current state. While those issues are solved on the Quilt versions, if you'd rather stick with the Fabric Loader, I would advise removing the mod, before the issues get worse as time passes by.
The reason why I've migrated to the Quilt toolchain is explained on the below testimonial:

Hello! I've been part of the Modded Minecraft community for quite a few years, and even before then, I've always been playing with mods as a kid.

Watching all the new innovations that those people always keep creating has always fun to me! To tinker with new mechanics to simply causing havoc on Creative Mode, modding has always been quite magic to me, and being able to be one of those magic people meant that I could finally contribute to improving this experience not just for players, but for everyone in general.

However, unfortunately the past year hasn't been great. I have witnessed fellow modders being hurt by those who were meant to protect the community, I have witnessed innovation being drowned by those meant to promote it, I have witnessed a downward spiral going on and on until everything hit the rock bottom, with myself having migraines just from seeing everything falling apart. I felt like I couldn't support that place anymore, and I felt like if there's no way forward, I'd might as well retire from modding, except that I don't want to retire, I still believe that there's more to do!

Thankfully, the Quilt community has popped up as the answer to where to go: A place that can really be called a community for everyone, a place where innovation is encouraged, and a place in which I could call home. If not for it, I don't believe that I would have continued to develop my mods.

On my own mods, especially Ok Zoomer, I've already began to use its innovations, its better decompiler, its mappings, its ergonomic and new API, but with the beta release of the Quilt toolchain, I can finally complete this switch to Quilt. While it's still its first days, I've always loved experimenting with new things! If I didn't, I wouldn't have created Ok Zoomer with a young and new Fabric on the first place!

The Quilt toolchain is still a beta, with many things still being worked on, but together, we'll explore this new horizon of modding, and with it, the expanded opportunities out there.

 

Description:

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.

Dependencies:

This mod requires the Quilt Standard Libraries to be installed and currently works on Minecraft 1.18.2+ with the Quilt Loader.

Mod Menu is optional but it might be a more convenient way to access the config screen.

Configuration:

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:

Features:

Cinematic Camera

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.

Reduce Sensitivity

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.

Zoom Transitions

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.

Zoom Mode

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).

Zoom Scrolling

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.

Zoom Overlay

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.

Spyglass Dependency

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.

Values:

Zoom Divisor

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.

Cinematic Multiplier

The multiplier which is applied to the cinematic camera while the Multiplied mode is used.

Smooth Multiplier

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.

Tweaks:

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.

Presets:

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.

License

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.

This mod's icon makes usage of Twemoji assets, which are licensed under CC BY 4.0.