Backpack Hose

基本信息

属性 值
注册名 adventurebackpack:backpackHose
类 ItemHose (extends ItemAB)
最大堆叠 1
可维修 false(setNoRepair)
内部状态 NBT tank(0=左, 1=右) + mode(0=抽吸, 1=排放, 2=饮用)

功能

搭配 Adventure Backpack 流体槽使用的三模流体软管。它通过客户端 NBT 缓存当前绑定 tank 与模式(suck / spill / drink),并在 onUpdate 时根据穿戴中背包的对应槽流体自动同步显示态(流体名 + 液体量)。右键水流块 = 抽水;右键石头等实心块的纵向顶面 = 排放;与牛 / Mooshroom 互动 = 提取牛奶 / 蘑菇煲。

三种模式

模式 触发器 行为
Suck Mode (0) 右键 - 流体块或 IFluidHandler TileEntity 把流体从世界抓入背包对应槽(Suck 模式抽入 1000 mB)。地狱禁止对水使用
Spill Mode (1) 右键 - 流体块;右键实体 TileEntity 把背包对应槽的流体释放为方块水或 lava;与 IFluidHandler 输出兼容
Drink Mode (2) 右键 - 任意含 BUCKET 量流体的背包槽 调用 FluidEffectRegistry.executeFluidEffectsForFluid(...) 给予对应效果;NBT 中的 tank 与 mode 必须在 NBT 中保留,会在 onEaten 真正喝下时 drain 1 桶

使用方式

触发 行为
右键点击方块 据 mode 切到 suck / spill 行为,针对 IFluidHandler 交互
快捷栏右键(仅 SUCK/SPILL) rayTraceBlocks 后把流体块吸取到背包槽(spill 反向)
装备交互(牛/Mooshroom) 在 SUCK/SPILL 模式右键牛立即得到 1 桶 milk/mushroomStew
使用 + 持续饮酒 在 DRINK 模式 + hold right click 时设定 inUse;onEaten 中根据 NBT 调用对应效果
Wheel 滚轮 / Action 键 切换 mode / tank(由 KeyInputEventHandler 拦截)

数值

数值 值
模式种类 3
单次液体传输 1000 mB(1 桶)
桶槽容量 4000 mB(BASIC_TANK_CAPACITY)
使用动画 DRINK 模式 = EnumAction.drink

集成

  • NEI:未集成,但 ItemComponent 中有关于流体合成的手册
  • Hunger Overhaul:自动支持"挤奶间隔",在 Entity.Cow 上加盖 tags “Milked”
  • 流体系 Mod:通过 FluidRegistry.lookupFluidForBlock 与 ModFluids.milk / melonJuice / mushroomStew 自动交互

相关条目