Files

95 lines
2.8 KiB
Java

package net.paladrill.paladrillmod.item;
import net.paladrill.paladrillmod.procedure.ProcedureSpeedStickRightClickedInAir;
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 ItemSpeedStick extends ElementsPaladrillmodMod.ModElement {
@GameRegistry.ObjectHolder("paladrillmod:speedstick")
public static final Item block = null;
public ItemSpeedStick(ElementsPaladrillmodMod instance) {
super(instance, 74);
}
@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:speedstick", "inventory"));
}
public static class ItemCustom extends Item {
public ItemCustom() {
setMaxDamage(8);
maxStackSize = 1;
setUnlocalizedName("speedstick");
setRegistryName("speedstick");
setCreativeTab(TabPalaDrillMod.tab);
}
@Override
public int getItemEnchantability() {
return 0;
}
@Override
public int getMaxItemUseDuration(ItemStack itemstack) {
return 8;
}
@Override
public float getDestroySpeed(ItemStack par1ItemStack, IBlockState par2Block) {
return 1F;
}
@Override
@SideOnly(Side.CLIENT)
public boolean hasEffect(ItemStack itemstack) {
return true;
}
@Override
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer entity, EnumHand hand) {
ActionResult<ItemStack> 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<String, Object> $_dependencies = new HashMap<>();
$_dependencies.put("entity", entity);
$_dependencies.put("x", x);
$_dependencies.put("y", y);
$_dependencies.put("z", z);
$_dependencies.put("itemstack", itemstack);
$_dependencies.put("world", world);
ProcedureSpeedStickRightClickedInAir.executeProcedure($_dependencies);
}
return ar;
}
}
}