All Mods Resource Packs Data Packs Shaders Modpacks Plugins
The Impossible Library

The Impossible Library

by The_Computerizer • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

Changelog & Known Issues for 0.4.0

This mod was originally made to offer mod devs methods for doing things that are typically thought of as impossible, hacky, tedious, or maybe even require a third party java library. It now additionally serves as an API that can be used to load and run mods on multiple versions & mod loaders.

Supported Versions

The status indicators are as follows:

BROKEN → The API has been implemented in this version, but it is not yet able to load.

FUNCTIONAL → There are no known major issues specific to this version.

LOADABLE → The game can load in this version, but entering a world is not yet possible.

PLANNED → The API has not yet been implemented for this version, but it will be soon.

PLAYABLE → Worlds are able to load in this version, but there may be stability issues

Cleanroom

1.12.2 → PLANNED

Fabric/Quilt

1.16.5 → FUNCTIONAL

1.18.2 → FUNCTIONAL

1.19.2 → FUNCTIONAL

1.19.4 → FUNCTIONAL

1.20.1 → FUNCTIONAL

1.20.4 → FUNCTIONAL

1.20.6 → FUNCTIONAL

1.21.1 → FUNCTIONAL

1.21.4 → PLANNED

Forge

1.12.2 → FUNCTIONAL

1.16.5 → FUNCTIONAL

1.18.2 → FUNCTIONAL

1.19.2 → FUNCTIONAL

1.19.4 → FUNCTIONAL

1.20.1 → FUNCTIONAL

1.20.4 → BROKEN

1.20.6 → BROKEN

1.21.1 → FUNCTIONAL

1.21.4 → PLANNED

NeoForge

1.20.1 → FUNCTIONAL

1.20.4 → PLAYABLE

1.20.6 → FUNCTIONAL

1.21.1 → FUNCTIONAL

1.21.4 → PLANNED

Getting Started

Features

I will be writing a more in-depth wiki at some point, but in the meantime here are a few helpful things you can do:

  • Easier file creation and manipulation
  • Generic image rendering to the screen
  • Global nbt data storage and retrieval
  • Support for radial gui elements and some helper methods regarding that
  • Custom async tick events able set by millisecond

Issues & the Discord Server for my mods

Want to host a server? I am partnered with Bisect Hosting! You can use code 'DimHop' For 25% off your first month! name

Click here if the banner isn't showing up

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
1.21.1 1.20.x 1.19.x +3
Fabric Forge Neoforge Quilt
19h ago 1
1.21.1 1.20.x 1.19.x +3
Fabric Forge Neoforge Quilt
19h ago 1
1.21.1 1.20.x 1.19.x +3
Fabric Forge Neoforge Quilt
19h ago 1
1.21.1 1.20.x 1.19.x +3
Fabric Forge Neoforge Quilt
19h ago 1
1.21.1 1.20.x 1.19.x +3
Fabric Forge Neoforge Quilt
19h ago 1
1.21.1 1.20.x 1.19.x +3
Fabric Forge Neoforge Quilt
19h ago 1
1.21.1 1.20.x 1.19.x +3
Fabric Forge Neoforge Quilt
19h ago 1
1.21.1 1.20.x 1.19.x +3
Fabric Forge Neoforge Quilt
19h ago 1
1.20.1
Fabric
19h ago 1
1.19.2
Fabric
19h ago 1
1.18.2
Fabric
19h ago 1
1.19.2
Forge
19h ago 1
1.18.2
Forge
19h ago 1
1.16.5
Forge
19h ago 1
1.20.1
Fabric
19h ago 1
1.19.2
Fabric
19h ago 1
1.18.2
Fabric
19h ago 1
1.19.2
Forge
19h ago 1
1.18.2
Forge
19h ago 1
1.16.5
Forge
19h ago 1
1.12.2
Forge
19h ago 1
1.20.1
Fabric
19h ago 1
1.19.2
Fabric
19h ago 1
1.18.2
Fabric
19h ago 1
1.19.2
Forge
19h ago 1
1.18.2
Forge
19h ago 1
1.16.5
Forge
19h ago 1
1.12.2
Forge
19h ago 1
1.19.2
Fabric
19h ago 1
1.18.2
Fabric
19h ago 1
1.19.2
Forge
19h ago 1
1.18.2
Forge
19h ago 1
1.16.5
Forge
19h ago 1
1.12.2
Forge
19h ago 1
1.19.2
Fabric
19h ago 1
1.18.2
Fabric
19h ago 1
1.19.2
Forge
19h ago 1
1.18.2
Forge
19h ago 1
1.16.5
Forge
19h ago 1
1.12.2
Forge
19h ago 1
[0.4.7] The Impossible Library by The_Computerizer on Oct 14, 2026
Download

