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

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

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

  1. Автор темы
    барс_скорость

    барс_скорость Новичок Только чтение Пользователь

    Баллы:
    6
    Всем здравствуйте. Я хочу сделать плагин, чтобы если ник игрока содержит слово "HungerCat"
    плагин его сразу банил. Я написал код, но плагин не работает, хотя в /plugins не красный.
    В коде ошибок вроде нет.

    Код:
    Код:
    package hungercat;
    
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class main extends JavaPlugin {
        public void onEnable() {
            this.getLogger().info("Your server protected from HungerCat!");
        }
        @SuppressWarnings("deprecation")
        public void onPlayerJoin(PlayerJoinEvent e) {
            if(e.getPlayer().getName().contains("HungerCat")) {
               e.getPlayer().setBanned(true);
            }
        }
    }
    
     
  2. Mr Hosting
  3. HunterGaming

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

    Баллы:
    76
    Имя в Minecraft:
    HunterGaming13
    implements Listener

    onEnable -> getServer#getPluginManager#registerEvents[this, this]
     
  4. Kurumi

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

    Баллы:
    76
    Имя в Minecraft:
    Kurumi
    @EventHandler
     
  5. Автор темы
    барс_скорость

    барс_скорость Новичок Только чтение Пользователь

    Баллы:
    6
    Я сделал так, сейчас скажу что напишет в консоль

    Ничего не пишет. Плагин написал лишь
    Код:
    [12:56:12 INFO]: [HungerProtect] Enabling HungerProtect v0.2
    [12:56:12 INFO]: [HungerProtect] Your server protected from HungerCat!
    А в консоли при входе пишется
    Код:
    [13:00:29 INFO]: UUID of player 11HungerCatlOL is 83e8a0e2-9fd7-3fee-8921-8fdf343d3682
    [13:00:30 INFO]: 11HungerCatlOL[/25.67.120.101:60956] logged in with entity id 23 at ([world] 470.5, 4.0, -1225.5)

    Ник не банится.
     
    Последнее редактирование: 25 июл 2019
  6. imDaniX

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

    Баллы:
    76
    Имя в Minecraft:
    imDaniX
    Покажи текущий код.
     
  7. HunterGaming

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

    Баллы:
    76
    Имя в Minecraft:
    HunterGaming13
    Да, точно забыл про это написать, хоть и видел, что там нет аннотации
     
  8. Автор темы
    барс_скорость

    барс_скорость Новичок Только чтение Пользователь

    Баллы:
    6
    Код:
    Код:
    package hungercat;
    
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class main extends JavaPlugin implements Listener
    {
        public void onEnable() {
            this.getLogger().info("Your server protected from HungerCat!");
            this.getServer().getPluginManager().registerEvents(this, this);
        }
        @SuppressWarnings("deprecation")
        @EventHandler
        public void onPlayerJoin(PlayerJoinEvent e) {
            if(e.getPlayer().getName().contains("HungerCat")) {
               e.getPlayer().setBanned(true);
            }
        }
    }


    Строка @SuppressWarnings("deprecation") - поставлена не мной. Если её убрать, там какая-то ошибка. Я не знаю что такое deprecation, но мне кажется что проблема именно здесь.
     
  9. imDaniX

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

    Баллы:
    76
    Имя в Minecraft:
    imDaniX
    deprecation значит, что метод устарел - в данном случае это Player#setBanned(boolean)
    Попробуй забанить так -
    Bukkit.getBanList(BanList.Type.NAME).addBan(e.getPlayer().getName(), "Причина бана", null, "Server");
     
  10. GoodCoder

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

    Баллы:
    76
    Банить - это банально. Можно крашить клиент игроку, отправив неправильный пакет. Не поймут что происходит :D
     
  11. imDaniX

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

    Баллы:
    76
    Имя в Minecraft:
    imDaniX
    На мой взгляд интереснее закидать пакетами с сущностями, чтобы фпс просел до 1-2.
     
  12. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Одного пакета спавнпартикла хватит.
     
  13. Автор темы
    барс_скорость

    барс_скорость Новичок Только чтение Пользователь

    Баллы:
    6
    Спасибо большое всем.
    Тему можно закрывать.
     
  14. iD3LSY

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

    Баллы:
    76
    Имя в Minecraft:
    opy
    Начавший тему ее и закрывает)
     
  15. Автор темы
    барс_скорость

    барс_скорость Новичок Только чтение Пользователь

    Баллы:
    6
    Я вот проверил, ничего не работает.
     
  16. imDaniX

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

    Баллы:
    76
    Имя в Minecraft:
    imDaniX
    Работает ли ивент в принципе? Добавь Bukkit.broadcast("Test"); в его начало.
     
  17. Автор темы
    барс_скорость

    барс_скорость Новичок Только чтение Пользователь

    Баллы:
    6
    тест работает, а бан нет
     
  18. imDaniX

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

    Баллы:
    76
    Имя в Minecraft:
    imDaniX
    Список банов пуст?
     
  19. Автор темы
    барс_скорость

    барс_скорость Новичок Только чтение Пользователь

    Баллы:
    6
    нет, не пуст
     
  20. imDaniX

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

    Баллы:
    76
    Имя в Minecraft:
    imDaniX
    Тогда просто кикай игрока.
     
  21. Автор темы
    барс_скорость

    барс_скорость Новичок Только чтение Пользователь

    Баллы:
    6
    Лишняя нагрузка на сервер. У меня сейчас бесплатный хостинг с 512мб озу. Этот человек сможет положить сервер своими перезаходами.
     

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