From bd227ba04706133bf08af1002187bb1a41669ee7 Mon Sep 17 00:00:00 2001 From: Caedis Date: Tue, 20 May 2025 12:48:57 -0500 Subject: [PATCH] Fix client baubles not all being synced --- .../common/event/EventHandlerEntity.java | 24 +++++++++---------- .../common/event/EventHandlerNetwork.java | 20 +++++++++------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/main/java/baubles/common/event/EventHandlerEntity.java b/src/main/java/baubles/common/event/EventHandlerEntity.java index 523af27..cd40359 100644 --- a/src/main/java/baubles/common/event/EventHandlerEntity.java +++ b/src/main/java/baubles/common/event/EventHandlerEntity.java @@ -18,14 +18,12 @@ public class EventHandlerEntity { // player directory private File playerDirectory; - + @SubscribeEvent public void playerTick(PlayerEvent.LivingUpdateEvent event) { // player events - if (event.entity instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) event.entity; - + if (event.entity instanceof EntityPlayer player) { InventoryBaubles baubles = PlayerHandler.getPlayerBaubles(player); for (int a = 0; a < baubles.getSizeInventory(); a++) { if (baubles.getStackInSlot(a) != null @@ -56,18 +54,18 @@ public class EventHandlerEntity { playerLoadDo(event.entityPlayer, event.playerDirectory, event.entityPlayer.capabilities.isCreativeMode); playerDirectory = event.playerDirectory; } - + private void playerLoadDo(EntityPlayer player, File directory, Boolean gamemode) { PlayerHandler.clearPlayerBaubles(player); - + File mainFile, backupFile; final String fileExtension = "baub"; final String fileExtensionBackup = "baubback"; - + // look for normal files first mainFile = getPlayerFile(fileExtension, directory, player.getCommandSenderName()); backupFile = getPlayerFile(fileExtensionBackup, directory, player.getCommandSenderName()); - + // look for uuid files when normal file missing if (!mainFile.exists()) { File filep = getPlayerFile(fileExtension, directory, player.getGameProfile().getId().toString()); @@ -77,7 +75,7 @@ public class EventHandlerEntity { Baubles.log.info("Using and converting UUID Baubles savefile for " + player.getCommandSenderName()); filep.delete(); File fb = getPlayerFile(fileExtensionBackup, directory, player.getGameProfile().getId().toString()); - if (fb.exists()) fb.delete(); + if (fb.exists()) fb.delete(); } catch (IOException e) {} } } @@ -85,7 +83,7 @@ public class EventHandlerEntity { PlayerHandler.loadPlayerBaubles(player, mainFile, backupFile); EventHandlerNetwork.syncBaubles(player); } - + public File getPlayerFile(String extension, File playerDirectory, String playerName) { if("dat".equals(extension)) throw new IllegalArgumentException("The extension 'dat' is reserved"); return new File(playerDirectory, playerName + "." + extension); @@ -95,10 +93,10 @@ public class EventHandlerEntity { public void playerSave(PlayerEvent.SaveToFile event) { playerSaveDo(event.entityPlayer, event.playerDirectory, event.entityPlayer.capabilities.isCreativeMode); } - + private void playerSaveDo(EntityPlayer player, File directory, Boolean gamemode) { - PlayerHandler.savePlayerBaubles(player, - getPlayerFile("baub", directory, player.getCommandSenderName()), + PlayerHandler.savePlayerBaubles(player, + getPlayerFile("baub", directory, player.getCommandSenderName()), getPlayerFile("baubback", directory, player.getCommandSenderName())); } diff --git a/src/main/java/baubles/common/event/EventHandlerNetwork.java b/src/main/java/baubles/common/event/EventHandlerNetwork.java index 4bdafe0..d4f7f11 100644 --- a/src/main/java/baubles/common/event/EventHandlerNetwork.java +++ b/src/main/java/baubles/common/event/EventHandlerNetwork.java @@ -1,5 +1,6 @@ package baubles.common.event; +import baubles.common.container.InventoryBaubles; import baubles.common.lib.PlayerHandler; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.eventhandler.SubscribeEvent; @@ -8,20 +9,21 @@ import cpw.mods.fml.relauncher.Side; import net.minecraft.entity.player.EntityPlayer; public class EventHandlerNetwork { - - @SubscribeEvent - public void playerLoggedInEvent (PlayerEvent.PlayerLoggedInEvent event) { - Side side = FMLCommonHandler.instance().getEffectiveSide(); + + @SubscribeEvent + public void playerLoggedInEvent (PlayerEvent.PlayerLoggedInEvent event) { + Side side = FMLCommonHandler.instance().getEffectiveSide(); if (side == Side.SERVER) { syncBaubles(event.player); } } - + public static void syncBaubles(EntityPlayer player) { - for (int a = 0; a < 4; a++) { - PlayerHandler.getPlayerBaubles(player).syncSlotToClients(a); + InventoryBaubles baubles = PlayerHandler.getPlayerBaubles(player); + for (int i = 0; i < baubles.getSizeInventory(); i++) { + baubles.syncSlotToClients(i); } } - - + + }