[0.4.6] The Impossible Library by The_Computerizer on Oct 14, 2026
Download
[commit history since 0.4.5 because I forgot to keep track of everything](<https://github.com/TheComputerizer/The-Impossible-Library/compare/ba963ea...5da0ac1>)

[0.4.5] The Impossible Library by The_Computerizer on Oct 14, 2026
Download
  • Updated the bundled version of BurningWave for Java 24 support
  • Fixed block pos offset issues for negative coordinates
  • Relocated the parameter API from music triggers to mods.thecomputerizer.theimpossiblelibrary.api.parameter
  • Fixed Renderable implementations not handling parameters properly (music triggers image & title card issue)
  • Fixed references to forge class/methods being present in common version code
  • Fixed some null checking issues when retrieving registry names for biomes & dimensions
  • Consolidated & refactored item registration implementations
  • Fixed MineraftAPI#isPaused always returning false when connected to a server
  • [1.12.2] Fixed packets not being able to get decoded on dedicated servers
  • [1.16.5+] Fixed registry names for dimensions not being retrieved properly
  • [1.16.5 - 1.18.2] Fixed the custom argument type for wrapped commands not being registered
  • [1.16.5 - 1.20.1 Forge] Fixed network direction issues causing a disconnect when trying to join a server
  • [1.16.5 - 1.20.1 Forge] Fixed the 'Unknown custom packet identifier' warnings when receiving packets on the client side
  • [1.20.1 Forge] Updated the supported Enhanced Celestials version to 5.0.3.1
  • [1.21.1] Added support for Enhanced Celestials 6.0.2.0 to all mod loaders
[0.4.4] The Impossible Library by The_Computerizer on Oct 14, 2026
Download
  • Added sources and javadoc jars as additional files
  • Fixed a startup crash with unexpected file names and/or content from mod jars
  • 1.12.2 is now fully compatible with cleanroom
[0.4.3] The Impossible Library by The_Computerizer on Oct 14, 2026
Download
  • Fixed a startup crash during the coremod phase when sinytra connector is present
  • Fixed most of the entrypoint stuff not being called in NeoForge 1.20.6/1.21.1 (causing crashes & weird behavior)
  • Fixed an offset issue with EntityAPI#getRoundedPos
  • Add a bunch more Toml helper methods mainly pertaining to value retrieval
[0.4.2] The Impossible Library by The_Computerizer on Oct 14, 2026
Download
  • Fix item model properties trying to get registered on dedicated servers
  • Add MinecraftAPI#getCurrentScreen & ClientHelper#getCurrentScreen
  • Add EntityAPI#isHostile
[0.4.1] The Impossible Library by The_Computerizer on Oct 14, 2026
Download
  • Fixed RandomHelper not handling negative numbers properly
[0.4.0] The Impossible Library by The_Computerizer on Oct 14, 2026
Download
  • The entire mod has been rewritten from scratch
  • It is now both a multiversion API & multiversion modloader
  • Refactored most of the important core stuff into an api package
  • Most classes that ended in Util now end in Helper and have been organized into packages that make more sense
  • Reformatted and improved upon most Helper classes
  • Ported, abstracted, and improved upon the Wrapperable system from Scriptify, the geometry render system from SleepLess, as well as various utility functions from some of my other projects
  • Added a layering system for screens and widgets along with a number of new helper methods due to the many abstractions needed
  • Fixed some broken mixin stuff
  • Fixed some broken network stuff
  • Fixed some broken mixin stuff
  • Fixed some broken network stuff
  • Fixed some broken mixin stuff
  • Fixed some broken network stuff
[1.19.2-0.3.1] The Impossible Library by The_Computerizer on Oct 14, 2026
Download
  • Fixed packets not getting registered on dedicated servers
[1.18.2-0.3.1] The Impossible Library by The_Computerizer on Oct 14, 2026
Download
  • Fixed packets not getting registered on dedicated servers
[1.16.5-0.3.1] The Impossible Library by The_Computerizer on Oct 14, 2026
Download
  • Fixed packets not getting registered on dedicated servers
  • Updated to Gradle 8.1.1, Fabric 0.76.0, and Loom 1.2.+
  • Refactored a bunch of registration stuff
  • Replaced all Point4i, implementations with Vector4f implementations for consistency
  • Added a SpriteSheet extension for the PNG renderable object for animation support via single column sprite sheet pngs
  • Fixed Text renderable opacity values under 0.0314 being rendered at 1 often leading to flashes when fading in
  • Implementing reading from and writing Tables and Variables parsed from TOML files to NBT data
  • Added a system for easy and centralized packet registration
  • Added some additional GenericUtils and DataUtil methods
  • Logging done via the LogUtil class can now properly handle null levels, messages, and parameters.
  • The LogUtil$ModLogger class now keeps track of how many lines it has written
  • Added TextUtil$TextCasing and some related TextUtil methods for manipulating kebab-casing, PascalCasing, snake_casing, and camelCasing
  • Fixed some inconsistencies and weird logic various GuiUtil methods.
  • Changed GuiUtil#howManyLinesWillThisBe which returned an integer with the number of lines into GuiUtil#splitLines which just returns a list of the lines from the split
  • Fixed some duplicate code in the NetworkUtil class
  • NetworkUtil#writeString now forces input strings to be encoded in UTF-8 to avoid network crashes related to character encoding
  • Moved GuiUtil#convertChatFormatting to FontUtil#convertChatFormatting
  • Moved CustomTick from the util package to a new events package
  • Added events for a SoundInstance playing, an entity being added to a ServerLevel, a player logging in on the server side, resources finishing being loaded on the client, and an advancement being granted
  • Fixed the DataUtil class to make it an actual alternative to the Forge capability system
  • Updated to Gradle 8.1.1, Fabric 0.76.0, and Loom 1.2.+
  • Refactored a bunch of registration stuff
  • Replaced all Point4i, implementations with Vector4f implementations for consistency
  • Added a SpriteSheet extension for the PNG renderable object for animation support via single column sprite sheet pngs
  • Fixed Text renderable opacity values under 0.0314 being rendered at 1 often leading to flashes when fading in
  • Implementing reading from and writing Tables and Variables parsed from TOML files to NBT data
  • Added a system for easy and centralized packet registration
  • Added some additional GenericUtils and DataUtil methods
  • Logging done via the LogUtil class can now properly handle null levels, messages, and parameters.
  • The LogUtil$ModLogger class now keeps track of how many lines it has written
  • Added TextUtil$TextCasing and some related TextUtil methods for manipulating kebab-casing, PascalCasing, snake_casing, and camelCasing
  • Fixed some inconsistencies and weird logic various GuiUtil methods.
  • Changed GuiUtil#howManyLinesWillThisBe which returned an integer with the number of lines into GuiUtil#splitLines which just returns a list of the lines from the split
  • Fixed some duplicate code in the NetworkUtil class
  • NetworkUtil#writeString now forces input strings to be encoded in UTF-8 to avoid network crashes related to character encoding
  • Moved GuiUtil#convertChatFormatting to FontUtil#convertChatFormatting
  • Moved CustomTick from the util package to a new events package
  • Added events for a SoundInstance playing, an entity being added to a ServerLevel, a player logging in on the server side, resources finishing being loaded on the client, and an advancement being granted
  • Fixed the DataUtil class to make it an actual alternative to the Forge capability system
  • Updated to Gradle 8.1.1, Fabric 0.76.0, and Loom 1.2.+
  • Refactored a bunch of registration stuff
  • Replaced all Point4i, implementations with Vector4f implementations for consistency
  • Added a SpriteSheet extension for the PNG renderable object for animation support via single column sprite sheet pngs
  • Fixed Text renderable opacity values under 0.0314 being rendered at 1 often leading to flashes when fading in
  • Implementing reading from and writing Tables and Variables parsed from TOML files to NBT data
  • Added a system for easy and centralized packet registration
  • Added some additional GenericUtils and DataUtil methods
  • Logging done via the LogUtil class can now properly handle null levels, messages, and parameters.
  • The LogUtil$ModLogger class now keeps track of how many lines it has written
  • Added TextUtil$TextCasing and some related TextUtil methods for manipulating kebab-casing, PascalCasing, snake_casing, and camelCasing
  • Fixed some inconsistencies and weird logic various GuiUtil methods.
  • Changed GuiUtil#howManyLinesWillThisBe which returned an integer with the number of lines into GuiUtil#splitLines which just returns a list of the lines from the split
  • Fixed some duplicate code in the NetworkUtil class
  • NetworkUtil#writeString now forces input strings to be encoded in UTF-8 to avoid network crashes related to character encoding
  • Moved GuiUtil#convertChatFormatting to FontUtil#convertChatFormatting
  • Moved CustomTick from the util package to a new events package
  • Added events for a SoundInstance playing, an entity being added to a ServerLevel, a player logging in on the server side, resources finishing being loaded on the client, and an advancement being granted
  • Fixed the DataUtil class to make it an actual alternative to the Forge capability system
[1.19.2-0.3.0] The Impossible Library by The_Computerizer on Oct 14, 2026
Download
  • Updated to Gradle 8.1.1 & FG 6.0.+
  • Refactored a bunch of registration stuff
  • Replaced all Point4i, implementations with Vector4f implementations for consistency
  • Added a SpriteSheet extension for the PNG renderable object for animation support via single column sprite sheet pngs
  • Fixed Text renderable opacity values under 0.0314 being rendered at 1 often leading to flashes when fading in
  • Implementing reading from and writing Tables and Variables parsed from TOML files to NBT data
  • Added a system for easy and centralized packet registration
  • Added some additional GenericUtils and DataUtil methods
  • Logging done via the LogUtil class can now properly handle null levels, messages, and parameters.
  • The LogUtil$ModLogger class now keeps track of how many lines it has written
  • Added TextUtil$TextCasing and some related TextUtil methods for manipulating kebab-casing, PascalCasing, snake_casing, and camelCasing
  • Fixed some inconsistencies and weird logic various GuiUtil methods.
  • Changed GuiUtil#howManyLinesWillThisBe which returned an integer with the number of lines into GuiUtil#splitLines which just returns a list of the lines from the split
  • Fixed some duplicate code in the NetworkUtil class
  • NetworkUtil#writeString now forces input strings to be encoded in UTF-8 to avoid network crashes related to character encoding
  • Moved GuiUtil#convertChatFormatting to FontUtil#convertChatFormatting
  • Fixed Text renderable opacity and fade values not getting applied correctly
[1.18.2-0.3.0] The Impossible Library by The_Computerizer on Oct 14, 2026
Download
  • Updated to Gradle 8.1.1, & FG 6.0.+
  • Refactored a bunch of registration stuff
  • Replaced all Point4i, implementations with Vector4f implementations for consistency
  • Added a SpriteSheet extension for the PNG renderable object for animation support via single column sprite sheet pngs
  • Fixed Text renderable opacity values under 0.0314 being rendered at 1 often leading to flashes when fading in
  • Implementing reading from and writing Tables and Variables parsed from TOML files to NBT data
  • Added a system for easy and centralized packet registration
  • Added some additional GenericUtils and DataUtil methods
  • Logging done via the LogUtil class can now properly handle null levels, messages, and parameters.
  • The LogUtil$ModLogger class now keeps track of how many lines it has written
  • Added TextUtil$TextCasing and some related TextUtil methods for manipulating kebab-casing, PascalCasing, snake_casing, and camelCasing
  • Fixed some inconsistencies and weird logic various GuiUtil methods.
  • Changed GuiUtil#howManyLinesWillThisBe which returned an integer with the number of lines into GuiUtil#splitLines which just returns a list of the lines from the split
  • Fixed some duplicate code in the NetworkUtil class
  • NetworkUtil#writeString now forces input strings to be encoded in UTF-8 to avoid network crashes related to character encoding
  • Moved GuiUtil#convertChatFormatting to FontUtil#convertChatFormatting
[1.16.5-0.3.0] The Impossible Library by The_Computerizer on Oct 14, 2026
Download
  • Updated to Gradle 8.1.1, & FG 6.0.+
  • Refactored a bunch of registration stuff
  • Replaced all Point4i, implementations with Vector4f implementations for consistency
  • Added a SpriteSheet extension for the PNG renderable object for animation support via single column sprite sheet pngs
  • Fixed Text renderable opacity values under 0.0314 being rendered at 1 often leading to flashes when fading in
  • Implementing reading from and writing Tables and Variables parsed from TOML files to NBT data
  • Added a system for easy and centralized packet registration
  • Added some additional GenericUtils and DataUtil methods
  • Logging done via the LogUtil class can now properly handle null levels, messages, and parameters.
  • The LogUtil$ModLogger class now keeps track of how many lines it has written
  • Added TextUtil$TextCasing and some related TextUtil methods for manipulating kebab-casing, PascalCasing, snake_casing, and camelCasing
  • Fixed some inconsistencies and weird logic various GuiUtil methods.
  • Changed GuiUtil#howManyLinesWillThisBe which returned an integer with the number of lines into GuiUtil#splitLines which just returns a list of the lines from the split
  • Fixed some duplicate code in the NetworkUtil class
  • NetworkUtil#writeString now forces input strings to be encoded in UTF-8 to avoid network crashes related to character encoding
  • Moved GuiUtil#convertTextFormatting to FontUtil#convertTextFormatting
[1.12.2-0.3.0] The Impossible Library by The_Computerizer on Oct 14, 2026
Download
  • Updated to Gradle 8.1.1 & FG 6.0.+
  • Refactored a bunch of registration stuff
  • Replaced all Tuple2i, Tuple4i, Point2i, Point4i, Tuple2d, Tuple4d, Point2d, and Point4d implementations with Vec2f and Point4f implementations for consistency
  • Added a SpriteSheet extension for the PNG renderable object for animation support via single column sprite sheet pngs
  • Fixed Text renderable opacity values under 0.0314 being rendered at 1 often leading to flashes when fading in
  • Implementing reading from and writing Tables and Variables parsed from TOML files to NBT data
  • Added a system for easy and centralized packet registration
  • Added some additional GenericUtils and DataUtil methods
  • Logging done via the LogUtil class can now properly handle null levels, messages, and parameters.
  • The LogUtil$ModLogger class now keeps track of how many lines it has written
  • Added TextUtil$TextCasing and some related TextUtil methods for manipulating kebab-casing, PascalCasing, snake_casing, and camelCasing
  • Fixed some inconsistencies and weird logic various GuiUtil methods.
  • Changed GuiUtil#howManyLinesWillThisBe which returned an integer with the number of lines into GuiUtil#splitLines which just returns a list of the lines from the split
  • Fixed some duplicate code in the NetworkUtil class
  • NetworkUtil#writeString now forces input strings to be encoded in UTF-8 to avoid network crashes related to character encoding
  • Added a FontUtil class to help with accessing and rendering specific characters as textures rather than needing to go through the FontRenderer
  • Moved GuiUtil#convertTextFormatting to FontUtil#convertTextFormatting
  • Initial port to 1.20.1
Fixed the fade values for renderables not always getting applied correctly
Fixed the fade values for renderables not always getting applied correctly
[1.19.2-0.2.4] The Impossible Library by The_Computerizer on Oct 14, 2026
Download
Fixed the fade values for renderables not always getting applied correctly
[1.18.2-0.2.4] The Impossible Library by The_Computerizer on Oct 14, 2026
Download
Fixed the fade values for renderables not always getting applied correctly
[1.16.5-0.2.4] The Impossible Library by The_Computerizer on Oct 14, 2026
Download
Fixed the fade values for renderables not always getting applied correctly
[1.12.2-0.2.4] The Impossible Library by The_Computerizer on Oct 14, 2026
Download
Fixed the fade values for renderables not always getting applied correctly
  • Decreased the required fabric version to 0.14.14 for quilt support
  • Fixed the Text and PNG renderables not getting initialized properly
  • Added a convertChatFormatting method to the GuiUtil class
  • Stopped including the resources used for testing
  • Decreased the required fabric version to 0.14.14 for quilt support
  • Fixed the Text and PNG renderables not getting initialized properly
  • Added a convertChatFormatting method to the GuiUtil class
  • Stopped including the resources used for testing
The Impossible Library Icon
Download The Impossible Library
Select game version
Select platform