Posted July 10, 20169 yr Hey, I'm currently creating my own type of shield but the model for blocking isn't working very well package shield; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumAction; import net.minecraft.item.IItemPropertyGetter; import net.minecraft.item.ItemShield; import net.minecraft.item.ItemStack; import net.minecraft.util.ActionResult; import net.minecraft.util.EnumActionResult; import net.minecraft.util.EnumHand; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; public class ShieldBase extends ItemShield { private boolean soulbound = false; private int chanceNotBlock; // This means 1 in [number] private int maxDamage; private int maxUseDuration; public ShieldBase ( String name , int maxDamage , int chanceNotBlock , int maxUseDuration , boolean soulbound ) { this.setCreativeTab( CreativeTabs.tabCombat ); this.setRegistryName( name ); this.setUnlocalizedName( name ); this.soulbound = soulbound; this.setMaxDamage( maxDamage ); this.maxDamage = maxDamage; this.setMaxStackSize( 1 ); this.chanceNotBlock = chanceNotBlock; this.maxUseDuration = maxUseDuration; this.addPropertyOverride( new ResourceLocation( "blocking" ) , new IItemPropertyGetter() { @SideOnly( Side.CLIENT ) public float apply ( ItemStack stack , World worldIn , EntityLivingBase entityIn ) { return entityIn != null && entityIn.isHandActive() && entityIn.getActiveItemStack() == stack ? 1.0F : 0.0F; } } ); } public EnumAction getItemUseAction ( ItemStack stack ) { return EnumAction.BLOCK; } public int getMaxItemUseDuration ( ItemStack stack ) { return this.getMaxUseDuration() * 20; } public ActionResult < ItemStack > onItemRightClick ( ItemStack stack , World world , EntityPlayer player , EnumHand hand) { player.setActiveHand( hand ); return new ActionResult( EnumActionResult.SUCCESS , stack ); } public String getSimpleName () { return this.getUnlocalizedName().substring( 5 ); } public boolean isSoulbound () { return soulbound; } public void setSoulbound ( boolean bool ) { this.soulbound = bool; } public int getMaxDamage () { return this.maxDamage; } public int getChanceNotBlock () { return this.chanceNotBlock; } public int getMaxUseDuration () { return this.maxUseDuration; } } [shieldBase; ShieldIron extends from this class] { "textures": { "0": "betterlife:items/shield_iron" }, "elements": [ { "name": "Border", "from": [ 7.0, 1.0, 7.0 ], "to": [ 9.0, 2.0, 8.0 ], "faces": { "north": { "texture": "#0", "uv": [ 7.0, 14.0, 9.0, 15.0 ] }, "east": { "texture": "#0", "uv": [ 7.0, 14.0, 8.0, 15.0 ] }, "south": { "texture": "#0", "uv": [ 7.0, 14.0, 9.0, 15.0 ] }, "west": { "texture": "#0", "uv": [ 8.0, 14.0, 9.0, 15.0 ] }, "up": { "texture": "#0", "uv": [ 7.0, 14.0, 9.0, 15.0 ] }, "down": { "texture": "#0", "uv": [ 7.0, 14.0, 9.0, 15.0 ] } } }, { "name": "Border", "from": [ 5.0, 2.0, 7.0 ], "to": [ 7.0, 3.0, 8.0 ], "faces": { "north": { "texture": "#0", "uv": [ 9.0, 13.0, 11.0, 14.0 ] }, "east": { "texture": "#0", "uv": [ 9.0, 13.0, 10.0, 14.0 ] }, "south": { "texture": "#0", "uv": [ 9.0, 13.0, 11.0, 14.0 ] }, "west": { "texture": "#0", "uv": [ 10.0, 13.0, 11.0, 14.0 ] }, "up": { "texture": "#0", "uv": [ 9.0, 13.0, 11.0, 14.0 ] }, "down": { "texture": "#0", "uv": [ 9.0, 13.0, 11.0, 14.0 ] } } }, { "name": "Border", "from": [ 9.0, 2.0, 7.0 ], "to": [ 11.0, 3.0, 8.0 ], "faces": { "north": { "texture": "#0", "uv": [ 5.0, 13.0, 7.0, 14.0 ] }, "east": { "texture": "#0", "uv": [ 5.0, 13.0, 6.0, 14.0 ] }, "south": { "texture": "#0", "uv": [ 5.0, 13.0, 7.0, 14.0 ] }, "west": { "texture": "#0", "uv": [ 6.0, 13.0, 7.0, 14.0 ] }, "up": { "texture": "#0", "uv": [ 5.0, 13.0, 7.0, 14.0 ] }, "down": { "texture": "#0", "uv": [ 5.0, 13.0, 7.0, 14.0 ] } } }, { "name": "Border", "from": [ 4.0, 3.0, 7.0 ], "to": [ 5.0, 4.0, 8.0 ], "faces": { "north": { "texture": "#0", "uv": [ 11.0, 12.0, 12.0, 13.0 ] }, "east": { "texture": "#0", "uv": [ 11.0, 12.0, 12.0, 13.0 ] }, "south": { "texture": "#0", "uv": [ 11.0, 12.0, 12.0, 13.0 ] }, "west": { "texture": "#0", "uv": [ 11.0, 12.0, 12.0, 13.0 ] }, "up": { "texture": "#0", "uv": [ 11.0, 12.0, 12.0, 13.0 ] }, "down": { "texture": "#0", "uv": [ 11.0, 12.0, 12.0, 13.0 ] } } }, { "name": "Border", "from": [ 11.0, 3.0, 7.0 ], "to": [ 12.0, 4.0, 8.0 ], "faces": { "north": { "texture": "#0", "uv": [ 4.0, 12.0, 5.0, 13.0 ] }, "east": { "texture": "#0", "uv": [ 4.0, 12.0, 5.0, 13.0 ] }, "south": { "texture": "#0", "uv": [ 4.0, 12.0, 5.0, 13.0 ] }, "west": { "texture": "#0", "uv": [ 4.0, 12.0, 5.0, 13.0 ] }, "up": { "texture": "#0", "uv": [ 4.0, 12.0, 5.0, 13.0 ] }, "down": { "texture": "#0", "uv": [ 4.0, 12.0, 5.0, 13.0 ] } } }, { "name": "Border", "from": [ 3.0, 4.0, 7.0 ], "to": [ 4.0, 7.0, 8.0 ], "faces": { "north": { "texture": "#0", "uv": [ 12.0, 9.0, 13.0, 12.0 ] }, "east": { "texture": "#0", "uv": [ 12.0, 9.0, 13.0, 12.0 ] }, "south": { "texture": "#0", "uv": [ 12.0, 9.0, 13.0, 12.0 ] }, "west": { "texture": "#0", "uv": [ 12.0, 9.0, 13.0, 12.0 ] }, "up": { "texture": "#0", "uv": [ 13.0, 9.0, 12.0, 10.0 ] }, "down": { "texture": "#0", "uv": [ 12.0, 11.0, 13.0, 12.0 ] } } }, { "name": "Border", "from": [ 12.0, 4.0, 7.0 ], "to": [ 13.0, 7.0, 8.0 ], "faces": { "north": { "texture": "#0", "uv": [ 3.0, 9.0, 4.0, 12.0 ] }, "east": { "texture": "#0", "uv": [ 3.0, 9.0, 4.0, 12.0 ] }, "south": { "texture": "#0", "uv": [ 3.0, 9.0, 4.0, 12.0 ] }, "west": { "texture": "#0", "uv": [ 3.0, 9.0, 4.0, 12.0 ] }, "up": { "texture": "#0", "uv": [ 3.0, 9.0, 4.0, 10.0 ] }, "down": { "texture": "#0", "uv": [ 3.0, 11.0, 4.0, 12.0 ] } } }, { "name": "Border", "from": [ 2.0, 7.0, 7.0 ], "to": [ 3.0, 10.0, 8.0 ], "faces": { "north": { "texture": "#0", "uv": [ 13.0, 6.0, 14.0, 9.0 ] }, "east": { "texture": "#0", "uv": [ 13.0, 6.0, 14.0, 9.0 ] }, "south": { "texture": "#0", "uv": [ 13.0, 6.0, 14.0, 9.0 ] }, "west": { "texture": "#0", "uv": [ 13.0, 6.0, 14.0, 9.0 ] }, "up": { "texture": "#0", "uv": [ 13.0, 6.0, 14.0, 7.0 ] }, "down": { "texture": "#0", "uv": [ 13.0, 8.0, 14.0, 9.0 ] } } }, { "name": "Border", "from": [ 13.0, 7.0, 7.0 ], "to": [ 14.0, 10.0, 8.0 ], "faces": { "north": { "texture": "#0", "uv": [ 2.0, 6.0, 3.0, 9.0 ] }, "east": { "texture": "#0", "uv": [ 2.0, 6.0, 3.0, 9.0 ] }, "south": { "texture": "#0", "uv": [ 2.0, 6.0, 3.0, 9.0 ] }, "west": { "texture": "#0", "uv": [ 2.0, 6.0, 3.0, 9.0 ] }, "up": { "texture": "#0", "uv": [ 2.0, 6.0, 3.0, 7.0 ] }, "down": { "texture": "#0", "uv": [ 2.0, 8.0, 3.0, 9.0 ] } } }, { "name": "Border", "from": [ 1.0, 10.0, 7.0 ], "to": [ 2.0, 12.0, 8.0 ], "faces": { "north": { "texture": "#0", "uv": [ 14.0, 4.0, 15.0, 6.0 ] }, "east": { "texture": "#0", "uv": [ 14.0, 4.0, 15.0, 6.0 ] }, "south": { "texture": "#0", "uv": [ 14.0, 4.0, 15.0, 6.0 ] }, "west": { "texture": "#0", "uv": [ 14.0, 4.0, 15.0, 6.0 ] }, "up": { "texture": "#0", "uv": [ 14.0, 4.0, 15.0, 5.0 ] }, "down": { "texture": "#0", "uv": [ 14.0, 5.0, 15.0, 6.0 ] } } }, { "name": "Border", "from": [ 14.0, 10.0, 7.0 ], "to": [ 15.0, 12.0, 8.0 ], "faces": { "north": { "texture": "#0", "uv": [ 1.0, 4.0, 2.0, 6.0 ] }, "east": { "texture": "#0", "uv": [ 1.0, 4.0, 2.0, 6.0 ] }, "south": { "texture": "#0", "uv": [ 1.0, 4.0, 2.0, 6.0 ] }, "west": { "texture": "#0", "uv": [ 1.0, 4.0, 2.0, 6.0 ] }, "up": { "texture": "#0", "uv": [ 1.0, 4.0, 2.0, 5.0 ] }, "down": { "texture": "#0", "uv": [ 1.0, 4.0, 2.0, 5.0 ] } } }, { "name": "Border", "from": [ 2.0, 12.0, 7.0 ], "to": [ 4.0, 13.0, 8.0 ], "faces": { "north": { "texture": "#0", "uv": [ 12.0, 3.0, 14.0, 4.0 ] }, "east": { "texture": "#0", "uv": [ 12.0, 3.0, 13.0, 4.0 ] }, "south": { "texture": "#0", "uv": [ 12.0, 3.0, 14.0, 4.0 ] }, "west": { "texture": "#0", "uv": [ 13.0, 3.0, 14.0, 4.0 ] }, "up": { "texture": "#0", "uv": [ 12.0, 3.0, 14.0, 4.0 ] }, "down": { "texture": "#0", "uv": [ 12.0, 3.0, 14.0, 4.0 ] } } }, { "name": "Border", "from": [ 12.0, 12.0, 7.0 ], "to": [ 14.0, 13.0, 8.0 ], "faces": { "north": { "texture": "#0", "uv": [ 2.0, 3.0, 4.0, 4.0 ] }, "east": { "texture": "#0", "uv": [ 2.0, 3.0, 3.0, 4.0 ] }, "south": { "texture": "#0", "uv": [ 2.0, 3.0, 4.0, 4.0 ] }, "west": { "texture": "#0", "uv": [ 3.0, 3.0, 4.0, 4.0 ] }, "up": { "texture": "#0", "uv": [ 2.0, 3.0, 4.0, 4.0 ] }, "down": { "texture": "#0", "uv": [ 2.0, 3.0, 4.0, 4.0 ] } } }, { "name": "Border", "from": [ 4.0, 13.0, 7.0 ], "to": [ 7.0, 14.0, 8.0 ], "faces": { "north": { "texture": "#0", "uv": [ 9.0, 2.0, 12.0, 3.0 ] }, "east": { "texture": "#0", "uv": [ 9.0, 2.0, 10.0, 3.0 ] }, "south": { "texture": "#0", "uv": [ 9.0, 2.0, 12.0, 3.0 ] }, "west": { "texture": "#0", "uv": [ 11.0, 2.0, 12.0, 3.0 ] }, "up": { "texture": "#0", "uv": [ 9.0, 2.0, 12.0, 3.0 ] }, "down": { "texture": "#0", "uv": [ 9.0, 2.0, 12.0, 3.0 ] } } }, { "name": "Border", "from": [ 9.0, 13.0, 7.0 ], "to": [ 12.0, 14.0, 8.0 ], "faces": { "north": { "texture": "#0", "uv": [ 4.0, 2.0, 7.0, 3.0 ] }, "east": { "texture": "#0", "uv": [ 4.0, 2.0, 5.0, 3.0 ] }, "south": { "texture": "#0", "uv": [ 4.0, 2.0, 7.0, 3.0 ] }, "west": { "texture": "#0", "uv": [ 6.0, 2.0, 7.0, 3.0 ] }, "up": { "texture": "#0", "uv": [ 4.0, 2.0, 7.0, 3.0 ] }, "down": { "texture": "#0", "uv": [ 4.0, 2.0, 7.0, 3.0 ] } } }, { "name": "Border", "from": [ 7.0, 14.0, 7.0 ], "to": [ 9.0, 15.0, 8.0 ], "faces": { "north": { "texture": "#0", "uv": [ 7.0, 1.0, 9.0, 2.0 ] }, "east": { "texture": "#0", "uv": [ 7.0, 1.0, 8.0, 2.0 ] }, "south": { "texture": "#0", "uv": [ 7.0, 1.0, 9.0, 2.0 ] }, "west": { "texture": "#0", "uv": [ 8.0, 1.0, 9.0, 2.0 ] }, "up": { "texture": "#0", "uv": [ 7.0, 1.0, 9.0, 2.0 ] }, "down": { "texture": "#0", "uv": [ 7.0, 1.0, 9.0, 2.0 ] } } }, { "name": "Inside", "from": [ 4.0, 4.0, 7.0 ], "to": [ 12.0, 13.0, 8.0 ], "faces": { "north": { "texture": "#0", "uv": [ 4.0, 3.0, 12.0, 12.0 ] }, "east": { "texture": "#0", "uv": [ 4.0, 3.0, 5.0, 12.0 ] }, "south": { "texture": "#0", "uv": [ 4.0, 3.0, 12.0, 12.0 ] }, "west": { "texture": "#0", "uv": [ 11.0, 3.0, 12.0, 12.0 ] }, "up": { "texture": "#0", "uv": [ 4.0, 3.0, 12.0, 4.0 ] }, "down": { "texture": "#0", "uv": [ 4.0, 11.0, 12.0, 12.0 ] } } }, { "name": "Inside", "from": [ 5.0, 3.0, 7.0 ], "to": [ 11.0, 4.0, 8.0 ], "faces": { "north": { "texture": "#0", "uv": [ 5.0, 12.0, 11.0, 13.0 ] }, "east": { "texture": "#0", "uv": [ 5.0, 12.0, 6.0, 13.0 ] }, "south": { "texture": "#0", "uv": [ 5.0, 12.0, 11.0, 13.0 ] }, "west": { "texture": "#0", "uv": [ 10.0, 12.0, 11.0, 13.0 ] }, "up": { "texture": "#0", "uv": [ 5.0, 12.0, 11.0, 13.0 ] }, "down": { "texture": "#0", "uv": [ 5.0, 12.0, 11.0, 13.0 ] } } }, { "name": "Inside", "from": [ 7.0, 2.0, 7.0 ], "to": [ 9.0, 3.0, 8.0 ], "faces": { "north": { "texture": "#0", "uv": [ 7.0, 13.0, 9.0, 14.0 ] }, "east": { "texture": "#0", "uv": [ 7.0, 13.0, 8.0, 14.0 ] }, "south": { "texture": "#0", "uv": [ 7.0, 13.0, 9.0, 14.0 ] }, "west": { "texture": "#0", "uv": [ 8.0, 13.0, 9.0, 14.0 ] }, "up": { "texture": "#0", "uv": [ 7.0, 13.0, 9.0, 14.0 ] }, "down": { "texture": "#0", "uv": [ 7.0, 13.0, 9.0, 14.0 ] } } }, { "name": "Inside", "from": [ 7.0, 13.0, 7.0 ], "to": [ 9.0, 14.0, 8.0 ], "faces": { "north": { "texture": "#0", "uv": [ 7.0, 2.0, 9.0, 3.0 ] }, "east": { "texture": "#0", "uv": [ 7.0, 2.0, 8.0, 3.0 ] }, "south": { "texture": "#0", "uv": [ 7.0, 2.0, 9.0, 3.0 ] }, "west": { "texture": "#0", "uv": [ 8.0, 2.0, 9.0, 3.0 ] }, "up": { "texture": "#0", "uv": [ 7.0, 2.0, 9.0, 3.0 ] }, "down": { "texture": "#0", "uv": [ 7.0, 2.0, 9.0, 3.0 ] } } }, { "name": "Inside", "from": [ 3.0, 7.0, 7.0 ], "to": [ 4.0, 12.0, 8.0 ], "faces": { "north": { "texture": "#0", "uv": [ 12.0, 4.0, 13.0, 9.0 ] }, "east": { "texture": "#0", "uv": [ 12.0, 4.0, 13.0, 9.0 ] }, "south": { "texture": "#0", "uv": [ 12.0, 4.0, 13.0, 9.0 ] }, "west": { "texture": "#0", "uv": [ 12.0, 4.0, 13.0, 9.0 ] }, "up": { "texture": "#0", "uv": [ 12.0, 4.0, 13.0, 5.0 ] }, "down": { "texture": "#0", "uv": [ 12.0, 8.0, 13.0, 9.0 ] } } }, { "name": "Inside", "from": [ 2.0, 10.0, 7.0 ], "to": [ 3.0, 12.0, 8.0 ], "faces": { "north": { "texture": "#0", "uv": [ 13.0, 4.0, 14.0, 6.0 ] }, "east": { "texture": "#0", "uv": [ 13.0, 4.0, 14.0, 6.0 ] }, "south": { "texture": "#0", "uv": [ 13.0, 4.0, 14.0, 6.0 ] }, "west": { "texture": "#0", "uv": [ 13.0, 4.0, 14.0, 6.0 ] }, "up": { "texture": "#0", "uv": [ 13.0, 4.0, 14.0, 5.0 ] }, "down": { "texture": "#0", "uv": [ 13.0, 5.0, 14.0, 6.0 ] } } }, { "name": "Inside", "from": [ 12.0, 7.0, 7.0 ], "to": [ 13.0, 12.0, 8.0 ], "faces": { "north": { "texture": "#0", "uv": [ 3.0, 4.0, 4.0, 9.0 ] }, "east": { "texture": "#0", "uv": [ 3.0, 4.0, 4.0, 9.0 ] }, "south": { "texture": "#0", "uv": [ 3.0, 4.0, 4.0, 9.0 ] }, "west": { "texture": "#0", "uv": [ 3.0, 4.0, 4.0, 9.0 ] }, "up": { "texture": "#0", "uv": [ 3.0, 4.0, 4.0, 5.0 ] }, "down": { "texture": "#0", "uv": [ 3.0, 8.0, 4.0, 9.0 ] } } }, { "name": "Inside", "from": [ 13.0, 10.0, 7.0 ], "to": [ 14.0, 12.0, 8.0 ], "faces": { "north": { "texture": "#0", "uv": [ 2.0, 4.0, 3.0, 6.0 ] }, "east": { "texture": "#0", "uv": [ 2.0, 4.0, 3.0, 6.0 ] }, "south": { "texture": "#0", "uv": [ 2.0, 4.0, 3.0, 6.0 ] }, "west": { "texture": "#0", "uv": [ 2.0, 4.0, 3.0, 6.0 ] }, "up": { "texture": "#0", "uv": [ 2.0, 4.0, 3.0, 5.0 ] }, "down": { "texture": "#0", "uv": [ 2.0, 5.0, 3.0, 6.0 ] } } }, { "name": "Inside", "from": [ 9.0, 8.0, 8.0 ], "to": [ 10.0, 9.0, 9.0 ], "faces": { "north": { "texture": "#0", "uv": [ 5.0, 12.0, 6.0, 13.0 ] }, "east": { "texture": "#0", "uv": [ 5.0, 12.0, 6.0, 13.0 ] }, "south": { "texture": "#0", "uv": [ 5.0, 12.0, 6.0, 13.0 ] }, "west": { "texture": "#0", "uv": [ 5.0, 12.0, 6.0, 13.0 ] }, "up": { "texture": "#0", "uv": [ 5.0, 12.0, 6.0, 13.0 ] }, "down": { "texture": "#0", "uv": [ 5.0, 12.0, 6.0, 13.0 ] } } }, { "name": "Inside", "from": [ 6.0, 8.0, 8.0 ], "to": [ 7.0, 9.0, 9.0 ], "faces": { "north": { "texture": "#0", "uv": [ 5.0, 12.0, 6.0, 13.0 ] }, "east": { "texture": "#0", "uv": [ 5.0, 12.0, 6.0, 13.0 ] }, "south": { "texture": "#0", "uv": [ 5.0, 12.0, 6.0, 13.0 ] }, "west": { "texture": "#0", "uv": [ 5.0, 12.0, 6.0, 13.0 ] }, "up": { "texture": "#0", "uv": [ 5.0, 12.0, 6.0, 13.0 ] }, "down": { "texture": "#0", "uv": [ 5.0, 12.0, 6.0, 13.0 ] } } }, { "name": "Inside", "from": [ 6.0, 8.0, 9.0 ], "to": [ 10.0, 9.0, 10.0 ], "faces": { "north": { "texture": "#0", "uv": [ 5.0, 12.0, 6.0, 13.0 ] }, "east": { "texture": "#0", "uv": [ 5.0, 12.0, 6.0, 13.0 ] }, "south": { "texture": "#0", "uv": [ 5.0, 12.0, 6.0, 13.0 ] }, "west": { "texture": "#0", "uv": [ 5.0, 12.0, 6.0, 13.0 ] }, "up": { "texture": "#0", "uv": [ 5.0, 12.0, 6.0, 13.0 ] }, "down": { "texture": "#0", "uv": [ 5.0, 12.0, 6.0, 13.0 ] } } } ], "display": { "thirdperson_righthand": { "rotation": [ 90, -75, 90 ], "translation": [ 2, -2, 1 ], "scale": [ 0.9, 0.9, 0.9 ] }, "thirdperson_lefthand": { "rotation": [ 90, -75, 90 ], "translation": [ 2, -2, 1 ], "scale": [ 0.9, 0.9, 0.9 ] }, "firstperson_righthand": { "rotation": [ 10, -15, -3 ], "translation": [ 0, 0, 0 ], "scale": [ 0.9, 0.9, 0.9 ] }, "firstperson_lefthand": { "rotation": [ 10, -15, -3 ], "translation": [ 0, 0, 0 ], "scale": [ 0.9, 0.9, 0.9 ] }, "gui": { "rotation": [ 0, 180, 0 ], "translation": [ 0, 0, 0 ], "scale": [ 1, 1, 1 ] } }, "overrides": [ { "predicate": { "blocking": 1 }, "model": "betterlife:item/shield_iron_blocking" } ] } [shield_iron.json] { "display": { "thirdperson_righthand": { "rotation": [ 45, 135, 0 ], "translation": [ 3.51, 11, -2 ], "scale": [ 1, 1, 1 ] }, "thirdperson_lefthand": { "rotation": [ 45, 135, 0 ], "translation": [ 13.51, 3, 5 ], "scale": [ 1, 1, 1 ] }, "firstperson_righthand": { "rotation": [ 0, 180, -5 ], "translation": [ -15, 5, -11 ], "scale": [ 1.25, 1.25, 1.25 ] }, "firstperson_lefthand": { "rotation": [ 0, 180, -5 ], "translation": [ 5, 5, -11 ], "scale": [ 1.25, 1.25, 1.25 ] }, "gui": { "rotation": [ 15, -25, -5 ], "translation": [ 2, 3, 0 ], "scale": [ 0.65, 0.65, 0.65 ] } } } [shield_iron_blocking.json] The first model ( not blocking ) is working fine but the second one obviously doesn't get registered or something like that. When I change code in the .json, then nothing will happen to the model :c *Hug*
July 10, 20169 yr Are the model names the same? http://i.imgur.com/J4rrGt6.png[/img] [Creator of mcrafterzz mod]
July 10, 20169 yr Author package shield; public class ShieldIron extends ShieldBase { public ShieldIron () { super( "shield_iron" , 340 , 13 , 2 * 60 * 20 , false ); } public int getItemEnchantability () { return 0; } } I named the standard model for my shield "shield_iron", just like in the class. And because It's a shield I want I to block when right clicking it. It does but it doesn't use my .json (shield_iron_blocking) as a model when blocking. It seems like it uses the standard model from minecraft for blocking. There's a similar post: http://www.minecraftforge.net/forum/index.php/topic,38828.msg204203.html#msg204203 I made it like him but my shield doesn't use my blocking-model Obviously it works for him and many others around the internet ._. *Hug*
July 10, 20169 yr Here is my source code for my mod witch add shields. Take a look at it and you will maybe relize what's wrong. https://github.com/MCrafterzz/minecraft-mod/blob/master/src.zip http://i.imgur.com/J4rrGt6.png[/img] [Creator of mcrafterzz mod]
July 10, 20169 yr Author I have looked through the important classes and files but I cannot find my mistake. Do you know where my mistake is? I think it would be great if you show me my fault. Thanks in advance *Hug*
July 10, 20169 yr Can you upload the full source code? So I can see if theres any naming problems and stuff like that http://i.imgur.com/J4rrGt6.png[/img] [Creator of mcrafterzz mod]
July 10, 20169 yr Author Sure. Here's my src: https://github.com/LyrasDerEchte/-Forge-BetterLife *Hug*
July 10, 20169 yr Yeah, pretty sure that's a bug with shields in particular. I tried doing pretty much exactly that in my Advanced Addons mod, and the "blocking" model would never work, no matter what I tried. To make matters worse, the shield functionality isn't even exposed, so I had to use an event handler to mimic the blocking damage to the shield. Shields are not too easy to extend! http://minecraft.curseforge.com/members/sblectric/projects
July 11, 20169 yr You need to add this for your shield to take damage when your blocking: @SubscribeEvent public void attackEvent(LivingAttackEvent e) { float damage = e.getAmount(); ItemStack activeItemStack; EntityPlayer player; if (!(e.getEntityLiving() instanceof EntityPlayer)) { return; } player = (EntityPlayer) e.getEntityLiving(); if (player.getActiveItemStack() == null) { return; } activeItemStack = player.getActiveItemStack(); if (damage > 0.0F && activeItemStack != null && activeItemStack.getItem() instanceof ItemShield) { int i = 1 + MathHelper.floor_float(damage); activeItemStack.damageItem(i, player); if (activeItemStack.stackSize <= 0) { EnumHand enumhand = player.getActiveHand(); net.minecraftforge.event.ForgeEventFactory.onPlayerDestroyItem(player, activeItemStack, enumhand); if (enumhand == EnumHand.MAIN_HAND) { player.setItemStackToSlot(EntityEquipmentSlot.MAINHAND, (ItemStack) null); } else { player.setItemStackToSlot(EntityEquipmentSlot.OFFHAND, (ItemStack) null); } activeItemStack = null; if (FMLCommonHandler.instance().getSide() == Side.CLIENT) { player.playSound(SoundEvents.ITEM_SHIELD_BREAK, 0.8F, 0.8F + player.worldObj.rand.nextFloat() * 0.4F); } } } } And the problem with your texture could be that you need to add this: @Override public String getItemStackDisplayName(ItemStack stack) { return I18n.translateToLocal("item." + name + ".name"); } And take in a name variable because otherwise it will get a wierd name (Atleast it done it for me) http://i.imgur.com/J4rrGt6.png[/img] [Creator of mcrafterzz mod]
July 11, 20169 yr I think the problem is that you havent set the texture for iron_shield_blocking.json, you need to do that, that would proberly solve the problem http://i.imgur.com/J4rrGt6.png[/img] [Creator of mcrafterzz mod]
July 11, 20169 yr Author It tried what you told me but it is NOT working. The shield has a "blocking"-animation but this animation is from the normal shield and not mine. I was pissed and so I started working on my bow. Guess what... Same problem. There are 4 textures for the bow and by pulling it, just the first will be displayed. The zoom also doesn't get changed... EDIT: I just copy-pasted the code from the "ItemBow"-class and it isn't working either. I even just copied the json-files and just replaced the texture things but it ISN'T working. Why?! :'( I am despairing. *Hug*
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.