aboutsummaryrefslogtreecommitdiff
path: root/src/Java/binnie/core/liquid/FluidContainer.java
diff options
context:
space:
mode:
authorDraknyte1 <Draknyte1@hotmail.com>2016-01-20 14:24:34 +1000
committerDraknyte1 <Draknyte1@hotmail.com>2016-01-20 14:24:34 +1000
commit869c206c4fcc8001bd2e1d66f704290331813835 (patch)
tree96735ce8fe4665e2759c3374221d6f06f4527df2 /src/Java/binnie/core/liquid/FluidContainer.java
parentec2c72827f01dd4bb2174137f1ab162f9ddaab62 (diff)
downloadGT5-Unofficial-869c206c4fcc8001bd2e1d66f704290331813835.tar.gz
GT5-Unofficial-869c206c4fcc8001bd2e1d66f704290331813835.tar.bz2
GT5-Unofficial-869c206c4fcc8001bd2e1d66f704290331813835.zip
Initial Commit
Diffstat (limited to 'src/Java/binnie/core/liquid/FluidContainer.java')
-rw-r--r--src/Java/binnie/core/liquid/FluidContainer.java95
1 files changed, 95 insertions, 0 deletions
diff --git a/src/Java/binnie/core/liquid/FluidContainer.java b/src/Java/binnie/core/liquid/FluidContainer.java
new file mode 100644
index 0000000000..0bfb14512b
--- /dev/null
+++ b/src/Java/binnie/core/liquid/FluidContainer.java
@@ -0,0 +1,95 @@
+package binnie.core.liquid;
+
+import binnie.core.BinnieCore;
+import binnie.core.Mods;
+import binnie.core.Mods.Mod;
+import binnie.core.proxy.BinnieProxy;
+import binnie.genetics.item.GeneticsItems;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraftforge.fluids.FluidContainerRegistry;
+import net.minecraftforge.fluids.FluidContainerRegistry.FluidContainerData;
+
+public enum FluidContainer
+{
+ Bucket, Capsule, Refractory, Can, Glass, Cylinder;
+
+ IIcon bottle;
+ IIcon contents;
+ ItemFluidContainer item;
+
+ private FluidContainer() {}
+
+ public int getMaxStackSize()
+ {
+ return this == Bucket ? 1 : 16;
+ }
+
+ @SideOnly(Side.CLIENT)
+ public void updateIcons(IIconRegister register)
+ {
+ this.bottle = BinnieCore.proxy.getIcon(register, this == Cylinder ? "binniecore" : "forestry", "liquids/" + toString().toLowerCase() + ".bottle");
+
+ this.contents = BinnieCore.proxy.getIcon(register, this == Cylinder ? "binniecore" : "forestry", "liquids/" + toString().toLowerCase() + ".contents");
+ }
+
+ public IIcon getBottleIcon()
+ {
+ return this.bottle;
+ }
+
+ public IIcon getContentsIcon()
+ {
+ return this.contents;
+ }
+
+ public String getName()
+ {
+ return BinnieCore.proxy.localise("item.container." + name().toLowerCase());
+ }
+
+ public boolean isActive()
+ {
+ return getEmpty() != null;
+ }
+
+ public ItemStack getEmpty()
+ {
+ switch (1.$SwitchMap$binnie$core$liquid$FluidContainer[ordinal()])
+ {
+ case 1:
+ return new ItemStack(Items.bucket, 1, 0);
+ case 2:
+ return Mods.Forestry.stack("canEmpty");
+ case 3:
+ return Mods.Forestry.stack("waxCapsule");
+ case 4:
+ return new ItemStack(Items.glass_bottle, 1, 0);
+ case 5:
+ return Mods.Forestry.stack("refractoryEmpty");
+ case 6:
+ return GeneticsItems.Cylinder.get(1);
+ }
+ return null;
+ }
+
+ public void registerContainerData(IFluidType fluid)
+ {
+ if (!isActive()) {
+ return;
+ }
+ ItemStack filled = this.item.getContainer(fluid);
+
+ ItemStack empty = getEmpty();
+ if ((filled == null) || (empty == null) || (fluid.get(1000) == null)) {
+ return;
+ }
+ FluidContainerRegistry.FluidContainerData data = new FluidContainerRegistry.FluidContainerData(fluid.get(1000), filled, empty);
+
+ FluidContainerRegistry.registerFluidContainer(data);
+ }
+}