- 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
- 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
- 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
- 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 & 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
- 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
- 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
- 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