Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package halestormxv.objects.items;
- import halestormxv.RunicSorcery;
- import halestormxv.init.ItemInit;
- import halestormxv.utility.Reference;
- import halestormxv.utility.interfaces.IHasModel;
- import net.minecraft.entity.player.EntityPlayer;
- import net.minecraft.item.ItemStack;
- import net.minecraft.item.ItemSword;
- import net.minecraft.util.ActionResult;
- import net.minecraft.util.EnumActionResult;
- import net.minecraft.util.EnumFacing;
- import net.minecraft.util.EnumHand;
- import net.minecraft.world.World;
- import net.minecraftforge.common.capabilities.Capability;
- import net.minecraftforge.common.capabilities.CapabilityInject;
- import net.minecraftforge.common.capabilities.ICapabilityProvider;
- import net.minecraftforge.items.IItemHandler;
- import net.minecraftforge.items.ItemStackHandler;
- import javax.annotation.Nonnull;
- import javax.annotation.Nullable;
- public class ItemRuneBlade extends ItemSword implements IHasModel, ICapabilityProvider
- {
- private ItemStackHandler handler;
- @CapabilityInject(IItemHandler.class)
- static Capability<IItemHandler> ITEM_HANDLER_CAPABILITY = null;
- public ItemRuneBlade(String name, ToolMaterial material)
- {
- super(material);
- setUnlocalizedName(name);
- setRegistryName(name);
- setCreativeTab(RunicSorcery.RUNICSORCERY_SPECIAL);
- setMaxStackSize(1);
- this.handler = new ItemStackHandler(4);
- ItemInit.ITEMS.add(this);
- }
- @Override
- public boolean hasCapability(@Nonnull Capability<?> capability, @Nullable EnumFacing facing)
- {
- return true;
- }
- @Override
- public <T> T getCapability(Capability<T> capability, EnumFacing facing)
- {
- return (T)handler;
- }
- @Override
- public void registerModels()
- {
- RunicSorcery.proxy.registerItemRenderer(this, 0 , "inventory");
- }
- @Nonnull
- @Override
- public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, @Nonnull EnumHand hand)
- {
- if (player.isSneaking())
- {
- player.openGui(RunicSorcery.instance, Reference.GUI_RUNE_BLADE, world, hand.ordinal(), -1, -1);
- }
- return ActionResult.newResult(EnumActionResult.SUCCESS, player.getHeldItem(hand));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement