From 2214833189caf3eb262f049746be4987b97aa6a7 Mon Sep 17 00:00:00 2001 From: Alkalus Date: Fri, 15 Dec 2017 18:15:08 +1000 Subject: More fixes pre-gtnh update (#168) $ Tree Farmer Fix (a) $ Multitank Fix. ^ Version Bump. * + Added Chainsaw support to treefarm. + Added check for creative tools to tree farm for creative testing. --- .../gregtech/common/helpers/TreeFarmHelper.java | 9 +++ .../multi/GregtechMetaTileEntityTreeFarm.java | 77 +++++++++++----------- .../multi/GregtechMetaTileEntity_MultiTank.java | 4 +- 3 files changed, 49 insertions(+), 41 deletions(-) (limited to 'src/Java/gtPlusPlus/xmod/gregtech/common') diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TreeFarmHelper.java b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TreeFarmHelper.java index ed11baa5ed..3a0031c5d3 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TreeFarmHelper.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TreeFarmHelper.java @@ -239,6 +239,15 @@ public class TreeFarmHelper { else if (aStack.getItemDamage() == 140 || aStack.getDisplayName().toLowerCase().contains("gt.metatool.01.140")){ return SAWTOOL.BUZZSAW; } + else if (aStack.getItemDamage() == 110 || aStack.getDisplayName().toLowerCase().contains("gt.metatool.01.110")){ + return SAWTOOL.CHAINSAW; + } + else if (aStack.getItemDamage() == 112 || aStack.getDisplayName().toLowerCase().contains("gt.metatool.01.112")){ + return SAWTOOL.CHAINSAW; + } + else if (aStack.getItemDamage() == 114 || aStack.getDisplayName().toLowerCase().contains("gt.metatool.01.114")){ + return SAWTOOL.CHAINSAW; + } else { return SAWTOOL.NONE; } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityTreeFarm.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityTreeFarm.java index eccc96c253..6d951b7221 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityTreeFarm.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntityTreeFarm.java @@ -15,10 +15,7 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.items.GT_MetaGenerated_Tool; import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Maintenance; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase; +import gregtech.api.metatileentity.implementations.*; import gregtech.api.objects.GT_ItemStack; import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.util.GT_ModHandler; @@ -35,6 +32,7 @@ import gtPlusPlus.core.util.particles.BlockBreakParticles; import gtPlusPlus.xmod.forestry.trees.TreefarmManager; import gtPlusPlus.xmod.gregtech.api.gui.CONTAINER_TreeFarmer; import gtPlusPlus.xmod.gregtech.api.gui.GUI_TreeFarmer; +import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; import gtPlusPlus.xmod.gregtech.common.helpers.TreeFarmHelper; import net.minecraft.block.Block; @@ -48,7 +46,7 @@ import net.minecraft.server.MinecraftServer; import net.minecraft.world.World; import net.minecraftforge.fluids.FluidStack; -public class GregtechMetaTileEntityTreeFarm extends GT_MetaTileEntity_MultiBlockBase { +public class GregtechMetaTileEntityTreeFarm extends GregtechMeta_MultiBlockBase { /* private */ private int treeCheckTicks = 0; /* private */ private int plantSaplingTicks = 0; @@ -102,10 +100,10 @@ public class GregtechMetaTileEntityTreeFarm extends GT_MetaTileEntity_MultiBlock @Override public void saveNBTData(final NBTTagCompound aNBT) { - + Utils.LOG_INFO("Called NBT data save"); aNBT.setLong("mInternalPower", this.mInternalPower); - + //Save [Buzz]Saw final NBTTagList list = new NBTTagList(); for(int i = 0;i<2;i++){ @@ -119,14 +117,14 @@ public class GregtechMetaTileEntityTreeFarm extends GT_MetaTileEntity_MultiBlock } } aNBT.setTag("Items", list); - + super.saveNBTData(aNBT); } @Override public void loadNBTData(final NBTTagCompound aNBT) { this.mInternalPower = aNBT.getLong("mInternalPower"); - + //Load [Buzz]Saw final NBTTagList list = aNBT.getTagList("Items", 10); for(int i = 0;i(); this.mEnergyHatches = new ArrayList<>(); - this.canChop = this.checkMachine(aBaseMetaTileEntity, this.mInventory[1]); + if (aBaseMetaTileEntity != null && this.mInventory[1] != null){ + this.canChop = this.checkMachine(aBaseMetaTileEntity, this.mInventory[1]); + } } } } @@ -989,7 +986,9 @@ public class GregtechMetaTileEntityTreeFarm extends GT_MetaTileEntity_MultiBlock //Call Cleanup Task last, before ticking. if (this.cleanupTicks == 600){ - this.checkMachine(aBaseMetaTileEntity, this.mInventory[1]); + if (aBaseMetaTileEntity != null && this.mInventory[1] != null){ + this.checkMachine(aBaseMetaTileEntity, this.mInventory[1]); + } /*Utils.LOG_MACHINE_INFO("Looking For rubbish to cleanup - Serverside | "+this.cleanupTicks); TreeFarmHelper.cleanUp(aBaseMetaTileEntity);*/ } @@ -1002,7 +1001,7 @@ public class GregtechMetaTileEntityTreeFarm extends GT_MetaTileEntity_MultiBlock } - //@Deprecated + //@Deprecated //public static boolean damageOrDechargeItem(ItemStack aStack, int aDamage, int aDecharge, EntityLivingBase aPlayer) { // if ((GT_Utility.isStackInvalid(aStack)) || ((aStack.getMaxStackSize() <= 1) && (aStack.stackSize > 1))) // return false; diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_MultiTank.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_MultiTank.java index b908e5439c..b8f2535b1f 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_MultiTank.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_MultiTank.java @@ -172,7 +172,7 @@ extends GregtechMeta_MultiBlockBase { public void onPostTick(final IGregTechTileEntity aBaseMetaTileEntity, final long aTick) { super.onPostTick(aBaseMetaTileEntity, aTick); - if (this.internalStorageTank.amount >= this.maximumFluidStorage){ + if ((this.internalStorageTank != null) && this.internalStorageTank.amount >= this.maximumFluidStorage){ if (this.internalStorageTank.amount > this.maximumFluidStorage){ this.internalStorageTank.amount = this.maximumFluidStorage; } @@ -589,4 +589,4 @@ extends GregtechMeta_MultiBlockBase { this.getBaseMetaTileEntity().markDirty();*/ return true; } -} +} \ No newline at end of file -- cgit