OSDN Git Service

更新&修正
authorponkotate <ponkotate@users.sourceforge.jp>
Sun, 3 Feb 2013 10:19:43 +0000 (19:19 +0900)
committerponkotate <ponkotate@users.sourceforge.jp>
Sun, 3 Feb 2013 10:19:43 +0000 (19:19 +0900)
・電気分解機(未完成)実装
・テクスチャ用フィールドを定数化(それに伴ってフィールド大文字化)

25 files changed:
common/chemicraft/ChemiCraft.java
common/chemicraft/block/BlockChemicalCombinationTable.java
common/chemicraft/block/BlockChemicalCraftingTable.java
common/chemicraft/block/BlockElectrolysisTable.java [new file with mode: 0644]
common/chemicraft/block/BlockPyrolysisTable.java
common/chemicraft/block/BlockToolAndWeaponCraftingTable.java
common/chemicraft/container/ContainerElectrolysis.java [new file with mode: 0644]
common/chemicraft/gui/GuiChemicalCombinationTable.java
common/chemicraft/gui/GuiChemicalCraftingTable.java
common/chemicraft/gui/GuiElectrolysisTable.java [new file with mode: 0644]
common/chemicraft/gui/GuiPyrolysisTable.java
common/chemicraft/gui/GuiToolAndWeaponCraftingTable.java
common/chemicraft/inventory/InventoryElectrolysisFuel.java [new file with mode: 0644]
common/chemicraft/inventory/InventoryElectrolysisMaterial.java [new file with mode: 0644]
common/chemicraft/inventory/InventoryElectrolysisResult.java [new file with mode: 0644]
common/chemicraft/item/ItemAtoms.java
common/chemicraft/item/ItemCompounds.java
common/chemicraft/render/RenderAtomsGrenade.java
common/chemicraft/slot/SlotDecompositionTableMaterial.java [new file with mode: 0644]
common/chemicraft/slot/SlotDecompositionTableResult.java [new file with mode: 0644]
common/chemicraft/slot/SlotElectrolysisFuel.java [new file with mode: 0644]
common/chemicraft/slot/SlotElectrolysisMaterial.java [new file with mode: 0644]
common/chemicraft/slot/SlotElectrolysisResult.java [new file with mode: 0644]
common/chemicraft/tileentity/TileEntityElectrolysisTable.java [new file with mode: 0644]
src/chemicraft/client/ClientProxy.java

index 290790b..8c8db7d 100644 (file)
@@ -11,6 +11,7 @@ import net.minecraftforge.common.DimensionManager;
 import net.minecraftforge.common.Property;
 import chemicraft.block.BlockChemicalCombinationTable;
 import chemicraft.block.BlockChemicalCraftingTable;
+import chemicraft.block.BlockElectrolysisTable;
 import chemicraft.block.BlockPyrolysisTable;
 import chemicraft.block.BlockToolAndWeaponCraftingTable;
 import chemicraft.compounds.CompoundWater;
@@ -25,6 +26,7 @@ import chemicraft.system.CommonProxy;
 import chemicraft.system.PacketHandler;
 import chemicraft.tileentity.TileEntityChemicalCombinationTable;
 import chemicraft.tileentity.TileEntityChemicalCraftingTable;
+import chemicraft.tileentity.TileEntityElectrolysisTable;
 import chemicraft.tileentity.TileEntityPyrolysisTable;
 import chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;
 import chemicraft.util.Auxiliary;
