Не получается синхронизировать новые статы.

Версия Minecraft
1.7.10
27
1
2
Доброе утро. Сделал новые характеристики через IEEP (выносливость, ману), сделал так, чтобы они восполнялись через TickEvent.PlayerTickEvent. Ивент зарегистрировал через FMLCommonHandler.instance().bus() и MinecraftForge.EVENT_BUS соответственно. Но на сервере и клиенте получается сильный рассинхрон (наблюдаю через ГУИ в игре и сохраненный файл игрока, да и по соответствующим действиям понятно). Кажется, что со стороны сервера не спешит вызываться PlayerTickEvent.

Попробовал сделать так, чтобы происходило только на серверной части (убрал MinecraftForge.EVENT_BUS) и сделал сихнронизацию статов каждую секунду через тот же ивент, но при таком раскладе получаю краш.

Синхронизацию сделал по гайду: [1.7-1.15]Пакетная система CodeChickenLib.

Java:
@SubscribeEvent

    public void onPlayerTick(TickEvent.PlayerTickEvent event) {

        GothicMain.proxy.fireTick(event.side);

        if (GothicMain.proxy.getTick(event.side) % 20 == 0 && event.player.getFoodStats().getFoodLevel() > 5) {           

            LearnableStats statsPlayer = LearnableStats.get(event.player);

            statsPlayer.addCurrValue(1, 1);

            statsPlayer.addCurrValue(2, 0.1F);

            NBTTagCompound nbt = new NBTTagCompound();

            statsPlayer.saveNBTData(nbt);

            Packet.createPacket(1).writeNBTTagCompound(nbt).sendToPlayer(event.player);

            if(event.player.isSprinting()) {

                statsPlayer.takeCurrValue(1, 5);

            }     

       }

addCurrValue(1, value) - добавляет к выносливости.
 
Последнее редактирование модератором:
Сверху