Jump to content

swatkins

Forge Modder
  • Posts

    6
  • Joined

  • Last visited

Everything posted by swatkins

  1. Received an answer on StackOverflow (http://stackoverflow.com/a/27327256/844726), thought I'd share here for others. These two methods need to be present in the Custom Bow class: @Override @SideOnly(Side.CLIENT) public IIcon getIcon (ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { if (usingItem != null) { int time = 72000 - useRemaining; if (time < return iconArray[0]; if (time < 14) return iconArray[1]; return iconArray[2]; } return getIcon(stack, renderPass); } @Override public IIcon getItemIconForUseDuration(int par1) { return this.iconArray[par1]; }
  2. Received an answer on StackOverflow (http://stackoverflow.com/a/27327256/844726), thought I'd share here for others. These two methods need to be present in the Custom Bow Class: @Override @SideOnly(Side.CLIENT) public IIcon getIcon (ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { if (usingItem != null) { int time = 72000 - useRemaining; if (time < return iconArray[0]; if (time < 14) return iconArray[1]; return iconArray[2]; } return getIcon(stack, renderPass); } @Override public IIcon getItemIconForUseDuration(int par1) { return this.iconArray[par1]; }
  3. Can you share how you solved the animation? I am having the same issue and can't find a solution. http://www.minecraftforge.net/forum/index.php/topic,25708.0.html Thanks!
  4. If you take a look at both the EntityArrow.class and EntityThrowable.class, they should get you started. They both implement IProjectile, so you could mesh them together to create what you want. In EntityThrowable - there is an onImpact method. You can override this to wait the 3 seconds, create and explosion, then set the arrow to die. @Override protected void onImpact(MovingObjectPosition position) { if (!this.worldObj.isRemote) { // call the sleep command to wait 3 seconds - not sure what it is in JAVA worldObj.newExplosion(this, position.blockX, position.blockY, position.blockZ, 5 + rand.nextInt(3), true, true); this.setDead(); } }
  5. I'm creating a very basic extension of the ItemBow. Right now, I'm just trying to change the textures for my new bow. I have the "standby" icon working correctly, but when shooting the bow, I don't get the "pulling" icons to cycle through for the animation. Below is a small screencast of the lack of animation. As you can see, the "standby" icon is present through the entire shot. The animation never cycles through the 3 "pulling" icons. http://screencast-o-matic.com/watch/c2lfr0e0Ze Here is my class: package com.swatkins.firstmod; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.ItemBow; import net.minecraft.util.IIcon; public class DiamondBow extends ItemBow { public static final String[] bowPullIconNameArray = new String[] {"diamond_bow_pulling_0", "diamond_bow_pulling_1", "diamond_bow_pulling_2"}; @SideOnly(Side.CLIENT) private IIcon[] iconArray; public DiamondBow() { setUnlocalizedName(FirstMod.MODID + "_" + "diamond_bow"); } @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister p_94581_1_) { this.itemIcon = p_94581_1_.registerIcon(FirstMod.MODID + ":" + "diamond_bow_standby"); this.iconArray = new IIcon[bowPullIconNameArray.length]; for (int i = 0; i < this.iconArray.length; ++i) { this.iconArray[i] = p_94581_1_.registerIcon(FirstMod.MODID + ":" + bowPullIconNameArray[i]); } } } I know there is a getItemIconForUseDuration method, but it is never called when holding down the right mouse button to shoot the bow. I've also tried implementing a getIcon method, but it isn't called either. Can anyone help me to get this animation working? I appreciate your help!
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.