- 235
- 3
- 21
вечер добрый
делаю свой лук основанный на ItemBow, добавляю туда режимы и прочее, меняю EntityArrow на свою и тд
и все бы хорошо, но я в гробу видел уже текстурки тупого лука
и все даже начиналось хорошо, он натягивается стреляет, но (см. картику)
как это исправить?
делаю свой лук основанный на ItemBow, добавляю туда режимы и прочее, меняю EntityArrow на свою и тд
и все бы хорошо, но я в гробу видел уже текстурки тупого лука
Код:
public class MyItemBow extends ItemBow
{
public int bowMode;
public MyItemBow()
{
super();
this.setUnlocalizedName("myBow");
this.setTextureName("mod:myBow");
this.setCreativeTab(GameObjects.modCreativeTab);
this.bowMode = 0;
}
@Override
public void onPlayerStoppedUsing(ItemStack item, World world, EntityPlayer player, int var4)
{
int j = this.getMaxItemUseDuration(item) - var4;
ArrowLooseEvent event = new ArrowLooseEvent(player, item, j);
MinecraftForge.EVENT_BUS.post(event);
if (event.isCanceled())
{
return;
}
j = event.charge;
boolean flag = player.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, item) > 0;
if (flag || player.inventory.hasItem(Items.arrow))
{
float f = (float)j / 20.0F;
f = (f * f + f * 2.0F) / 3.0F;
if ((double)f < 0.1D)
{
return;
}
if (f > 1.0F)
{
f = 1.0F;
}
MyEntityArrow entityarrow = new MyEntityArrow(world, player, f * 2.0F, new ArrowType(0, null));
if (f == 1.0F)
{
entityarrow.setIsCritical(true);
}
int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, item);
if (k > 0)
{
entityarrow.setDamage(entityarrow.getDamage() + (double)k * 0.5D + 0.5D);
}
int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, item);
if (l > 0)
{
entityarrow.setKnockbackStrength(l);
}
if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, item) > 0)
{
entityarrow.setFire(100);
}
item.damageItem(1, player);
world.playSoundAtEntity(player, "random.bow", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F);
if (flag)
{
entityarrow.canBePickedUp = 2;
}
else
{
player.inventory.consumeInventoryItem(Items.arrow);
}
if (!world.isRemote)
{
world.spawnEntityInWorld(entityarrow);
}
}
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining)
{
int j = stack.getMaxItemUseDuration() - useRemaining;
System.out.println(j);
if (stack != usingItem)
{
return Items.bow.getIcon(stack, renderPass);
}
if (j >= 18)
{
return Items.bow.getItemIconForUseDuration(2);
}
if (j > 13)
{
return Items.bow.getItemIconForUseDuration(1);
}
if (j > 0)
{
return Items.bow.getItemIconForUseDuration(0);
}
return Items.bow.getIcon(stack, renderPass);
}
}
и все даже начиналось хорошо, он натягивается стреляет, но (см. картику)
как это исправить?