More broke stuff
This commit is contained in:
parent
34cda981c0
commit
87e1f9fb1a
|
@ -136,8 +136,8 @@ public class GuiTransmutationTablet extends GuiBase
|
||||||
protected void drawGuiContainerForegroundLayer(int x, int y)
|
protected void drawGuiContainerForegroundLayer(int x, int y)
|
||||||
{
|
{
|
||||||
super.drawGuiContainerForegroundLayer(x, y);
|
super.drawGuiContainerForegroundLayer(x, y);
|
||||||
fontRendererObj.drawString(String.format("%s:", StatCollector.translateToLocal(Messages.ENERGY_VALUE)), 8, 140, Integer.parseInt(Colors.PURE_WHITE, 16));
|
fontRendererObj.drawString(String.format("%s:", StatCollector.translateToLocal(Messages.ENERGY_VALUE)), 10, 142, Integer.parseInt(Colors.PURE_WHITE, 16));
|
||||||
fontRendererObj.drawString(String.format("%s", energyValueDecimalFormat.format(tileEntityTransmutationTablet.getAvailableEnergyValue().getValue())), 8, 150, Integer.parseInt(Colors.PURE_WHITE, 16));
|
fontRendererObj.drawString(String.format("%s", energyValueDecimalFormat.format(tileEntityTransmutationTablet.getAvailableEnergyValue().getValue())), 10, 152, Integer.parseInt(Colors.PURE_WHITE, 16));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -10,7 +10,9 @@ import com.pahimar.ee3.recipe.RecipeRegistry;
|
||||||
import com.pahimar.ee3.reference.Files;
|
import com.pahimar.ee3.reference.Files;
|
||||||
import com.pahimar.ee3.reference.Reference;
|
import com.pahimar.ee3.reference.Reference;
|
||||||
import com.pahimar.ee3.reference.Settings;
|
import com.pahimar.ee3.reference.Settings;
|
||||||
import com.pahimar.ee3.util.*;
|
import com.pahimar.ee3.util.EnergyValueHelper;
|
||||||
|
import com.pahimar.ee3.util.LogHelper;
|
||||||
|
import com.pahimar.ee3.util.SerializationHelper;
|
||||||
import cpw.mods.fml.common.FMLCommonHandler;
|
import cpw.mods.fml.common.FMLCommonHandler;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
@ -23,7 +25,7 @@ import java.io.File;
|
||||||
import java.lang.reflect.Type;
|
import java.lang.reflect.Type;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
public class EnergyValueRegistry implements INBTTaggable, JsonSerializer<EnergyValueRegistry>, JsonDeserializer<EnergyValueRegistry>
|
public class EnergyValueRegistry implements JsonSerializer<EnergyValueRegistry>, JsonDeserializer<EnergyValueRegistry>
|
||||||
{
|
{
|
||||||
private static final Gson jsonSerializer = (new GsonBuilder()).registerTypeAdapter(EnergyValueRegistry.class, new EnergyValueRegistry()).registerTypeAdapter(EnergyValueStackMapping.class, new EnergyValueStackMapping()).create();
|
private static final Gson jsonSerializer = (new GsonBuilder()).registerTypeAdapter(EnergyValueRegistry.class, new EnergyValueRegistry()).registerTypeAdapter(EnergyValueStackMapping.class, new EnergyValueStackMapping()).create();
|
||||||
private static final Gson prettyJsonSerializer = (new GsonBuilder()).setPrettyPrinting().registerTypeAdapter(EnergyValueRegistry.class, new EnergyValueRegistry()).registerTypeAdapter(EnergyValueStackMapping.class, new EnergyValueStackMapping()).create();
|
private static final Gson prettyJsonSerializer = (new GsonBuilder()).setPrettyPrinting().registerTypeAdapter(EnergyValueRegistry.class, new EnergyValueRegistry()).registerTypeAdapter(EnergyValueStackMapping.class, new EnergyValueStackMapping()).create();
|
||||||
|
@ -35,8 +37,6 @@ public class EnergyValueRegistry implements INBTTaggable, JsonSerializer<EnergyV
|
||||||
private ImmutableSortedMap<WrappedStack, EnergyValue> stackMappings;
|
private ImmutableSortedMap<WrappedStack, EnergyValue> stackMappings;
|
||||||
private ImmutableSortedMap<EnergyValue, List<WrappedStack>> valueMappings;
|
private ImmutableSortedMap<EnergyValue, List<WrappedStack>> valueMappings;
|
||||||
|
|
||||||
private Set<ItemStack> allItemStacksWithValues = new TreeSet<ItemStack>(ItemHelper.idComparator);
|
|
||||||
|
|
||||||
private EnergyValueRegistry()
|
private EnergyValueRegistry()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -585,7 +585,6 @@ public class EnergyValueRegistry implements INBTTaggable, JsonSerializer<EnergyV
|
||||||
return stacksInRange;
|
return stacksInRange;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void readFromNBT(NBTTagCompound nbtTagCompound)
|
public void readFromNBT(NBTTagCompound nbtTagCompound)
|
||||||
{
|
{
|
||||||
if (nbtTagCompound != null && nbtTagCompound.hasKey("stackMappingList"))
|
if (nbtTagCompound != null && nbtTagCompound.hasKey("stackMappingList"))
|
||||||
|
@ -615,7 +614,6 @@ public class EnergyValueRegistry implements INBTTaggable, JsonSerializer<EnergyV
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void writeToNBT(NBTTagCompound nbtTagCompound)
|
public void writeToNBT(NBTTagCompound nbtTagCompound)
|
||||||
{
|
{
|
||||||
NBTTagList stackMappingTagList = new NBTTagList();
|
NBTTagList stackMappingTagList = new NBTTagList();
|
||||||
|
@ -633,12 +631,6 @@ public class EnergyValueRegistry implements INBTTaggable, JsonSerializer<EnergyV
|
||||||
nbtTagCompound.setString("modListMD5", SerializationHelper.getModListMD5());
|
nbtTagCompound.setString("modListMD5", SerializationHelper.getModListMD5());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getTagLabel()
|
|
||||||
{
|
|
||||||
return "EnergyValueRegistry";
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setEnergyValue(WrappedStack wrappedStack, EnergyValue energyValue)
|
public void setEnergyValue(WrappedStack wrappedStack, EnergyValue energyValue)
|
||||||
{
|
{
|
||||||
if (wrappedStack != null && energyValue != null && Float.compare(energyValue.getValue(), 0f) > 0)
|
if (wrappedStack != null && energyValue != null && Float.compare(energyValue.getValue(), 0f) > 0)
|
||||||
|
@ -714,21 +706,9 @@ public class EnergyValueRegistry implements INBTTaggable, JsonSerializer<EnergyV
|
||||||
|
|
||||||
if (shouldRegenNextRestart)
|
if (shouldRegenNextRestart)
|
||||||
{
|
{
|
||||||
File staticEnergyValuesFile = new File(energyValuesDataDirectory, Files.STATIC_ENERGY_VALUES);
|
|
||||||
File staticEnergyValuesJsonFile = new File(energyValuesDataDirectory, Files.STATIC_ENERGY_VALUES_JSON);
|
File staticEnergyValuesJsonFile = new File(energyValuesDataDirectory, Files.STATIC_ENERGY_VALUES_JSON);
|
||||||
File md5EnergyValuesFile = new File(energyValuesDataDirectory, SerializationHelper.getModListMD5() + ".dat");
|
|
||||||
File md5EnergyValuesJsonFile = new File(energyValuesDataDirectory, SerializationHelper.getModListMD5() + ".json");
|
File md5EnergyValuesJsonFile = new File(energyValuesDataDirectory, SerializationHelper.getModListMD5() + ".json");
|
||||||
|
|
||||||
// NBT
|
|
||||||
if (staticEnergyValuesFile.exists())
|
|
||||||
{
|
|
||||||
staticEnergyValuesFile.delete();
|
|
||||||
}
|
|
||||||
if (md5EnergyValuesFile.exists())
|
|
||||||
{
|
|
||||||
md5EnergyValuesFile.delete();
|
|
||||||
}
|
|
||||||
|
|
||||||
// JSON
|
// JSON
|
||||||
if (staticEnergyValuesJsonFile.exists())
|
if (staticEnergyValuesJsonFile.exists())
|
||||||
{
|
{
|
||||||
|
@ -743,58 +723,43 @@ public class EnergyValueRegistry implements INBTTaggable, JsonSerializer<EnergyV
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// SerializationHelper.writeNBTToFile(energyValuesDataDirectory, Files.STATIC_ENERGY_VALUES, this);
|
SerializationHelper.compressEnergyValueStackMapToFile(new File(energyValuesDataDirectory, Files.STATIC_ENERGY_VALUES_JSON), energyValueRegistry.stackMappings);
|
||||||
SerializationHelper.compressEnergyValueRegistryToFile(new File(energyValuesDataDirectory, Files.STATIC_ENERGY_VALUES));
|
SerializationHelper.compressEnergyValueStackMapToFile(new File(energyValuesDataDirectory, SerializationHelper.getModListMD5() + ".json.gz"), energyValueRegistry.stackMappings);
|
||||||
SerializationHelper.writeNBTToFile(energyValuesDataDirectory, SerializationHelper.getModListMD5() + ".dat", this);
|
|
||||||
|
|
||||||
SerializationHelper.writeEnergyValueStackMapToJsonFile(new File(energyValuesDataDirectory, Files.STATIC_ENERGY_VALUES_JSON), energyValueRegistry.stackMappings);
|
|
||||||
SerializationHelper.writeEnergyValueStackMapToJsonFile(new File(energyValuesDataDirectory, SerializationHelper.getModListMD5() + ".json"), energyValueRegistry.stackMappings);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean loadEnergyValueRegistryFromFile()
|
public boolean loadEnergyValueRegistryFromFile()
|
||||||
{
|
{
|
||||||
// TODO Come back here
|
|
||||||
File energyValuesDataDirectory = new File(FMLCommonHandler.instance().getMinecraftServerInstance().getEntityWorld().getSaveHandler().getWorldDirectory(), "data" + File.separator + Reference.LOWERCASE_MOD_ID + File.separator + "energyvalues");
|
File energyValuesDataDirectory = new File(FMLCommonHandler.instance().getMinecraftServerInstance().getEntityWorld().getSaveHandler().getWorldDirectory(), "data" + File.separator + Reference.LOWERCASE_MOD_ID + File.separator + "energyvalues");
|
||||||
energyValuesDataDirectory.mkdirs();
|
energyValuesDataDirectory.mkdirs();
|
||||||
|
|
||||||
File staticEnergyValuesFile = new File(energyValuesDataDirectory, Files.STATIC_ENERGY_VALUES);
|
File staticEnergyValuesFile = new File(energyValuesDataDirectory, Files.STATIC_ENERGY_VALUES_JSON);
|
||||||
File md5EnergyValuesFile = new File(energyValuesDataDirectory, SerializationHelper.getModListMD5() + ".dat");
|
File md5EnergyValuesFile = new File(energyValuesDataDirectory, SerializationHelper.getModListMD5() + ".json.gz");
|
||||||
|
|
||||||
File staticEnergyValuesJsonFile = new File(energyValuesDataDirectory, Files.STATIC_ENERGY_VALUES_JSON);
|
Map<WrappedStack, EnergyValue> stackValueMap = null;
|
||||||
File md5EnergyValuesJsonFile = new File(energyValuesDataDirectory, SerializationHelper.getModListMD5() + ".json");
|
|
||||||
|
|
||||||
NBTTagCompound nbtTagCompound = null;
|
|
||||||
|
|
||||||
// TODO Re-enable this once the NPE related to mod changes in the serialized value file bug is resolved
|
|
||||||
// if (Settings.DynamicEnergyValueGeneration.regenerateEnergyValuesWhen.equalsIgnoreCase("Never"))
|
|
||||||
// {
|
|
||||||
// if (staticEnergyValuesFile.exists())
|
|
||||||
// {
|
|
||||||
// LogHelper.info("Attempting to load energy values from file: " + staticEnergyValuesFile.getAbsolutePath());
|
|
||||||
// nbtTagCompound = SerializationHelper.readNBTFromFile(staticEnergyValuesFile);
|
|
||||||
// }
|
|
||||||
// else if (md5EnergyValuesFile.exists())
|
|
||||||
// {
|
|
||||||
// LogHelper.info("Attempting to load energy values from file: " + md5EnergyValuesFile.getAbsolutePath());
|
|
||||||
// nbtTagCompound = SerializationHelper.readNBTFromFile(md5EnergyValuesFile);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
// else if (md5EnergyValuesFile.exists())
|
|
||||||
if (!Settings.DynamicEnergyValueGeneration.regenerateEnergyValuesWhen.equalsIgnoreCase("Always"))
|
if (!Settings.DynamicEnergyValueGeneration.regenerateEnergyValuesWhen.equalsIgnoreCase("Always"))
|
||||||
{
|
{
|
||||||
if (md5EnergyValuesFile.exists())
|
if (md5EnergyValuesFile.exists())
|
||||||
{
|
{
|
||||||
LogHelper.info("Attempting to load energy values from file: " + md5EnergyValuesFile.getAbsolutePath());
|
LogHelper.info("Attempting to load energy values from file: " + md5EnergyValuesFile.getAbsolutePath());
|
||||||
nbtTagCompound = SerializationHelper.readNBTFromFile(md5EnergyValuesFile);
|
stackValueMap = SerializationHelper.decompressEnergyValueStackMapFromFile(md5EnergyValuesFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nbtTagCompound != null)
|
if (staticEnergyValuesFile.exists())
|
||||||
|
{
|
||||||
|
LogHelper.info("Attempting to load energy values from file: " + staticEnergyValuesFile.getAbsolutePath());
|
||||||
|
stackValueMap = SerializationHelper.decompressEnergyValueStackMapFromFile(staticEnergyValuesFile);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (stackValueMap != null)
|
||||||
{
|
{
|
||||||
energyValueRegistry.readFromNBT(nbtTagCompound);
|
|
||||||
LogHelper.info("Successfully loaded energy values from file");
|
LogHelper.info("Successfully loaded energy values from file");
|
||||||
return true;
|
for (WrappedStack wrappedStack : stackValueMap.keySet())
|
||||||
|
{
|
||||||
|
LogHelper.info(String.format("Stack: %s, Value: %s", wrappedStack, stackValueMap.get(wrappedStack)));
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -6,6 +6,5 @@ public class Files
|
||||||
public static final String POST_ASSIGNED_ENERGY_VALUES = "post-assigned-energy-values.json";
|
public static final String POST_ASSIGNED_ENERGY_VALUES = "post-assigned-energy-values.json";
|
||||||
public static final String TEMPLATE_JSON_FILE = "template.json";
|
public static final String TEMPLATE_JSON_FILE = "template.json";
|
||||||
public static final String ABILITIES_JSON_FILE = "abilities.json";
|
public static final String ABILITIES_JSON_FILE = "abilities.json";
|
||||||
public static final String STATIC_ENERGY_VALUES = "energy-values.dat";
|
|
||||||
public static final String STATIC_ENERGY_VALUES_JSON = "energy-values.json.gz";
|
public static final String STATIC_ENERGY_VALUES_JSON = "energy-values.json.gz";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.pahimar.ee3.util;
|
package com.pahimar.ee3.util;
|
||||||
|
|
||||||
|
import com.google.common.io.Files;
|
||||||
import com.google.gson.stream.JsonReader;
|
import com.google.gson.stream.JsonReader;
|
||||||
import com.google.gson.stream.JsonWriter;
|
import com.google.gson.stream.JsonWriter;
|
||||||
import com.pahimar.ee3.api.EnergyValue;
|
import com.pahimar.ee3.api.EnergyValue;
|
||||||
|
@ -287,4 +288,43 @@ public class SerializationHelper
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Map<WrappedStack, EnergyValue> decompressEnergyValueStackMapFromFile(String fileName)
|
||||||
|
{
|
||||||
|
File energyValuesDataDirectory = new File(FMLCommonHandler.instance().getMinecraftServerInstance().getEntityWorld().getSaveHandler().getWorldDirectory(), "data" + File.separator + Reference.LOWERCASE_MOD_ID + File.separator + "energyvalues");
|
||||||
|
return decompressEnergyValueStackMapFromFile(new File(energyValuesDataDirectory, fileName));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Map<WrappedStack, EnergyValue> decompressEnergyValueStackMapFromFile(File file)
|
||||||
|
{
|
||||||
|
Map<WrappedStack, EnergyValue> energyValueStackMap = new TreeMap<WrappedStack, EnergyValue>();
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
String jsonEnergyValueStackMap = CompressionHelper.decompressStringFromByteArray(Files.toByteArray(file));
|
||||||
|
JsonReader jsonReader = new JsonReader(new StringReader(jsonEnergyValueStackMap));
|
||||||
|
jsonReader.beginArray();
|
||||||
|
while (jsonReader.hasNext())
|
||||||
|
{
|
||||||
|
EnergyValueStackMapping energyValueStackMapping = EnergyValueStackMapping.jsonSerializer.fromJson(jsonReader, EnergyValueStackMapping.class);
|
||||||
|
if (energyValueStackMapping != null)
|
||||||
|
{
|
||||||
|
energyValueStackMap.put(energyValueStackMapping.wrappedStack, energyValueStackMapping.energyValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
jsonReader.endArray();
|
||||||
|
jsonReader.close();
|
||||||
|
}
|
||||||
|
catch (FileNotFoundException e)
|
||||||
|
{
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
catch (IOException e)
|
||||||
|
{
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return energyValueStackMap;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue