Advertisement
HalestormXV

Untitled

Mar 21st, 2018
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.26 KB | None | 0 0
  1. package halestormxv.objects.items;
  2.  
  3. import halestormxv.RunicSorcery;
  4. import halestormxv.init.ItemInit;
  5. import halestormxv.utility.Reference;
  6. import halestormxv.utility.interfaces.IHasModel;
  7. import net.minecraft.entity.player.EntityPlayer;
  8. import net.minecraft.item.ItemStack;
  9. import net.minecraft.item.ItemSword;
  10. import net.minecraft.util.ActionResult;
  11. import net.minecraft.util.EnumActionResult;
  12. import net.minecraft.util.EnumFacing;
  13. import net.minecraft.util.EnumHand;
  14. import net.minecraft.world.World;
  15. import net.minecraftforge.common.capabilities.Capability;
  16. import net.minecraftforge.common.capabilities.CapabilityInject;
  17. import net.minecraftforge.common.capabilities.ICapabilityProvider;
  18. import net.minecraftforge.items.IItemHandler;
  19. import net.minecraftforge.items.ItemStackHandler;
  20.  
  21. import javax.annotation.Nonnull;
  22. import javax.annotation.Nullable;
  23.  
  24. public class ItemRuneBlade extends ItemSword implements IHasModel, ICapabilityProvider
  25. {
  26.     private ItemStackHandler handler;
  27.     @CapabilityInject(IItemHandler.class)
  28.     static Capability<IItemHandler> ITEM_HANDLER_CAPABILITY = null;
  29.  
  30.     public ItemRuneBlade(String name, ToolMaterial material)
  31.     {
  32.         super(material);
  33.         setUnlocalizedName(name);
  34.         setRegistryName(name);
  35.         setCreativeTab(RunicSorcery.RUNICSORCERY_SPECIAL);
  36.         setMaxStackSize(1);
  37.         this.handler = new ItemStackHandler(4);
  38.         ItemInit.ITEMS.add(this);
  39.     }
  40.  
  41.     @Override
  42.     public boolean hasCapability(@Nonnull Capability<?> capability, @Nullable EnumFacing facing)
  43.     {
  44.         return true;
  45.     }
  46.  
  47.     @Override
  48.     public <T> T getCapability(Capability<T> capability, EnumFacing facing)
  49.     {
  50.         return (T)handler;
  51.     }
  52.  
  53.     @Override
  54.     public void registerModels()
  55.     {
  56.         RunicSorcery.proxy.registerItemRenderer(this, 0 , "inventory");
  57.     }
  58.  
  59.     @Nonnull
  60.     @Override
  61.     public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, @Nonnull EnumHand hand)
  62.     {
  63.         if (player.isSneaking())
  64.         {
  65.             player.openGui(RunicSorcery.instance, Reference.GUI_RUNE_BLADE, world, hand.ordinal(), -1, -1);
  66.         }
  67.  
  68.         return ActionResult.newResult(EnumActionResult.SUCCESS, player.getHeldItem(hand));
  69.     }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement