Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Dismiss Notice

Помогите Плагин, чтобы ракетка срабатывала через раз

Discussion in 'Разработка плагинов для новичков' started by frofrofroman, Jun 3, 2020.

  1. Автор темы
    frofrofroman

    frofrofroman Ньюби

    Trophy Points:
    1
    Имя в Minecraft:
    Froman
    Данный код не работает, а другие костыли не придумал
    Code:
    @EventHandler
        public void fir(PlayerInteractEvent e) {
            Player p = e.getPlayer();
            boolean fr = false;
            ItemStack item = p.getItemInHand();
            if(e.getAction()!= Action.RIGHT_CLICK_AIR) return;
            if(item.getType() != Material.FIREWORK_ROCKET) return;
            if(fr = true) {
                fr = false;
                p.sendMessage("" + fr);
                e.setCancelled(true);
                return;
            }
            if(fr = false) {
                fr = true;
                p.sendMessage("" + fr);
                return;
            }
            p.sendMessage("1");
            
        }
    ПЫСЫ: sendMessage("1"); не срабатывает, ретурны на месте, но постоянно выводит false
     
  2. Хостинг MineCraft
    <
  3. sidey383

    sidey383 Активный участник

    Trophy Points:
    61
    Имя в Minecraft:
    sidey383
    конструкция if(fr = true) присваивает fr значение true и передаёт его в if => она срабатывает всегда. если это условие нужно писать if(fr==true), а ещё лучше if(fr)
    Далее.
    Каждый раз заново создаётся fr, т.е. ни о каком срабатывании через раз и речи не идёт. Нужно создавать переменную не в методе, а в классе. Ну, и если это для каждого игрока должно происходить отдельно, то придётся создать hashmap для записи boolean значения под каждого игрока.
     
  4. diego070202

    diego070202 Активный участник Пользователь

    Trophy Points:
    61
    Имя в Minecraft:
    Mielsen
    1. Ивент этот работает ДЛЯ ВСЕХ игроков.
    Лучше используй HashMap<Player,boolean> и там юзай, ибо можно абузить.
    Если хочешь подробнее, то напиши в ЛС https://vk.com/pozdnyak1337
    2. У тебя всегда будет true(оно не меняется до условий.)
     

Share This Page