๐Ÿ› ๏ธ Changelog#

This changelog includes updates for all versions of the project.


๐Ÿ“ฆ Bookshelf - 3.0.0#

๐Ÿš‚ The Pipeline Update!

This release overhauls the project structure with Beet, focusing on modularity and isolation of each module. It also introduces a new version loader that resolves conflicts between multiple versions.

โš ๏ธ BREAKING CHANGES: This new version has a few breaking changes!

  • โš ๏ธ #281 - Merged the bs.biome and bs.weather modules into a single bs.environment module.

  • ๐ŸŽ‰ #272 - Added a new automatically generated bs.load module, eliminating the need to manually create load and unload tags for each module. Bookshelf now also uses LanternLoad to load its modules.

  • โšก #285 - Simplified testing by automating batch specification and removing the need for a __boot__ function.

  • โšก #285 - Removed the need to create a __help__ function and help tag. These are now automatically generated.

  • ๐Ÿ“ #280 - Migrated the documentation to mcbookshelf.dev for improved accessibility and organization.

  • ๐Ÿ“ #285 - Reworked the contribute documentation to reflect all changes and added a new Getting Started page.

  • โš™๏ธ #277 - Created a GitHub organization for the Bookshelf project.

  • โš™๏ธ #278 - Rewrote scripts and modules to use Beet, removing the Jupyter Notebook.

  • โš™๏ธ #285 - Reworked metadata to a new format.

  • โš™๏ธ #285 - Modules now require a README.md and a pack.png.

  • โš™๏ธ #285 - Updated GitHub with new issue templates and a code of conduct.

  • โš™๏ธ #285 - Added new workflows with automatic deployment to Modrinth and Smithed.

๐Ÿงฑ bs.block#

  • โœจ #279 - Added a #bs.block:play_block_sound tag for playing block sounds.

๐ŸŒฑ bs.generate#

  • โš ๏ธ #296 Renamed the bs.generate module to bs.generation.

๐ŸŒฑ bs.generation#

  • โš ๏ธ #296 Renamed the bs.generate module to bs.generation.

    • โš ๏ธ #296 Renamed the bs.generate:fractal_shape_2d function to bs.generation:gen_fractal_shape_2d.

    • โš ๏ธ #296 Renamed the bs.generate:shape_2d function to bs.generation:gen_shape_2d.

    • โš ๏ธ #296 Renamed the bs.generate:simplex_shape_2d function to bs.generation:gen_simplex_shape_2d.

๐ŸŽฏ bs.hitbox#

  • โš ๏ธ #297 - Renamed block tag is_composite to not_full_cube for better clarity.

  • โœจ #285 - Introduced a #bs.hitbox:is_sized tag for improved hitbox management.

  • โœจ #299 - Block tag #bs.hitbox:can_pass_through was moved from the move module and is now properly documented.

๐Ÿ“ฐ bs.sidebar#

  • ๐Ÿ› #301 Fixed the issue where bs.sidebar:create was not functioning correctly.

๐Ÿ‘€ bs.view#

  • โœจ #299 - Block tag #bs.view:can_see_through is now properly documented.


๐Ÿ“ฆ Bookshelf - 2.2.2#

๐Ÿฉน A Quick Hotfix!

This is a hotfix for version 2.2.1.

๐ŸŽฏ bs.hitbox#

  • ๐Ÿ› #293 - Fixed module issues caused by the removal of creaking_transient in Minecraft 1.21.4.


๐Ÿ“ฆ Bookshelf - 2.2.1#

โฌ†๏ธ A Minecraft Update!

This release fixes several issues and bumps the Minecraft version to 1.21.4.

Bookshelf is now based on Minecraft 1.21.4.

๐Ÿงฑ bs.block#

  • ๐Ÿ› #290 - Added missing blocks in registries.

๐Ÿƒ bs.move#

  • ๐Ÿ› #288 - Fixed collision resolutions.


๐Ÿ“ฆ Bookshelf - 2.2.0#

๐Ÿช The Dimensional Update!

This release introduces new modules for random distribution and terrain generation, improves existing modules, boosts performance, and fixes minor bugs. All > functions now work seamlessly across all dimensions.

Bookshelf is now based on Minecraft 1.21.3.

  • โšก #265 - Load tags do not load modules in isolation anymore. This can now be done using the exclusive_load tag.

  • ๐Ÿ› #270 - Enabled modules to operate seamlessly across all dimensions.

๐Ÿงฑ bs.block#

  • โœจ #222 - Added #bs.block:fill_random for filling regions with randomly selected blocks.

  • โœจ #258 - Added #bs.block:emit_block_particle to emit block particles in specific locations.

  • โšก #251 - Fill functions now accept from and to as [x, y, z] lists or string coordinates (e.g., ~ ~5 25).

๐Ÿ—๏ธ bs.generate#

  • ๐ŸŽ‰ #6 - Added module for terrain generation. Supports 2D algorithms for texture and heightmap-based generation.

โค๏ธ bs.health#

  • ๐Ÿ› #243 - Fixed unload function.

๐ŸŽฏ bs.hitbox#

  • โœจ #203 - Added #bs.hitbox:is_entity_in_block to check if an entity is in a block.

  • โœจ #203 - Added #bs.hitbox:is_entity_in_blocks to check if an entity is in any block.

  • โšก #252 - Optimized module for improved performance.

  • โšก #276 - Add new hitboxes (new babies and salmon variants).

  • ๐Ÿ› #265 - Corrected hitbox for player in spectator mode.

