OSDN Git Service

とりあえずコミット
[chemicraft/chemicraft.git] / common / chemicraft / tileentity / TileEntityChemicalCombinationTable.java
index 01235d4..9f80cff 100644 (file)
@@ -1,24 +1,27 @@
 package chemicraft.tileentity;
 
 import java.io.DataOutputStream;
+import java.util.ArrayList;
 
-import com.google.common.io.ByteArrayDataInput;
-
-import chemicraft.inventory.InventoryChemicalCombinationTableMaterial;
-import chemicraft.inventory.InventoryChemicalCombinationTableResult;
-import chemicraft.system.PacketHandler;
 import net.minecraft.src.ItemStack;
 import net.minecraft.src.NBTTagCompound;
 import net.minecraft.src.NBTTagList;
 import net.minecraft.src.Packet;
 import net.minecraft.src.TileEntity;
+import chemicraft.inventory.InventoryChemicalCombinationTableMaterial;
+import chemicraft.inventory.InventoryChemicalCombinationTableResult;
+import chemicraft.system.PacketHandler;
+
+import com.google.common.io.ByteArrayDataInput;
 
 public class TileEntityChemicalCombinationTable extends TileEntity {
 
        private InventoryChemicalCombinationTableMaterial invm = new InventoryChemicalCombinationTableMaterial();
        private InventoryChemicalCombinationTableResult invr = new InventoryChemicalCombinationTableResult();
 
-       private String atomsList = "";
+       private ArrayList<String> atomsList = new ArrayList<String>();
+       private ArrayList<Integer> atomsAmountList = new ArrayList<Integer>();
+       private int atomsListSize = 0;
 
        @Override
        public void readFromNBT(NBTTagCompound par1){
@@ -47,12 +50,15 @@ public class TileEntityChemicalCombinationTable extends TileEntity {
                        }
                }
 
-               this.atomsList = par1.getString("AtomsList");
-       }
+               this.atomsListSize = par1.getInteger("atomsListSize");
 
-       @Override
-       public Packet getDescriptionPacket() {
-               return PacketHandler.getPacket(this);
+               for(int i = 0;i < this.atomsListSize;i++){
+                       this.atomsList.add(par1.getString("atomsList") + i);
+               }
+
+               for(int i = 0;i < this.atomsListSize;i++){
+                       this.atomsAmountList.add(par1.getInteger("atomsAmountList") + i);
+               }
        }
 
        @Override
@@ -84,7 +90,23 @@ public class TileEntityChemicalCombinationTable extends TileEntity {
                }
                par1.setTag("Items2", var5);
 
-               par1.setString("AtomsList", this.atomsList);
+               this.atomsList.trimToSize();
+               this.atomsAmountList.trimToSize();
+               for(int i = 0;i < this.atomsList.size();i++){
+                       par1.setString("atoms" + i, this.atomsList.get(i));
+               }
+               for(int i = 0;i < this.atomsAmountList.size();i++){
+                       par1.setInteger("atomsAmount" + i, this.atomsAmountList.get(i));
+               }
+
+               this.atomsListSize = this.atomsList.size();
+               par1.setInteger("atomsListSize", this.atomsListSize);
+
+       }
+
+       @Override
+       public Packet getDescriptionPacket() {
+               return PacketHandler.getPacket(this);
        }
 
        public void readPacket(ByteArrayDataInput data) {
@@ -110,12 +132,12 @@ public class TileEntityChemicalCombinationTable extends TileEntity {
                                        this.invr.setInventorySlotContents(i, null);
                                }
                        }
+
                } catch (Exception e) {
                        e.printStackTrace();
                }
        }
 
-
        public void writePacket(DataOutputStream dos){
                try {
                        for(int i = 0;i < this.invm.getSizeInventory();i++){
@@ -155,13 +177,35 @@ public class TileEntityChemicalCombinationTable extends TileEntity {
                                        dos.writeInt(0);
                                }
                        }
+
                } catch (Exception e) {
                        e.printStackTrace();
                }
        }
 
        public void setAtoms(String par1){
-               this.atomsList = this.atomsList + par1;
+
+       }
+
+       public String getAtoms(){
+               return this.atomsList;
+       }
+
+       public ArrayList<String> getAtomsList(){
+               return this.atomsList;
+       }
+
+       public ArrayList<Integer> getAtomsAmountList(){
+               return this.atomsAmountList;
+       }
+
+       protected boolean isNumber(String par1){
+               try {
+                       int var1 = Integer.valueOf(new String(par1));
+               } catch (Exception e) {
+                       return false;
+               }
+               return true;
        }
 
        public InventoryChemicalCombinationTableMaterial getInvMaterial(){