Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package abused_master.JATMA.TE;
- import javax.annotation.Nullable;
- import cofh.api.energy.EnergyStorage;
- import cofh.api.energy.TileEnergyHandler;
- import net.minecraft.entity.player.EntityPlayer;
- import net.minecraft.inventory.ItemStackHelper;
- import net.minecraft.item.ItemStack;
- import net.minecraft.nbt.NBTTagCompound;
- import net.minecraft.tileentity.TileEntity;
- import net.minecraft.util.EnumFacing;
- public class TilePulverizer extends TileEnergyHandler {
- protected EnergyStorage storage = new EnergyStorage(50000);
- private ItemStack[] PulverizerItemStacks = new ItemStack[3];
- private int cookTime;
- private int totalCookTime;
- @Override
- public void readFromNBT(NBTTagCompound nbt) {
- super.readFromNBT(nbt);
- storage.readFromNBT(nbt);
- }
- @Override
- public NBTTagCompound writeToNBT(NBTTagCompound nbt) {
- super.writeToNBT(nbt);
- return storage.writeToNBT(nbt);
- }
- /* IEnergyConnection */
- @Override
- public boolean canConnectEnergy(EnumFacing from) {
- return true;
- }
- /* IEnergyReceiver */
- @Override
- public int receiveEnergy(EnumFacing from, int maxReceive, boolean simulate) {
- return storage.receiveEnergy(maxReceive, simulate);
- }
- /* IEnergyProvider */
- @Override
- public int extractEnergy(EnumFacing from, int maxExtract, boolean simulate) {
- return 0;
- //return storage.extractEnergy(maxExtract, simulate);
- }
- /* IEnergyHandler */
- @Override
- public int getEnergyStored(EnumFacing from) {
- return storage.getEnergyStored();
- }
- @Override
- public int getMaxEnergyStored(EnumFacing from) {
- return storage.getMaxEnergyStored();
- }
- public int getSizeInventory()
- {
- return this.PulverizerItemStacks.length;
- }
- @Nullable
- public ItemStack getStackInSlot(int index)
- {
- return this.PulverizerItemStacks[index];
- }
- /**
- * Removes up to a specified number of items from an inventory slot and returns them in a new stack.
- */
- @Nullable
- public ItemStack decrStackSize(int index, int count)
- {
- return ItemStackHelper.getAndSplit(this.PulverizerItemStacks, index, count);
- }
- /**
- * Removes a stack from the given slot and returns it.
- */
- @Nullable
- public ItemStack removeStackFromSlot(int index)
- {
- return ItemStackHelper.getAndRemove(this.PulverizerItemStacks, index);
- }
- public void setInventorySlotContents(int index, @Nullable ItemStack stack)
- {
- boolean flag = stack != null && stack.isItemEqual(this.PulverizerItemStacks[index]) && ItemStack.areItemStackTagsEqual(stack, this.PulverizerItemStacks[index]);
- this.PulverizerItemStacks[index] = stack;
- if (stack != null && stack.stackSize > this.getInventoryStackLimit())
- {
- stack.stackSize = this.getInventoryStackLimit();
- }
- if (index == 0 && !flag)
- {
- this.totalCookTime = this.getCookTime(stack);
- this.cookTime = 0;
- this.markDirty();
- }
- }
- public int getCookTime(@Nullable ItemStack stack)
- {
- return 200;
- }
- public int getInventoryStackLimit()
- {
- return 64;
- }
- public void openInventory(EntityPlayer player)
- {
- }
- public void closeInventory(EntityPlayer player)
- {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement