EventHandlerEntity

基本信息

属性 值
路径 baubles.common.event.EventHandlerEntity
类型 class
包名 baubles.common.event
注册位置 MinecraftForge.EVENT_BUS(Baubles.preInit)

监听事件

事件 行为
PlayerEvent.LivingUpdateEvent(playerTick) 每 tick 遍历玩家 bauble 槽位,对每个非空且实现 IBauble 的物品调用 onWornTick(stack, player)
PlayerDropsEvent(playerDeath) 玩家死亡且服务端非 creative 且未启用 keepInventory:调用 InventoryBaubles.dropItemsAt,会跳过灵魂绑定物品
PlayerEvent.LoadFromFile(playerLoad) 调 playerLoadDo:先清空缓存;从 <playerDir>/<name>.baub 加载;若不存在则尝试从 <uuid>.baub 旧版兼容加载(成功则复制到 name 文件并删除 uuid 文件);最后调 PlayerHandler.loadPlayerBaubles
PlayerEvent.SaveToFile(playerSave) 调 playerSaveDo:写入 <name>.baub + <name>.baubback
WorldEvent.Unload(onWorldUnload) 调 PlayerHandler.onWorldUnload
PlayerEvent.StartTracking(startTracking) 服务端:当 entityPlayer 开始追踪另一名玩家时,向追踪者发 PacketSyncAllBauble 以初始化其饰品栏

玩家文件

用途 文件名
主文件 <playerDir>/<playerName>.baub
备份文件 <playerDir>/<playerName>.baubback
旧 UUID 文件(兼容) <playerDir>/<uuid>.baub

死亡掉落规则

条件 是否掉落 baubles
客户端侧 否(仅服务端执行 dropItemsAt)
keepInventory=true 否
creative 模式 由 gameRules.getGameRuleBooleanValue("keepInventory") 决定(creative 通常不启用 keepInventory,会正常掉落)
灵魂绑定附魔 跳过该物品(ItemStackHelper.isSoulBound)

相关条目