Advertisement
Guest User

Untitled

a guest
Oct 20th, 2016
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.36 KB | None | 0 0
  1. package abused_master.JATMA.TE;
  2.  
  3. import javax.annotation.Nullable;
  4.  
  5. import cofh.api.energy.EnergyStorage;
  6. import cofh.api.energy.TileEnergyHandler;
  7. import net.minecraft.entity.player.EntityPlayer;
  8. import net.minecraft.inventory.ItemStackHelper;
  9. import net.minecraft.item.ItemStack;
  10. import net.minecraft.nbt.NBTTagCompound;
  11. import net.minecraft.tileentity.TileEntity;
  12. import net.minecraft.util.EnumFacing;
  13.  
  14. public class TilePulverizer extends TileEnergyHandler {
  15.  
  16. protected EnergyStorage storage = new EnergyStorage(50000);
  17.  
  18. private ItemStack[] PulverizerItemStacks = new ItemStack[3];
  19. private int cookTime;
  20. private int totalCookTime;
  21.  
  22. @Override
  23. public void readFromNBT(NBTTagCompound nbt) {
  24.  
  25. super.readFromNBT(nbt);
  26. storage.readFromNBT(nbt);
  27. }
  28.  
  29. @Override
  30. public NBTTagCompound writeToNBT(NBTTagCompound nbt) {
  31.  
  32. super.writeToNBT(nbt);
  33. return storage.writeToNBT(nbt);
  34. }
  35.  
  36. /* IEnergyConnection */
  37. @Override
  38. public boolean canConnectEnergy(EnumFacing from) {
  39.  
  40. return true;
  41. }
  42.  
  43. /* IEnergyReceiver */
  44. @Override
  45. public int receiveEnergy(EnumFacing from, int maxReceive, boolean simulate) {
  46.  
  47. return storage.receiveEnergy(maxReceive, simulate);
  48. }
  49.  
  50. /* IEnergyProvider */
  51. @Override
  52. public int extractEnergy(EnumFacing from, int maxExtract, boolean simulate) {
  53. return 0;
  54. //return storage.extractEnergy(maxExtract, simulate);
  55. }
  56.  
  57. /* IEnergyHandler */
  58. @Override
  59. public int getEnergyStored(EnumFacing from) {
  60.  
  61. return storage.getEnergyStored();
  62. }
  63.  
  64. @Override
  65. public int getMaxEnergyStored(EnumFacing from) {
  66.  
  67. return storage.getMaxEnergyStored();
  68. }
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77. public int getSizeInventory()
  78. {
  79. return this.PulverizerItemStacks.length;
  80. }
  81.  
  82. @Nullable
  83. public ItemStack getStackInSlot(int index)
  84. {
  85. return this.PulverizerItemStacks[index];
  86. }
  87.  
  88. /**
  89. * Removes up to a specified number of items from an inventory slot and returns them in a new stack.
  90. */
  91. @Nullable
  92. public ItemStack decrStackSize(int index, int count)
  93. {
  94. return ItemStackHelper.getAndSplit(this.PulverizerItemStacks, index, count);
  95. }
  96.  
  97. /**
  98. * Removes a stack from the given slot and returns it.
  99. */
  100. @Nullable
  101. public ItemStack removeStackFromSlot(int index)
  102. {
  103. return ItemStackHelper.getAndRemove(this.PulverizerItemStacks, index);
  104. }
  105.  
  106. public void setInventorySlotContents(int index, @Nullable ItemStack stack)
  107. {
  108. boolean flag = stack != null && stack.isItemEqual(this.PulverizerItemStacks[index]) && ItemStack.areItemStackTagsEqual(stack, this.PulverizerItemStacks[index]);
  109. this.PulverizerItemStacks[index] = stack;
  110.  
  111. if (stack != null && stack.stackSize > this.getInventoryStackLimit())
  112. {
  113. stack.stackSize = this.getInventoryStackLimit();
  114. }
  115.  
  116. if (index == 0 && !flag)
  117. {
  118. this.totalCookTime = this.getCookTime(stack);
  119. this.cookTime = 0;
  120. this.markDirty();
  121. }
  122. }
  123.  
  124. public int getCookTime(@Nullable ItemStack stack)
  125. {
  126. return 200;
  127. }
  128.  
  129. public int getInventoryStackLimit()
  130. {
  131. return 64;
  132. }
  133.  
  134. public void openInventory(EntityPlayer player)
  135. {
  136. }
  137.  
  138. public void closeInventory(EntityPlayer player)
  139. {
  140. }
  141.  
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement