aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/container
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/core/container')
-rw-r--r--src/Java/gtPlusPlus/core/container/Container_VolumetricFlaskSetter.java125
1 files changed, 74 insertions, 51 deletions
diff --git a/src/Java/gtPlusPlus/core/container/Container_VolumetricFlaskSetter.java b/src/Java/gtPlusPlus/core/container/Container_VolumetricFlaskSetter.java
index 5c776b7a57..de3106c957 100644
--- a/src/Java/gtPlusPlus/core/container/Container_VolumetricFlaskSetter.java
+++ b/src/Java/gtPlusPlus/core/container/Container_VolumetricFlaskSetter.java
@@ -1,22 +1,34 @@
package gtPlusPlus.core.container;
+import java.util.Iterator;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.inventories.Inventory_VolumetricFlaskSetter;
import gtPlusPlus.core.slots.SlotNoInput;
import gtPlusPlus.core.slots.SlotVolumetricFlask;
import gtPlusPlus.core.tileentities.general.TileEntityVolumetricFlaskSetter;
+import gtPlusPlus.core.util.Utils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
+import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
public class Container_VolumetricFlaskSetter extends Container {
- protected TileEntityVolumetricFlaskSetter tile_entity;
+ public TileEntityVolumetricFlaskSetter mTileEntity;
public final Inventory_VolumetricFlaskSetter inventoryChest;
+
+ public short mCustomValue;
+ private short oCustomValue;
+ private int mTimer;
+
+
private final World worldObj;
private final int posX;
private final int posY;
@@ -26,12 +38,12 @@ public class Container_VolumetricFlaskSetter extends Container {
public static int StorageSlotNumber = 8; // Number of slots in storage area
public static int InventorySlotNumber = 36; // Inventory Slots (Inventory
- // and Hotbar)
+ // and Hotbar)
public static int FullSlotNumber = InventorySlotNumber + StorageSlotNumber; // All
- // slots
+ // slots
public Container_VolumetricFlaskSetter(final InventoryPlayer inventory, final TileEntityVolumetricFlaskSetter te) {
- this.tile_entity = te;
+ this.mTileEntity = te;
this.inventoryChest = te.getInventory();
int var6;
@@ -40,6 +52,7 @@ public class Container_VolumetricFlaskSetter extends Container {
this.posX = te.xCoord;
this.posY = te.yCoord;
this.posZ = te.zCoord;
+ //mCustomValue = te.getCustomValue();
int o = 0;
@@ -50,66 +63,50 @@ public class Container_VolumetricFlaskSetter extends Container {
o++;
}
}*/
-
-
+
+
int xStart = 26;
int yStart = 12;
try {
- //0
- this.addSlotToContainer(new SlotVolumetricFlask(this.inventoryChest, o++, xStart, yStart));
- this.addSlotToContainer(new SlotVolumetricFlask(this.inventoryChest, o++, xStart+=18, yStart));
- this.addSlotToContainer(new SlotVolumetricFlask(this.inventoryChest, o++, xStart+=18, yStart));
- this.addSlotToContainer(new SlotVolumetricFlask(this.inventoryChest, o++, xStart+=18, yStart));
- this.addSlotToContainer(new SlotVolumetricFlask(this.inventoryChest, o++, xStart+=18, yStart));
- this.addSlotToContainer(new SlotVolumetricFlask(this.inventoryChest, o++, xStart+=18, yStart));
- this.addSlotToContainer(new SlotVolumetricFlask(this.inventoryChest, o++, xStart+=18, yStart));
- this.addSlotToContainer(new SlotVolumetricFlask(this.inventoryChest, o++, xStart, yStart+18));
-
- //Add Output
- this.addSlotToContainer(new SlotNoInput(this.inventoryChest, SLOT_OUTPUT, 8+(8*18), 59));
- o++;
-
-
-
- // Player Inventory
- for (var6 = 0; var6 < 3; ++var6) {
- for (var7 = 0; var7 < 9; ++var7) {
- this.addSlotToContainer(new Slot(inventory, var7 + (var6 * 9) + 9, 8 + (var7 * 18), 84 + (var6 * 18)));
+ //0
+ this.addSlotToContainer(new SlotVolumetricFlask(this.inventoryChest, o++, xStart, yStart));
+ this.addSlotToContainer(new SlotVolumetricFlask(this.inventoryChest, o++, xStart+=18, yStart));
+ this.addSlotToContainer(new SlotVolumetricFlask(this.inventoryChest, o++, xStart+=18, yStart));
+ this.addSlotToContainer(new SlotVolumetricFlask(this.inventoryChest, o++, xStart+=18, yStart));
+ this.addSlotToContainer(new SlotVolumetricFlask(this.inventoryChest, o++, xStart+=18, yStart));
+ this.addSlotToContainer(new SlotVolumetricFlask(this.inventoryChest, o++, xStart+=18, yStart));
+ this.addSlotToContainer(new SlotVolumetricFlask(this.inventoryChest, o++, xStart+=18, yStart));
+ this.addSlotToContainer(new SlotVolumetricFlask(this.inventoryChest, o++, xStart, yStart+18));
+
+ //Add Output
+ this.addSlotToContainer(new SlotNoInput(this.inventoryChest, o++, 8+(8*18), 59));
+ o++;
+
+
+
+ // Player Inventory
+ for (var6 = 0; var6 < 3; ++var6) {
+ for (var7 = 0; var7 < 9; ++var7) {
+ this.addSlotToContainer(new Slot(inventory, var7 + (var6 * 9) + 9, 8 + (var7 * 18), 84 + (var6 * 18)));
+ }
}
- }
- // Player Hotbar
- for (var6 = 0; var6 < 9; ++var6) {
- this.addSlotToContainer(new Slot(inventory, var6, 8 + (var6 * 18), 142));
- }
+ // Player Hotbar
+ for (var6 = 0; var6 < 9; ++var6) {
+ this.addSlotToContainer(new Slot(inventory, var6, 8 + (var6 * 18), 142));
+ }
+ detectAndSendChanges();
}
catch (Throwable t) {}
}
- @Override
- public ItemStack slotClick(final int aSlotIndex, final int aMouseclick, final int aShifthold,
- final EntityPlayer aPlayer) {
-
- if (!aPlayer.worldObj.isRemote) {
- if ((aSlotIndex == 999) || (aSlotIndex == -999)) {
- // Utils.LOG_WARNING("??? - "+aSlotIndex);
- }
- }
- return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer);
- }
-
- @Override
- public void onContainerClosed(final EntityPlayer par1EntityPlayer) {
- super.onContainerClosed(par1EntityPlayer);
- }
@Override
public boolean canInteractWith(final EntityPlayer par1EntityPlayer) {
if (this.worldObj.getBlock(this.posX, this.posY, this.posZ) != ModBlocks.blockVolumetricFlaskSetter) {
return false;
}
-
return par1EntityPlayer.getDistanceSq(this.posX + 0.5D, this.posY + 0.5D, this.posZ + 0.5D) <= 64D;
}
@@ -153,10 +150,36 @@ public class Container_VolumetricFlaskSetter extends Container {
return var3;
}
- // Can merge Slot
@Override
- public boolean func_94530_a(final ItemStack p_94530_1_, final Slot p_94530_2_) {
- return super.func_94530_a(p_94530_1_, p_94530_2_);
+ public void detectAndSendChanges() {
+ super.detectAndSendChanges();
+ if ((Utils.isClient()) || (this.mTileEntity == null)) {
+ return;
+ }
+
+ mCustomValue = mTileEntity.getCustomValue();
+ mTimer++;
+
+ Iterator var2 = this.crafters.iterator();
+ while (var2.hasNext()) {
+ ICrafting var1 = (ICrafting) var2.next();
+ if (mTimer % 20 == 10 || oCustomValue != mCustomValue) {
+ var1.sendProgressBarUpdate(this, 0, mCustomValue);
+ }
+ }
+
+ oCustomValue = mCustomValue;
+ }
+
+ @SideOnly(Side.CLIENT)
+ @Override
+ public void updateProgressBar(int par1, int par2) {
+ super.updateProgressBar(par1, par2);
+ switch (par1) {
+ case 0:
+ mCustomValue = (short) par2;
+ break;
+ }
}
} \ No newline at end of file