• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Spigot Unban-Befehl - Fehler in Console

Appstun | Äppi

Minecrafter
Registriert
22 September 2020
Beiträge
23
Diamanten
300
Minecraft
Appstun
Hallo Internets,
ich habe ein Problem, dass ich mit meinen Unban-Befehl.
Ich erstelle keine Dateien, sonder nutze die Standart-Server-Dateien banned-ips.json und banned-players.json. Ich möchte aber auch keine Dateien erstellen, da ich nicht dauernt überprüfen möchte ob der Spieler in der Datei ist. (wegen Server-TPS)

Es könnte mit dem target.getName() zusammenhängen (rot makiert) in Bukkit.getBanList(BanList.Type.NAME).pardon(target.getName()) oder in Bukkit.getBanList(BanList.Type.IP).pardon(target.getName()) oder in Bukkit.unbanIP(target.getName()).
Ich weiß überhaupt nicht, ob die aufgezählten ^ Befehle (oder wie man das nennt) das richtige ist.

Console:
 [16:31:45] [Server thread/WARN]: Unexpected exception while parsing console command "sunban Appstun"
org.bukkit.command.CommandException: Unhandled exception executing command 'sunban' in plugin TintCraft-Plugin v9.32
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[craftbukkit.jar:git-Spigot-379750e-43c7ff9]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:149) ~[craftbukkit.jar:git-Spigot-379750e-43c7ff9]
at org.bukkit.craftbukkit.v1_16_R2.CraftServer.dispatchCommand(CraftServer.java:756) ~[craftbukkit.jar:git-Spigot-379750e-43c7ff9]
at org.bukkit.craftbukkit.v1_16_R2.CraftServer.dispatchServerCommand(CraftServer.java:741) ~[craftbukkit.jar:git-Spigot-379750e-43c7ff9]
at net.minecraft.server.v1_16_R2.DedicatedServer.handleCommandQueue(DedicatedServer.java:384) ~[craftbukkit.jar:git-Spigot-379750e-43c7ff9]
at net.minecraft.server.v1_16_R2.DedicatedServer.b(DedicatedServer.java:353) ~[craftbukkit.jar:git-Spigot-379750e-43c7ff9]
at net.minecraft.server.v1_16_R2.MinecraftServer.a(MinecraftServer.java:1007) ~[craftbukkit.jar:git-Spigot-379750e-43c7ff9]
at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:846) ~[craftbukkit.jar:git-Spigot-379750e-43c7ff9]
at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$0(MinecraftServer.java:164) ~[craftbukkit.jar:git-Spigot-379750e-43c7ff9]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_265]
Caused by: java.lang.NullPointerException
at de.appstun.tutorial.commands.unban.onCommand(unban.java:41) ~[?:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[craftbukkit.jar:git-Spigot-379750e-43c7ff9]
... 9 more

Soooo... jetzt zum von Code Unban-Befehl, danach noch IPBan- oder Ban-Befehl -> (IPBan- / Ban-Befehl funktionieren)

Unban-Befehl-Code:
package de.appstun.tutorial.commands;

import de.appstun.tintcraft.main;
import org.bukkit.BanList;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class unban implements CommandExecutor {
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if(sender instanceof Player) {
            Player p = (Player) sender;
            if(p.hasPermission("tint.unban") || p.hasPermission("tint.*")) {
                if (args.length == 1) {
                    Player target = Bukkit.getPlayer(args[0]);
                    if (target.isBanned()) {
                        Bukkit.getBanList(BanList.Type.NAME).pardon(target.getName());
                        Bukkit.getBanList(BanList.Type.IP).pardon(target.getName());
                        for (Player p_o : Bukkit.getOnlinePlayers()) {
                            if (p_o.hasPermission("tint.*") || p_o.hasPermission("tint.team")) {
                                p_o.sendMessage(main.prefix + "§4§lUNBANN §r§7= §6" + target.getName() + " §cwurde von §6" + p.getName() + " §centbannt.");
                            }
                        }
                        System.out.println("UNBANN = " + target.getName() + " wurde von " + p.getName() + " entbannt.");
                    } else {
                        p.sendMessage(main.prefix + ChatColor.GOLD + target.getName() + " §6ist nicht gebannt.");
                    }
                } else {
                    p.sendMessage(main.use_command + "/unban [Spieler]");
                }
            } else {
                p.sendMessage(main.no_perm);
            }
        } else {
            if(args.length == 1) {
                Player target = Bukkit.getPlayer(args[0]);
                if(target.isBanned()) {
                    Bukkit.getBanList(BanList.Type.NAME).pardon(target.getName());
                    Bukkit.getBanList(BanList.Type.IP).pardon(target.getName());
                    Bukkit.unbanIP(target.getName());
                    for (Player p_o : Bukkit.getOnlinePlayers()) {
                        if (p_o.hasPermission("tint.*") || p_o.hasPermission("tint.team")) {
                            p_o.sendMessage(main.prefix + "§4§lUNBANN §r§7= §6" + target.getName() + " §cwurde von §6" + sender.getName() + " §centbannt.");
                        }
                    }
                    System.out.println("UNBANN = " + target.getName() + " wurde von " + sender.getName() + " entbannt.");
                } else {
                    sender.sendMessage(target.getName() + " ist nicht gebannt.");
                }
            } else {
                sender.sendMessage("Benutze: /unban [Spieler]");
            }
        }
        return false;
    }
}


