From c8404fd6ca97e6aa11e3260f1204bfa0cfd85ba7 Mon Sep 17 00:00:00 2001 From: Pahimar Date: Fri, 13 May 2016 22:28:10 -0400 Subject: [PATCH] More serialization work, looking a lot cleaner than before but definitely still some improvements possible --- .../com/pahimar/ee3/EquivalentExchange3.java | 8 +- .../pahimar/ee3/api/exchange/EnergyValue.java | 12 +- .../ee3/exchange/EnergyValueRegistry.java | 6 +- .../ee3/exchange/NewEnergyValueRegistry.java | 140 +++++++++++------- .../pahimar/ee3/exchange/WrappedStack.java | 9 +- .../pahimar/ee3/reference/Comparators.java | 130 ++++++++-------- .../java/com/pahimar/ee3/reference/Files.java | 12 +- .../pahimar/ee3/util/EnergyValueHelper.java | 8 +- .../pahimar/ee3/util/SerializationHelper.java | 76 +++++++++- .../serialize/EnergyValueMapSerializer.java | 98 ++++++++++++ .../util/serialize/FluidStackSerializer.java | 2 +- .../util/serialize/ItemStackSerializer.java | 2 +- .../NewEnergyValueRegistrySerializer.java | 74 --------- .../util/serialize/OreStackSerializer.java | 2 +- .../serialize/WrappedStackSerializer.java | 2 - .../ee3/textures/arrays/transmutation.png | Bin 0 -> 137654 bytes 16 files changed, 350 insertions(+), 231 deletions(-) create mode 100644 src/main/java/com/pahimar/ee3/util/serialize/EnergyValueMapSerializer.java delete mode 100644 src/main/java/com/pahimar/ee3/util/serialize/NewEnergyValueRegistrySerializer.java create mode 100644 src/main/resources/assets/ee3/textures/arrays/transmutation.png diff --git a/src/main/java/com/pahimar/ee3/EquivalentExchange3.java b/src/main/java/com/pahimar/ee3/EquivalentExchange3.java index f6ea2aa7..158736b5 100644 --- a/src/main/java/com/pahimar/ee3/EquivalentExchange3.java +++ b/src/main/java/com/pahimar/ee3/EquivalentExchange3.java @@ -31,7 +31,6 @@ import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.registry.GameRegistry; import java.io.File; -import java.io.IOException; @Mod(modid = Reference.MOD_ID, name = Reference.MOD_NAME, certificateFingerprint = Reference.FINGERPRINT, version = Reference.MOD_VERSION, dependencies = Reference.DEPENDENCIES, guiFactory = Reference.GUI_FACTORY_CLASS) public class EquivalentExchange3 @@ -121,13 +120,8 @@ public class EquivalentExchange3 CachedOreDictionary.getInstance(); Abilities.initNotLearnables(); + NewEnergyValueRegistry.INSTANCE.save(); NewEnergyValueRegistry.INSTANCE.load(); - - try { - NewEnergyValueRegistry.INSTANCE.save(); - } catch (IOException e) { - e.printStackTrace(); - } } @EventHandler diff --git a/src/main/java/com/pahimar/ee3/api/exchange/EnergyValue.java b/src/main/java/com/pahimar/ee3/api/exchange/EnergyValue.java index cc9d0fca..f2430f96 100644 --- a/src/main/java/com/pahimar/ee3/api/exchange/EnergyValue.java +++ b/src/main/java/com/pahimar/ee3/api/exchange/EnergyValue.java @@ -22,6 +22,10 @@ public final class EnergyValue implements Comparable, JsonDeseriali this.energyValue = energyValue; } + public EnergyValue(Number energyValue) { + this.energyValue = energyValue.floatValue(); + } + @Override public boolean equals(Object object) { @@ -96,7 +100,6 @@ public final class EnergyValue implements Comparable, JsonDeseriali * @param jsonEnergyValue Json encoded String representing a EmcValue object * @return The EmcValue that was encoded as json, or null if a valid EmcValue could not be decoded from given String */ - @SuppressWarnings("unused") public static EnergyValue createFromJson(String jsonEnergyValue) { try @@ -182,4 +185,11 @@ public final class EnergyValue implements Comparable, JsonDeseriali return jsonEnergyValue; } + + public enum Phase { + PRE_CALCULATION, + POST_CALCULATION, + RUNTIME, + ALL + } } diff --git a/src/main/java/com/pahimar/ee3/exchange/EnergyValueRegistry.java b/src/main/java/com/pahimar/ee3/exchange/EnergyValueRegistry.java index c902da62..09a4f75c 100644 --- a/src/main/java/com/pahimar/ee3/exchange/EnergyValueRegistry.java +++ b/src/main/java/com/pahimar/ee3/exchange/EnergyValueRegistry.java @@ -75,7 +75,7 @@ public class EnergyValueRegistry implements JsonSerializer, if (wrappedStack.getStackSize() > 0) { WrappedStack factoredWrappedStack = WrappedStack.wrap(wrappedStack, 1); - EnergyValue factoredEnergyValue = EnergyValueHelper.factorEnergyValue(energyValue, wrappedStack.getStackSize()); + EnergyValue factoredEnergyValue = EnergyValueHelper.factor(energyValue, wrappedStack.getStackSize()); if (preCalculationMappings.containsKey(factoredWrappedStack)) { @@ -113,7 +113,7 @@ public class EnergyValueRegistry implements JsonSerializer, if (wrappedStack.getStackSize() > 0) { WrappedStack factoredWrappedStack = WrappedStack.wrap(wrappedStack, 1); - EnergyValue factoredEnergyValue = EnergyValueHelper.factorEnergyValue(energyValue, wrappedStack.getStackSize()); + EnergyValue factoredEnergyValue = EnergyValueHelper.factor(energyValue, wrappedStack.getStackSize()); LogHelper.trace(POST_CALC_MARKER, "[{}] Mod with ID '{}' set a post-calculation energy value of {} for object {}", LoaderHelper.getLoaderState(), Loader.instance().activeModContainer().getModId(), energyValue, wrappedStack); postCalculationMappings.put(factoredWrappedStack, factoredEnergyValue); @@ -416,7 +416,7 @@ public class EnergyValueRegistry implements JsonSerializer, { if (computedStackValues.get(keyStack) != null && Float.compare(computedStackValues.get(keyStack).getValue(), 0f) > 0) { - factoredExchangeEnergyValue = EnergyValueHelper.factorEnergyValue(computedStackValues.get(keyStack), keyStack.getStackSize()); + factoredExchangeEnergyValue = EnergyValueHelper.factor(computedStackValues.get(keyStack), keyStack.getStackSize()); factoredKeyStack = WrappedStack.wrap(keyStack, 1); } } diff --git a/src/main/java/com/pahimar/ee3/exchange/NewEnergyValueRegistry.java b/src/main/java/com/pahimar/ee3/exchange/NewEnergyValueRegistry.java index ea08ccfb..c41b8f7d 100644 --- a/src/main/java/com/pahimar/ee3/exchange/NewEnergyValueRegistry.java +++ b/src/main/java/com/pahimar/ee3/exchange/NewEnergyValueRegistry.java @@ -1,96 +1,124 @@ package com.pahimar.ee3.exchange; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSortedMap; import com.pahimar.ee3.api.exchange.EnergyValue; +import com.pahimar.ee3.util.EnergyValueHelper; import com.pahimar.ee3.util.LogHelper; import com.pahimar.ee3.util.SerializationHelper; import net.minecraft.init.Items; -import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; import org.apache.logging.log4j.Marker; import org.apache.logging.log4j.MarkerManager; -import java.io.*; +import java.io.File; +import java.io.FileNotFoundException; import java.util.Map; import java.util.TreeMap; public class NewEnergyValueRegistry { - public static final Marker ENERGY_VALUE_MARKER = MarkerManager.getMarker("EE3_ENERGY_VALUE", LogHelper.MOD_MARKER); public static final NewEnergyValueRegistry INSTANCE = new NewEnergyValueRegistry(); - public final Map preCalculationMappings; - public final Map postCalculationMappings; + private ImmutableSortedMap energyValueMap; + private final Map preCalculationValueMap; + private final Map postCalculationValueMap; - public static File energyValuesDataDirectory; - public static File energyValuesDataFile; + public static File energyValuesDirectory; + public static File energyValuesFile; + public static File preCalculationValuesFile; + public static File postCalculationValuesFile; + + public static final Marker ENERGY_VALUE_MARKER = MarkerManager.getMarker("EE3_ENERGY_VALUE", LogHelper.MOD_MARKER); private NewEnergyValueRegistry() { - preCalculationMappings = new TreeMap<>(); + ImmutableSortedMap.Builder energyValueMapBuilder = ImmutableSortedMap.naturalOrder(); + energyValueMap = energyValueMapBuilder.build(); + + preCalculationValueMap = new TreeMap<>(); + postCalculationValueMap = new TreeMap<>(); // Loading up some dummy values for testing serialization - preCalculationMappings.put(WrappedStack.wrap(Items.apple), new EnergyValue(1)); - preCalculationMappings.put(WrappedStack.wrap(Items.arrow), new EnergyValue(2)); - preCalculationMappings.put(WrappedStack.wrap(Items.baked_potato), new EnergyValue(3)); - preCalculationMappings.put(WrappedStack.wrap(Items.bed), new EnergyValue(4)); - preCalculationMappings.put(WrappedStack.wrap(new OreStack("oreIron")), new EnergyValue(5)); - - postCalculationMappings = new TreeMap<>(); + preCalculationValueMap.put(WrappedStack.wrap(Items.apple), new EnergyValue(1)); + preCalculationValueMap.put(WrappedStack.wrap(Items.arrow), new EnergyValue(2)); + preCalculationValueMap.put(WrappedStack.wrap(Items.baked_potato), new EnergyValue(3)); + preCalculationValueMap.put(WrappedStack.wrap(Items.bed), new EnergyValue(4)); + preCalculationValueMap.put(WrappedStack.wrap(new OreStack("oreIron")), new EnergyValue(5)); + preCalculationValueMap.put(WrappedStack.wrap(new FluidStack(FluidRegistry.WATER, 500)), new EnergyValue(6)); + preCalculationValueMap.put(WrappedStack.wrap(new ItemStack(Items.carrot, 1, 1)), new EnergyValue(7)); + preCalculationValueMap.put(WrappedStack.wrap(new ItemStack(Items.chainmail_boots, 1, 2)), new EnergyValue(8)); } - public String toJson() { - return SerializationHelper.GSON.toJson(this); + public ImmutableMap getEnergyValues() { + return energyValueMap; } - /** - * @see net.minecraft.nbt.CompressedStreamTools#safeWrite(NBTTagCompound, File) - */ - public void save() throws IOException { + public Map getPreCalculationValueMap() { + return preCalculationValueMap; + } - File file = energyValuesDataFile; - File tempFile = new File(file.getAbsolutePath() + "_tmp"); + public Map getPostCalculationValueMap() { + return postCalculationValueMap; + } - if (tempFile.exists()) { - tempFile.delete(); + public void set(Object object, EnergyValue energyValue, boolean isPreCalculationAssignment) { + + if (WrappedStack.canBeWrapped(object) && energyValue != null && Float.compare(energyValue.getValue(), 0f) > 0) { + + WrappedStack wrappedStack = WrappedStack.wrap(object, 1); + EnergyValue factoredEnergyValue = EnergyValueHelper.factor(energyValue, wrappedStack.getStackSize()); + + if (isPreCalculationAssignment) { + if (preCalculationValueMap.containsKey(wrappedStack) && factoredEnergyValue.compareTo(preCalculationValueMap.get(wrappedStack)) < 0) { + preCalculationValueMap.put(wrappedStack, factoredEnergyValue); + } + else { + preCalculationValueMap.put(wrappedStack, factoredEnergyValue); + } + } + else { + if (postCalculationValueMap.containsKey(wrappedStack) && factoredEnergyValue.compareTo(postCalculationValueMap.get(wrappedStack)) < 0) { + postCalculationValueMap.put(wrappedStack, factoredEnergyValue); + } + else { + postCalculationValueMap.put(wrappedStack, factoredEnergyValue); + } + } } + } - BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(tempFile)); - bufferedWriter.write(this.toJson()); - bufferedWriter.close(); - - if (file.exists()) { - file.delete(); - } - - if (file.exists()) { - throw new IOException("Failed to delete " + file); - } - else { - tempFile.renameTo(file); - } + public void save() { + SerializationHelper.writeToJsonFile(energyValueMap, energyValuesFile); + SerializationHelper.writeToJsonFile(preCalculationValueMap, preCalculationValuesFile); + SerializationHelper.writeToJsonFile(postCalculationValueMap, postCalculationValuesFile); } public void load() { - File file = energyValuesDataFile; - - StringBuilder stringBuilder = new StringBuilder(); - try (BufferedReader bufferedReader = new BufferedReader(new FileReader(file))) { - - stringBuilder = new StringBuilder(); - String line; - while ((line = bufferedReader.readLine()) != null) { - stringBuilder.append(line); - } + try { + preCalculationValueMap.clear(); + preCalculationValueMap.putAll(SerializationHelper.readFromJsonFile(preCalculationValuesFile)); } catch (FileNotFoundException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); + // TODO Log that no pre-calculation values were loaded from file because file wasn't found } - String jsonRegistryString = stringBuilder.toString(); - LogHelper.info(jsonRegistryString); - NewEnergyValueRegistry newEnergyValueRegistry = SerializationHelper.GSON.fromJson(jsonRegistryString, NewEnergyValueRegistry.class); + try { + postCalculationValueMap.clear(); + postCalculationValueMap.putAll(SerializationHelper.readFromJsonFile(postCalculationValuesFile)); + } catch (FileNotFoundException e) { + // TODO Log that no pre-calculation values were loaded from file because file wasn't found + } - LogHelper.info(newEnergyValueRegistry); + try { + ImmutableSortedMap.Builder energyValueMapBuilder = ImmutableSortedMap.naturalOrder(); + energyValueMapBuilder.putAll(SerializationHelper.readFromJsonFile(energyValuesFile)); + energyValueMap = energyValueMapBuilder.build(); + } catch (FileNotFoundException e) { + LogHelper.warn("No calculated energy value file found, regenerating"); + // TODO Gen new values from the loaded pre/post value maps + } } } diff --git a/src/main/java/com/pahimar/ee3/exchange/WrappedStack.java b/src/main/java/com/pahimar/ee3/exchange/WrappedStack.java index d648d112..c436a877 100644 --- a/src/main/java/com/pahimar/ee3/exchange/WrappedStack.java +++ b/src/main/java/com/pahimar/ee3/exchange/WrappedStack.java @@ -515,10 +515,11 @@ public class WrappedStack implements Comparable, JsonDeserializer< if (wrappedStack instanceof ItemStack) { ItemStack itemStack = (ItemStack) wrappedStack; - String unlocalizedName = ""; + String unlocalizedName; try { - unlocalizedName = itemStack.getUnlocalizedName(); +// unlocalizedName = itemStack.getUnlocalizedName(); + unlocalizedName = Item.itemRegistry.getNameForObject(itemStack.getItem()); } catch (ArrayIndexOutOfBoundsException e) { @@ -537,12 +538,12 @@ public class WrappedStack implements Comparable, JsonDeserializer< else if (wrappedStack instanceof OreStack) { OreStack oreStack = (OreStack) wrappedStack; - return String.format("%sxoreStack.%s", stackSize, oreStack.oreName); + return String.format("%sxoreStack[%s]", stackSize, oreStack.oreName); } else if (wrappedStack instanceof FluidStack) { FluidStack fluidStack = (FluidStack) wrappedStack; - return String.format("%sxfluidStack.%s", stackSize, fluidStack.getFluid().getName()); + return String.format("%sxfluidStack[%s]", stackSize, fluidStack.getFluid().getName()); } else { diff --git a/src/main/java/com/pahimar/ee3/reference/Comparators.java b/src/main/java/com/pahimar/ee3/reference/Comparators.java index 8f46e666..9f9ed43f 100644 --- a/src/main/java/com/pahimar/ee3/reference/Comparators.java +++ b/src/main/java/com/pahimar/ee3/reference/Comparators.java @@ -18,77 +18,6 @@ public class Comparators } }; - public static Comparator idComparator = new Comparator() - { - public int compare(ItemStack itemStack1, ItemStack itemStack2) - { - if (itemStack1 != null && itemStack2 != null) - { - // Sort on itemID - if (Item.getIdFromItem(itemStack1.getItem()) - Item.getIdFromItem(itemStack2.getItem()) == 0) - { - // Sort on item - if (itemStack1.getItem() == itemStack2.getItem()) - { - // Then sort on meta - if ((itemStack1.getItemDamage() == itemStack2.getItemDamage()) || itemStack1.getItemDamage() == OreDictionary.WILDCARD_VALUE || itemStack2.getItemDamage() == OreDictionary.WILDCARD_VALUE) - { - // Then sort on NBT - if (itemStack1.hasTagCompound() && itemStack2.hasTagCompound()) - { - // Then sort on stack size - if (ItemStack.areItemStackTagsEqual(itemStack1, itemStack2)) - { - return (itemStack1.stackSize - itemStack2.stackSize); - } - else - { - return (itemStack1.getTagCompound().hashCode() - itemStack2.getTagCompound().hashCode()); - } - } - else if (!(itemStack1.hasTagCompound()) && itemStack2.hasTagCompound()) - { - return -1; - } - else if (itemStack1.hasTagCompound() && !(itemStack2.hasTagCompound())) - { - return 1; - } - else - { - return (itemStack1.stackSize - itemStack2.stackSize); - } - } - else - { - return (itemStack1.getItemDamage() - itemStack2.getItemDamage()); - } - } - else - { - return itemStack1.getItem().getUnlocalizedName(itemStack1).compareToIgnoreCase(itemStack2.getItem().getUnlocalizedName(itemStack2)); - } - } - else - { - return Item.getIdFromItem(itemStack1.getItem()) - Item.getIdFromItem(itemStack2.getItem()); - } - } - else if (itemStack1 != null) - { - return -1; - } - else if (itemStack2 != null) - { - return 1; - } - else - { - return 0; - } - } - }; - public static Comparator reverseIdComparator = new Comparator() { @Override @@ -98,6 +27,65 @@ public class Comparators } }; + public static Comparator idComparator = new Comparator() { + + @Override + public int compare(ItemStack itemStack1, ItemStack itemStack2) { + + if (itemStack1 != null && itemStack2 != null) { + + String name1 = Item.itemRegistry.getNameForObject(itemStack1.getItem()); + String name2 = Item.itemRegistry.getNameForObject(itemStack2.getItem()); + + if (name1.equalsIgnoreCase(name2)) { + // Sort on item + if (itemStack1.getItem() == itemStack2.getItem()) { + // Then sort on meta + if ((itemStack1.getItemDamage() == itemStack2.getItemDamage()) || itemStack1.getItemDamage() == OreDictionary.WILDCARD_VALUE || itemStack2.getItemDamage() == OreDictionary.WILDCARD_VALUE) { + // Then sort on NBT + if (itemStack1.hasTagCompound() && itemStack2.hasTagCompound()) { + // Then sort on stack size + if (ItemStack.areItemStackTagsEqual(itemStack1, itemStack2)) { + return (itemStack1.stackSize - itemStack2.stackSize); + } + else { + return (itemStack1.getTagCompound().hashCode() - itemStack2.getTagCompound().hashCode()); + } + } + else if (!(itemStack1.hasTagCompound()) && itemStack2.hasTagCompound()) { + return -1; + } + else if (itemStack1.hasTagCompound() && !(itemStack2.hasTagCompound())) { + return 1; + } + else { + return (itemStack1.stackSize - itemStack2.stackSize); + } + } + else { + return (itemStack1.getItemDamage() - itemStack2.getItemDamage()); + } + } + else { + return itemStack1.getItem().getUnlocalizedName(itemStack1).compareToIgnoreCase(itemStack2.getItem().getUnlocalizedName(itemStack2)); + } + } + else { + return name1.compareToIgnoreCase(name2); + } + } + else if (itemStack1 != null) { + return -1; + } + else if (itemStack2 != null) { + return 1; + } + else { + return 0; + } + } + }; + public static Comparator displayNameComparator = new Comparator() { public int compare(ItemStack itemStack1, ItemStack itemStack2) diff --git a/src/main/java/com/pahimar/ee3/reference/Files.java b/src/main/java/com/pahimar/ee3/reference/Files.java index 477e5d32..e8b8d285 100644 --- a/src/main/java/com/pahimar/ee3/reference/Files.java +++ b/src/main/java/com/pahimar/ee3/reference/Files.java @@ -6,11 +6,13 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent; import java.io.File; public class Files { + + public static final String ENERGY_VALUES_JSON = "energy-values.json"; public static final String PRE_CALCULATION_ENERGY_VALUES = "pre-calculation-energy-values.json"; public static final String POST_CALCULATION_ENERGY_VALUES = "post-calculation-energy-values.json"; + public static final String TEMPLATE_JSON_FILE = "template.json"; public static final String ABILITIES_JSON_FILE = "abilities.json"; - public static final String ENERGY_VALUES_JSON = "energy-values.json"; public static File dataDirectory; @@ -24,9 +26,11 @@ public class Files { dataDirectory = new File(event.getModConfigurationDirectory().getParentFile(), "data" + File.separator + Reference.LOWERCASE_MOD_ID); - NewEnergyValueRegistry.energyValuesDataDirectory = new File(dataDirectory, "energy-values"); - NewEnergyValueRegistry.energyValuesDataDirectory.mkdirs(); - NewEnergyValueRegistry.energyValuesDataFile = new File(NewEnergyValueRegistry.energyValuesDataDirectory, ENERGY_VALUES_JSON); + NewEnergyValueRegistry.energyValuesDirectory = new File(dataDirectory, "energy-values"); + NewEnergyValueRegistry.energyValuesDirectory.mkdirs(); + NewEnergyValueRegistry.energyValuesFile = new File(NewEnergyValueRegistry.energyValuesDirectory, ENERGY_VALUES_JSON); + NewEnergyValueRegistry.preCalculationValuesFile = new File(NewEnergyValueRegistry.energyValuesDirectory, PRE_CALCULATION_ENERGY_VALUES); + NewEnergyValueRegistry.postCalculationValuesFile = new File(NewEnergyValueRegistry.energyValuesDirectory, POST_CALCULATION_ENERGY_VALUES); abilitiesDataDirectory = new File(dataDirectory, "abilities"); abilitiesDataDirectory.mkdirs(); diff --git a/src/main/java/com/pahimar/ee3/util/EnergyValueHelper.java b/src/main/java/com/pahimar/ee3/util/EnergyValueHelper.java index e570a846..f2309e2e 100644 --- a/src/main/java/com/pahimar/ee3/util/EnergyValueHelper.java +++ b/src/main/java/com/pahimar/ee3/util/EnergyValueHelper.java @@ -99,15 +99,15 @@ public class EnergyValueHelper } } - return factorEnergyValue(new EnergyValue(computedValue), outputStack.getStackSize()); + return factor(new EnergyValue(computedValue), outputStack.getStackSize()); } - public static EnergyValue factorEnergyValue(EnergyValue energyValue, int factor) + public static EnergyValue factor(EnergyValue energyValue, int factor) { - return factorEnergyValue(energyValue, (float) factor); + return factor(energyValue, (float) factor); } - public static EnergyValue factorEnergyValue(EnergyValue energyValue, float factor) + public static EnergyValue factor(EnergyValue energyValue, float factor) { if ((Float.compare(factor, 0f) != 0) && (energyValue != null)) { diff --git a/src/main/java/com/pahimar/ee3/util/SerializationHelper.java b/src/main/java/com/pahimar/ee3/util/SerializationHelper.java index 4b622f74..35b321c2 100644 --- a/src/main/java/com/pahimar/ee3/util/SerializationHelper.java +++ b/src/main/java/com/pahimar/ee3/util/SerializationHelper.java @@ -1,12 +1,17 @@ package com.pahimar.ee3.util; import com.google.common.io.Files; +import com.google.common.reflect.TypeToken; import com.google.gson.Gson; import com.google.gson.GsonBuilder; +import com.google.gson.JsonParseException; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.pahimar.ee3.api.exchange.EnergyValue; -import com.pahimar.ee3.exchange.*; +import com.pahimar.ee3.exchange.EnergyValueRegistry; +import com.pahimar.ee3.exchange.EnergyValueStackMapping; +import com.pahimar.ee3.exchange.OreStack; +import com.pahimar.ee3.exchange.WrappedStack; import com.pahimar.ee3.knowledge.TransmutationKnowledge; import com.pahimar.ee3.reference.Reference; import com.pahimar.ee3.util.serialize.*; @@ -14,14 +19,17 @@ import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.ModContainer; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.fluids.FluidStack; import org.apache.commons.codec.digest.DigestUtils; import java.io.*; +import java.lang.reflect.Type; import java.util.*; public class SerializationHelper { + public static final Type ENERGY_VALUE_MAP_TYPE = new TypeToken>(){}.getType(); public static final Gson GSON = new GsonBuilder() .setPrettyPrinting() .enableComplexMapKeySerialization() @@ -29,7 +37,7 @@ public class SerializationHelper { .registerTypeAdapter(OreStack.class, new OreStackSerializer()) .registerTypeAdapter(FluidStack.class, new FluidStackSerializer()) .registerTypeAdapter(WrappedStack.class, new WrappedStackSerializer()) - .registerTypeAdapter(NewEnergyValueRegistry.class, new NewEnergyValueRegistrySerializer()) + .registerTypeAdapter(ENERGY_VALUE_MAP_TYPE, new EnergyValueMapSerializer()) .create(); private static File instanceDataDirectory; @@ -179,6 +187,70 @@ public class SerializationHelper { return energyValueStackMap; } + /** + * @see net.minecraft.nbt.CompressedStreamTools#safeWrite(NBTTagCompound, File) + */ + public static void writeToJsonFile(Map valueMap, File file) { + + File tempFile = new File(file.getAbsolutePath() + "_tmp"); + + if (tempFile.exists()) { + tempFile.delete(); + } + + try (BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(tempFile))) { + + bufferedWriter.write(SerializationHelper.GSON.toJson(valueMap, ENERGY_VALUE_MAP_TYPE)); + bufferedWriter.close(); + } + catch (IOException exception) { + exception.printStackTrace(); // TODO Better logging of the exception + } + + if (file.exists()) { + file.delete(); + } + + if (file.exists()) { + LogHelper.warn("Failed to delete " + file); + } + else { + tempFile.renameTo(file); + } + } + + public static Map readFromJsonFile(File file) throws FileNotFoundException { + + Map valueMap = new TreeMap<>(); + + StringBuilder jsonStringBuilder = new StringBuilder(); + try (BufferedReader bufferedReader = new BufferedReader(new FileReader(file))) { + + jsonStringBuilder = new StringBuilder(); + String line; + while ((line = bufferedReader.readLine()) != null) { + jsonStringBuilder.append(line); + } + } + catch (IOException exception) { + if (exception instanceof FileNotFoundException) { + throw (FileNotFoundException) exception; + } + else { + exception.printStackTrace(); // TODO Better logging of the exception (other) + } + } + + try { + valueMap = SerializationHelper.GSON.fromJson(jsonStringBuilder.toString(), ENERGY_VALUE_MAP_TYPE); + } + catch (JsonParseException exception) { + // TODO Better logging of the exception (failed parsing so no values loaded) + } + + return valueMap; + } + public static void writeEnergyValueStackMapToJsonFile(String fileName, Map energyValueMap) { File energyValuesDataDirectory = new File(FMLCommonHandler.instance().getMinecraftServerInstance().getEntityWorld().getSaveHandler().getWorldDirectory(), "data" + File.separator + Reference.LOWERCASE_MOD_ID + File.separator + "energyvalues"); diff --git a/src/main/java/com/pahimar/ee3/util/serialize/EnergyValueMapSerializer.java b/src/main/java/com/pahimar/ee3/util/serialize/EnergyValueMapSerializer.java new file mode 100644 index 00000000..d058797f --- /dev/null +++ b/src/main/java/com/pahimar/ee3/util/serialize/EnergyValueMapSerializer.java @@ -0,0 +1,98 @@ +package com.pahimar.ee3.util.serialize; + +import com.google.gson.*; +import com.pahimar.ee3.api.exchange.EnergyValue; +import com.pahimar.ee3.exchange.OreStack; +import com.pahimar.ee3.exchange.WrappedStack; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; + +import java.lang.reflect.Type; +import java.util.Iterator; +import java.util.Map; +import java.util.TreeMap; + +public class EnergyValueMapSerializer implements JsonSerializer>, JsonDeserializer> { + + private static final String ENERGY_VALUE = "energyValue"; + private static final String TYPE_ITEM_STACK = "itemstack"; + private static final String TYPE_ORE_STACK = "orestack"; + private static final String TYPE_FLUID_STACK = "fluidstack"; + + @Override + public Map deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { + + Map valueMap = new TreeMap<>(); + + if (json.isJsonArray()) { + + JsonArray jsonArray = json.getAsJsonArray(); + Iterator jsonArrayIterator = jsonArray.iterator(); + + while (jsonArrayIterator.hasNext()) { + + JsonElement jsonElement = jsonArrayIterator.next(); + if (validateValueMapping(jsonElement)) { + + JsonObject jsonValueMapping = jsonElement.getAsJsonObject(); + + WrappedStack wrappedStack = null; + EnergyValue energyValue = new EnergyValue(jsonValueMapping.get(ENERGY_VALUE).getAsNumber()); + + if (jsonValueMapping.has(TYPE_ITEM_STACK)) { + wrappedStack = WrappedStack.wrap(context.deserialize(jsonValueMapping.get(TYPE_ITEM_STACK), ItemStack.class)); + } + else if (jsonValueMapping.has(TYPE_ORE_STACK)) { + wrappedStack = WrappedStack.wrap(context.deserialize(jsonValueMapping.get(TYPE_ORE_STACK), OreStack.class)); + } + else if (jsonValueMapping.has(TYPE_FLUID_STACK)) { + wrappedStack = WrappedStack.wrap(context.deserialize(jsonValueMapping.get(TYPE_FLUID_STACK), FluidStack.class)); + } + + if (wrappedStack != null && energyValue != null) { + valueMap.put(wrappedStack, energyValue); + } + } + } + } + + return valueMap; + } + + @Override + public JsonElement serialize(Map src, Type typeOfSrc, JsonSerializationContext context) { + + JsonArray jsonArray = new JsonArray(); + + if (src != null) { + for (WrappedStack wrappedStack : src.keySet()) { + JsonObject jsonMapping = new JsonObject(); + jsonMapping.add(wrappedStack.getWrappedObject().getClass().getSimpleName().toLowerCase(), context.serialize(wrappedStack.getWrappedObject())); + jsonMapping.addProperty(ENERGY_VALUE, src.get(wrappedStack).getValue()); + jsonArray.add(jsonMapping); + } + } + + return jsonArray; + } + + /*** + * Validates whether or not the provided {@link JsonElement} is a valid json encoded {@link WrappedStack}:{@link EnergyValue} mapping + * + * @param jsonElement the {@link JsonElement} being validated + * @return true if jsonElement is a valid json encoded {@link WrappedStack}:{@link EnergyValue} mapping, false otherwise + */ + private static boolean validateValueMapping(JsonElement jsonElement) { + + if (jsonElement.isJsonObject()) { + JsonObject jsonObject = jsonElement.getAsJsonObject(); + if (jsonObject.entrySet().size() == 2 && jsonObject.has(ENERGY_VALUE) && jsonObject.get(ENERGY_VALUE).isJsonPrimitive()) { + return (jsonObject.has(TYPE_ITEM_STACK) && jsonObject.get(TYPE_ITEM_STACK).isJsonObject()) || + (jsonObject.has(TYPE_ORE_STACK) && jsonObject.get(TYPE_ORE_STACK).isJsonObject()) || + (jsonObject.has(TYPE_FLUID_STACK) && jsonObject.get(TYPE_FLUID_STACK).isJsonObject()); + } + } + + return false; + } +} diff --git a/src/main/java/com/pahimar/ee3/util/serialize/FluidStackSerializer.java b/src/main/java/com/pahimar/ee3/util/serialize/FluidStackSerializer.java index 05896064..f12179fa 100644 --- a/src/main/java/com/pahimar/ee3/util/serialize/FluidStackSerializer.java +++ b/src/main/java/com/pahimar/ee3/util/serialize/FluidStackSerializer.java @@ -26,7 +26,7 @@ public class FluidStackSerializer implements JsonSerializer, JsonDes NBTTagCompound tagCompound = null; try { - if (jsonObject.get(NAME).getAsJsonPrimitive().isString()) { + if (jsonObject.has(NAME) && jsonObject.get(NAME).getAsJsonPrimitive().isString()) { name = jsonObject.get(NAME).getAsString(); } } diff --git a/src/main/java/com/pahimar/ee3/util/serialize/ItemStackSerializer.java b/src/main/java/com/pahimar/ee3/util/serialize/ItemStackSerializer.java index 55695888..706eeb3d 100644 --- a/src/main/java/com/pahimar/ee3/util/serialize/ItemStackSerializer.java +++ b/src/main/java/com/pahimar/ee3/util/serialize/ItemStackSerializer.java @@ -27,7 +27,7 @@ public class ItemStackSerializer implements JsonSerializer, JsonDeser NBTTagCompound tagCompound = null; try { - if (jsonObject.get(NAME).getAsJsonPrimitive().isString()) { + if (jsonObject.has(NAME) && jsonObject.get(NAME).getAsJsonPrimitive().isString()) { name = jsonObject.get(NAME).getAsString(); } } diff --git a/src/main/java/com/pahimar/ee3/util/serialize/NewEnergyValueRegistrySerializer.java b/src/main/java/com/pahimar/ee3/util/serialize/NewEnergyValueRegistrySerializer.java deleted file mode 100644 index 0d0fae57..00000000 --- a/src/main/java/com/pahimar/ee3/util/serialize/NewEnergyValueRegistrySerializer.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.pahimar.ee3.util.serialize; - -import com.google.gson.*; -import com.pahimar.ee3.api.exchange.EnergyValue; -import com.pahimar.ee3.exchange.NewEnergyValueRegistry; -import com.pahimar.ee3.exchange.WrappedStack; - -import java.lang.reflect.Type; -import java.util.Iterator; -import java.util.Map; - -public class NewEnergyValueRegistrySerializer implements JsonSerializer, JsonDeserializer { - - private static final String PRE_CALCULATION_ASSIGNMENTS = "pre_calculation_assignments"; - private static final String POST_CALCULATION_ASSIGNMENTS = "post_calculation_assignments"; - private static final String ENERGY_VALUE = "energyValue"; - - @Override - public NewEnergyValueRegistry deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { - - if (json.isJsonObject()) { - - JsonObject jsonObject = json.getAsJsonObject(); - - if (jsonObject.has(PRE_CALCULATION_ASSIGNMENTS) && jsonObject.get(PRE_CALCULATION_ASSIGNMENTS).isJsonArray()) { - JsonArray preCalculationArray = jsonObject.get(PRE_CALCULATION_ASSIGNMENTS).getAsJsonArray(); - - Iterator iterator = preCalculationArray.iterator(); - while (iterator.hasNext()) { - JsonElement jsonElement = iterator.next(); - if (jsonElement.isJsonObject()) { - JsonObject jsonMapping = jsonElement.getAsJsonObject(); - // TODO This - } - } - } - - if (jsonObject.has(POST_CALCULATION_ASSIGNMENTS) && jsonObject.get(POST_CALCULATION_ASSIGNMENTS).isJsonArray()) { - - } - } - - return null; - } - - @Override - public JsonElement serialize(NewEnergyValueRegistry src, Type typeOfSrc, JsonSerializationContext context) { - - if (src != null) { - JsonObject registryObject = new JsonObject(); - - registryObject.add(PRE_CALCULATION_ASSIGNMENTS, serialize(src.preCalculationMappings, context)); - registryObject.add(POST_CALCULATION_ASSIGNMENTS, serialize(src.postCalculationMappings, context)); - - return registryObject; - } - - return null; - } - - private static JsonArray serialize(Map valueMap, JsonSerializationContext context) { - - JsonArray jsonArray = new JsonArray(); - - for (WrappedStack wrappedStack : valueMap.keySet()) { - JsonObject jsonMapping = new JsonObject(); - jsonMapping.add(wrappedStack.getWrappedObject().getClass().getSimpleName().toLowerCase(), context.serialize(wrappedStack.getWrappedObject())); - jsonMapping.addProperty(ENERGY_VALUE, valueMap.get(wrappedStack).getValue()); - jsonArray.add(jsonMapping); - } - - return jsonArray; - } -} diff --git a/src/main/java/com/pahimar/ee3/util/serialize/OreStackSerializer.java b/src/main/java/com/pahimar/ee3/util/serialize/OreStackSerializer.java index 0bc8146d..140a2c24 100644 --- a/src/main/java/com/pahimar/ee3/util/serialize/OreStackSerializer.java +++ b/src/main/java/com/pahimar/ee3/util/serialize/OreStackSerializer.java @@ -16,7 +16,7 @@ public class OreStackSerializer implements JsonSerializer, JsonDeseria JsonObject jsonObject = (JsonObject) json; try { - if (jsonObject.get(NAME).getAsJsonPrimitive().isString()) { + if (jsonObject.has(NAME) && jsonObject.get(NAME).getAsJsonPrimitive().isString()) { String name = jsonObject.get(NAME).getAsString(); return new OreStack(name); } diff --git a/src/main/java/com/pahimar/ee3/util/serialize/WrappedStackSerializer.java b/src/main/java/com/pahimar/ee3/util/serialize/WrappedStackSerializer.java index f15f731c..5144e2d7 100644 --- a/src/main/java/com/pahimar/ee3/util/serialize/WrappedStackSerializer.java +++ b/src/main/java/com/pahimar/ee3/util/serialize/WrappedStackSerializer.java @@ -34,8 +34,6 @@ public class WrappedStackSerializer implements JsonSerializer, Jso catch (IllegalStateException exception) { } - // TODO COME BACK HERE AND MAKE THIS CLEANER FOR THE SAKE OF PACK DEVS AND USERS ALIKE - if (jsonObject.get(DATA).isJsonObject()) { JsonObject data = jsonObject.getAsJsonObject(DATA); diff --git a/src/main/resources/assets/ee3/textures/arrays/transmutation.png b/src/main/resources/assets/ee3/textures/arrays/transmutation.png new file mode 100644 index 0000000000000000000000000000000000000000..0e441b5c7513c3cbed62ae19b482834966613afd GIT binary patch literal 137654 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

oPH)G2VOhHKEmJqAEop#2#T%t=33sEQhN=V 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%0DFIrdHV~mHT?8sV4N?Z1 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 EAFR)Co&W#< literal 0 HcmV?d00001