import java.io.DataOutputStream;
-import net.minecraft.src.IInventory;
+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.InventoryChemicalCombination;
-import chemicraft.system.PacketHandler;
-
-import com.google.common.io.ByteArrayDataInput;
public class TileEntityChemicalCombinationTable extends TileEntity {
- /**
- * DecompositionのInventory
- */
- public IInventory chemicalCombinationInv = new InventoryChemicalCombination();
-
-
- public TileEntityChemicalCombinationTable() {
- super();
- }
-
- @Override
- public void updateEntity() {
- super.updateEntity();
- }
+ private InventoryChemicalCombinationTableMaterial invm = new InventoryChemicalCombinationTableMaterial();
+ private InventoryChemicalCombinationTableResult invr = new InventoryChemicalCombinationTableResult();
+ private String atomsList = "";
@Override
- public void readFromNBT(NBTTagCompound par1) {
+ public void readFromNBT(NBTTagCompound par1){
super.readFromNBT(par1);
-
NBTTagList var2 = par1.getTagList("Items");
for (int var3 = 0; var3 < var2.tagCount(); ++var3)
{
NBTTagCompound var4 = (NBTTagCompound)var2.tagAt(var3);
int var5 = var4.getByte("Slot") & 255;
- if (var5 >= 0 && var5 < this.chemicalCombinationInv.getSizeInventory())
+ if (var5 >= 0 && var5 < this.invm.getSizeInventory())
{
- this.chemicalCombinationInv.setInventorySlotContents(var5, ItemStack.loadItemStackFromNBT(var4));
+ this.invm.setInventorySlotContents(var5, ItemStack.loadItemStackFromNBT(var4));
}
}
+
+ NBTTagList var6 = par1.getTagList("Items2");
+ for (int var3 = 0; var3 < var6.tagCount(); ++var3)
+ {
+ NBTTagCompound var7 = (NBTTagCompound)var6.tagAt(var3);
+ int var8 = var7.getByte("Slot2") & 255;
+
+ if (var8 >= 0 && var8 < this.invr.getSizeInventory())
+ {
+ this.invr.setInventorySlotContents(var8, ItemStack.loadItemStackFromNBT(var7));
+ }
+ }
+
+ this.atomsList = par1.getString("AtomsList");
}
+ @Override
+ public Packet getDescriptionPacket() {
+ return PacketHandler.getPacket(this);
+ }
@Override
- public void writeToNBT(NBTTagCompound par1) {
+ public void writeToNBT(NBTTagCompound par1){
super.writeToNBT(par1);
-
NBTTagList var2 = new NBTTagList();
- for (int var3 = 0; var3 < this.chemicalCombinationInv.getSizeInventory(); ++var3)
+ for (int var3 = 0; var3 < this.invm.getSizeInventory(); ++var3)
{
- if (this.chemicalCombinationInv.getStackInSlot(var3) != null)
+ if (this.invm.getStackInSlot(var3) != null)
{
NBTTagCompound var4 = new NBTTagCompound();
var4.setByte("Slot", (byte)var3);
- this.chemicalCombinationInv.getStackInSlot(var3).writeToNBT(var4);
+ this.invm.getStackInSlot(var3).writeToNBT(var4);
var2.appendTag(var4);
}
}
par1.setTag("Items", var2);
- }
-
-
- public InventoryChemicalCombination getInventorys(){
- return (InventoryChemicalCombination) this.chemicalCombinationInv;
- }
+ NBTTagList var5 = new NBTTagList();
+ for (int var6 = 0; var6 < this.invr.getSizeInventory(); ++var6)
+ {
+ if (this.invr.getStackInSlot(var6) != null)
+ {
+ NBTTagCompound var7 = new NBTTagCompound();
+ var7.setByte("Slot2", (byte)var6);
+ this.invr.getStackInSlot(var6).writeToNBT(var7);
+ var5.appendTag(var7);
+ }
+ }
+ par1.setTag("Items2", var5);
- @Override
- public Packet getDescriptionPacket() {
- return PacketHandler.getPacket(this);
+ par1.setString("AtomsList", this.atomsList);
}
-
public void readPacket(ByteArrayDataInput data) {
try {
+ for(int i = 0;i < this.invm.getSizeInventory();i++){
+ int id = data.readInt();
+ int size = data.readByte();
+ int damage = data.readInt();
+ if(id != 0 && size != 0){
+ this.invm.setInventorySlotContents(i, new ItemStack(id, size, damage));
+ }else{
+ this.invm.setInventorySlotContents(i, null);
+ }
+ }
+
+ for(int i = 0;i < this.invr.getSizeInventory();i++){
+ int id = data.readInt();
+ int size = data.readByte();
+ int damage = data.readInt();
+ if(id != 0 && size != 0){
+ this.invr.setInventorySlotContents(i, new ItemStack(id, size, damage));
+ }else{
+ 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++){
+ int id = 0;
+ int size = 0;
+ int damage = 0;
+ ItemStack itemstack = this.invm.getStackInSlot(i);
+ if(itemstack != null){
+ id = itemstack.itemID;
+ size = itemstack.stackSize;
+ damage = itemstack.getItemDamage();
+ dos.writeInt(id);
+ dos.writeByte(size);
+ dos.writeInt(damage);
+ }else{
+ dos.writeInt(0);
+ dos.writeByte(0);
+ dos.writeInt(0);
+ }
+ }
+
+ for(int i = 0;i < this.invr.getSizeInventory();i++){
+ int id = 0;
+ int size = 0;
+ int damage = 0;
+ ItemStack itemstack = this.invr.getStackInSlot(i);
+ if(itemstack != null){
+ id = itemstack.itemID;
+ size = itemstack.stackSize;
+ damage = itemstack.getItemDamage();
+ dos.writeInt(id);
+ dos.writeByte(size);
+ dos.writeInt(damage);
+ }else{
+ dos.writeInt(0);
+ dos.writeByte(0);
+ dos.writeInt(0);
+ }
+ }
} catch (Exception e) {
e.printStackTrace();
}
}
+ public void setAtoms(String par1){
+ this.atomsList = this.atomsList + par1;
+ }
+
+ public InventoryChemicalCombinationTableMaterial getInvMaterial(){
+ return this.invm;
+ }
+
+ public InventoryChemicalCombinationTableResult getInvResult(){
+ return this.invr;
+ }
+
}