MB Arrow
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | battlegear2:mb.arrow(单一 Item,9 个 metadata 子类型) |
| 类 | mods.battlegear2.items.ItemMBArrow |
| 继承 | net.minecraft.item.Item,setHasSubtypes(true)(ItemMBArrow.java:58) |
| 容器物品 | Items.arrow(BattlegearConfig.java:228) |
| 子类型数 | 9(ItemMBArrow.java:32-33) |
功能
一个 Item 通过 metadata 承载 9 种箭矢,每种对应一个 AbstractMBArrow 子类实体。
核心特性:
- 子类型注册:
QuiverArrowRegistry按索引注册 9 种箭(BattlegearConfig.java:229-231) - 弹射器兼容:
BlockDispenser.dispenseBehaviorRegistry注册ItemMBArrow.dispensable(BattlegearConfig.java:232) - 两段 Lore:物品提示追加
lore.base.arrow.<name>,开启高级提示时再追加lore.advanced.arrow.<name>(ItemMBArrow.java:91-101) - 合成回环:除
explosive(索引 2)与ender(索引 3)外,其余箭矢可由箭矢合成回基础材料 —— 源码注释原因是这两者的材料会被「Infinity」弓复制(BattlegearConfig.java:514-518)
数值
9 个子类型由 names 数组定义,索引顺序即 metadata(ItemMBArrow.java:32-38):
| metadata | 名称 | 实体类 | 合成材料 component |
|---|---|---|---|
| 0 | holy |
EntityHolyArrow |
Items.golden_apple(金苹果) |
| 1 | ice |
EntityIceArrow |
Items.snowball(雪球) |
| 2 | explosive |
EntityExplossiveArrow |
Items.gunpowder(火药) |
| 3 | ender |
EntityEnderArrow |
Items.ender_pearl(末影珍珠) |
| 4 | flame |
EntityFlameArrow |
Items.flint(燧石) |
| 5 | piercing |
EntityPiercingArrow |
Items.diamond(钻石) |
| 6 | poison |
EntityPoisonArrow |
Items.nether_star(下界之星) |
| 7 | mystery |
EntityLoveArrow |
Items.cookie(曲奇) |
| 8 | leech |
EntityLeechArrow |
Items.ghast_tear(恶魂之泪) |
索引 7 名称为
mystery但实体类是EntityLoveArrow—— 名称与类名不对应,这是源码中的既有事实(ItemMBArrow.java:32,36)。
各箭矢的具体伤害、效果强度等数值分散在 mods.battlegear2.items.arrows.* 各类中,未在本条目展开核实。
交互
| 触发 | 行为 |
|---|---|
| 弹射器发射 | dispensable 按 itemStack.getItemDamage() 实例化对应箭头实体(ItemMBArrow.java:39-52) |
| 附魔台提示 | 追加基础 Lore;Ctrl 高级提示追加第二行(ItemMBArrow.java:91-101) |
合成配方
每个子类型 2 个配方(BattlegearConfig.java:503-521)。
正向合成:
G
A
| 字符 | 物品 |
|---|---|
G |
该类型的 component(见上表) |
A |
Items.arrow(原版箭) |
逆向合成(无序),仅索引 0、1、4、5、6、7、8;索引 2(explosive)与 3(ender)没有逆向配方:
| 输出 | 原料 |
|---|---|
该类型的 component |
1 个 mb.arrow 且 metadata = 该索引 |
相关条目
- Quiver - 箭袋按 metadata 选择要射出的箭矢
- 骷髅刷怪箭矢概率配置 - 9 个子类型的骷髅刷怪概率