Jetzt noch die Codes von IPBan- und Ban-Befehl, die funktionieren...

IPBan-Befehl-Code:
package de.appstun.tutorial.commands;

import de.appstun.tintcraft.main;
import org.bukkit.BanList;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class ipban implements CommandExecutor {
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if(sender instanceof Player) {
            Player p = (Player) sender;
            if(p.hasPermission("tint.ban") || p.hasPermission("tint.*")) {
                if(args.length == 0 || args.length == 1) {
                    sender.sendMessage(main.use_command + "/ipban §o[Spieler] [Nachricht]");
                } else {
                    Player target = Bukkit.getPlayer(args[0]);
                    if (target == null) {
                        p.sendMessage(main.target_no_found);
                        return true;
                    } else {
                        String m = args[1];
                        for (int i = 2; i < args.length; i++) {
                            m = m + " " + args[i];
                        }
                        target.kickPlayer("§4§lIP-BANN \n §r \n §r \n §cDu wurdest von §6" + p.getName() + " §cgebannt. \n §5Nachricht: §r" + m);
                        Bukkit.getBanList(BanList.Type.IP).addBan(target.getName(), ChatColor.RED + m + "\n §6Banner: " + p.getName(), null, p.getName());
                        for (Player p_o : Bukkit.getOnlinePlayers()) {
                            if (p_o.hasPermission("tint.*") || p_o.hasPermission("tint.team")) {
                                p_o.sendMessage(main.prefix + "§4§lIP-BANN §r§7= §6" + target.getName() + " §cwurde von §6" + p.getName() + " §cwegen §e" + m + " §cgebannt.");
                            }
                        }
                        System.out.println("IP-BANN = " + target.getName() + " wurde von " + p.getName() + " wegen " + m + " gebannt.");
                    }
                }

            } else {
                p.sendMessage(main.no_perm);
            }
        } else {
            sender.sendMessage(main.is_console);
        }
        return false;
    }
}



Ban-Befehl-Code:
package de.appstun.tutorial.commands;

import de.appstun.tintcraft.main;
import org.bukkit.BanList;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class ban implements CommandExecutor {
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if(sender instanceof Player) {
            Player p = (Player) sender;
            if(p.hasPermission("tint.ban") || p.hasPermission("tint.*")) {
                if(args.length == 0 || args.length == 1) {
                    p.sendMessage(main.use_command + "/ban §o[Spieler] [Nachricht]");
                } else {
                    Player target = Bukkit.getPlayer(args[0]);
                    if (target == null) {
                        p.sendMessage(main.target_no_found);
                        return true;
                    } else {
                        String m = args[1];
                        for (int i = 2; i < args.length; i++) {
                            m = m + " " + args[i];
                        }
                        target.kickPlayer("§4§lBANN \n §r \n §r \n §cDu wurdest von §6" + p.getName() + " §cgebannt. \n §5Nachricht: §r" + m);
                        Bukkit.getBanList(BanList.Type.NAME).addBan(target.getName(), ChatColor.RED + m + "\n §6Banner: " + p.getName(), null, p.getName());
                        for (Player p_o : Bukkit.getOnlinePlayers()) {
                            if (p_o.hasPermission("tint.*") || p_o.hasPermission("tint.team")) {
                                p_o.sendMessage(main.prefix + "§4§lBANN §r§7= §6" + target.getName() + " §cwurde von §6" + p.getName() + " §cwegen §e" + m + " §cgebannt.");
                            }
                        }
                        System.out.println("BANN = " + target.getName() + " wurde von " + p.getName() + " wegen " + m + " gebannt.");
                    }
                }

            } else {
                p.sendMessage(main.no_perm);
            }
        } else {
            sender.sendMessage(main.is_console);
        }
        return false;
    }
}


Ich bedanke mich schonmal, an jeden der mir hilft oder jeder der es versucht.
 
Zuletzt bearbeitet:

Chronex

Redstoneengineer
Registriert
22 Mai 2020
Beiträge
37
Diamanten
360
Code:
java.lang.NullPointerException: null
at de.appstun.tintcraft.main.CommandRegistration(main.java:102)
Ohne deinen Code zu kennen nehme ich einfach mal an das dort ein Command registriert wird welcher vermutlich nicht in der plugin.yml steht.

Falls ich mich täusche wäre für alle anderen Personen der betreffende Code hilfreich.
 

Appstun | Äppi

Minecrafter
Registriert
22 September 2020
Beiträge
23
Diamanten
300
Minecraft
Appstun
Habe nachgeschaut alle Befehle sind vorhanden

main.java:
package de.appstun.tintcraft;


import de.appstun.tintcraft.commands.*;
import de.appstun.tintcraft.listeners.*;
import de.appstun.tintcraft.listeners.invetory.Gamemode_inv_InventoryClickEventListener;
import de.appstun.tintcraft.listeners.oldnewCommand.*;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;

