package net.paladrill.paladrillmod.item; import net.paladrill.paladrillmod.procedure.ProcedureStickOfGodRightClickedInAir; 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.client.model.ModelLoader; import net.minecraftforge.client.event.ModelRegistryEvent; import net.minecraft.world.World; import net.minecraft.util.EnumHand; import net.minecraft.util.ActionResult; import net.minecraft.item.ItemStack; import net.minecraft.item.Item; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.block.state.IBlockState; import java.util.Map; import java.util.HashMap; @ElementsPaladrillmodMod.ModElement.Tag public class ItemStickOfGod extends ElementsPaladrillmodMod.ModElement { @GameRegistry.ObjectHolder("paladrillmod:stickofgod") public static final Item block = null; public ItemStickOfGod(ElementsPaladrillmodMod instance) { super(instance, 71); } @Override public void initElements() { elements.items.add(() -> new ItemCustom()); } @SideOnly(Side.CLIENT) @Override public void registerModels(ModelRegistryEvent event) { ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("paladrillmod:stickofgod", "inventory")); } public static class ItemCustom extends Item { public ItemCustom() { setMaxDamage(8); maxStackSize = 1; setUnlocalizedName("stickofgod"); setRegistryName("stickofgod"); setCreativeTab(TabPalaDrillMod.tab); } @Override public int getItemEnchantability() { return 0; } @Override public int getMaxItemUseDuration(ItemStack itemstack) { return 0; } @Override public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) { return 1F; } @Override @SideOnly(Side.CLIENT) public boolean hasEffect(ItemStack itemstack) { return true; } @Override public ActionResult onItemRightClick(World world, EntityPlayer entity, EnumHand hand) { ActionResult ar = super.onItemRightClick(world, entity, hand); ItemStack itemstack = ar.getResult(); int x = (int) entity.posX; int y = (int) entity.posY; int z = (int) entity.posZ; { Map $_dependencies = new HashMap<>(); $_dependencies.put("entity", entity); $_dependencies.put("itemstack", itemstack); $_dependencies.put("x", x); $_dependencies.put("y", y); $_dependencies.put("z", z); $_dependencies.put("world", world); ProcedureStickOfGodRightClickedInAir.executeProcedure($_dependencies); } return ar; } } }