package net.paladrill.paladrillmod.item; import net.paladrill.paladrillmod.procedure.ProcedurePaladiumHammerBlockDestroyedWithTool; 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.world.World; import net.minecraft.util.math.BlockPos; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemPickaxe; import net.minecraft.item.Item; import net.minecraft.entity.EntityLivingBase; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.block.state.IBlockState; import java.util.Set; import java.util.Map; import java.util.HashMap; @ElementsPaladrillmodMod.ModElement.Tag public class ItemPaladiumHammer extends ElementsPaladrillmodMod.ModElement { @GameRegistry.ObjectHolder("paladrillmod:paladiumhammer") public static final Item block = null; public ItemPaladiumHammer(ElementsPaladrillmodMod instance) { super(instance, 18); } @Override public void initElements() { elements.items.add(() -> new ItemPickaxe(EnumHelper.addToolMaterial("PALADIUMHAMMER", 4, 16000, 4f, 0f, 2)) { { this.attackSpeed = -3.2f; } public Set getToolClasses(ItemStack stack) { HashMap ret = new HashMap(); ret.put("pickaxe", 4); return ret.keySet(); } @Override public boolean onBlockDestroyed(ItemStack itemstack, World world, IBlockState bl, BlockPos pos, EntityLivingBase entity) { boolean retval = super.onBlockDestroyed(itemstack, world, bl, pos, entity); int x = pos.getX(); int y = pos.getY(); int z = pos.getZ(); { Map $_dependencies = new HashMap<>(); $_dependencies.put("entity", entity); $_dependencies.put("x", x); $_dependencies.put("y", y); $_dependencies.put("z", z); $_dependencies.put("world", world); ProcedurePaladiumHammerBlockDestroyedWithTool.executeProcedure($_dependencies); } return retval; } }.setUnlocalizedName("paladiumhammer").setRegistryName("paladiumhammer").setCreativeTab(TabPalaDrillMod.tab)); } @SideOnly(Side.CLIENT) @Override public void registerModels(ModelRegistryEvent event) { ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:paladiumhammer", "inventory")); } }