材料背包
文档/easier-building/材料背包

材料背包

专业版的持久化建筑材料仓库、Shift 交互与建造消耗顺序说明。

功能概览

材料背包是 EasierBuilding 专业版提供的一种超级背包。可以突破原版堆叠限制,极大提高单一建材的存储、运输效率,并在建造任务需要材料时自动优先取用,极大减少因材料不足而中断建造、反复整理背包和手动补充材料的困扰。

材料背包只按 Bukkit 的 Material 类型记录数量,不保存物品 NBT。同一种材料无论来自哪一组物品,都会在材料背包中合并为一个条目。

使用条件

材料背包需要同时满足以下条件:

  • 服务器安装了 EasierBuilding 专业版;
  • 玩家拥有 easierbuilding.material-backpack 权限。该权限默认授予普通玩家,管理员可以按需收回或重新分配;
  • 玩家个人设置中的材料背包处于启用状态,默认启用。

打开 /eb个人设置,可以看到材料背包入口:

  • 普通点击按钮:打开材料背包;
  • 按住 Shift 点击按钮:切换材料背包的启用状态,并立即保存设置;
  • 基础版未安装专业版时:按钮显示为专业版锁定状态;
  • 高级版已安装但没有权限时:按钮显示为权限不足。

关闭材料背包不会删除其中已经保存的材料;重新启用后仍可继续使用。

存入与取出

材料背包使用 6 行界面,最多保存 36 种不同的建筑方块。每种材料在界面中只显示一个物品,显示数量固定为 1,Lore 会显示当前数量和该玩家当前方案的上限,例如:

数量:100/64000

当材料数量达到或超过上限时,数量会使用红色显示;配置上限降低后,已经超过新上限的存量也会保持红色提示。

使用 Shift+ 点击进行存入和取出操作:

  • 在玩家背包中 Shift 点击建筑方块:整叠存入材料背包;超过该材料上限的部分留在玩家背包;
  • 材料背包中 Shift 点击材料:最多取出该材料的原版最大堆叠数,例如石头一次最多取出 64 个;
  • 取出时会检查玩家背包的实际空位,背包装不下的部分不会被扣除,也不会掉落在地上;
  • 数量减少到 0 后,该材料条目会从材料背包中移除;
  • 普通点击和拖拽不会转移材料;涉及材料背包区域时会取消事件,避免原版堆叠逻辑改写材料背包数据。

材料背包只接受 Material.isBlock() 为真的建筑方块。非方块物品会保留在玩家背包中,并提示无法存入的原因。每次成功存入或取出都会立即保存玩家资料,不依赖关闭界面时的整页快照,因此建造任务在后台消耗材料时不会被 GUI 覆盖。

堆叠上限

材料背包不使用原版物品堆叠限制。同种材料在材料背包中只占一个条目,数量上限由当前匹配的公平用量方案控制,默认值为 64000

quota-plans:
  default:
    max-material-backpack-stack: 64000

降低配置上限时,不会删除已经超过新上限的材料;该材料数量低于上限前不能继续存入。公平用量检查关闭时,仍会使用匹配方案中的材料背包堆叠上限;没有匹配方案时使用默认值 64000

建造时的材料消耗顺序

当材料背包已启用且玩家拥有权限时,生存模式建造任务会按以下顺序消耗材料:

  1. 材料背包;
  2. 玩家普通背包;
  3. 如果个人设置开启了“消耗潜影盒方块”,再从玩家背包内的潜影盒中消耗同类方块。

材料背包关闭、玩家没有权限、服务器未安装专业版、玩家处于创造或旁观模式,或玩家拥有绕过生存消耗的权限时,不会读取或扣除材料背包。

相关配置与权限

权限节点:

easierbuilding.material-backpack

相关配置:

max-material-backpack-stack: 64000

玩家资料中的材料背包会持久化为类似下面的结构:

material-backpack:
  materials:
    minecraft:stone: 64000

更多内容请参阅管理员手册:权限节点公平用量管理员手册:配置文件从潜影盒消耗材料