@Override public EntityProjectileBase getProjectile(ItemStack stack, ItemStack bow, World world, EntityPlayer player, float speed, float inaccuracy, float power, boolean usedAmmo) { inaccuracy -= (1f - 1f / ProjectileNBT.from(stack).accuracy) * speed / 2f; return new EntityBolt(world, player, speed, inaccuracy, power, getProjectileStack(stack, world, player, usedAmmo), bow); }
@Override public EntityProjectileBase getProjectile(ItemStack stack, ItemStack bow, World world, EntityPlayer player, float speed, float inaccuracy, float power, boolean usedAmmo) { inaccuracy -= (1f - 1f / ProjectileNBT.from(stack).accuracy) * speed / 2f; return new EntityArrow(world, player, speed, inaccuracy, power, getProjectileStack(stack, world, player, usedAmmo), bow); } }
@Override public EntityProjectileBase getProjectile(ItemStack stack, ItemStack launcher, World world, EntityPlayer player, float speed, float inaccuracy, float progress, boolean usedAmmo) { inaccuracy *= ProjectileNBT.from(stack).accuracy; return new EntityShuriken(world, player, speed, inaccuracy, getProjectileStack(stack, world, player, usedAmmo), launcher); } }
public TooltipBuilder addAccuracy() { this.add(FletchingMaterialStats.formatAccuracy(ProjectileNBT.from(stack).accuracy)); return this; }