diff options
author | Draknyte1 <Draknyte1@hotmail.com> | 2016-12-29 14:46:40 +1000 |
---|---|---|
committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-12-29 14:46:40 +1000 |
commit | c818088eb463b7e93357bef0bdc756863f206cc1 (patch) | |
tree | 28151d521d973e36f9fa2c502cef906e7b669639 | |
parent | dfc223857dc9a28fadb88f96b278fb86f135aa12 (diff) | |
download | GT5-Unofficial-c818088eb463b7e93357bef0bdc756863f206cc1.tar.gz GT5-Unofficial-c818088eb463b7e93357bef0bdc756863f206cc1.tar.bz2 GT5-Unofficial-c818088eb463b7e93357bef0bdc756863f206cc1.zip |
$ Total rewrite of Portable tank NBT handling, now they work perfectly, ssp and smp tested.
% Slight change to molten fluid generation.
% Name changed to Molten ZrF4.
3 files changed, 56 insertions, 55 deletions
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java index f1055a2723..99020b7b3b 100644 --- a/src/Java/gtPlusPlus/core/item/ModItems.java +++ b/src/Java/gtPlusPlus/core/item/ModItems.java @@ -418,7 +418,7 @@ public final class ModItems { //GT_OreDictUnificator.registerOre("dustZirconiumTetrafluoride", new ItemStack(ModItems.dustZrF4)); GT_OreDictUnificator.registerOre("cellZrF4", ItemUtils.getItemStackOfAmountFromOreDict("cellZirconiumTetrafluoride", 1)); GT_OreDictUnificator.registerOre("dustZrF4", ItemUtils.getItemStackOfAmountFromOreDict("dustZirconiumTetrafluoride", 1)); - FluidUtils.generateFluid("ZirconiumTetrafluoride", "Zirconium Tetrafluoride", 500, new short[]{170, 170, 140, 100}); + FluidUtils.generateFluid("ZirconiumTetrafluoride", "Zirconium Tetrafluoride [ZrF4]", 500, new short[]{170, 170, 140, 100}); //Coolant Salt //NaBF4 - NaF - 621C diff --git a/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java b/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java index 381aa81fb4..2e0973d9a4 100644 --- a/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java +++ b/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java @@ -350,7 +350,7 @@ public class FluidUtils { } public final static Fluid generateFluid(String unlocalizedName, String localizedName, int MeltingPoint, short[] RGBA){ - if (FluidUtils.getFluidStack("molten"+localizedName, 1) == null && ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dust"+Utils.sanitizeString(localizedName), 1) != null){ + if (FluidUtils.getFluidStack("molten"+"."+unlocalizedName.toLowerCase(), 1) == null && ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dust"+Utils.sanitizeString(localizedName), 1) != null){ Utils.LOG_WARNING("Generating our own fluid."); //Generate a Cell if we need to diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java index 2d7e4472f0..5318fade16 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java @@ -18,22 +18,9 @@ import net.minecraftforge.fluids.FluidStack; public class GT_MetaTileEntity_TieredTank extends GT_MetaTileEntity_BasicTank { - @Override - public void closeInventory() { - tryForceNBTUpdate(); - super.closeInventory(); - } - - @Override - public boolean onWrenchRightClick(byte aSide, byte aWrenchingSide, - EntityPlayer aPlayer, float aX, float aY, float aZ) { - tryForceNBTUpdate(); - return super.onWrenchRightClick(aSide, aWrenchingSide, aPlayer, aX, aY, aZ); - } - private String mFluidName; private int mFluidAmount; - private NBTTagCompound internalCraftingComponentsTag; + private NBTTagCompound internalCraftingComponentsTag = new NBTTagCompound(); public GT_MetaTileEntity_TieredTank(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 3, "Stores " + ((int) (Math.pow(2, aTier) * 32000)) + "L of fluid"); @@ -66,43 +53,34 @@ extends GT_MetaTileEntity_BasicTank { @Override public void saveNBTData(NBTTagCompound aNBT) { super.saveNBTData(aNBT); - //Utils.LOG_INFO(mFluidName+" Amxount: "+mFluidAmount+"L"); - //aNBT.setTag("GT.CraftingComponents", lRecipeStuff); NBTTagCompound gtCraftingComponentsTag = aNBT.getCompoundTag("GT.CraftingComponents"); - if (gtCraftingComponentsTag != null){ - Utils.LOG_INFO("Got Crafting Tag"); - if (gtCraftingComponentsTag.hasNoTags()){ - Utils.LOG_INFO("Crafting Tag has no tags"); + + Utils.LOG_WARNING("Got Crafting Tag"); + if (mFluid != null){ - Utils.LOG_INFO("mFluid was not null, Saving TileEntity NBT data."); + Utils.LOG_WARNING("mFluid was not null, Saving TileEntity NBT data."); gtCraftingComponentsTag.setInteger("xAmount", mFluid.amount); gtCraftingComponentsTag.setString("xFluid", mFluid.getFluid().getName()); //Backup the current tag - gtCraftingComponentsTag.setTag("backupTag", internalCraftingComponentsTag); - internalCraftingComponentsTag = gtCraftingComponentsTag; + //gtCraftingComponentsTag.setTag("backupTag", internalCraftingComponentsTag); + //internalCraftingComponentsTag = gtCraftingComponentsTag; aNBT.setTag("GT.CraftingComponents", gtCraftingComponentsTag); } - } - else { - Utils.LOG_INFO("Crafting Tag has tags"); - if (mFluid != null){ - Utils.LOG_INFO("mFluid was not null, Saving TileEntity NBT data."); - gtCraftingComponentsTag.setInteger("xAmount", mFluid.amount); - gtCraftingComponentsTag.setString("xFluid", mFluid.getFluid().getName()); + else { + Utils.LOG_WARNING("mFluid was null, Saving TileEntity NBT data."); + gtCraftingComponentsTag.removeTag("xFluid"); + gtCraftingComponentsTag.removeTag("xAmount"); //Backup the current tag - gtCraftingComponentsTag.setTag("backupTag", internalCraftingComponentsTag); - internalCraftingComponentsTag = gtCraftingComponentsTag; + //gtCraftingComponentsTag.setTag("backupTag", internalCraftingComponentsTag); + //internalCraftingComponentsTag = gtCraftingComponentsTag; aNBT.setTag("GT.CraftingComponents", gtCraftingComponentsTag); } - } } - - } @Override @@ -113,7 +91,7 @@ extends GT_MetaTileEntity_BasicTank { int xAmount = 0; if (gtCraftingComponentsTag.hasNoTags()){ if (mFluid != null){ - Utils.LOG_INFO("mFluid was not null, Creating TileEntity NBT data."); + Utils.LOG_WARNING("mFluid was not null, Creating TileEntity NBT data."); gtCraftingComponentsTag.setInteger("xAmount", mFluid.amount); gtCraftingComponentsTag.setString("xFluid", mFluid.getFluid().getName()); aNBT.setTag("GT.CraftingComponents", gtCraftingComponentsTag); @@ -121,18 +99,18 @@ extends GT_MetaTileEntity_BasicTank { } else { - internalCraftingComponentsTag = gtCraftingComponentsTag.getCompoundTag("backupTag"); + //internalCraftingComponentsTag = gtCraftingComponentsTag.getCompoundTag("backupTag"); if (gtCraftingComponentsTag.hasKey("xFluid")){ - Utils.LOG_INFO("xFluid was not null, Loading TileEntity NBT data."); + Utils.LOG_WARNING("xFluid was not null, Loading TileEntity NBT data."); xFluid = gtCraftingComponentsTag.getString("xFluid"); } if (gtCraftingComponentsTag.hasKey("xAmount")){ - Utils.LOG_INFO("xAmount was not null, Loading TileEntity NBT data."); + Utils.LOG_WARNING("xAmount was not null, Loading TileEntity NBT data."); xAmount = gtCraftingComponentsTag.getInteger("xAmount"); } if (xFluid != null && xAmount != 0){ - Utils.LOG_INFO("Setting Internal Tank, loading "+xAmount+"L of "+xFluid); + Utils.LOG_WARNING("Setting Internal Tank, loading "+xAmount+"L of "+xFluid); setInternalTank(xFluid, xAmount); } } @@ -144,11 +122,11 @@ extends GT_MetaTileEntity_BasicTank { if (temp != null){ if (mFluid == null){ mFluid = temp; - Utils.LOG_INFO(temp.getFluid().getName()+" Amount: "+temp.amount+"L"); + Utils.LOG_WARNING(temp.getFluid().getName()+" Amount: "+temp.amount+"L"); } else{ - Utils.LOG_INFO("Retained Fluid."); - Utils.LOG_INFO(mFluid.getFluid().getName()+" Amxount: "+mFluid.amount+"L"); + Utils.LOG_WARNING("Retained Fluid."); + Utils.LOG_WARNING(mFluid.getFluid().getName()+" Amxount: "+mFluid.amount+"L"); } markDirty(); return true; @@ -173,11 +151,23 @@ extends GT_MetaTileEntity_BasicTank { @Override public void setItemNBT(NBTTagCompound aNBT) { super.setItemNBT(aNBT); - Utils.LOG_INFO("setItemNBT"); + Utils.LOG_WARNING("setItemNBT"); //aNBT.setTag("GT.CraftingComponents", lRecipeStuff); } + @Override + public void closeInventory() { + tryForceNBTUpdate(); + super.closeInventory(); + } + + @Override + public boolean onWrenchRightClick(byte aSide, byte aWrenchingSide, + EntityPlayer aPlayer, float aX, float aY, float aZ) { + tryForceNBTUpdate(); + return super.onWrenchRightClick(aSide, aWrenchingSide, aPlayer, aX, aY, aZ); + } @Override public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { @@ -193,6 +183,7 @@ extends GT_MetaTileEntity_BasicTank { @Override public void onLeftclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { super.onLeftclick(aBaseMetaTileEntity, aPlayer); + Utils.LOG_INFO("Left Clicking on Tank."); tryForceNBTUpdate(); } @@ -287,12 +278,13 @@ extends GT_MetaTileEntity_BasicTank { @Override public void onMachineBlockUpdate() { - tryForceNBTUpdate(); + //tryForceNBTUpdate(); super.onMachineBlockUpdate(); } @Override public void onRemoval() { + Utils.LOG_INFO("Tank Removel?"); tryForceNBTUpdate(); super.onRemoval(); } @@ -327,7 +319,7 @@ extends GT_MetaTileEntity_BasicTank { return super.fill_default(aSide, aFluid, doFill); } - private static int mInternalSaveClock = 0; + private int mInternalSaveClock = 0; @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { @@ -338,7 +330,7 @@ extends GT_MetaTileEntity_BasicTank { } else { mInternalSaveClock = 0; - //tryForceNBTUpdate(); + tryForceNBTUpdate(); } } @@ -347,7 +339,7 @@ extends GT_MetaTileEntity_BasicTank { //Block is invalid. if (this == null || this.getBaseMetaTileEntity() == null){ - Utils.LOG_INFO("Block was not valid for saving data."); + Utils.LOG_WARNING("Block was not valid for saving data."); return; } @@ -357,19 +349,28 @@ extends GT_MetaTileEntity_BasicTank { } //Internal Tag was not valid. - if (internalCraftingComponentsTag.hasNoTags() || internalCraftingComponentsTag == null){ - Utils.LOG_INFO("Internal NBT data tag was not valid."); + try{ + if (internalCraftingComponentsTag == null){ + Utils.LOG_WARNING("Internal NBT data tag was null."); + return; + } + } catch (NullPointerException x){ + Utils.LOG_WARNING("Caught null NBT."); + } + /*if (internalCraftingComponentsTag.hasNoTags()){ + Utils.LOG_WARNING("Internal NBT data tag was not valid."); return; - } + }*/ //Internal tag was valid and contains tags. if (!this.internalCraftingComponentsTag.hasNoTags()){ - Utils.LOG_INFO("Found tags to save."); + Utils.LOG_WARNING("Found tags to save."); saveNBTData(internalCraftingComponentsTag); } //Internal tag has no tags. else { - Utils.LOG_INFO("Found no tags to save."); + Utils.LOG_WARNING("Found no tags to save."); + saveNBTData(internalCraftingComponentsTag); } //Mark block for update |