81 lines
2.5 KiB
Java
81 lines
2.5 KiB
Java
|
|
package net.paladrill.paladrillmod.item;
|
|
|
|
import net.paladrill.paladrillmod.procedure.ProcedureHangGliderRightClickedInAir;
|
|
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.item.ItemStack;
|
|
import net.minecraft.item.Item;
|
|
import net.minecraft.entity.EntityLivingBase;
|
|
import net.minecraft.entity.Entity;
|
|
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 ItemHangGlider extends ElementsPaladrillmodMod.ModElement {
|
|
@GameRegistry.ObjectHolder("paladrillmod:hangglider")
|
|
public static final Item block = null;
|
|
public ItemHangGlider(ElementsPaladrillmodMod instance) {
|
|
super(instance, 70);
|
|
}
|
|
|
|
@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:hangglider", "inventory"));
|
|
}
|
|
public static class ItemCustom extends Item {
|
|
public ItemCustom() {
|
|
setMaxDamage(0);
|
|
maxStackSize = 1;
|
|
setUnlocalizedName("hangglider");
|
|
setRegistryName("hangglider");
|
|
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
|
|
public void onUpdate(ItemStack itemstack, World world, Entity entity, int slot, boolean par5) {
|
|
super.onUpdate(itemstack, world, entity, slot, par5);
|
|
int x = (int) entity.posX;
|
|
int y = (int) entity.posY;
|
|
int z = (int) entity.posZ;
|
|
if (entity instanceof EntityLivingBase && ((EntityLivingBase) entity).getHeldItemMainhand().equals(itemstack)) {
|
|
Map<String, Object> $_dependencies = new HashMap<>();
|
|
$_dependencies.put("entity", entity);
|
|
ProcedureHangGliderRightClickedInAir.executeProcedure($_dependencies);
|
|
}
|
|
}
|
|
}
|
|
}
|