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

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем frofrofroman, 3 июн 2020.

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

    frofrofroman Ньюби

    Баллы:
    1
    Имя в Minecraft:
    Froman
    Данный код не работает, а другие костыли не придумал
    Код:
    @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 Активный участник

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

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

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

Поделиться этой страницей