Skip to content

Release v3.1.0 (Minecraft 1.21.6-1.21.8)

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 18 Jul 18:18
· 1 commit to master since this release
0cac411

📦 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:overworld when running location-based loot tables.

🔬 bs.dump

  • 🐛 #441 - Fixed #bs.dump:var incorrectly appending undefined to output.

⛰️ 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_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_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.

❤️ 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_entity now also returns depth in addition to width. For most dynamic entities depth equals width, 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 /rotate with /tp in bs.position to fix jitter and momentum issues.

🎲 bs.random

  • #286 - Added support for normal distribution generation to bs.random module.
  • 🐛 #469 - Fixed missing execute in minecraft:overworld when running location-based loot tables.

🔦 bs.raycast

  • #465 - Added support for baked and custom entity hitboxes.
  • #445 - #bs.raycast:run now 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.