๐Ÿ–ฑ๏ธ bs.interaction#

  • ๐ŸŽ‰ #193 - Added module to track player actions on interaction entities: left/right click, and hover events.

๐Ÿ“„ bs.log#

  • โœจ #171 - Added logging functions #bs.log:history and #bs.log:clear_history for viewing and clearing log history.

  • โšก #247 - Improved the default bs.log format for clarity.

๐Ÿƒ bs.move#

  • โšก #265 - Enabled the module to work reliably at high coordinates with improved and more robust collision detection.

  • ๐Ÿ› #243 - Fixed unload function.

  • ๐Ÿ› #255 - Fixed local velocity collisions.

  • ๐Ÿ› #262 - Resolved collision issues with paintings.

๐ŸŽฒ bs.random#

  • ๐ŸŽ‰ #1 / #220 - Added module, which includes random distributions, noise generation, and random selection of an element from a list.

๐Ÿ”ฆ bs.raycast#

  • โœจ #245 - Added piercing and callback options to #bs.raycast:run.

  • ๐Ÿ› #262 - Resolved collision issues with paintings.

โฒ๏ธ bs.schedule#

  • โšก #265 - Optimized module for improved performance.

  • ๐Ÿ› #254 - Resolved execution loop interruptions caused by callbacks.

  • ๐Ÿ› #264 - Resolved compatibility issues with the schedule module outside the overworld.

๐Ÿ… bs.xp#

  • ๐Ÿ› #256 - Fixed progress bar boundary issues at 0% and 100%.


๐Ÿ“ฆ Bookshelf - 2.1.1#

โšก A Performance Update!

This release improves the performance of the block module, fixes several bugs, and introduces the new concept of loading modules in isolation.

  • โšก #238 - Load tags now load modules in isolation.

  • ๐Ÿ“ #215 - Added documentation about documentation (meta-documentation).

๐Ÿงฑ bs.block#

  • โšก #237 - Enhanced the speed of the module.

  • โšก #218 - Enhanced the speed of the factorial function.

  • ๐Ÿ› #235 - Fixed inputs that required extra escaping.

  • ๐Ÿ› #236 - Fixed load function.

๐Ÿท๏ธ bs.id#

  • ๐Ÿ› #236 - Fixed load function.

๐Ÿงฎ bs.math#

  • ๐Ÿ› #236 - Fixed load function.


๐Ÿ“ฆ Bookshelf - 2.1.0#

โš™๏ธ The MetaData Update!

This release enhances documentation and automated tools, and introduces new block manipulation features.

Bookshelf is now based on Minecraft 1.21.

  • ๐Ÿ“ #206 - Added new related datapacks and mods.

  • ๐Ÿ“ #200 - Replaced the old function header with a new license-only header, now mandatory for all functions. Metadata has been moved to the feature function tag.

  • ๐Ÿ“ #52 / #175 - Each module now includes its own manual metadata, aiding in dependency management and supporting tools like the upcoming Bookshelf Manager. More info here.

  • โš™๏ธ #199 - Automated metadata verification during pull requests to ensure no data is missed. More info here.

  • โš™๏ธ Added templates for pull requests and issues.

๐Ÿงฑ bs.block#

  • โœจ #187 - Added #bs.block:map_type and #bs.block:mix_type functions.

๐Ÿ”— bs.link#

  • ๐Ÿ› #211 - Fixed missing help function tag.

๐Ÿงญ bs.position#

  • ๐Ÿ“ #208 - Updated documentation for #bs.position:<add|get|set>_pos_and_rot.

โžก๏ธ bs.vector#

  • ๐Ÿ› #211 - Fixed missing help function tag.

๐Ÿ… bs.xp#

  • ๐Ÿ› #211 - Fixed missing help function tag.


๐Ÿ“ฆ Bookshelf - 2.0.0#

๐ŸŒฑ The Flourishing Update!

This release replants the foundation of the Gunivers Library, growing into something entirely new.

โš ๏ธ BREAKING CHANGES: This new version is filled with breaking changes. Since maintaining a list of those became unrealistic, the following changelog only highlights a selection of tweaks and new functionalities.

๐ŸŽ‰ Addition#

  • There is now a changelog!

  • Added player health manipulation.

  • Added precise collisions (move, raycast and view).

  • Added float manipulation (frexp and ldexp).

  • Added a new hitbox module.

  • Added a new raycast module.

  • Added a new sidebar module.

โšก Enhancements#

  • The project has a new fresh identity: Bookshelf.

  • Every module has been reworked for improved accuracy, performance, and/or simplicity.

  • Renamed almost everything (scores, objectives, functions, โ€ฆ).

  • Many functions now utilize macros, storage, or fake scores instead of objectives.

  • Removed the core module. The library no longer requires a base module.

  • Removed outdated modules (cache, item, mapedit, and memory).

  • Merged the location and orientation modules into a new position module.

  • Bitwise operations have been moved out of the math module into a separate module.

  • Enhanced the accuracy of the move and view modules due to their rework and the addition of the new hitbox module.

  • The schedule module now maintains the current execution context.

๐Ÿ› Bug Fixes#

  • Who knows at this point ๐Ÿคทโ€โ™‚๏ธ, almost no legacy code remainsโ€ฆ


๐Ÿ“ฆ Gunivers Lib - 1.0.0#

Data load error: TooLazyException

Our devs are too busy coding the future to dig up the pastโ€ฆ