IBaubleExpanded
基本信息
| 属性 | 值 |
|---|---|
| 路径 | baubles.api.expanded.IBaubleExpanded |
| 类型 | interface |
| 父接口 | IBauble |
| 包名 | baubles.api.expanded |
| 作者 | jss2a98aj |
抽象方法
| 方法 | 用途 |
|---|---|
String[] getBaubleTypes(ItemStack itemstack) |
返回该物品可放入的所有扩展槽位类型。返回的字符串来自 BaubleExpandedSlots 的预注册或自定义注册类型 |
默认方法
| 方法 | 默认行为 |
|---|---|
void onSlotContentsChanged(ItemStack itemstack, EntityLivingBase player) |
当该物品所在的 bauble 槽位的 stack 发生变化时触发(装备成功或玩家交互修改了 stackSize),但整件卸下不会触发此回调。注意:通过 InventoryBaubles 直接修改不会触发 |
功能
IBauble 的扩展接口,允许单个饰品支持多个槽位类型(如同时属于 amulet 和 charm)。
getBaubleType在扩展层中被忽略(除非物品也想兼容官方 Baubles),可以返回nullgetBaubleTypes返回String[],每个元素是 BaubleExpandedSlots 注册的类型字符串- 通过
BaubleItemHelper.addSlotInformation在物品 tooltip 中显示可装备的槽位类型
与 IBauble 的差异
| 项 | IBauble | IBaubleExpanded |
|---|---|---|
| 槽位类型数量 | 1 个(来自 BaubleType enum) |
多个(来自注册类型字符串) |
| 扩展槽位支持 | 仅 RING/AMULET/BELT/UNIVERSAL | 全部注册类型(含 head/body/cape/shield/quiver 等) |
| 槽位变化回调 | 无 | onSlotContentsChanged |
配套基类
- BaubleItemBase - 抽象基类,给出
IBaubleExpanded的默认实现
相关条目
- BaubleExpandedSlots - 类型注册表
- BaubleItemHelper - 装备/卸载辅助类
- SlotBauble - 槽位校验使用
IBaubleExpanded.getBaubleTypes