package net.paladrill.paladrillmod.item; import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod; import net.paladrill.paladrillmod.ElementsPaladrillmodMod; import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.common.util.EnumHelper; import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.client.event.ModelRegistryEvent; import net.minecraft.item.ItemTool; import net.minecraft.item.ItemStack; import net.minecraft.item.Item; import net.minecraft.init.Blocks; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.block.state.IBlockState; import net.minecraft.block.material.Material; import net.minecraft.block.Block; import java.util.Set; @ElementsPaladrillmodMod.ModElement.Tag public class ItemKisakayAxe extends ElementsPaladrillmodMod.ModElement { @GameRegistry.ObjectHolder("paladrillmod:kisakayaxe") public static final Item block = null; public ItemKisakayAxe(ElementsPaladrillmodMod instance) { super(instance, 287); } @Override public void initElements() { elements.items.add(() -> new ItemToolCustom() { }.setUnlocalizedName("kisakayaxe").setRegistryName("kisakayaxe").setCreativeTab(TabPalaDrillMod.tab)); } @SideOnly(Side.CLIENT) @Override public void registerModels(ModelRegistryEvent event) { ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:kisakayaxe", "inventory")); } private static class ItemToolCustom extends ItemTool { private static final Set effective_items_set = com.google.common.collect.Sets .newHashSet(new Block[]{Blocks.PLANKS, Blocks.BOOKSHELF, Blocks.LOG, Blocks.LOG2, Blocks.CHEST, Blocks.PUMPKIN, Blocks.LIT_PUMPKIN, Blocks.MELON_BLOCK, Blocks.LADDER, Blocks.WOODEN_BUTTON, Blocks.WOODEN_PRESSURE_PLATE}); protected ItemToolCustom() { super(EnumHelper.addToolMaterial("KISAKAYAXE", 9, 1927, 14f, 22f, 60), effective_items_set); this.attackDamage = 22f; this.attackSpeed = -3f; } @Override public float getDestroySpeed(ItemStack stack, IBlockState state) { Material material = state.getMaterial(); return material != Material.WOOD && material != Material.PLANTS && material != Material.VINE ? super.getDestroySpeed(stack, state) : this.efficiency; } } }