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 - 服务端每次槽位内容变化时调用
相关条目