public void addContents(int index, ItemStack is) { if (storage[index] == null) { storage[index] = is; if (charcoalFirepit != null) if (charcoalFirepit.isInactiveCharcoalFirepit()) charcoalFirepit.logPileUpdate(is.stackSize); else setCharcoalFirepit(null); } }
public void injectContents(int index, int count) { if (storage[index] != null) { if (charcoalFirepit != null) if (charcoalFirepit.isInactiveCharcoalFirepit()) charcoalFirepit.logPileUpdate(count); else setCharcoalFirepit(null); storage[index] = new ItemStack( storage[index].getItem(), storage[index].stackSize + count, storage[index].getItemDamage()); } }
@Override public void updateEntity() { TFC_Core.handleItemTicking(this, worldObj, xCoord, yCoord, zCoord); if (charcoalFirepit != null && !charcoalFirepit.isInactiveCharcoalFirepit()) { --fireTimer; if (fireTimer == 0) { if (blocksToBeSetOnFire.size() > 0) setOnFire(blocksToBeSetOnFire); fireTimer = 100; } } }
@Override public ItemStack decrStackSize(int i, int j) { if (storage[i] != null) { if (storage[i].stackSize <= j) { ItemStack itemstack = storage[i]; storage[i] = null; if (charcoalFirepit != null) if (charcoalFirepit.isInactiveCharcoalFirepit()) charcoalFirepit.logPileUpdate(-j); else setCharcoalFirepit(null); return itemstack; } ItemStack itemstack1 = storage[i].splitStack(j); if (storage[i].stackSize == 0) storage[i] = null; if (charcoalFirepit != null) if (charcoalFirepit.isInactiveCharcoalFirepit()) charcoalFirepit.logPileUpdate(-j); else setCharcoalFirepit(null); return itemstack1; } else return null; }
public void ejectContents() { float f3 = 0.05F; EntityItem entityitem; Random rand = new Random(); float f = rand.nextFloat() * 0.8F + 0.1F; float f1 = rand.nextFloat() * 2.0F + 0.4F; float f2 = rand.nextFloat() * 0.8F + 0.1F; if (charcoalFirepit != null) if (charcoalFirepit.isInactiveCharcoalFirepit()) charcoalFirepit.logPileUpdate(-getNumberOfLogs()); else setCharcoalFirepit(null); for (int i = 0; i < getSizeInventory(); i++) if (storage[i] != null) { entityitem = new EntityItem(worldObj, xCoord + f, yCoord + f1, zCoord + f2, storage[i]); entityitem.motionX = (float) rand.nextGaussian() * f3; entityitem.motionY = (float) rand.nextGaussian() * f3 + 0.2F; entityitem.motionZ = (float) rand.nextGaussian() * f3; worldObj.spawnEntityInWorld(entityitem); } extinguishFire(); }
public void neighborChanged() { if (charcoalFirepit != null) if (!charcoalFirepit.isInactiveCharcoalFirepit()) { blocksToBeSetOnFire = new ArrayDeque<Vector3f>(); if (worldObj.getBlockId(xCoord + 1, yCoord, zCoord) == 0) blocksToBeSetOnFire.add(new Vector3f(xCoord + 1, yCoord, zCoord)); if (worldObj.getBlockId(xCoord - 1, yCoord, zCoord) == 0) blocksToBeSetOnFire.add(new Vector3f(xCoord - 1, yCoord, zCoord)); if (worldObj.getBlockId(xCoord, yCoord, zCoord + 1) == 0) blocksToBeSetOnFire.add(new Vector3f(xCoord, yCoord, zCoord + 1)); if (worldObj.getBlockId(xCoord, yCoord, zCoord - 1) == 0) blocksToBeSetOnFire.add(new Vector3f(xCoord, yCoord, zCoord - 1)); if (worldObj.getBlockId(xCoord, yCoord + 1, zCoord) == 0) blocksToBeSetOnFire.add(new Vector3f(xCoord, yCoord + 1, zCoord)); if (worldObj.getBlockId(xCoord, yCoord - 1, zCoord) == 0) blocksToBeSetOnFire.add(new Vector3f(xCoord, yCoord - 1, zCoord)); } else { setCharcoalFirepit(null); extinguishFire(); blocksToBeSetOnFire = null; } }