- 89
- 3
- 5
Пытаюсь синхронизировать capability между клиентом и сервером, для этого я отправляю пакет клиентку от сервера, но данные не синхронизируются, я не понимаю что я делаю не так, вот сам метод, в котором обрабатывается пакет:
Java:
public void handlePacket(Supplier<NetworkEvent.Context> supplier){
NetworkEvent.Context ctx = supplier.get();
ctx.enqueueWork(() -> {
ServerPlayer player = ctx.getSender();
Minecraft.getInstance().player.sendSystemMessage(Component.literal("trying to sync data"));
player.getCapability(PlayerKnowledgeProvider.PLAYER_KNOWLEDGE).ifPresent(serverKnowledge -> {
Minecraft.getInstance().player.getCapability(PlayerKnowledgeProvider.PLAYER_KNOWLEDGE).ifPresent(clientKnowledge -> {
clientKnowledge.copyFrom(serverKnowledge);
});
});
});
ctx.setPacketHandled(true);
}