BaubleItemHelper
基本信息
| 属性 | 值 |
|---|---|
| 路径 | baubles.api.expanded.BaubleItemHelper |
| 类型 | class |
| 包名 | baubles.api.expanded |
方法
| 方法 | 修饰 | 用途 |
|---|---|---|
addSlotInformation(List<String> tooltip, String[] types) |
@SideOnly(CLIENT) |
当玩家按住 SHIFT 时,向 tooltip 追加"可装备槽位"信息;否则追加一个 SHIFT 提示。返回是否按住 SHIFT |
onBaubleRightClick(ItemStack itemStackIn, World worldIn, EntityPlayer player) |
— | 当玩家右键点击带 IBaubleExpanded 物品时调用;自动遍历 BaublesApi 提供的饰品栏 IInventory,找到第一个空槽位并将物品装备(服务端侧消耗物品) |
功能
addSlotInformation内部使用 BaublesConfig.getDisplayTypesWithUniversalOverrides 把可装备类型展示在 tooltip 上,类型名通过 lang 文件slot.<type>翻译onBaubleRightClick自动装备逻辑:- 遍历玩家全部槽位
- 仅装备到第一个匹配的空槽位(不堆叠到已有饰品上)
- 服务端侧执行:复制物品入槽,扣除玩家手持一份
- 创意模式不消耗物品
- 触发
IBaubleExpanded.onEquipped
注意事项
- 自动装备走的是逐槽位线性扫描;多个空槽时优先低 index 槽位
- 当物品同时属于多个类型时(如
amulet+charm),会装入第一个允许的槽位 - 如果服务器没有客户端,玩家右键不会触装备(事件
if(!worldIn.isRemote)守护)
相关条目
- IBaubleExpanded - 自动装备的目标接口
- BaublesApi - 提供玩家饰品栏入口
- BaubleItemBase - 调用
onBaubleRightClick的标准基类