import java.io.DataOutputStream;
import java.util.ArrayList;
+import net.minecraft.src.EntityItem;
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 net.minecraft.src.WorldServer;
import chemicraft.inventory.InventoryChemicalCombinationTableMaterial;
import chemicraft.inventory.InventoryChemicalCombinationTableResult;
import chemicraft.system.PacketHandler;
private ArrayList<Integer> atomsAmountList = new ArrayList<Integer>();
private int atomsListSize = 0;
- int t = 0;
+ private ItemStack dropItems;
@Override
public void updateEntity(){
super.updateEntity();
- t++;
- if(t % 5 == 0 && this.worldObj instanceof WorldServer){
- System.out.println(this.atomsListSize);
- System.out.println(this.atomsList);
- System.out.println(this.atomsAmountList);
- }
}
@Override
NBTTagCompound var4 = (NBTTagCompound)var2.tagAt(var3);
int var5 = var4.getByte("Slot") & 255;
- if (var5 >= 0 && var5 < this.invm.getSizeInventory())
+ if (var5 >= 0 && var5 < this.invm.getSizeInventory())
{
this.invm.setInventorySlotContents(var5, ItemStack.loadItemStackFromNBT(var4));
}
NBTTagCompound var7 = (NBTTagCompound)var6.tagAt(var3);
int var8 = var7.getByte("Slot2") & 255;
- if (var8 >= 0 && var8 < this.invr.getSizeInventory())
+ if (var8 >= 0 && var8 < this.invr.getSizeInventory())
{
this.invr.setInventorySlotContents(var8, ItemStack.loadItemStackFromNBT(var7));
}
this.atomsListSize = par1.getInteger("atomsListSize");
for(int i = 0;i < this.atomsListSize;i++){
- this.atomsList.add(par1.getString("atomsList") + i);
+ this.atomsList.add(par1.getString("atomsList" + i));
}
for(int i = 0;i < this.atomsListSize;i++){
- this.atomsAmountList.add(par1.getInteger("atomsAmountList") + i);
+ this.atomsAmountList.add(par1.getInteger("atomsAmountList" + i));
}
}
NBTTagList var2 = new NBTTagList();
for (int var3 = 0; var3 < this.invm.getSizeInventory(); ++var3)
{
- if (this.invm.getStackInSlot(var3) != null)
+ if (this.invm.getStackInSlot(var3) != null)
{
NBTTagCompound var4 = new NBTTagCompound();
var4.setByte("Slot", (byte)var3);
NBTTagList var5 = new NBTTagList();
for (int var6 = 0; var6 < this.invr.getSizeInventory(); ++var6)
{
- if (this.invr.getStackInSlot(var6) != null)
+ if (this.invr.getStackInSlot(var6) != null)
{
NBTTagCompound var7 = new NBTTagCompound();
var7.setByte("Slot2", (byte)var6);
this.atomsList.trimToSize();
this.atomsAmountList.trimToSize();
for(int i = 0;i < this.atomsList.size();i++){
- par1.setString("atoms" + i, this.atomsList.get(i));
+ par1.setString("atomsList" + i, this.atomsList.get(i));
}
for(int i = 0;i < this.atomsAmountList.size();i++){
- par1.setInteger("atomsAmount" + i, this.atomsAmountList.get(i));
+ par1.setInteger("atomsAmountList" + i, this.atomsAmountList.get(i));
}
this.atomsListSize = this.atomsList.size();
par1.setInteger("atomsListSize", this.atomsListSize);
- //System.out.println();
}
@Override
int id = data.readInt();
int size = data.readByte();
int damage = data.readInt();
- if(id != 0 && size != 0){
+ if (id != 0 && size != 0){
this.invm.setInventorySlotContents(i, new ItemStack(id, size, damage));
}else{
this.invm.setInventorySlotContents(i, null);
int id = data.readInt();
int size = data.readByte();
int damage = data.readInt();
- if(id != 0 && size != 0){
+ if (id != 0 && size != 0){
this.invr.setInventorySlotContents(i, new ItemStack(id, size, damage));
}else{
this.invr.setInventorySlotContents(i, null);
for(int i = 0;i < this.atomsListSize;i++){
this.atomsAmountList.add(data.readInt());
}
+
+ ItemStack itemstack = new ItemStack(data.readInt(), data.readByte(), data.readInt());
+ if(itemstack.itemID != 0 && !this.worldObj.isRemote){
+ this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.xCoord, this.yCoord, this.zCoord, itemstack));
+ }
+ this.dropItems = null;
} catch (Exception e) {
e.printStackTrace();
}
int size = 0;
int damage = 0;
ItemStack itemstack = this.invm.getStackInSlot(i);
- if(itemstack != null){
+ if (itemstack != null){
id = itemstack.itemID;
size = itemstack.stackSize;
damage = itemstack.getItemDamage();
int size = 0;
int damage = 0;
ItemStack itemstack = this.invr.getStackInSlot(i);
- if(itemstack != null){
+ if (itemstack != null){
id = itemstack.itemID;
size = itemstack.stackSize;
damage = itemstack.getItemDamage();
for(int i = 0;i < this.atomsAmountList.size();i++){
dos.writeInt(this.atomsAmountList.get(i));
}
+
+ if (this.dropItems != null){
+ int id = this.dropItems.itemID;
+ int size = this.dropItems.stackSize;
+ int damage = this.dropItems.getItemDamage();
+ dos.writeInt(id);
+ dos.writeByte(size);
+ dos.writeInt(damage);
+ }else{
+ dos.writeInt(0);
+ dos.writeByte(0);
+ dos.writeInt(0);
+ }
+ this.dropItems = null;
} catch (Exception e) {
e.printStackTrace();
}
@SideOnly(Side.CLIENT)
public void setAtoms(String par1, int par2){
- if(this.atomsList.indexOf(par1) != -1){
+ if (this.atomsList.indexOf(par1) != -1){
int var1 = this.atomsList.indexOf(par1);
this.atomsAmountList.set(var1, this.atomsAmountList.get(var1) + par2);
}else{
PacketDispatcher.sendPacketToServer(this.getDescriptionPacket());
}
+ public void setDropItems(ItemStack par1ItemStack){
+ this.dropItems = par1ItemStack;
+ }
+
public String getAtoms(){
StringBuffer var1 = new StringBuffer();
for(int i = 0;i < this.atomsList.size();i++){
- if(this.atomsAmountList.get(i) != 1){
+ if (this.atomsAmountList.get(i) != 1){
var1.append(this.atomsList.get(i) + this.atomsAmountList.get(i));
}else{
var1.append(this.atomsList.get(i));
return this.atomsAmountList;
}
- @SuppressWarnings("unused")
+ public void emptytoAtomsList(){
+ this.atomsList.clear();
+ this.atomsAmountList.clear();
+ }
+
protected boolean isNumber(String par1){
try {
int var1 = Integer.valueOf(new String(par1));