@@ -98,6 +100,7 @@ public class ChemiCraft {
         * BlockID.
         */
        public int pyrolysisTableID;
+       public int electrolysisTableID;
        public int chemicalConbinationTableID;
        public int toolAndWeaponCraftingTableID;
        public int chemicalCraftingTableID;
@@ -106,6 +109,7 @@ public class ChemiCraft {
         * GUIID.
         */
        public int guiPyrolysisTableID;
+       public int guiElectrolysisTableID;
        public int guiChemicalCombinationTableID;
        public int guiToolAndWeaponCraftingTableID;
        public int guiChemicalCraftingTableID;
@@ -114,6 +118,7 @@ public class ChemiCraft {
         * Block型変数.
         */
        public Block blockPyrolysisTable;
+       public Block blockElectrolysisTable;
        public Block blockChemicalCombinationTable;
        public Block blockToolAndWeaponCraftingTable;
        public Block blockChemicalCraftingTable;
@@ -129,14 +134,15 @@ public class ChemiCraft {
        /**
         * このmodで使用するTextureのパス.
         */
-       public String itemAtomsTexture = "/chemicraft/items/Atoms.png";
-       public String itemCompoundsTexture = "/chemicraft/items/Compounds.png";
-       public String itemTexture = "/chemicraft/items/items.png";
-       public String blockChemicalCraftingTableTexture = "/chemicraft/blocks/cctable.png";
-       public String guiPyrolysisTexture = "/chemicraft/guis/Pyrolysis.png";
-       public String guiChemicalCombinationTexture = "/chemicraft/guis/ChemicalCombination.png";
-       public String guiToolAndWeaponCraftingTexture = "/chemicraft/guis/ToolAndWeaponCrafting.png";
-       public String guiChemicalCraftingTexture = "/chemicraft/guis/MaterialCrafting.png";
+       public final String ITEMATOMSTEXTURE = "/chemicraft/items/Atoms.png";
+       public final String ITEMCOMPOUNDSTEXTURE = "/chemicraft/items/Compounds.png";
+       public final String ITEMTEXTURE = "/chemicraft/items/items.png";
+       public final String BLOCKCHEMICALCRAFTINGTABLETEXTURE = "/chemicraft/blocks/cctable.png";
+       public final String GUIPYROLYSISTEXTURE = "/chemicraft/guis/Pyrolysis.png";
+       public final String GUIELECTROLYSISTEXTURE = "/chemicraft/guis/Electrolysis.png";
+       public final String GUICHEMICALCOMBINATIONTEXTURE = "/chemicraft/guis/ChemicalCombination.png";
+       public final String GUITOOLANDWEAPONCRAFTINGTEXTURE = "/chemicraft/guis/ToolAndWeaponCrafting.png";
+       public final String GUICHEMICALCRAFTINGTEXTURE = "/chemicraft/guis/MaterialCrafting.png";
 
        /**
         * このmodに必要な補助クラスのインスタンス.
@@ -154,9 +160,10 @@ public class ChemiCraft {
                cfg.load();
 
                Property pyrolysisTableIDProp = cfg.getBlock("PyrolysisTable", 2400);
-               Property chemicalCombinationTableIDProp = cfg.getBlock("ChemicalCombinationID", 2401);
-               Property toolAndWeaponCraftingTableIDProp = cfg.getBlock("ToolAndWeaponCraftingTableID", 2402);
-               Property chemicalCraftingTableIDProp = cfg.getBlock("ChemicalCraftingTableID", 2403);
+               Property electrolysisTableIDProp = cfg.getBlock("ElectrolysisTable", 2401);
+               Property chemicalCombinationTableIDProp = cfg.getBlock("ChemicalCombinationID", 2402);
+               Property toolAndWeaponCraftingTableIDProp = cfg.getBlock("ToolAndWeaponCraftingTableID", 2403);
+               Property chemicalCraftingTableIDProp = cfg.getBlock("ChemicalCraftingTableID", 2404);
 
                Property atomsIDProp = cfg.getItem("AtomsID", 25000);
                Property compoundsIDProp = cfg.getItem("CompoundsID", 25001);
@@ -170,6 +177,7 @@ public class ChemiCraft {
 
 
                this.pyrolysisTableID = pyrolysisTableIDProp.getInt();
+               this.electrolysisTableID = electrolysisTableIDProp.getInt();
                this.chemicalConbinationTableID = chemicalCombinationTableIDProp.getInt();
                this.toolAndWeaponCraftingTableID = toolAndWeaponCraftingTableIDProp.getInt();
                this.chemicalCraftingTableID = chemicalCraftingTableIDProp.getInt();
@@ -207,6 +215,11 @@ public class ChemiCraft {
                                setResistance(0.0F).
                                setStepSound(Block.soundStoneFootstep).
                                setBlockName("PyrolysisTable");
+               this.blockElectrolysisTable = new BlockElectrolysisTable(this.electrolysisTableID, 0, Material.ground).
+                               setHardness(2.0F).
+                               setResistance(0.0F).
+                               setStepSound(Block.soundStoneFootstep).
+                               setBlockName("ElectrolysisTable");
                this.blockChemicalCombinationTable = new BlockChemicalCombinationTable(this.chemicalConbinationTableID, 0, Material.ground).
                                setHardness(2.0F).
                                setResistance(0.0F).
@@ -231,6 +244,7 @@ public class ChemiCraft {
 
                // BlockをMinecraftに登録します
                GameRegistry.registerBlock(this.blockPyrolysisTable, "BlockPyrolysisTable");
+               GameRegistry.registerBlock(this.blockElectrolysisTable, "ElectrolysisTable");
                GameRegistry.registerBlock(this.blockChemicalCombinationTable, "BlockChemicalCombinationTable");
                GameRegistry.registerBlock(this.blockToolAndWeaponCraftingTable, "BlockToolAndWeaponCraftingTable");
                GameRegistry.registerBlock(this.blockChemicalCraftingTable, "BlockMaterialCraftingTable");
@@ -238,6 +252,8 @@ public class ChemiCraft {
                // Blockの名前を設定します
                this.nameAuxiliary.addName(this.blockPyrolysisTable, "PyrolysisTable");
                this.nameAuxiliary.addName(this.blockPyrolysisTable, "ja_JP", "熱分解台");
+               this.nameAuxiliary.addName(this.blockElectrolysisTable, "ElectrolysisTable");
+               this.nameAuxiliary.addName(this.blockElectrolysisTable, "ja_JP", "電気分解台");
                this.nameAuxiliary.addName(this.blockChemicalCombinationTable, "ChemicalCombinationTable");
                this.nameAuxiliary.addName(this.blockChemicalCombinationTable, "ja_JP", "化合台");
                this.nameAuxiliary.addName(blockToolAndWeaponCraftingTable, "ToolAndWeaponCraftingTable");
@@ -255,6 +271,7 @@ public class ChemiCraft {
 
                // TileEntityを追加します
                GameRegistry.registerTileEntity(TileEntityPyrolysisTable.class, "TileEntityPyrolysisTable");
+               GameRegistry.registerTileEntity(TileEntityElectrolysisTable.class, "TileEntityElectrolysisTable");
                GameRegistry.registerTileEntity(TileEntityChemicalCombinationTable.class, "TileEntityChemicalCombinationTable");
                GameRegistry.registerTileEntity(TileEntityToolAndWeaponCraftingTable.class, "TileEntityToolAndWeaponCraftingTable");
                GameRegistry.registerTileEntity(TileEntityChemicalCraftingTable.class, "TileEntityChemicalCraftingTable");
@@ -266,6 +283,14 @@ public class ChemiCraft {
                proxy.registerRenderInformation();
 
                //化学作業台類のレシピを追加します
+               GameRegistry.addRecipe(new ItemStack(this.blockElectrolysisTable),
+                               new Object[]{
+                       "XYX", "ZAZ", "ZZZ",
+                       Character.valueOf('X'), new ItemStack(Item.ingotIron),
+                       Character.valueOf('Y'), new ItemStack(Block.workbench),
+                       Character.valueOf('Z'), new ItemStack(Block.stone),
+                       Character.valueOf('A'), new ItemStack(Block.tnt),
+               });
                GameRegistry.addRecipe(new ItemStack(this.blockPyrolysisTable),
                                new Object[]{
                        "XYX", "ZAZ", "ZZZ",
index 4562eda..bf9ba58 100644 (file)
@@ -25,7 +25,7 @@ public class BlockChemicalCombinationTable extends BlockContainer {
 
        @Override
        public String getTextureFile() {
-               return ChemiCraft.instance.blockChemicalCraftingTableTexture;
+               return ChemiCraft.instance.BLOCKCHEMICALCRAFTINGTABLETEXTURE;
        }
 
 
index 7bf1578..cc30be2 100644 (file)
@@ -26,7 +26,7 @@ public class BlockChemicalCraftingTable extends BlockContainer {
 
        @Override
        public String getTextureFile(){
-               return ChemiCraft.instance.blockChemicalCraftingTableTexture;
+               return ChemiCraft.instance.BLOCKCHEMICALCRAFTINGTABLETEXTURE;
        }
 
 
diff --git a/common/chemicraft/block/BlockElectrolysisTable.java b/common/chemicraft/block/BlockElectrolysisTable.java
new file mode 100644 (file)
index 0000000..e4ef985
--- /dev/null
@@ -0,0 +1,36 @@
+package chemicraft.block;
+
+import net.minecraft.block.BlockContainer;
+import net.minecraft.block.material.Material;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+import chemicraft.ChemiCraft;
+import chemicraft.tileentity.TileEntityElectrolysisTable;
+
+public class BlockElectrolysisTable extends BlockContainer
+{
+
+       public BlockElectrolysisTable(int par1, int par2, Material par3Material) {
+               super(par1, par2, par3Material);
+               this.setCreativeTab(ChemiCraft.creativeTab);
+       }
+
+       @Override
+       public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9){
+               par5EntityPlayer.openGui(ChemiCraft.instance, ChemiCraft.instance.guiElectrolysisTableID, par1World, par2, par3, par4);
+               return true;
+       }
+
+       @Override
+       public String getTextureFile(){
+               return ChemiCraft.instance.BLOCKCHEMICALCRAFTINGTABLETEXTURE;
+       }
+
+       @Override
+       public TileEntity createNewTileEntity(World var1)
+       {
+               return new TileEntityElectrolysisTable();
+       }
+
+}
index 728545f..2030eea 100644 (file)
@@ -26,7 +26,7 @@ public class BlockPyrolysisTable extends BlockContainer {
 
        @Override
        public String getTextureFile(){
-               return ChemiCraft.instance.blockChemicalCraftingTableTexture;
+               return ChemiCraft.instance.BLOCKCHEMICALCRAFTINGTABLETEXTURE;
        }
 
 
index 463d2da..f375a01 100644 (file)
@@ -25,7 +25,7 @@ public class BlockToolAndWeaponCraftingTable extends BlockContainer {
 
        @Override
        public String getTextureFile(){
-               return ChemiCraft.instance.blockChemicalCraftingTableTexture;
+               return ChemiCraft.instance.BLOCKCHEMICALCRAFTINGTABLETEXTURE;
        }
 
 
diff --git a/common/chemicraft/container/ContainerElectrolysis.java b/common/chemicraft/container/ContainerElectrolysis.java
new file mode 100644 (file)
index 0000000..d7f9615
--- /dev/null
@@ -0,0 +1,68 @@
+package chemicraft.container;
+
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.Container;
+import net.minecraft.inventory.Slot;
+import net.minecraft.world.World;
+import chemicraft.ChemiCraft;
+import chemicraft.inventory.InventoryElectrolysisFuel;
+import chemicraft.inventory.InventoryElectrolysisMaterial;
+import chemicraft.inventory.InventoryElectrolysisResult;
+import chemicraft.slot.SlotElectrolysisMaterial;
+import chemicraft.slot.SlotElectrolysisResult;
+import chemicraft.tileentity.TileEntityElectrolysisTable;
+
+public class ContainerElectrolysis extends Container
+{
+
+       private World worldObj;
+
+       private int posX;
+       private int posY;
+       private int posZ;
+
+       private TileEntityElectrolysisTable tileEntity;
+
+       private InventoryElectrolysisMaterial invm;
+       private InventoryElectrolysisResult invr;
+       private InventoryElectrolysisFuel invf;
+
+       public ContainerElectrolysis(EntityPlayer par1EntityPlayer, TileEntityElectrolysisTable par2) {
+               super();
+               this.worldObj = par2.worldObj;
+               this.posX = par2.xCoord;
+               this.posY = par2.yCoord;
+               this.posZ = par2.zCoord;
+               this.invm = (InventoryElectrolysisMaterial) this.tileEntity.getInvMaterial();
+               this.invr = (InventoryElectrolysisResult) this.tileEntity.getInvResult();
+               this.invf = (InventoryElectrolysisFuel) this.tileEntity.getInvFuel();
+
+               this.addSlotToContainer(new SlotElectrolysisMaterial(invm, 0, 123, 34));
+               for (int i = 0; i < 16; i++) {
+                       this.addSlotToContainer(new SlotElectrolysisResult(invr, i, 123, 34));
+               }
+               this.addSlotToContainer(new SlotElectrolysisResult(invf, 0, 123, 34));
+
+               int var3;
+               for (var3 = 0; var3 < 3; ++var3)
+               {
+                       for (int var4 = 0; var4 < 9; ++var4)
+                       {
+                               this.addSlotToContainer(new Slot(par1EntityPlayer.inventory, var4 + var3 * 9 + 9, 8 + var4 * 18, 85 + var3 * 18));
+                       }
+               }
+
+               for (var3 = 0; var3 < 9; ++var3)
+               {
+                       this.addSlotToContainer(new Slot(par1EntityPlayer.inventory, var3, 8 + var3 * 18, 143));
+               }
+
+       }
+
+       @Override
+       public boolean canInteractWith(EntityPlayer par1EntityPlayer)
+       {
+               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;
+       }
+
+}
index 7daf181..9fdab59 100644 (file)
@@ -33,7 +33,7 @@ public class GuiChemicalCombinationTable extends GuiContainer {
 
        @Override
        protected void drawGuiContainerBackgroundLayer(float var1, int var2, int var3) {
-               this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraft.instance.guiChemicalCombinationTexture));
+               this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraft.instance.GUICHEMICALCOMBINATIONTEXTURE));
                this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize);
        }
 
index a25ad96..9164481 100644 (file)
@@ -19,7 +19,7 @@ public class GuiChemicalCraftingTable extends GuiContainer {
 
        @Override
        protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3){
-               this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraft.instance.guiChemicalCraftingTexture));
+               this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraft.instance.GUICHEMICALCRAFTINGTEXTURE));
                this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize);
        }
 
diff --git a/common/chemicraft/gui/GuiElectrolysisTable.java b/common/chemicraft/gui/GuiElectrolysisTable.java
new file mode 100644 (file)
index 0000000..0051383
--- /dev/null
@@ -0,0 +1,24 @@
+package chemicraft.gui;
+
+import net.minecraft.client.gui.inventory.GuiContainer;
+import net.minecraft.entity.player.EntityPlayer;
+import chemicraft.ChemiCraft;
+import chemicraft.container.ContainerElectrolysis;
+import chemicraft.tileentity.TileEntityElectrolysisTable;
+
+public class GuiElectrolysisTable extends GuiContainer
+{
+
+       public GuiElectrolysisTable(EntityPlayer par1EntityPlayer, TileEntityElectrolysisTable par2) {
+               super(new ContainerElectrolysis(par1EntityPlayer, par2));
+               this.ySize = 204;
+       }
+
+       @Override
+       protected void drawGuiContainerBackgroundLayer(float var1, int var2, int var3)
+       {
+               this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraft.instance.GUIELECTROLYSISTEXTURE));
+               this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize);
+       }
+
+}
index 903740c..0c7686d 100644 (file)
@@ -18,7 +18,7 @@ public class GuiPyrolysisTable extends GuiContainer{
 
        @Override
        protected void drawGuiContainerBackgroundLayer(float var1, int var2, int var3) {
-               this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraft.instance.guiPyrolysisTexture));
+               this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraft.instance.GUIPYROLYSISTEXTURE));
                this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize);
        }
 
index d3e9288..7440007 100644 (file)
@@ -14,7 +14,7 @@ public class GuiToolAndWeaponCraftingTable extends GuiContainer {
 
        @Override
        protected void drawGuiContainerBackgroundLayer(float var1, int var2, int var3) {
-               this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraft.instance.guiToolAndWeaponCraftingTexture));
+               this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraft.instance.GUITOOLANDWEAPONCRAFTINGTEXTURE));
                this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize);
        }
 
diff --git a/common/chemicraft/inventory/InventoryElectrolysisFuel.java b/common/chemicraft/inventory/InventoryElectrolysisFuel.java
new file mode 100644 (file)
index 0000000..a811979
--- /dev/null
@@ -0,0 +1,98 @@
+package chemicraft.inventory;
+
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.Container;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.ItemStack;
+
+public class InventoryElectrolysisFuel implements IInventory
+{
+
+       private ItemStack[] inventory = new ItemStack[1];
+
+       private Container eventHandelr;
+
+       public void setEventHandler(Container par1Container)
+       {
+               this.eventHandelr = par1Container;
+       }
+
+       @Override
+       public int getSizeInventory()
+       {
+               return inventory.length;
+       }
+
+       @Override
+       public ItemStack getStackInSlot(int var1)
+       {
+               return inventory[var1];
+       }
+
+       @Override
+       public ItemStack decrStackSize(int par1, int par2)
+       {
+               if (this.inventory[par1] != null) {
+                       ItemStack var3 = this.inventory[par1];
+                       this.inventory[par1] = null;
+                       return var3;
+               } else {
+                       return null;
+               }
+       }
+
+       @Override
+       public ItemStack getStackInSlotOnClosing(int par1)
+       {
+               if (this.inventory[par1] != null) {
+                       ItemStack var2 = this.inventory[par1];
+                       this.inventory[par1] = null;
+                       return var2;
+               } else {
+                       return null;
+               }
+       }
+
+       @Override
+       public void setInventorySlotContents(int var1, ItemStack var2)
+       {
+               inventory[var1] = var2;
+       }
+
+       @Override
+       public String getInvName()
+       {
+               return "ChemicalCraftingInventory";
+       }
+
+       @Override
+       public int getInventoryStackLimit()
+       {
+               return 64;
+       }
+
+       @Override
+       public void onInventoryChanged()
+       {
+               this.eventHandelr.onCraftMatrixChanged(this);
+       }
+
+       @Override
+       public boolean isUseableByPlayer(EntityPlayer var1)
+       {
+               return true;
+       }
+
+       @Override
+       public void openChest()
+       {
+
+       }
+
+       @Override
+       public void closeChest()
+       {
+
+       }
+
+}
diff --git a/common/chemicraft/inventory/InventoryElectrolysisMaterial.java b/common/chemicraft/inventory/InventoryElectrolysisMaterial.java
new file mode 100644 (file)
index 0000000..d004d5c
--- /dev/null
@@ -0,0 +1,98 @@
+package chemicraft.inventory;
+
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.Container;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.ItemStack;
+
+public class InventoryElectrolysisMaterial implements IInventory
+{
+
+       private ItemStack[] inventory = new ItemStack[1];
+
+       private Container eventHandelr;
+
+       public void setEventHandler(Container par1Container)
+       {
+               this.eventHandelr = par1Container;
+       }
+
+       @Override
+       public int getSizeInventory()
+       {
+               return inventory.length;
+       }
+
+       @Override
+       public ItemStack getStackInSlot(int var1)
+       {
+               return inventory[var1];
+       }
+
+       @Override
+       public ItemStack decrStackSize(int par1, int par2)
+       {
+               if (this.inventory[par1] != null) {
+                       ItemStack var3 = this.inventory[par1];
+                       this.inventory[par1] = null;
+                       return var3;
+               } else {
+                       return null;
+               }
+       }
+
+       @Override
+       public ItemStack getStackInSlotOnClosing(int par1)
+       {
+               if (this.inventory[par1] != null) {
+                       ItemStack var2 = this.inventory[par1];
+                       this.inventory[par1] = null;
+                       return var2;
+               } else {
+                       return null;
+               }
+       }
+
+       @Override
+       public void setInventorySlotContents(int var1, ItemStack var2)
+       {
+               inventory[var1] = var2;
+       }
+
+       @Override
+       public String getInvName()
+       {
+               return "ChemicalCraftingInventory";
+       }
+
+       @Override
+       public int getInventoryStackLimit()
+       {
+               return 64;
+       }
+
+       @Override
+       public void onInventoryChanged()
+       {
+               this.eventHandelr.onCraftMatrixChanged(this);
+       }
+
+       @Override
+       public boolean isUseableByPlayer(EntityPlayer var1)
+       {
+               return true;
+       }
+
+       @Override
+       public void openChest()
+       {
+
+       }
+
+       @Override
+       public void closeChest()
+       {
+
+       }
+
+}
diff --git a/common/chemicraft/inventory/InventoryElectrolysisResult.java b/common/chemicraft/inventory/InventoryElectrolysisResult.java
new file mode 100644 (file)
index 0000000..2acf3a2
--- /dev/null
@@ -0,0 +1,98 @@
+package chemicraft.inventory;
+
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.Container;
+import net.minecraft.inventory.IInventory;
+import net.minecraft.item.ItemStack;
+
+public class InventoryElectrolysisResult implements IInventory
+{
+
+       private ItemStack[] inventory = new ItemStack[16];
+
+       private Container eventHandelr;
+
+       public void setEventHandler(Container par1Container)
+       {
+               this.eventHandelr = par1Container;
+       }
+
+       @Override
+       public int getSizeInventory()
+       {
+               return inventory.length;
+       }
+
+       @Override
+       public ItemStack getStackInSlot(int var1)
+       {
+               return inventory[var1];
+       }
+
+       @Override
+       public ItemStack decrStackSize(int par1, int par2)
+       {
+               if (this.inventory[par1] != null) {
+                       ItemStack var3 = this.inventory[par1];
+                       this.inventory[par1] = null;
+                       return var3;
+               } else {
+                       return null;
+               }
+       }
+
+       @Override
+       public ItemStack getStackInSlotOnClosing(int par1)
+       {
+               if (this.inventory[par1] != null) {
+                       ItemStack var2 = this.inventory[par1];
+                       this.inventory[par1] = null;
+                       return var2;
+               } else {
+                       return null;
+               }
+       }
+
+       @Override
+       public void setInventorySlotContents(int var1, ItemStack var2)
+       {
+               inventory[var1] = var2;
+       }
+
+       @Override
+       public String getInvName()
+       {
+               return "ChemicalCraftingInventory";
+       }
+
+       @Override
+       public int getInventoryStackLimit()
+       {
+               return 64;
+       }
+
+       @Override
+       public void onInventoryChanged()
+       {
+               this.eventHandelr.onCraftMatrixChanged(this);
+       }
+
+       @Override
+       public boolean isUseableByPlayer(EntityPlayer var1)
+       {
+               return true;
+       }
+
+       @Override
+       public void openChest()
+       {
+
+       }
+
+       @Override
+       public void closeChest()
+       {
+
+       }
+
+}
index b766426..3ec489c 100644 (file)
@@ -43,7 +43,7 @@ public class ItemAtoms extends Item {
 
        @Override
        public String getTextureFile(){
-               return ChemiCraft.instance.itemAtomsTexture;
+               return ChemiCraft.instance.ITEMATOMSTEXTURE;
        }
 
 
index 18df605..8628675 100644 (file)
@@ -79,7 +79,7 @@ public class ItemCompounds extends Item {
 
        @Override
        public String getTextureFile(){
-               return ChemiCraft.instance.itemCompoundsTexture;
+               return ChemiCraft.instance.ITEMCOMPOUNDSTEXTURE;
        }
 
 
index 916a86f..d8b549d 100644 (file)
@@ -30,7 +30,7 @@ public class RenderAtomsGrenade extends Render {
                float var10 = this.field_77002_a;
                GL11.glScalef(var10 / 1.0F, var10 / 1.0F, var10 / 1.0F);
                byte var11 = 1;
-               this.loadTexture(ChemiCraft.instance.itemTexture);
+               this.loadTexture(ChemiCraft.instance.ITEMTEXTURE);
                Tessellator var12 = Tessellator.instance;
                float var13 = (float)(var11 % 16 * 16 + 0) / 256.0F;
                float var14 = (float)(var11 % 16 * 16 + 16) / 256.0F;
diff --git a/common/chemicraft/slot/SlotDecompositionTableMaterial.java b/common/chemicraft/slot/SlotDecompositionTableMaterial.java
new file mode 100644 (file)
index 0000000..4925d0d
--- /dev/null
@@ -0,0 +1,12 @@
+package chemicraft.slot;
+
+import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.Slot;
+
+public class SlotDecompositionTableMaterial extends Slot {
+
+       public SlotDecompositionTableMaterial(IInventory par1iInventory, int par2, int par3, int par4) {
+               super(par1iInventory, par2, par3, par4);
+       }
+
+}
diff --git a/common/chemicraft/slot/SlotDecompositionTableResult.java b/common/chemicraft/slot/SlotDecompositionTableResult.java
new file mode 100644 (file)
index 0000000..1200f4b
--- /dev/null
@@ -0,0 +1,18 @@
+package chemicraft.slot;
+
+import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.Slot;
+import net.minecraft.item.ItemStack;
+
+public class SlotDecompositionTableResult extends Slot {
+
+       public SlotDecompositionTableResult(IInventory par1iInventory, int par2,        int par3, int par4) {
+               super(par1iInventory, par2, par3, par4);
+       }
+
+       @Override
+       public boolean isItemValid(ItemStack par1ItemStack){
+               return false;
+       }
+
+}
diff --git a/common/chemicraft/slot/SlotElectrolysisFuel.java b/common/chemicraft/slot/SlotElectrolysisFuel.java
new file mode 100644 (file)
index 0000000..e4e70fe
--- /dev/null
@@ -0,0 +1,13 @@
+package chemicraft.slot;
+
+import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.Slot;
+
+public class SlotElectrolysisFuel extends Slot
+{
+
+       public SlotElectrolysisFuel(IInventory par1iInventory, int par2, int par3, int par4) {
+               super(par1iInventory, par2, par3, par4);
+       }
+
+}
diff --git a/common/chemicraft/slot/SlotElectrolysisMaterial.java b/common/chemicraft/slot/SlotElectrolysisMaterial.java
new file mode 100644 (file)
index 0000000..6483b88
--- /dev/null
@@ -0,0 +1,13 @@
+package chemicraft.slot;
+
+import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.Slot;
+
+public class SlotElectrolysisMaterial extends Slot
+{
+
+       public SlotElectrolysisMaterial(IInventory par1iInventory, int par2, int par3, int par4) {
+               super(par1iInventory, par2, par3, par4);
+       }
+
+}
diff --git a/common/chemicraft/slot/SlotElectrolysisResult.java b/common/chemicraft/slot/SlotElectrolysisResult.java
new file mode 100644 (file)
index 0000000..3fe451e
--- /dev/null
@@ -0,0 +1,13 @@
+package chemicraft.slot;
+
+import net.minecraft.inventory.IInventory;
+import net.minecraft.inventory.Slot;
+
+public class SlotElectrolysisResult extends Slot
+{
+
+       public SlotElectrolysisResult(IInventory par1iInventory, int par2, int par3, int par4) {
+               super(par1iInventory, par2, par3, par4);
+       }
+
+}
diff --git a/common/chemicraft/tileentity/TileEntityElectrolysisTable.java b/common/chemicraft/tileentity/TileEntityElectrolysisTable.java
new file mode 100644 (file)
index 0000000..aab7b14
--- /dev/null
@@ -0,0 +1,57 @@
+package chemicraft.tileentity;
+
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.network.packet.Packet;
+import net.minecraft.tileentity.TileEntity;
+import chemicraft.inventory.InventoryElectrolysisFuel;
+import chemicraft.inventory.InventoryElectrolysisMaterial;
+import chemicraft.inventory.InventoryElectrolysisResult;
+
+public class TileEntityElectrolysisTable extends TileEntity
+{
+
+       private InventoryElectrolysisMaterial invm = new InventoryElectrolysisMaterial();
+       private InventoryElectrolysisResult invr = new InventoryElectrolysisResult();
+       private InventoryElectrolysisFuel invf = new InventoryElectrolysisFuel();
+
+       public TileEntityElectrolysisTable() {
+               
+       }
+
+       @Override
+       public void readFromNBT(NBTTagCompound par1nbtTagCompound)
+       {
+               super.readFromNBT(par1nbtTagCompound);
+       }
+
+       @Override
+       public void writeToNBT(NBTTagCompound par1nbtTagCompound)
+       {
+               super.writeToNBT(par1nbtTagCompound);
+       }
+
+       @Override
+       public void updateEntity()
+       {
+               
+       }
+
+       @Override
+       public Packet getDescriptionPacket()
+       {
+               return super.getDescriptionPacket();
+       }
+
+       public InventoryElectrolysisMaterial getInvMaterial(){
+               return this.invm;
+       }
+
+       public InventoryElectrolysisResult getInvResult(){
+               return this.invr;
+       }
+
+       public InventoryElectrolysisFuel getInvFuel(){
+               return this.invf;
+       }
+
+}
index c1cd215..5b856df 100644 (file)
@@ -26,14 +26,14 @@ public class ClientProxy extends CommonProxy {
 
        @Override
        public void registerRenderInformation() {
-               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.blockChemicalCraftingTableTexture);
-               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.itemAtomsTexture);
-               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.itemCompoundsTexture);
-               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.itemTexture);
-               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.guiChemicalCombinationTexture);
-               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.guiPyrolysisTexture);
-               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.guiChemicalCraftingTexture);
-               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.guiToolAndWeaponCraftingTexture);
+               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.BLOCKCHEMICALCRAFTINGTABLETEXTURE);
+               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.ITEMATOMSTEXTURE);
+               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.ITEMCOMPOUNDSTEXTURE);
+               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.ITEMTEXTURE);
+               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.GUICHEMICALCOMBINATIONTEXTURE);
+               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.GUIPYROLYSISTEXTURE);
+               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.GUICHEMICALCRAFTINGTEXTURE);
+               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.GUITOOLANDWEAPONCRAFTINGTEXTURE);
                RenderingRegistry.registerEntityRenderingHandler(EntityAtomsGrenade.class, new RenderAtomsGrenade(0.5F));
        }