Compatibility
Minecraft: Java Edition
1.21.5ā1.21.11
Platforms
Creators
Details
Changelog
š¦ 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.block
- š #469 - Fixed missing
execute in minecraft:overworldwhen running location-based loot tables.
š¬ bs.dump
- š #441 - Fixed
#bs.dump:varincorrectly appendingundefinedto output.
ā°ļø bs.environment
- ⨠#14 - Added
#bs.environment:get_sun_angleto 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_angleto 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_angleto get the current sun's angle on the Y axis relative to the horizon, in degrees. - ⨠#14 - Added
#bs.environment:get_current_moon_angleto get the current moon's angle on the Y axis relative to the horizon, in degrees. - ⨠#14 - Added
#bs.environment:get_moon_phaseto get the current moon phase as a string identifier following Minecraft's 8-day lunar cycle. - ⨠#14 - Added
#bs.environment:look_at_sunto orient the executing entity to look at the sun. - ⨠#14 - Added
#bs.environment:look_at_moonto 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_timefor determining current time of day. - ⨠#475 - Added villagers behavior predicates:
is_villager_working_time,is_villager_socializing_time,is_villager_sleeping_timefor detecting villager activity phases. - ⨠#475 - Added beds usage predicate:
is_bed_timefor determining when players can use beds based on weather and time conditions. - ⨠#475 - Added mobs behavior predicates:
is_undead_burning_time,is_monster_spawning_timefor detecting mob behavior condition according to weather and time. - ⨠#475 - Added bees behavior predicate:
is_bee_sleeping_timefor detecting time when bees are in their nests/hives. - ⨠#475 - Added creakings spawning predicate:
is_creaking_spawn_timefor detecting time when creakings can spawn.
ā¤ļø bs.health
- š #466 - Fixed a bug where healing on Paper servers always set players' health to maximum.
šÆ bs.hitbox
- ⨠#465 - Added support for custom hitboxes.
#bs.hitbox:get_entitynow also returnsdepthin addition towidth. For most dynamic entitiesdepthequalswidth, except for static entities (e.g. item frames, paintings) and custom hitboxes.
š±ļø bs.interaction
- š #463 - Fixed an issue where left/right click events could incorrectly target previously clicked entities instead of the current one.
š bs.move
- ⨠#465 - Optimized bounding box computation for moving entities and added support for baked and custom hitboxes.
š§ bs.position
- š #455 ā Replaced
/rotatewith/tpinbs.positionto fix jitter and momentum issues.
š² bs.random
- ⨠#286 - Added support for normal distribution generation to
bs.randommodule. - š #469 - Fixed missing
execute in minecraft:overworldwhen running location-based loot tables.
š¦ bs.raycast
- ⨠#465 - Added support for baked and custom entity hitboxes.
- ⨠#445 -
#bs.raycast:runnow computes all lambda data before invoking callbacks. - š #457 - Fixed raycasts not stopping at the nearest hit when detecting both blocks and entities.
š§£ bs.spline
- ⨠#417 - Added full support for linear splines.



