📦 Bookshelf - 3.0.0#
🚂 管线更新!
本次更新使用 Beet 彻底重构了项目结构,着重于各模块的模块化与隔离性。同时引入了新的版本加载器,可解决多版本间的冲突问题。
⚠️ 破坏性变更:这个新版本包含一些破坏性变更!
Bookshelf 现已适配 Minecraft 1.21.5。每个模块现以独立数据包形式分发,方便用户按需使用。引入捆绑包机制替代原有的Bookshelf和Bookshelf Dev数据包,新捆绑包包括:Bookshelf Runtime、Bookshelf Dev、Bookshelf Prefabs和Bookshelf Suite。
⚠️ #281 - 将
bs.biome和bs.weather模块合并为bs.environment模块。📦 #323 - 引入捆绑包机制,替代原有的 Bookshelf 和 Bookshelf Dev 数据包,新捆绑包包括:Bookshelf Runtime、Bookshelf Dev、Bookshelf Prefabs 和 Bookshelf Suite。
🎉 #272 - 新增自动生成的
bs.load模块,无需手动管理load和unload标签。现采用 LanternLoad 加载系统。⚡ #285 - 移除对手动编写
__help__函数和help标签的需求,现改为自动生成。📝 #285 - 文档已迁移至 mcbookshelf.dev,并重写贡献指南以说明新的 Beet 工作流程。
⚙️ #285 - 创建 GitHub 组织,从 Jupyter Notebook 迁移至 Beet。更新元数据格式,新增议题模板,并引入自动部署至 Modrinth 和 Smithed 的工作流。模块现需包含
README.md和pack.png。📥 #336 - Bookshelf 现已发布至 PyPI,可通过 Beet 工具链进行安装。
🧱 bs.block#
⚠️ #375 -
get_block和get_type现在只返回现有数据,状态或 NBT 为空时将直接省略对应字段。✨ #279 - 引入播放方块音效的函数
play_block_sound。🐛 #320 - 修复了在主世界外无法使用部分函数的漏洞。
⚡ #375 - 为
emit_block_particle添加默认值及新参数mode、viewers。⚡ #363 - 增强
fill_block、fill_type、fill_random、set_block及set_type函数,新增strict模式参数以控制是否触发方块更新。⚡ #349 - 为填充操作新增
on_finished参数,当操作完成时将自动执行指定命令。⚡ #287 -
replace_type现在会返回类型是否被找到并替换。
⛰️ bs.environment#
🐛 #320 - 修复了在主世界外无法使用部分函数的漏洞。
🌱 bs.generation#
⚠️ #296 - 将
bs.generate模块重命名为bs.generation。⚠️ #282 - 回调中使用的分数现改用新的
bs.lambda记分项。⚠️ #296 - 将
bs.generate:fractal_shape_2d函数重命名为bs.generation:gen_fractal_shape_2d。⚠️ #296 - 将
bs.generate:shape_2d函数重命名为bs.generation:gen_shape_2d。⚠️ #296 - 将
bs.generate:simplex_shape_2d函数重命名为bs.generation:gen_simplex_shape_2d。
❤️ bs.health#
🎯 bs.hitbox#
✨ #285 - 新增
#bs.hitbox:is_sized标签以优化碰撞箱管理。⚠️ #318 - 移除
is_in_block和is_entity_in_block(s)函数,改用is_in_block_<collision|interaction>及is_entity_in_block(s)_<collision|interaction>替代。⚠️ #297 - 将
is_composite方块标签替换为is_full_cube以提高表述清晰度。✨ #299 - 将
#bs.hitbox:can_pass_through方块标签从移动模块迁移至此并进行文档化。✨ #285 - 引入
#bs.hitbox:is_sized标签以优化碰撞箱管理。🐛 #320 - 修复了在主世界外无法使用部分函数的漏洞。
🖱️ bs.interaction#
✨ #300 - 新增
bs.interaction.hovered标签用于检测交互是否处于悬停状态。
📄 bs.log#
⚠️ #369 - 将
bs.log模块的日志消息格式从 JSON 改为 SNBT。
🏃 bs.move#
🔦 bs.raycast#
⏲️ bs.schedule#
⚠️ #282 - 修改
schedule函数签名以保持与其他回调函数的一致性。
🔠 bs.string#
🎉 #283 - 新增用于管理字符串的
bs.string模块。
🧣 bs.spline#
🎉 #241 - 新增用于处理样条曲线的
bs.spline模块。
⌚ bs.time#
🐛 #379 - 修复 Minecraft 1.21.5 版本中获取时间的漏洞。