- 318
- 12
Код:
public static int dellay;
@Override
public ItemStack onItemRightClick(ItemStack is, World world, EntityPlayer player)
{
if (dellay == 0)
{
if (player.inventory.hasItem(Items.arrow) || player.capabilities.isCreativeMode) {
dellay = 2;
world.playSoundAtEntity(player, "random.explode", 1.5F, 1.8F);
myBullet blasterBullet = new myBullet(world, player, 4.0F);
world.spawnEntityInWorld(blasterBullet);
//player.setAngles(0, 8);
return is;
}
else
{
world.playSoundAtEntity(player, "random.click", 0.5F, 1.8F);
}
}
dellayUpdate();
return is;
}
@Override
public void onUpdate(ItemStack is, World world, Entity entity, int par4, boolean par5) {
if (entity instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer)entity;
ItemStack current = player.getCurrentEquippedItem();
NBTTagCompound nbt = is.getTagCompound();
if (nbt != null) {
if (nbt.hasKey("Delay")) {
int delay = (int)nbt.getByte("Delay");
if (delay > 0) {
--delay;
dellayUpdate();
nbt.setByte("Delay", (byte)delay);
is.setTagCompound(nbt);
}
} else {
nbt.setByte("Delay", (byte)0);
is.setTagCompound(nbt);
}
}
}
}
public void dellayUpdate() {
if (dellay > 0) --dellay;
}
Этот код позволяет стрелять из оружия с задержкой. Но у меня проблемма и не как не могу ее решить. Как сделать так что бы при нажатие ПКМ сразу исполнялись 3 команды подряд без задержки а потом была задержка и потом опять выполнялись они
world.playSoundAtEntity(player, "random.explode", 1.5F, 1.8F);
myBullet blasterBullet = new myBullet(world, player, 4.0F);
world.spawnEntityInWorld(blasterBullet); ?
При данной конфигурации выполняется только 1 команда потом задержка, потом 2 и задержка и 3 и задержка. А как это сделать без задержки? Заранее большое спасибо. Если кто то поможет мне сделать еще и ускорение оружия(через скайп тогда) - дам денежку