Bookshelf Environment
on Jul 17, 2025📦 Bookshelf - 3.1.0
💫 The Spatial Update!
Introduces Moon and Sun position features, as well as fully customizable hitboxes that integrate across the entire Bookshelf ecosystem.
Bookshelf is now based on Minecraft 1.21.8.
⛰️ bs.environment
- ✨ #14 - Added
#bs.environment:get_sun_angle
to get the sun's angle at a specific time on the Y axis relative to the horizon, in degrees. - ✨ #14 - Added
#bs.environment:get_moon_angle
to get the moon's angle at a specific time on the Y axis relative to the horizon, in degrees. - ✨ #14 - Added
#bs.environment:get_current_sun_angle
to get the current sun's angle on the Y axis relative to the horizon, in degrees. - ✨ #14 - Added
#bs.environment:get_current_moon_angle
to get the current moon's angle on the Y axis relative to the horizon, in degrees. - ✨ #14 - Added
#bs.environment:get_moon_phase
to get the current moon phase as a string identifier following Minecraft's 8-day lunar cycle. - ✨ #14 - Added
#bs.environment:look_at_sun
to orient the executing entity to look at the sun. - ✨ #14 - Added
#bs.environment:look_at_moon
to orient the executing entity to look at the moon. - ✨ #475 - Added time-based predicates:
is_day_time
,is_night_time
,is_sunrise_time
,is_sunset_time
for determining current time of day. - ✨ #475 - Added villagers behavior predicates:
is_villager_working_time
,is_villager_socializing_time
,is_villager_sleeping_time
for detecting villager activity phases. - ✨ #475 - Added beds usage predicate:
is_bed_time
for determining when players can use beds based on weather and time conditions. - ✨ #475 - Added mobs behavior predicates:
is_undead_burning_time
,is_monster_spawning_time
for detecting mob behavior condition according to weather and time. - ✨ #475 - Added bees behavior predicate:
is_bee_sleeping_time
for detecting time when bees are in their nests/hives. - ✨ #475 - Added creakings spawning predicate:
is_creaking_spawn_time
for detecting time when creakings can spawn.
Bookshelf Environment
on May 4, 2025📦 Bookshelf - 3.0.2
🩹 A Quick Hotfix!
This is a hotfix for version 3.0.1.
- 🐛#431 - Improve compatibility by using deflate instead of bzip2 for compression.
Bookshelf Environment
on May 2, 2025📦 Bookshelf - 3.0.1
🩹 Simple Hotfix!
This is a hotfix for version 3.0.0.
- 📝 #314 - Add the Lifestring example, linking players' health using the
bs.health
module.
Bookshelf Environment
on Apr 6, 2025📦 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!
Bookshelf is now based on Minecraft 1.21.5. Each module of Bookshelf is now shipped as a separate datapack for people wanting to use only a single module. Introduced bundles to better group modules, replacing Bookshelf and Bookshelf Dev datapacks: Bookshelf Runtime, Bookshelf Dev, Bookshelf Prefabs, and Bookshelf Suite.
- ⚠️ #281 - Merged the
bs.biome
andbs.weather
modules into a singlebs.environment
module. - 📦 #323 - Introduced bundles to better group modules, replacing Bookshelf and Bookshelf Dev datapacks: Bookshelf Runtime, Bookshelf Dev, Bookshelf Prefabs, and Bookshelf Suite.
- 🎉 #272 - Added an automatically generated
bs.load
module, removing the need for manualload
andunload
tags. Bookshelf now also uses LanternLoad. - ⚡ #285 - Removed the need for
__help__
functions andhelp
tags. These are now generated. - 📝 #285 - Migrated the documentation to mcbookshelf.dev and reworked the contribution guide to explain the new Beet pipeline.
- ⚙️ #285 - Created a GitHub organization and transitioned from the Jupyter Notebook to Beet. Updated the metadata format, added new issue templates, and introduced workflows for automatic deployment to Modrinth and Smithed. Modules now also require a
README.md
and apack.png
. - 📥 #333 - Bookshelf now has its own download manager, allowing users to select modules along with their dependencies and create custom bundles.
- 📥 #336 - Bookshelf is now available on PyPI for use with the Beet toolchain.
🧱 bs.environment
- 🐛 #320 - Fixed functions that were previously unusable outside the Overworld.