From d02799dc0ee5c404250ad8ce5eb613648d171e08 Mon Sep 17 00:00:00 2001 From: Phyn Date: Sat, 5 Nov 2016 21:02:14 -0500 Subject: [PATCH] Fixed tank tube --- build.gradle | 12 +++---- .../tubes/network/MCDOutputBridge.java | 2 +- .../java/schmoller/tubes/types/TankTube.java | 31 ++++++++++++++----- 3 files changed, 30 insertions(+), 15 deletions(-) diff --git a/build.gradle b/build.gradle index 50bec72..6ad54c7 100644 --- a/build.gradle +++ b/build.gradle @@ -26,17 +26,17 @@ repositories { dependencies { compile 'com.mod-buildcraft:buildcraft:6.1.5:dev' - compile 'codechicken:ForgeMultipart:1.7.10-1.1.0.297:dev' - compile 'codechicken:CodeChickenLib:1.7.10-1.1.1.95:dev' - compile 'codechicken:CodeChickenCore:1.7.10-1.0.2.9:dev' - compile 'codechicken:NotEnoughItems:1.7.10-1.0.2.28:dev' + compile 'codechicken:ForgeMultipart:1.7.10-1.2.0.345:dev' + compile 'codechicken:CodeChickenLib:1.7.10-1.1.3.138:dev' + compile 'codechicken:CodeChickenCore:1.7.10-1.0.7.47:dev' + compile 'codechicken:NotEnoughItems:1.7.10-1.0.5.120:dev' } -version = "2.0.5" +version = "2.0.5.1" group= "au.com.addstar" archivesBaseName = "Tubes" -def forge = "1.7.10-10.13.2.1232" +def forge = "1.7.10-10.13.4.1614-1.7.10" minecraft { version = "${forge}" diff --git a/src/main/java/schmoller/tubes/network/MCDOutputBridge.java b/src/main/java/schmoller/tubes/network/MCDOutputBridge.java index 9681920..165668d 100644 --- a/src/main/java/schmoller/tubes/network/MCDOutputBridge.java +++ b/src/main/java/schmoller/tubes/network/MCDOutputBridge.java @@ -90,7 +90,7 @@ public MCDataOutput writeFluidStack( FluidStack fluid ) writeShort(-1); else { - writeShort(fluid.fluidID); + writeShort(fluid.getFluidID()); writeInt(fluid.amount); writeNBTTagCompound(fluid.tag); } diff --git a/src/main/java/schmoller/tubes/types/TankTube.java b/src/main/java/schmoller/tubes/types/TankTube.java index f41a1e2..1379bc3 100644 --- a/src/main/java/schmoller/tubes/types/TankTube.java +++ b/src/main/java/schmoller/tubes/types/TankTube.java @@ -5,6 +5,7 @@ import codechicken.lib.data.MCDataInput; import codechicken.lib.data.MCDataOutput; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.MovingObjectPosition; @@ -137,9 +138,18 @@ public boolean activate( EntityPlayer player, MovingObjectPosition part, ItemSta FluidStack drained = FluidContainerRegistry.getFluidForFilledItem(filled); mTank.drain(drained.amount, true); onFluidChange(); - - player.inventory.mainInventory[player.inventory.currentItem] = filled; + if (!player.capabilities.isCreativeMode) + { + if (player.inventory.mainInventory[player.inventory.currentItem].stackSize > 1) + { + player.inventory.setInventorySlotContents(player.inventory.getFirstEmptyStack(),filled); + player.inventory.decrStackSize(player.inventory.currentItem,1); + } + else + player.inventory.mainInventory[player.inventory.currentItem] = filled; + } player.inventory.markDirty(); + player.inventoryContainer.detectAndSendChanges(); return true; } } @@ -176,7 +186,9 @@ private void updateIfNeeded() { mLastUpdate = System.currentTimeMillis(); mHasUpdated = true; - openChannel(CHANNEL_FLUID).writeFluidStack(mTank.getFluid()); + NBTTagCompound tankNBT = new NBTTagCompound(); + mTank.writeToNBT(tankNBT); + openChannel(CHANNEL_FLUID).writeNBTTagCompound(tankNBT); //.writeFluidStack(mTank.getFluid()); } } @@ -256,7 +268,6 @@ public void save( NBTTagCompound root ) mTank.getFluid().writeToNBT(tag); root.setTag("fluid", tag); } - mOverflow.save(root); } @@ -267,7 +278,9 @@ public void load( NBTTagCompound root ) if(root.hasKey("fluid")) mTank.setFluid(FluidStack.loadFluidStackFromNBT(root.getCompoundTag("fluid"))); - + else + mTank.setFluid(null); + mOverflow.load(root); } @@ -275,21 +288,23 @@ public void load( NBTTagCompound root ) public void writeDesc( MCDataOutput packet ) { super.writeDesc(packet); - packet.writeFluidStack(mTank.getFluid()); + NBTTagCompound tankNBT = new NBTTagCompound(); + mTank.writeToNBT(tankNBT); + packet.writeNBTTagCompound(tankNBT); } @Override public void readDesc( MCDataInput packet ) { super.readDesc(packet); - mTank.setFluid(packet.readFluidStack()); + mTank.readFromNBT(packet.readNBTTagCompound()); } @Override protected void onRecieveDataClient( int channel, MCDataInput input ) { if(channel == CHANNEL_FLUID) - mTank.setFluid(input.readFluidStack()); + mTank.readFromNBT(input.readNBTTagCompound()); else super.onRecieveDataClient(channel, input); }