From fd6c5d59900300bb53bc94af21d8083a83b9966e Mon Sep 17 00:00:00 2001 From: DarkGuardsman Date: Wed, 6 Nov 2013 17:11:39 -0500 Subject: [PATCH] Fixed an issue with the save helper --- src/dark/core/prefab/ModPrefab.java | 2 ++ src/dark/core/save/NBTFileHelper.java | 8 ++++---- src/dark/core/save/SaveManager.java | 10 ++++++++++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/dark/core/prefab/ModPrefab.java b/src/dark/core/prefab/ModPrefab.java index d9e9afb9..da6ef7d3 100644 --- a/src/dark/core/prefab/ModPrefab.java +++ b/src/dark/core/prefab/ModPrefab.java @@ -23,6 +23,7 @@ import cpw.mods.fml.relauncher.Side; import dark.core.common.ExternalModHandler; import dark.core.prefab.helpers.FluidHelper; import dark.core.registration.ModObjectRegistry; +import dark.core.save.SaveManager; public abstract class ModPrefab { @@ -94,6 +95,7 @@ public abstract class ModPrefab Modstats.instance().getReporter().registerMod(this); MinecraftForge.EVENT_BUS.register(this); MinecraftForge.EVENT_BUS.register(new FluidHelper()); + MinecraftForge.EVENT_BUS.register(SaveManager.instance()); UniversalElectricity.initiate(); Compatibility.initiate(); } diff --git a/src/dark/core/save/NBTFileHelper.java b/src/dark/core/save/NBTFileHelper.java index 74d30599..573f9d62 100644 --- a/src/dark/core/save/NBTFileHelper.java +++ b/src/dark/core/save/NBTFileHelper.java @@ -52,7 +52,7 @@ public class NBTFileHelper { try { - File tempFile = new File(file.getAbsoluteFile(), file.getName() + ".tmp"); + File tempFile = new File(file.getParent(), file.getName() + ".tmp"); CompressedStreamTools.writeCompressed(data, new FileOutputStream(tempFile)); @@ -68,7 +68,7 @@ public class NBTFileHelper } catch (Exception e) { - System.out.println("Failed to save " + file.getName() + ".dat!"); + System.out.println("Failed to save " + file.getName()); e.printStackTrace(); } } @@ -82,7 +82,7 @@ public class NBTFileHelper * @return true if everything goes well */ public static boolean saveNBTFile(String filename, NBTTagCompound data) { - return saveNBTFile(getWorldSaveDirectory(MinecraftServer.getServer().getFolderName()), filename, data); + return saveNBTFile(getWorldSaveDirectory(MinecraftServer.getServer().getFolderName()), filename + ".dat", data); } /** Reads NBT data from the world folder. @@ -92,7 +92,7 @@ public class NBTFileHelper { if (saveDirectory != null && filename != null) { - if(create && !saveDirectory.exists()) + if (create && !saveDirectory.exists()) { saveDirectory.mkdirs(); } diff --git a/src/dark/core/save/SaveManager.java b/src/dark/core/save/SaveManager.java index 060987ae..d46c080f 100644 --- a/src/dark/core/save/SaveManager.java +++ b/src/dark/core/save/SaveManager.java @@ -19,6 +19,16 @@ public class SaveManager private static HashMap, String> classToIDMap = new HashMap, String>(); private static List saveList = new ArrayList(); private static List objects = new ArrayList(); + private static SaveManager instance; + + public static SaveManager instance() + { + if(instance == null) + { + instance = new SaveManager(); + } + return instance; + } /** Called when the object wants to be save only on the next save call. Will be removed from the * save manager after */