罐子叠叠乐

罐子叠叠乐

通过堆叠掉落物品和生物来减少实体延迟,同时保留原版游戏行为。

性能

Jar Stacker

Jar Stacker 是一款面向性能优化的实体堆叠模组,适用于 Minecraft Java 版 1.21.1 (Fabric)。

它通过合并兼容的实体来减少世界中实际掉落的物品和生物数量,同时保留重要的原版游戏行为和各个实体的独立逻辑状态。

更少的物理实体。更少的无意义实体处理。感知原版的游戏行为。


📦 物品堆叠

Jar Stacker - 物品堆叠演示

附近兼容的掉落物品会自动合并为一堆。

Jar Stacker 采用 最新实体优先 架构:当兼容的物品堆合并时,最新掉落的物品将保留为物理实体,并吸收附近兼容物品堆的数量。

特性亮点

  • 大范围物品合并
  • 快速扫描新掉落和移动中的物品
  • 对已静止物品堆采用较低频率扫描
  • 精确保持物品数量
  • 溢出保护
  • 保留物品组件、耐久度、附魔和自定义数据
  • 保持原版物品位置和速度
  • 无人工合并动画
  • 不传送幸存实体
  • 可配置堆叠标签

新掉落和移动中的物品会被更频繁地检测以实现快速合并,而已静止的物品堆则使用较慢的扫描频率以减少不必要的服务器开销。


🐄 生物堆叠

Jar Stacker - 生物堆叠演示

兼容的生物可以由单个物理实体表示,而 Jar Stacker 会追踪堆叠内各个逻辑成员。

与仅存储一个数字的简单堆叠系统不同,Jar Stacker 会为逻辑生物成员保留对游戏至关重要的状态。

逻辑状态包括

  • 独立生命值
  • 状态效果
  • 着火计时
  • 生长状态
  • 繁殖状态
  • 装备相关行为
  • 生物交互
  • 战斗与死亡状态

这使得大量生物群可以使用更少的物理实体,同时让其游戏行为更接近原版 Minecraft。


⚔️ 感知原版的战斗

Jar Stacker - 生物战斗演示

堆叠的生物不会被当作一个巨大的血条。

Jar Stacker 会追踪逻辑生命值,并针对堆叠中相应的成员处理战斗。

支持的行为包括:

  • 单体攻击
  • 横扫攻击
  • 范围伤害
  • 环境伤害
  • 一次攻击导致多个逻辑死亡
  • 掉落物和经验的生成
  • 玩家击杀归属
  • 感知抢夺附魔的死亡行为
  • 感知装备的提取

当某个逻辑生物需要独立行动时,Jar Stacker 可以安全地将其从堆叠中提取为独立的物理实体。


🧪 状态效果与着火

状态效果会针对生物堆叠中的逻辑成员独立追踪。

Jar Stacker 包含对 Minecraft 1.21.1 所有原版状态效果的处理,包括具有特殊受伤或死亡行为的效果,例如:

  • 寄生
  • 渗浆
  • 织网
  • 风袭

着火持续时间也会针对逻辑生物成员独立追踪,而不是被扁平化为一个共享计时器。


🐑 动物、生长与交互

Jar Stacker 为通常依赖单个生物状态的游戏系统加入了额外逻辑。

示例包括:

  • 幼年生物生长
  • 喂食
  • 繁殖
  • 繁殖冷却
  • 羊的羊毛再生
  • 哞菇交互
  • 上鞍
  • 生物转化
  • 装备拾取

当交互无法安全地在堆叠内虚拟化时,受影响的生物可以被提取出来,同时保留其逻辑状态。


⚙️ 配置

Jar Stacker 提供可配置的物品和生物堆叠行为。

你可以配置:

  • 物品堆叠半径
  • 生物堆叠半径
  • 最大堆叠数量
  • 物品和生物白名单 / 黑名单
  • 按物品规则
  • 按生物规则
  • 堆叠标签
  • 调试设置

游戏内配置

可以通过以下方式访问配置:

  • /jarstacker config
  • Mod Menu

YetAnotherConfigLib (YACL) 和 Mod Menu 是可选的,但推荐安装以获得最佳配置体验。

当未安装 YACL 时,Jar Stacker 也提供内置的备用配置界面。

在多人游戏中,服务器配置具有权威性。


📋 命令

实用的 Jar Stacker 命令包括:

  • /jarstacker config — 打开配置
  • /jarstacker inspect — 查看所指向的堆叠
  • /jarstacker status — 查看堆叠和性能信息
  • /jarstacker reload — 重新加载配置
  • /jarstacker items <on|off> — 切换物品堆叠
  • /jarstacker mobs <on|off> — 切换生物堆叠
  • /jarstacker debug — 切换调试信息

部分管理命令需要管理员权限。


📦 需求

必需

  • Minecraft Java 版: 1.21.1
  • Fabric Loader: 0.19.3+
  • Fabric API
  • Java: 21

可选

  • YetAnotherConfigLib (YACL v3) — 增强的配置界面
  • Mod Menu — 便捷访问配置屏幕

🔧 安装

  1. 为 Minecraft 1.21.1 安装 Fabric Loader。
  2. 安装 Fabric API。
  3. 下载 Jar Stacker。
  4. 将 jarstacker-0.6.0.jar 放入你的 Minecraft mods 文件夹。
  5. 可选安装 YACL 和 Mod Menu。

Jar Stacker 支持 单人游戏 和 专用服务器 环境。


✅ 测试

Jar Stacker 包含一套广泛的自动化集成测试,覆盖:

  • 物品堆叠与数量守恒
  • 真实方块掉落行为
  • 生物逻辑状态
  • 生命值与伤害
  • 战斗归属
  • 状态效果
  • 持续着火
  • 繁殖与生长
  • 生物转化
  • 存档/读档持久性

当前结果:343 / 343 项自动化测试通过。


🐛 源代码与漏洞报告

Jar Stacker 是开源的。

源代码:
https://github.com/rametrree/Jar-Stacker

问题反馈:
https://github.com/rametrree/Jar-Stacker/issues

欢迎提交可复现的漏洞报告和兼容性报告。


📜 许可证

Jar Stacker 采用 MIT 许可证 授权。