import java.util.ArrayList;

public final class main extends JavaPlugin {

    private static main plugin;
    public static String prefix = "§1§lTintCraft §r§8>> §r";
    public static String is_console = "Du bist kein Spieler!!!";
    public static String use_command = "§1§lTintCraft §r§8>> §6Benutze: §r";
    public static String no_perm = "§1§lTintCraft §r§8>> §cDu hast dafür keine Rechte!";
    public static String target_no_found = "§1§lTintCraft §r§8>> §cAngegebener Spieler nicht gefunden.";

    public static boolean is_Umfrage;
    public static boolean restartcounter;

    public static ArrayList<Player> tagumfrage = new ArrayList<>();
    public static ArrayList<Number> tagumfrage_ja = new ArrayList<>();
    public static ArrayList<Number> tagumfrage_nein = new ArrayList<>();

    @Override
    public void onEnable() {
        is_Umfrage = false;
        restartcounter = false;

        plugin = this;

        PluginManager pluginManager = Bukkit.getPluginManager();
        System.out.println(" ");
        System.out.println(" ");
        System.out.println("[TintCraft-Plugin] Erstellt von Appstun.");
        System.out.println(" ");
        ListenerRegistration();
        CommandRegistration();
    }

    @Override
    public void onDisable() {
        System.out.println("[TintCraft-Plugin] Plugin deaktiviert.");
    }

    public static main getPlugin(){
        return plugin;
    }

    public void ListenerRegistration() {
        System.out.println("[TintCraft-Plugin] Listener wurden aktiviert.");
        System.out.println(" ");
        PluginManager pluginManager = Bukkit.getPluginManager();
        pluginManager.registerEvents(new ChatListener(), this);
        pluginManager.registerEvents(new CommandblockerListener(), this);
        pluginManager.registerEvents(new TeamChat(), this);
        pluginManager.registerEvents(new Gamemode_inv_InventoryClickEventListener(), this);
        pluginManager.registerEvents(new serverlockdown_Listener(), this);
        pluginManager.registerEvents(new MaxPlayers_onServerListener(), this);

        pluginManager.registerEvents(new BanPlayers_Listener(), this);

        pluginManager.registerEvents(new help_CommandListener(), this);
        pluginManager.registerEvents(new reload_CommandListener(), this);
        pluginManager.registerEvents(new stop_restart_CommandListener(), this);
        pluginManager.registerEvents(new redstoneclockdetectorPlugin_CommandListener(), this);
    }
    public void CommandRegistration() {
        System.out.println("[TintCraft-Plugin] Befehle wurden aktiviert.");
        System.out.println(" ");
        System.out.println(" ");
        getCommand("invsee").setExecutor(new invsee());
        getCommand("ecsee").setExecutor(new ecsee());
        getCommand("ec").setExecutor(new ec());
        getCommand("setspawn").setExecutor(new setspawn());
        getCommand("spawn").setExecutor(new spawn());
        getCommand("rename").setExecutor(new rename());
        getCommand("restartcounter").setExecutor(new restartcounter());
        getCommand("gm").setExecutor(new gamemode());
        getCommand("fly").setExecutor(new fly());
        getCommand("flyspeed").setExecutor(new flyspeed());
        getCommand("walkspeed").setExecutor(new walkspeed());
        getCommand("heal").setExecutor(new heal());
        getCommand("clearchat").setExecutor(new clearchat());
        getCommand("servermessage").setExecutor(new servermessage());
        getCommand("warp").setExecutor(new warp());
        getCommand("warps").setExecutor(new warps());
        getCommand("setwarp").setExecutor(new setwarp());
        getCommand("delwarp").setExecutor(new delwarp());
        getCommand("weatherclear").setExecutor(new weatherclear());
        getCommand("head").setExecutor(new head());
        getCommand("vanish").setExecutor(new vanish());
        getCommand("serverlockdown").setExecutor(new serverlockdown());
        getCommand("leave").setExecutor(new leave());
        getCommand("sick").setExecutor(new kick());
        getCommand("tagumfrage").setExecutor(new tagumfrage());
        getCommand("ja").setExecutor(new tagumfrage_ja());
        getCommand("nein").setExecutor(new tagumfrage_nein());
        getCommand("sban").setExecutor(new ban_idee());
        getCommand("sunban").setExecutor(new unban_idee());
    }
}
plugin.yml:
name: TintCraft-Plugin
version: 16.64
main: de.appstun.tintcraft.main
api-version: 1.16
authors: [Appstun]
description: TintCraft-Plugin von Appstun.

commands:
  invsee:
  ecsee:
  ec:
  setspawn:
  spawn:
  rename:
  restartcounter:
  gm:
  fly:
  flyspeed:
  walkspeed:
  heal:
  clearchat:
  servermessage:
  warp:
  warps:
  setwarp:
  delwarp:
  head:
  vanish:
  serverlockdown:
  leave:
  skick:
  sban:
  sunban:
  weatherclear:
  tagumfrage:
  ja:
  nein:

falls jamand mehr braucht, bitte anschreiben.
 
Oben