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自动交互
相关条目
- Adventure Backpack - Hose 绑定其左/右两个流体槽
- Melon Juice Bottle - 同源水瓶瓶装饮品