Advertisement
Guest User

Untitled

a guest
Feb 1st, 2021
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. package com.nick.humlands.util;
  2.  
  3. import net.minecraft.item.ItemStack;
  4. import net.minecraft.item.Items;
  5. import net.minecraft.util.NonNullList;
  6. import net.minecraftforge.items.ItemStackHandler;
  7.  
  8. public class SculptorItemHandler extends ItemStackHandler{
  9.  
  10. public SculptorItemHandler(int size, ItemStack... stacks) {
  11. super(size);
  12.  
  13. for (int index = 0; index < stacks.length; index++) {
  14. this.stacks.set(index, stacks[index]);
  15. }
  16. }
  17.  
  18. public void clear() {
  19. for (int index = 0; index < this.getSlots(); index++) {
  20. this.stacks.set(index, ItemStack.EMPTY);
  21. this.onContentsChanged(index);
  22. }
  23. }
  24.  
  25. public boolean isEmpty() {
  26. for (ItemStack stack : this.stacks) {
  27. if (stack.isEmpty() || stack.getItem() == Items.AIR) {
  28. return true;
  29. }
  30. }
  31. return false;
  32. }
  33.  
  34. public ItemStack decrStackSize(int index, int count) {
  35. ItemStack stack = getStackInSlot(index);
  36. stack.shrink(count);
  37. this.onContentsChanged(index);
  38. return stack;
  39. }
  40.  
  41. public void removeStackFromSlot(int index) {
  42. this.stacks.set(index, ItemStack.EMPTY);
  43. this.onContentsChanged(index);
  44. }
  45.  
  46. public NonNullList<ItemStack> toNonNullList() {
  47. NonNullList<ItemStack> items = NonNullList.create();
  48. for (ItemStack stack : this.stacks) {
  49. items.add(stack);
  50. }
  51. return items;
  52. }
  53.  
  54. public void setNonNullList(NonNullList<ItemStack> items) {
  55. if (items.size() == 0)
  56. return;
  57. if (items.size() != this.getSlots())
  58. throw new IndexOutOfBoundsException("NonNullList must be same size as ItemStackHandler!");
  59. for (int index = 0; index < items.size(); index++) {
  60. this.stacks.set(index, items.get(index));
  61. }
  62. }
  63.  
  64. @Override
  65. public String toString() {
  66. return this.stacks.toString();
  67. }
  68. }
  69.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement