Помогите с откидыванием

318
12
1) Я сделал свои пушки(да знаю, сейчас будет многих от этого тошнить), но я хочу что бы при выстреле откидывал оигрока. я перерыл Minecraft.getMinecraft().thePlayer.* Но нечего не нашел. Если кто то скинет как это сделать буду благодарен.
2) Как сделать что бы выстрелов в секунду или в тик было больше чем сейчас?
Этот код с замедлением, а что вы предложите об ускорение?
Код:
    @SideOnly(Side.CLIENT) public static int dellay;
    @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);
                    }
                }
            }
        }
    
    @SideOnly(Side.CLIENT)
    public void dellayUpdate() {
        if (dellay > 0) --dellay;
    }
    

    @Override
    public ItemStack onItemRightClick(ItemStack is, World world, EntityPlayer player){    
        if (dellay == 0) {
            dellay = 2;
            myBullet blasterBullet = new myBullet(world, player, 4.0F);
            world.spawnEntityInWorld(blasterBullet);
            Minecraft.getMinecraft().thePlayer.setAngles(0, 17);
            return is;
        }
        dellayUpdate();
        return is;         
    }
Заранее большое спасибо.
 
Там есть формула для получения motion из pitch и yaw, не особо вникал. В стреле поищи. Только сделай поменьше, а то у стрелы высокий слишком.
 
В игроке есть эта переменная. Она онли клиент. Ставить надо на клиенте. Логично? Можно без пакетов .if(world.isRemote)
 
Ты не понял. Он берет игрока из параметров,прибавляет переменную. А на сервере NotSuchFieldException
 
Метод правого клика срабатывает слишком медленно, надо с помощью онАпдейт делать - у него обновление 20/сА на счёт откидывания - куча тем было.
 
svk написал(а):
Метод правого клика срабатывает слишком медленно, надо с помощью онАпдейт делать - у него обновление 20/сА на счёт откидывания - куча тем было.
Я мутил всякую фигню в коде и у меня не получилось это сделать. Сможешь помочь? Сможешь скинуть кусочек своего кода? Или на моем сделать пример?
 
Назад
Сверху