Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.crimsondawn45.survivalplus.items.tools;
- import javax.annotation.Nullable;
- import com.crimsondawn45.survivalplus.SurvivalPlus;
- import com.crimsondawn45.survivalplus.init.ModBlocks;
- import com.crimsondawn45.survivalplus.init.ModItems;
- import com.crimsondawn45.survivalplus.util.IHasModel;
- import net.minecraft.block.BlockDispenser;
- import net.minecraft.creativetab.CreativeTabs;
- import net.minecraft.entity.EntityLivingBase;
- import net.minecraft.entity.player.EntityPlayer;
- import net.minecraft.init.Blocks;
- import net.minecraft.init.Items;
- import net.minecraft.item.EnumAction;
- import net.minecraft.item.IItemPropertyGetter;
- import net.minecraft.item.Item;
- import net.minecraft.item.ItemArmor;
- import net.minecraft.item.ItemStack;
- import net.minecraft.item.Item.ToolMaterial;
- import net.minecraft.util.ActionResult;
- import net.minecraft.util.EnumActionResult;
- import net.minecraft.util.EnumHand;
- import net.minecraft.util.ResourceLocation;
- import net.minecraft.world.World;
- import net.minecraftforge.fml.relauncher.Side;
- import net.minecraftforge.fml.relauncher.SideOnly;
- public class ToolShield extends Item implements IHasModel{
- public ToolShield(String name, int durability) {
- //Registry Stuff
- setUnlocalizedName(name);
- setRegistryName(name);
- setCreativeTab(SurvivalPlus.SURVIVAL_TAB);
- //Special Stuff
- setMaxStackSize(1);
- setMaxDamage(durability);
- //Make Blocking Possible
- this.addPropertyOverride(new ResourceLocation("blocking"), new IItemPropertyGetter()
- {
- @SideOnly(Side.CLIENT)
- public float apply(ItemStack stack, @Nullable World worldIn, @Nullable EntityLivingBase entityIn)
- {
- return entityIn != null && entityIn.isHandActive() && entityIn.getActiveItemStack() == stack ? 1.0F : 0.0F;
- }
- });
- //Dispenser Behavior
- BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(this, ItemArmor.DISPENSER_BEHAVIOR);
- //Add To Item List
- ModItems.ITEMS.add(this);
- }
- //Blocking
- public EnumAction getItemUseAction(ItemStack stack)
- {
- return EnumAction.BLOCK;
- }
- //Max Block Time
- public int getMaxItemUseDuration(ItemStack stack)
- {
- return 72000;
- }
- //Right Click Equip
- public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn)
- {
- ItemStack itemstack = playerIn.getHeldItem(handIn);
- playerIn.setActiveHand(handIn);
- return new ActionResult<ItemStack>(EnumActionResult.SUCCESS, itemstack);
- }
- //Is Shield
- public boolean isShield(ItemStack stack, @Nullable EntityLivingBase entity)
- {
- return stack.getItem() == this;
- }
- //Is Repairable
- public boolean getIsRepairable(ItemStack toRepair, ItemStack repair)
- {
- return repair.getItem() == Item.getItemFromBlock(ModBlocks.SCRAP_WOOD_PLANKS) ? true : super.getIsRepairable(toRepair, repair);
- }
- //Register Model
- @Override
- public void registerModels() {
- SurvivalPlus.proxy.registerItemRenderer(this, 0, "inventory");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement