Консольное событие Spigot 1.17 Player

avatar
CoolSlayer131
9 августа 2021 в 01:49
187
1
0

Хорошо, я делаю этот действительно тупой плагин, потому что я новичок. но я думал, что это сработает, но это не так, я не знаю, почему

public final class MyFirstPlugin extends JavaPlugin implements Listener {

    @Override
    public void onEnable() {
        System.out.println("[DeathBan] Plugin Enabled");

        getServer().getPluginManager().registerEvents(this, this);
    }

    @EventHandler
    public void onPlayerDeath(PlayerDeathEvent event){
        String playerName = "Name";
        Player p = Bukkit.getPlayer(playerName);
        Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "ban" + p);
    }

}

То, что он делает, очень просто. он видит, что игрок умер. а консоль их банит. Он ничего не делает в консоли, как должен

Источник

Ответы (1)

avatar
user14545195
9 августа 2021 в 22:43
0

Сначала удалите System.out.println в функции onEnable. Вы можете получить умершего игрока, используя Player p = event.getEntity();, и вместо этого вам следует забанить игроков, используя Bukkit.getBanList(Type.NAME).addBan(p.getName(), "Ban message", null, "console");, а затем кикать игрока. Это должно выглядеть так

public void onPlayerDeath(PlayerDeathEvent event){
    Player p = event.getEntity();
    Bukkit.getBanList(Type.NAME).addBan(p.getName(), "Ban message", null, "console");
    p.kickPlayer("Banned");
}
CoolSlayer131
10 августа 2021 в 03:16
0

Большое спасибо, я снова новичок в кодировании, но у меня была идея для потока, и я хотел сделать это сам. к сожалению, у меня нет смартов java :(