PacketSyncBauble

基本信息

属性 值
路径 baubles.common.network.PacketSyncBauble
类型 class
接口 IMessage, IMessageHandler<PacketSyncBauble, IMessage>
Discriminator 2
方向 S → C

字段

字段 类型 说明
slot int(byte 编码) 槽位索引
playerId int 玩家实体 ID
bauble ItemStack 槽位当前物品(可为 null)

编码

字段 字节数
slot 1 byte
playerId 4 bytes(int)
bauble 变长(PacketBuffer.writeItemStackToBuffer)

客户端处理

  • 拿到 Baubles.proxy.getClientWorld()
  • 用 playerId 查找玩家实体
  • 调用 PlayerHandler.getPlayerBaubles(player).setInventorySlotContents(slot, bauble)
  • 注意:客户端处理时不触发 onEquipped/onUnequipped,因为 InventoryBaubles.blockEvents 由 GuiPlayerExpanded.updateScreen 在每帧设为 false 之前为 true

触发源

InventoryBaubles.syncSlotToClients - 服务端每次槽位内容变化时调用

相关条目