Deprecation Note
LibZoomer has been merged back into Ok Zoomer since Ok Zoomer 10.0.0. Maintaining the codebase as a separate library while keeping it on its best possible state has stopped being feasible for a while, and merging it back will allow us to deliver the best zoom mod possible.
If you were an user of this library or had interest on it, trust me, maintaining your own zoom will be more practical in the long run (and probably is the best learning experience you can have) than relying on a library that wasn't on its prime for a long while.
LibZoomer

LibZoomer is a library for Minecraft 1.17-1.21 that allows other mods to zoom easily while being able to customize it for their own needs. It is also the library that powers up Ok Zoomer!
More information for developers can be seen here. This library is intended to be bundled by mods who need it, therefore, players won't need to download it manually.
License
This mod is licensed under the MIT license. You can freely include the mod on any modpack with no permission. Usage of this library's code on other projects is allowed as long as attribution is given.
This library's icon makes usage of Twemoji assets, which are licensed under CC BY 4.0.
All Versions
+ Add Version- Refactored
ZoomInstance'sgetZoomandsetZoommethods toisZoomingandsetZooming - Removed the Identifier/ResourceLocation access widener due to chaos caused by it
- Updated to Minecraft 1.20.6
- Ported to Fabric Loader and Fabric API
- Ported to the mess called Fabric Client Tags
- Refactored all
getIdentifiers togetIds - Mojmapfied the codebase
- Removed the mixin refmap
- Cleaned up the spyglass overlay
- Updated to Minecraft 1.20.1
- Updated to Quilt Loader 0.23.0, taking advantage of its bundled MixinExtras to simplify code
- Solved a latency issue caused by two different systems ticking at different times
- Updated to Minecraft 1.20
- Updated to Minecraft 1.19.4
- Updated javadocs in order to fit the [QSL guidelines](https://github.com/QuiltMC/quilt-standard-libraries/blob/1.19.4/CONTRIBUTING.md)
- Fixed the absence of the license inside the JAR
- Updated to Minecraft 1.19.3
- Updated few Javadocs
- Cleaned up codebase
- Updated to Minecraft 1.19
- Migrated to the [Quilt toolchain](https://quiltmc.org/). Quilt Loader and [QSL](https://modrinth.com/mod/qsl) are now required
- Used Quilt Tag API's Client Fallback TagType for the
libzoomer:spyglassestag, preventing possible issues on Vanilla servers
- Fixed a small performance hit caused by iterations. This was accomplished by using FastUtil and preventing unnecessary iterations
- Refactored the mouse modifier mixin, cleaning it up and possibly solving conflicts with
@Redirects - Removed the terrain refresh check, as thanks to the addition of spyglasses, this is now handled by Vanilla
Updated to Minecraft 1.18.2
Switched the internal codebase to Quilt Mappings
Refactored zoom instance registering. It is now automatically done on creation instead of requiring manual registering
Cleaned up the codebase a bit
Migrated from TagRegistry to TagFactory
Cleaned up the codebase and expanded its Javadoc
The mouse modifier and zoom overlay of a zoom instance is now nullable
Removed NoMouseModifier and NoZoomOverlay due to the above change
Removed the unused ZoomOverlay#setClient method
Published to Maven Central, now you no longer need Jitpack (This is why this update exists)
Updated the buildscript
Added the option of creating ContainingMouseModifiers without creating a new array
Added more comments to the testmod
Cleaned up the buildscript
Updated to Minecraft 1.17 and Java 16
Migrated the package to
io.github.ennuil.libzoomerOverhauled the logic behind zooming, zoom overlays and mouse modifiers
Refactored transition modes and mouse modifiers
Fixed cinematic camera mouse modifier
Added spyglass mouse modifier