Stuff and things
This commit is contained in:
parent
b2581ac65c
commit
80b718db37
|
@ -8,7 +8,6 @@ import com.pahimar.ee3.exchange.EnergyValueRegistry;
|
|||
import com.pahimar.ee3.handler.*;
|
||||
import com.pahimar.ee3.init.*;
|
||||
import com.pahimar.ee3.knowledge.SkillRegistry;
|
||||
import com.pahimar.ee3.knowledge.TransmutationKnowledge;
|
||||
import com.pahimar.ee3.network.PacketHandler;
|
||||
import com.pahimar.ee3.proxy.IProxy;
|
||||
import com.pahimar.ee3.recipe.RecipeRegistry;
|
||||
|
@ -16,7 +15,6 @@ import com.pahimar.ee3.recipe.RecipesAludel;
|
|||
import com.pahimar.ee3.reference.Messages;
|
||||
import com.pahimar.ee3.reference.Reference;
|
||||
import com.pahimar.ee3.util.LogHelper;
|
||||
import com.pahimar.ee3.util.NBTHelper;
|
||||
import com.pahimar.ee3.util.SerializationHelper;
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.common.Mod;
|
||||
|
@ -26,8 +24,6 @@ import cpw.mods.fml.common.SidedProxy;
|
|||
import cpw.mods.fml.common.event.*;
|
||||
import cpw.mods.fml.common.network.NetworkRegistry;
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
|
@ -110,14 +106,6 @@ public class EquivalentExchange3
|
|||
{
|
||||
RecipeRegistry.getInstance().registerVanillaRecipes();
|
||||
RecipesAludel.registerRecipes();
|
||||
TransmutationKnowledge transmutationKnowledge = new TransmutationKnowledge();
|
||||
transmutationKnowledge.learnTransmutation(Items.apple);
|
||||
transmutationKnowledge.learnTransmutation(Items.arrow);
|
||||
transmutationKnowledge.learnTransmutation(Items.baked_potato);
|
||||
ItemStack testStack = new ItemStack(Items.blaze_powder);
|
||||
NBTHelper.setString(testStack, "test_string", "This is a test string");
|
||||
transmutationKnowledge.learnTransmutation(testStack);
|
||||
LogHelper.info(transmutationKnowledge.toJson());
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
|
@ -125,6 +113,7 @@ public class EquivalentExchange3
|
|||
{
|
||||
if (EnergyValueRegistry.getInstance().getShouldRegenNextRestart())
|
||||
{
|
||||
// TODO Use the SerializationHelper to save this and reduce File objects
|
||||
File dataDirectory = new File(FMLCommonHandler.instance().getMinecraftServerInstance().getEntityWorld().getSaveHandler().getWorldDirectory(), "data" + File.separator + Reference.MOD_ID.toLowerCase());
|
||||
File energyValueRegistryFile = new File(dataDirectory, SerializationHelper.getModListMD5() + "." + Reference.MOD_ID.toLowerCase());
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.pahimar.ee3.knowledge;
|
||||
|
||||
import com.pahimar.ee3.util.LogHelper;
|
||||
import com.pahimar.ee3.util.SerializationHelper;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
||||
|
@ -46,13 +45,12 @@ public class KnowledgeRegistry
|
|||
public void loadPlayerFromDisk(EntityPlayer entityPlayer)
|
||||
{
|
||||
TransmutationKnowledge playerTransmutationKnowledge = new TransmutationKnowledge();
|
||||
LogHelper.error(entityPlayer.getUniqueID());
|
||||
File playerKnowledgeFile = new File(knowledgeDirectory, entityPlayer.getUniqueID().toString() + ".transmutation");
|
||||
|
||||
LogHelper.info(playerKnowledgeFile.getAbsolutePath());
|
||||
File playerKnowledgeFile = new File(knowledgeDirectory, entityPlayer.getUniqueID().toString() + ".json");
|
||||
|
||||
if (playerKnowledgeFile.exists() && playerKnowledgeFile.isFile())
|
||||
{
|
||||
// TODO Load from disk as JSON and not as NBT
|
||||
playerTransmutationKnowledge = TransmutationKnowledge.readTransmutationKnowledgeFromNBT(SerializationHelper.readNBTFromFile(playerKnowledgeFile));
|
||||
}
|
||||
|
||||
|
@ -61,6 +59,7 @@ public class KnowledgeRegistry
|
|||
|
||||
public void savePlayerKnowledgeToDisk(EntityPlayer entityPlayer)
|
||||
{
|
||||
// TODO Save to disk as JSON and not as NBT
|
||||
SerializationHelper.writeNBTToFile(knowledgeDirectory, entityPlayer.getUniqueID().toString() + ".json", playerKnowledgeMap.get(entityPlayer.getUniqueID()));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,11 +12,10 @@ import net.minecraft.nbt.NBTTagCompound;
|
|||
import net.minecraft.nbt.NBTTagList;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
import java.util.*;
|
||||
|
||||
// TODO Think up of an interface for predictable loading/saving of JSON files for use in SerializationHelper
|
||||
// TODO While I'm here, also remember to modify the build script to upload to CurseForge
|
||||
public class TransmutationKnowledge implements INBTTaggable, JsonSerializer<TransmutationKnowledge>, JsonDeserializer<TransmutationKnowledge>
|
||||
{
|
||||
private static final Gson jsonSerializer = (new GsonBuilder()).setPrettyPrinting().registerTypeAdapter(TransmutationKnowledge.class, new TransmutationKnowledge()).create();
|
||||
|
@ -111,7 +110,6 @@ public class TransmutationKnowledge implements INBTTaggable, JsonSerializer<Tran
|
|||
{
|
||||
if (nbtTagCompound != null && nbtTagCompound.hasKey(Names.NBT.ITEM_TRANSMUTATION_KNOWLEDGE))
|
||||
{
|
||||
// Read in the ItemStacks in the inventory from NBT
|
||||
if (nbtTagCompound.hasKey(Names.NBT.ITEM_TRANSMUTATION_KNOWLEDGE))
|
||||
{
|
||||
NBTTagList tagList = nbtTagCompound.getTagList(Names.NBT.ITEM_TRANSMUTATION_KNOWLEDGE, 10);
|
||||
|
@ -134,7 +132,6 @@ public class TransmutationKnowledge implements INBTTaggable, JsonSerializer<Tran
|
|||
|
||||
public void writeToNBT(NBTTagCompound nbtTagCompound)
|
||||
{
|
||||
// Write the ItemStacks in the set to NBT
|
||||
NBTTagList tagList = new NBTTagList();
|
||||
for (ItemStack itemStack : knownTransmutations)
|
||||
{
|
||||
|
@ -199,7 +196,32 @@ public class TransmutationKnowledge implements INBTTaggable, JsonSerializer<Tran
|
|||
@Override
|
||||
public TransmutationKnowledge deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException
|
||||
{
|
||||
// TODO
|
||||
if (json.isJsonArray()) {
|
||||
JsonArray jsonArray = (JsonArray) json;
|
||||
Set<ItemStack> itemStackSet = new TreeSet<ItemStack>(ItemHelper.comparator);
|
||||
Iterator<JsonElement> iterator = jsonArray.iterator();
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
JsonElement jsonElement = iterator.next();
|
||||
if (jsonElement.isJsonObject()) {
|
||||
JsonItemStack jsonItemStack = jsonSerializer.fromJson(jsonElement, JsonItemStack.class);
|
||||
|
||||
ItemStack itemStack = null;
|
||||
Item item = (Item) Item.itemRegistry.getObject(jsonItemStack.itemName);
|
||||
if (item != null) {
|
||||
itemStack = new ItemStack(item, 1, jsonItemStack.itemDamage);
|
||||
if (jsonItemStack.nbtTagCompound != null) {
|
||||
itemStack.stackTagCompound = jsonItemStack.nbtTagCompound;
|
||||
}
|
||||
}
|
||||
|
||||
itemStackSet.add(itemStack);
|
||||
}
|
||||
}
|
||||
|
||||
return new TransmutationKnowledge(itemStackSet);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
|
@ -146,7 +146,11 @@ public class ItemHelper
|
|||
{
|
||||
if (itemStack != null)
|
||||
{
|
||||
return String.format("%sxitemStack[%s@%s]", itemStack.stackSize, itemStack.getUnlocalizedName(), itemStack.getItemDamage());
|
||||
if (itemStack.hasTagCompound()) {
|
||||
return String.format("%sxitemStack[%s@%s:%s]", itemStack.stackSize, itemStack.getUnlocalizedName(), itemStack.getItemDamage(), itemStack.getTagCompound());
|
||||
} else {
|
||||
return String.format("%sxitemStack[%s@%s]", itemStack.stackSize, itemStack.getUnlocalizedName(), itemStack.getItemDamage());
|
||||
}
|
||||
}
|
||||
|
||||
return "null";
|
||||
|
|
Loading…
Reference in a new issue