Merge pull request #635 from Dynious/CalcinatorSuck
Added sucking in items ontop of calcinator.
This commit is contained in:
commit
933d5eb1b3
1 changed files with 28 additions and 0 deletions
|
@ -6,6 +6,7 @@ import com.pahimar.ee3.network.packet.PacketTileCalcinator;
|
||||||
import com.pahimar.ee3.recipe.CalcinationManager;
|
import com.pahimar.ee3.recipe.CalcinationManager;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
import net.minecraft.entity.item.EntityItem;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.inventory.IInventory;
|
import net.minecraft.inventory.IInventory;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
@ -13,6 +14,7 @@ import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.nbt.NBTTagList;
|
import net.minecraft.nbt.NBTTagList;
|
||||||
import net.minecraft.network.packet.Packet;
|
import net.minecraft.network.packet.Packet;
|
||||||
import net.minecraft.tileentity.TileEntityFurnace;
|
import net.minecraft.tileentity.TileEntityFurnace;
|
||||||
|
import net.minecraft.tileentity.TileEntityHopper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Equivalent-Exchange-3
|
* Equivalent-Exchange-3
|
||||||
|
@ -41,6 +43,8 @@ public class TileCalcinator extends TileEE implements IInventory
|
||||||
|
|
||||||
public byte leftStackSize, leftStackMeta, rightStackSize, rightStackMeta;
|
public byte leftStackSize, leftStackMeta, rightStackSize, rightStackMeta;
|
||||||
|
|
||||||
|
public int itemSuckCooldown = 0;
|
||||||
|
|
||||||
public TileCalcinator()
|
public TileCalcinator()
|
||||||
{
|
{
|
||||||
inventory = new ItemStack[INVENTORY_SIZE];
|
inventory = new ItemStack[INVENTORY_SIZE];
|
||||||
|
@ -294,6 +298,20 @@ public class TileCalcinator extends TileEE implements IInventory
|
||||||
{
|
{
|
||||||
sendUpdate = true;
|
sendUpdate = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Item sucking
|
||||||
|
if (this.itemSuckCooldown > 0)
|
||||||
|
{
|
||||||
|
itemSuckCooldown--;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (suckItemsIntoCalcinator(this))
|
||||||
|
{
|
||||||
|
onInventoryChanged();
|
||||||
|
}
|
||||||
|
itemSuckCooldown = 2;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sendUpdate)
|
if (sendUpdate)
|
||||||
|
@ -422,6 +440,16 @@ public class TileCalcinator extends TileEE implements IInventory
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sucks one item into the given hopper from an inventory or EntityItem above it.
|
||||||
|
*/
|
||||||
|
public static boolean suckItemsIntoCalcinator(TileCalcinator calcinator)
|
||||||
|
{
|
||||||
|
EntityItem entityitem = TileEntityHopper.getEntityAbove(calcinator.getWorldObj(), calcinator.xCoord, calcinator.yCoord + 1.0D, calcinator.zCoord);
|
||||||
|
|
||||||
|
return entityitem != null && TileEntityHopper.insertStackFromEntity(calcinator, entityitem);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Packet getDescriptionPacket()
|
public Packet getDescriptionPacket()
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue