mirror of
https://github.com/GTNewHorizons/Baubles-Expanded.git
synced 2026-11-13 16:54:25 +00:00
Merge pull request #14 from GTNewHorizons/fixBaubleSyncing
Fix client baubles not all being synced
This commit is contained in:
2 files changed
+22
-22
No files matched your search
@@ -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()));
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user