From a29a8916e9c1662ac181adc06675833b8f9abe49 Mon Sep 17 00:00:00 2001 From: ponkotate Date: Sun, 10 Mar 2013 16:22:08 +0900 Subject: [PATCH] =?utf8?q?=E4=BF=AE=E6=AD=A3=E3=83=BB=E5=A4=89=E6=9B=B4=20?= =?utf8?q?=E9=9B=BB=E8=A7=A3=E5=8F=B0=E3=83=BB=E7=86=B1=E8=A7=A3=E5=8F=B0?= =?utf8?q?=E3=81=AEShift=E3=82=AF=E3=83=AA=E3=83=83=E3=82=AF=E5=AF=BE?= =?utf8?q?=E5=BF=9C=E3=80=82=20=E5=8C=96=E5=90=88=E5=8F=B0=E3=81=AE?= =?utf8?q?=E3=83=89=E3=83=AD=E3=83=83=E3=83=97=E5=87=A6=E7=90=86=E3=80=82(?= =?utf8?q?=E5=A4=9A=E5=88=86=E5=AE=8C=E6=88=90=EF=BC=9F=EF=BC=9F)?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../ContainerChemicalCombinationTable.java | 20 ++++++++- .../container/ContainerElectrolysisTable.java | 40 +++++++++++++++++ .../container/ContainerPyrolysisTable.java | 49 +++++++++++++++++++++ .../chemicraft/slot/SlotElectrolysisResult.java | 6 +++ resources/pcc/chemicraft/items/items.png | Bin 4751 -> 4796 bytes 5 files changed, 113 insertions(+), 2 deletions(-) diff --git a/common/pcc/chemicraft/container/ContainerChemicalCombinationTable.java b/common/pcc/chemicraft/container/ContainerChemicalCombinationTable.java index ada41bc..e47fd87 100644 --- a/common/pcc/chemicraft/container/ContainerChemicalCombinationTable.java +++ b/common/pcc/chemicraft/container/ContainerChemicalCombinationTable.java @@ -148,9 +148,25 @@ public class ContainerChemicalCombinationTable extends Container { return super.slotClick(par1, par2, par3, par4EntityPlayer); } - @Override - public void onCraftGuiClosed(EntityPlayer par1EntityPlayer){ + public void onCraftGuiClosed(EntityPlayer par1EntityPlayer) + { super.onCraftGuiClosed(par1EntityPlayer); + + if (!this.worldObj.isRemote) + { + for (int var2 = 0; var2 < 18; var2++){ + ItemStack var3 = null; + if (var2 < 15){ + var3 = this.invm.getStackInSlotOnClosing(var2); + } else if (var2 < 16) { + var3 = this.invr.getStackInSlotOnClosing(var2 - 15); + } + + if (var3 != null){ + par1EntityPlayer.dropPlayerItem(var3); + } + } + } } } diff --git a/common/pcc/chemicraft/container/ContainerElectrolysisTable.java b/common/pcc/chemicraft/container/ContainerElectrolysisTable.java index 493692d..a1b9369 100644 --- a/common/pcc/chemicraft/container/ContainerElectrolysisTable.java +++ b/common/pcc/chemicraft/container/ContainerElectrolysisTable.java @@ -1,8 +1,13 @@ package pcc.chemicraft.container; +import java.util.ArrayList; +import java.util.Iterator; + import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; +import net.minecraft.inventory.IInventory; import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; import net.minecraft.world.World; import pcc.chemicraft.ChemiCraft; import pcc.chemicraft.inventory.InventoryElectrolysisFuel; @@ -72,4 +77,39 @@ public class ContainerElectrolysisTable extends Container { return this.worldObj.getBlockId(this.posX, this.posY, this.posZ) != ChemiCraft.instance.electrolysisTableID ? false : par1EntityPlayer.getDistanceSq((double) this.posX + 0.5D, (double) this.posY + 0.5D, (double) this.posZ + 0.5D) <= 64.0D; } + @Override + public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2) + { + ItemStack var3 = null; + Slot var4 = (Slot)this.inventorySlots.get(par2); + + if (var4 != null && var4.getHasStack()) + { + ItemStack var5 = var4.getStack(); + var3 = var5.copy(); + + if (par2 < 18 ){ + if (!this.mergeItemStack(var5, 18, this.inventorySlots.size(), true)) + { + return null; + } + } + else if (!this.mergeItemStack(var5, 16, 18, false)) + { + return null; + } + + if (var5.stackSize == 0) + { + var4.putStack((ItemStack)null); + } + else + { + var4.onSlotChanged(); + } + } + + return var3; + } + } diff --git a/common/pcc/chemicraft/container/ContainerPyrolysisTable.java b/common/pcc/chemicraft/container/ContainerPyrolysisTable.java index 38d6911..c00c380 100644 --- a/common/pcc/chemicraft/container/ContainerPyrolysisTable.java +++ b/common/pcc/chemicraft/container/ContainerPyrolysisTable.java @@ -3,8 +3,12 @@ package pcc.chemicraft.container; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; import net.minecraft.world.World; import pcc.chemicraft.ChemiCraft; +import pcc.chemicraft.inventory.InventoryPyrolysisTableFuel; +import pcc.chemicraft.inventory.InventoryPyrolysisTableMaterial; +import pcc.chemicraft.inventory.InventoryPyrolysisTableResult; import pcc.chemicraft.slot.SlotPyrolysisTableFuel; import pcc.chemicraft.slot.SlotPyrolysisTableMaterial; import pcc.chemicraft.slot.SlotPyrolysisTableResult; @@ -21,6 +25,10 @@ public class ContainerPyrolysisTable extends Container { private TileEntityPyrolysisTable tileentity; + private InventoryPyrolysisTableMaterial invm; + private InventoryPyrolysisTableResult invr; + private InventoryPyrolysisTableFuel invf; + public ContainerPyrolysisTable(EntityPlayer par1EntityPlayer, TileEntityPyrolysisTable par2){ super(); this.tileentity = par2; @@ -28,6 +36,12 @@ public class ContainerPyrolysisTable extends Container { this.posX = par2.xCoord; this.posY = par2.yCoord; this.posZ = par2.zCoord; + this.invm = par2.getInvMaterial(); + this.invr = par2.getInvResult(); + this.invf = par2.getInvFuel(); + this.invm.setEventHandler(this); + this.invr.setEventHandler(this); + this.invf.setEventHandler(this); for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { @@ -57,4 +71,39 @@ public class ContainerPyrolysisTable extends Container { return this.worldObj.getBlockId(this.posX, this.posY, this.posZ) != ChemiCraft.instance.pyrolysisTableID ? false : par1EntityPlayer.getDistanceSq((double)this.posX + 0.5D, (double)this.posY + 0.5D, (double)this.posZ + 0.5D) <= 64.0D; } + @Override + public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2) + { + ItemStack var3 = null; + Slot var4 = (Slot)this.inventorySlots.get(par2); + + if (var4 != null && var4.getHasStack()) + { + ItemStack var5 = var4.getStack(); + var3 = var5.copy(); + + if (par2 < 18 ){ + if (!this.mergeItemStack(var5, 18, this.inventorySlots.size(), true)) + { + return null; + } + } + else if (!this.mergeItemStack(var5, 16, 18, false)) + { + return null; + } + + if (var5.stackSize == 0) + { + var4.putStack((ItemStack)null); + } + else + { + var4.onSlotChanged(); + } + } + + return var3; + } + } diff --git a/common/pcc/chemicraft/slot/SlotElectrolysisResult.java b/common/pcc/chemicraft/slot/SlotElectrolysisResult.java index 046630d..60f591b 100644 --- a/common/pcc/chemicraft/slot/SlotElectrolysisResult.java +++ b/common/pcc/chemicraft/slot/SlotElectrolysisResult.java @@ -2,6 +2,7 @@ package pcc.chemicraft.slot; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; public class SlotElectrolysisResult extends Slot { @@ -10,4 +11,9 @@ public class SlotElectrolysisResult extends Slot super(par1iInventory, par2, par3, par4); } + @Override + public boolean isItemValid(ItemStack par1ItemStack){ + return false; + } + } diff --git a/resources/pcc/chemicraft/items/items.png b/resources/pcc/chemicraft/items/items.png index 3ec284e3e1fcc2fd1c6bb58bfe9f7d53e3c6d4be..5be4625b2aed4acf2234b86fcba998b48957433d 100644 GIT binary patch literal 4796 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 J-?*1v_+M>#>n{KR literal 4751 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 GZ~p+e8;}?P -- 2.11.0