diff options
Diffstat (limited to 'src/main/java/gregtech/common/misc/GlobalEnergyWorldSavedData.java')
-rw-r--r-- | src/main/java/gregtech/common/misc/GlobalEnergyWorldSavedData.java | 60 |
1 files changed, 17 insertions, 43 deletions
diff --git a/src/main/java/gregtech/common/misc/GlobalEnergyWorldSavedData.java b/src/main/java/gregtech/common/misc/GlobalEnergyWorldSavedData.java index dc87c3f520..417eef30ad 100644 --- a/src/main/java/gregtech/common/misc/GlobalEnergyWorldSavedData.java +++ b/src/main/java/gregtech/common/misc/GlobalEnergyWorldSavedData.java @@ -1,8 +1,6 @@ package gregtech.common.misc; import static gregtech.common.misc.GlobalVariableStorage.GlobalEnergy; -import static gregtech.common.misc.GlobalVariableStorage.GlobalEnergyName; -import static gregtech.common.misc.GlobalVariableStorage.GlobalEnergyTeam; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -12,6 +10,8 @@ import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.math.BigInteger; import java.util.HashMap; +import java.util.Map; +import java.util.UUID; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; @@ -20,6 +20,7 @@ import net.minecraft.world.storage.MapStorage; import net.minecraftforge.event.world.WorldEvent; import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import gregtech.common.misc.spaceprojects.SpaceProjectManager; public class GlobalEnergyWorldSavedData extends WorldSavedData { @@ -28,14 +29,11 @@ public class GlobalEnergyWorldSavedData extends WorldSavedData { private static final String DATA_NAME = "GregTech_WirelessEUWorldSavedData"; private static final String GlobalEnergyNBTTag = "GregTech_GlobalEnergy_MapNBTTag"; - private static final String GlobalEnergyNameNBTTag = "GregTech_GlobalEnergyName_MapNBTTag"; private static final String GlobalEnergyTeamNBTTag = "GregTech_GlobalEnergyTeam_MapNBTTag"; private static void loadInstance(World world) { GlobalEnergy.clear(); - GlobalEnergyTeam.clear(); - GlobalEnergyName.clear(); MapStorage storage = world.mapStorage; INSTANCE = (GlobalEnergyWorldSavedData) storage.loadData(GlobalEnergyWorldSavedData.class, DATA_NAME); @@ -72,29 +70,29 @@ public class GlobalEnergyWorldSavedData extends WorldSavedData { InputStream byteArrayInputStream = new ByteArrayInputStream(ba); ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream); Object data = objectInputStream.readObject(); - GlobalEnergy = (HashMap<String, BigInteger>) data; + HashMap<Object, BigInteger> hashData = (HashMap<Object, BigInteger>) data; + for (Map.Entry<Object, BigInteger> entry : hashData.entrySet()) { + GlobalEnergy.put( + UUID.fromString( + entry.getKey() + .toString()), + entry.getValue()); + } } catch (IOException | ClassNotFoundException exception) { System.out.println(GlobalEnergyNBTTag + " FAILED"); exception.printStackTrace(); } - - try { - byte[] ba = nbtTagCompound.getByteArray(GlobalEnergyNameNBTTag); - InputStream byteArrayInputStream = new ByteArrayInputStream(ba); - ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream); - Object data = objectInputStream.readObject(); - GlobalEnergyName = (HashMap<String, String>) data; - } catch (IOException | ClassNotFoundException exception) { - System.out.println(GlobalEnergyNameNBTTag + " FAILED"); - exception.printStackTrace(); - } - try { + if (!nbtTagCompound.hasKey(GlobalEnergyTeamNBTTag)) return; byte[] ba = nbtTagCompound.getByteArray(GlobalEnergyTeamNBTTag); InputStream byteArrayInputStream = new ByteArrayInputStream(ba); ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream); Object data = objectInputStream.readObject(); - GlobalEnergyTeam = (HashMap<String, String>) data; + HashMap<String, String> oldTeams = (HashMap<String, String>) data; + for (String member : oldTeams.keySet()) { + String leader = oldTeams.get(member); + SpaceProjectManager.putInTeam(UUID.fromString(member), UUID.fromString(leader)); + } } catch (IOException | ClassNotFoundException exception) { System.out.println(GlobalEnergyTeamNBTTag + " FAILED"); exception.printStackTrace(); @@ -115,29 +113,5 @@ public class GlobalEnergyWorldSavedData extends WorldSavedData { System.out.println(GlobalEnergyNBTTag + " SAVE FAILED"); exception.printStackTrace(); } - - try { - ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); - ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream); - objectOutputStream.writeObject(GlobalEnergyName); - objectOutputStream.flush(); - byte[] data = byteArrayOutputStream.toByteArray(); - nbtTagCompound.setByteArray(GlobalEnergyNameNBTTag, data); - } catch (Exception exception) { - System.out.println(GlobalEnergyNameNBTTag + " SAVE FAILED"); - exception.printStackTrace(); - } - - try { - ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); - ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream); - objectOutputStream.writeObject(GlobalEnergyTeam); - objectOutputStream.flush(); - byte[] data = byteArrayOutputStream.toByteArray(); - nbtTagCompound.setByteArray(GlobalEnergyTeamNBTTag, data); - } catch (IOException exception) { - System.out.println(GlobalEnergyTeamNBTTag + " SAVE FAILED"); - exception.printStackTrace(); - } } } |