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

барс_скорость

Новичок
Пользователь
Баллы
16
Всем здравствуйте. Я хочу сделать плагин, чтобы если ник игрока содержит слово "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);
        }
    }
}
 
Всем здравствуйте. Я хочу сделать плагин, чтобы если ник игрока содержит слово "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);
        }
    }
}
implements Listener

onEnable -> getServer#getPluginManager#registerEvents[this, this]
 
Я сделал так, сейчас скажу что напишет в консоль

Ничего не пишет. Плагин написал лишь
Код:
[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)

Ник не банится.
 
Последнее редактирование:
Я сделал так, сейчас скажу что напишет в консоль

Ничего не пишет. Плагин написал лишь
Код:
[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)

Ник не банится.
Покажи текущий код.
 
Код:
Код:
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, но мне кажется что проблема именно здесь.
 
Код:
Код:
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, но мне кажется что проблема именно здесь.
deprecation значит, что метод устарел - в данном случае это Player#setBanned(boolean)
Попробуй забанить так -
Bukkit.getBanList(BanList.Type.NAME).addBan(e.getPlayer().getName(), "Причина бана", null, "Server");
 
Банить - это банально. Можно крашить клиент игроку, отправив неправильный пакет. Не поймут что происходит 😁
На мой взгляд интереснее закидать пакетами с сущностями, чтобы фпс просел до 1-2.
 
Лишняя нагрузка на сервер. У меня сейчас бесплатный хостинг с 512мб озу. Этот человек сможет положить сервер своими перезаходами.
Когда я писал про банлист, я имел ввиду, записывается ли в банлист этот ник?
 
Назад
Верх