Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2019
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. package com.soravoid.sparkon.capabilities;
  2.  
  3. import com.soravoid.sparkon.lists.SparkItems;
  4. import net.minecraft.item.ItemStack;
  5. import net.minecraft.nbt.CompoundNBT;
  6. import net.minecraft.util.Direction;
  7. import net.minecraftforge.common.capabilities.Capability;
  8. import net.minecraftforge.common.capabilities.CapabilityInject;
  9. import net.minecraftforge.common.capabilities.ICapabilitySerializable;
  10. import net.minecraftforge.common.util.LazyOptional;
  11. import net.minecraftforge.items.IItemHandler;
  12. import net.minecraftforge.items.IItemHandlerModifiable;
  13. import net.minecraftforge.items.ItemStackHandler;
  14.  
  15. import javax.annotation.Nonnull;
  16. import javax.annotation.Nullable;
  17.  
  18. public class CapabilityAligner extends ItemStackHandler implements ICapabilitySerializable<CompoundNBT>, IItemHandler, IItemHandlerModifiable
  19. {
  20.  
  21. @CapabilityInject(CapabilityAligner.class)
  22. public static Capability<CapabilityAligner> ALIGNER = null;
  23.  
  24. public CapabilityAligner() { super(1); }
  25.  
  26. @Nonnull
  27. @Override
  28. public <T> LazyOptional<T> getCapability(@Nonnull Capability<T> cap, @Nullable Direction side)
  29. {
  30. return ALIGNER.orEmpty(cap, LazyOptional.of(() -> this));
  31. }
  32.  
  33. @Override
  34. public boolean isItemValid(int slot, @Nonnull ItemStack stack) { return stack.getItem() == SparkItems.WAVE_MANIPULATOR_ALIGNER || stack.getItem() == SparkItems.WAVE_CASTER_ALIGNER || stack.getItem() == SparkItems.STRONG_WILLED_ALIGNER || stack.getItem() == SparkItems.ADAPTIVE_ALIGNER; }
  35.  
  36. @Override
  37. public int getSlotLimit(int slot) { return 1; }
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement