• 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:

BloodEko

Schafhirte
Showcase Teilnehmer
Registriert
9 September 2012
Beiträge
144
Diamanten
36
Laut Fehlermeldung handelt es sich um eine NullPointerException in unban.java in Zeile 41.

Der Aufruf in Zeile 40 findet vermutlich kein Spieler und belegt die Variable mit null.
In Zeile 41 wird dann versucht null.isBanned() auszuführen was zum Absturz führt.
 

Appstun | Äppi

Minecrafter
Registriert
22 September 2020
Beiträge
23
Diamanten
300
Minecraft
Appstun
Danke @BloodEko,
also ist target.getName() bei
Javascript:
 Bukkit.getBanList(BanList.Type.NAME).pardon(target.getName());
Bukkit.getBanList(BanList.Type.IP).pardon(target.getName());
Bukkit.unbanIP(target.getName());
etwas falsch oder? Da ser Spielername (target) nicht gefundet werden kann, deshalb das null. Das hab ich verstanden, den Rest nicht.
@BloodEko kannst du mal bitte kucken, ob vielleicht einer der Befehle falsch ist.
Da aber die Spielernamen bei den Befehlen IPBan und Ban in die Dateien eingetragen werden, werde ich diese ausschließen. Muss ich vielleicht in einer If-Abfrage vergleichen, ob der angegebene Spieler überhaupt in der Datei eingetragen ist? Wenn ja, wie?
 
Zuletzt bearbeitet:

DayAndNight

Minecrafter
Registriert
21 September 2020
Beiträge
17
Diamanten
303
Naja wenn du Bukkit#unbanIp verwendest, dann wird eine IP Adresse erwartet und nicht der Spielername, der bei target.getName() zurückgegeben wird.

Ich kenne zwar den Bukkit Quelltext nicht, aber die gebannten Spieler werden definitiv in eine Datei geschrieben.
Ich würde es an deiner Stelle einfach selbst machen. Dann hast du auch die Kontrolle über alles.

Entweder du verwendest Dateien oder eine Datenbank. So oder so sollten die Zugriffe asynchron verlaufen, dadurch sollte es nur eine geringe Auswirkung auf die Server TPS haben.

Und Klassennamen bitte im mit einem Großbuchstaben am Anfang schreiben: Ban, Unban
 

Appstun | Äppi

Minecrafter
Registriert
22 September 2020
Beiträge
23
Diamanten
300
Minecraft
Appstun
jetzt hab ich das
Javascript:
Player target = (Player) Bukkit.getBannedPlayers(args[0]);
aber (args[0]) unterstreicht er mir rot.

das hier habe ich auch gesestet:
Javascript:
Player target = (Player) Bukkit.getBannedPlayers().equals(args[0]);
Player target = (Player) Bukkit.getBannedPlayers().contains(args[0]);
Player target = (Player) Bukkit.getOnlinePlayers(args[0]);
Player target = (Player) Bukkit.getOnlinePlayer(args[0]);
Player target = Bukkit.getBanList(BanList.Type.NAME).equals(args[0]);
aber das auch vergeblich

und ich denke das
alle was es da noch hinter Bukkit.getBannedPlayers(). alle nicht geht oder so.
 
Zuletzt bearbeitet:

DayAndNight

Minecrafter
Registriert
21 September 2020
Beiträge
17
Diamanten
303
Hier probier das mal..

Ist allerdings ungetestet.

Code:
OfflinePlayer target = Arrays.asList(Bukkit.getOfflinePlayers())
        .stream().filter(p -> p.getName().equalsIgnoreCase(args[0])).findFirst().get();

if (target != null) {
    if (target.isBanned()) {
        // .... Hier den Spieler entbanne..
    }
}
else {
 //.. Dieser Spieler war noch nie auf dem Server online
}
 

Appstun | Äppi

Minecrafter
Registriert
22 September 2020
Beiträge
23
Diamanten
300
Minecraft
Appstun
Was ist wenn ich jetzt doch dateien anlege.
Also Dateiname besteht aus Spielername also z.B.: Appstun.yml
und in die datei die Uuid und die ip reinschreiben lasse
zum Beispiel:
Datei - [Spielername] .yml:
id: 5445678907654

wie währ das.
da brauch ich nur den Befehl /ban und nicht noch dazu /ipban.
da teste ich einfach ob der name mit der datei beim joinen übereinstimmt + die IP.

Wie kann ich die IP oder die uuid herrausfinden? sonstinst nehme ich den spielernamen
 
Zuletzt bearbeitet:

Malfrador

Threadripper
Registriert
16 Juni 2013
Beiträge
1.473
Diamanten
396
Minecraft
Malfrador
Also Dateiname besteht aus Spielername also z.B.: Appstun.yml
Du solltest wenn die Dateien mit der UUID benennen. Sonst ist das Plugin ja nicht in der Lage, die korrekte Datei zu finden, wenn sich ein Spieler umbenannt hat. In der Datei kannst du dann (hauptsächlich zur schönen Ausgabe von Nachrichten) den letzten dem Plugin bekannten Namen des Spielers mit dieser UUID speichern. Wobei auch diese Information der Server schon hat.

Ich verstehe allerdings nicht, wozu du überhaupt extra Dateien speichern möchtest. Der Server speichert doch schon ganz wunderbar, ob Spieler gebannt sind oder nicht und ob IPs gebannt sind oder nicht.


Dein ursprüngliches Problem war, das Bukkit.getPlayer() keinen gebannten Spieler findet und dementsprechend eine NullPointerException ausgegeben wird. Ein Player ist immer ein Spieler, der aktuell auf dem Server spielt. Ein gebannter Spieler kann natürlich nicht auf dem Server spielen, daher wird getPlayer() ihn nicht finden. Für solche Zwecke gibt es den OfflinePlayer und genau diese bekommt man mit Bukkit.getBannedPlayers() ja auch.

Intern sollte das Plugin auch immer nur UUIDs benutzen - du willst ja nicht, das man Banns durch Namensänderung umgehen kann oder das sie anderweitig durcheinanderkommen. Den einzigen Zeitpunkt, zu dem du Namen nutzen solltest wäre für die entsprechenden Ban- und Unban-Befehle. Nur für Befehlseingaben solltest du Namen nutzen - denn niemand will wirklich UUIDs abtippen.

Um für den Unban-Befehl einen OfflinePlayer mit seinem Namen zu finden, wäre es in deinem Fall wahrscheinlich am einfachsten, einfach die Liste der gebannten Spieler (Bukkit.getBannedPlayers) durchzugehen und für jeden OfflinePlayer, der in dieser Liste ist, mit getName() zu schauen, ob er den richtigen Namen trägt. getName() gibt dabei immer den letzten dem Server bekannten Namen zurück, im Fall eines gebannten Spielers also der Name, mit dem dieser Spieler gebannt wurde.
Das ist eine Operation, die bei so etwas wie einer Bann-Liste meiner Meinung nach absolut in Ordnung ist - es werden ja nicht hunderttausende Spieler in der Liste sein und oft aufgerufen wird das ganze auch nicht.
 

Appstun | Äppi

Minecrafter
Registriert
22 September 2020
Beiträge
23
Diamanten
300
Minecraft
Appstun
Danke @Malfrador, aber es gibt immer noch den gleichen Fehler, das der Spieler nicht gefunden wird.
Wenn ich Bukkit.getBannedPlayers(args[0]) benutze, wird sorfort ein Fehler im Code.
Zum Glück habe ich noch nicht den alten Code gelöscht.

@DayAndNight hier der bissherige Code:
Javascript:
package de.appstun.tintcraft.commands;

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

import java.util.Arrays;

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) {
                    OfflinePlayer target = Arrays.asList(Bukkit.getOfflinePlayers())
                            .stream().filter(offlinePlayer -> p.getName().equalsIgnoreCase(args[0])).findFirst().get();
                    if (target != null) {
                        if (target.isBanned()) {
                            Bukkit.getBanList(BanList.Type.NAME).pardon(target.getName());
                            Bukkit.getBanList(BanList.Type.IP).pardon(target.getName());
                        } else {
                            p.sendMessage(main.prefix + "§6Der angegebene Spieler ist nicht gebannt.");
                        }
                    } else {
                        p.sendMessage(main.target_no_found);
                    }
                    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.use_command + "/unban [Spieler]");
                }
            } else {
                p.sendMessage(main.no_perm);
            }
        } else if (args.length == 1) {
            OfflinePlayer target = Arrays.asList(Bukkit.getOfflinePlayers())
                    .stream().filter(p -> p.getName().equalsIgnoreCase(args[0])).findFirst().get();
            if (target != null) {
                Bukkit.getBannedPlayers().remove(target.getName());
            } else {
                sender.sendMessage("Spieler nicht gefunden.");
            }
            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("Benutze: /unban [Spieler]");
        }
        return false;
    }
}
 
Zuletzt bearbeitet:

DayAndNight

Minecrafter
Registriert
21 September 2020
Beiträge
17
Diamanten
303
Ist es wirklich so schwer den Fehler zu posten, der beim Ausführen kommt?

Bukkit.getBanList(BanList.Type.IP).pardon(target.getName());


1602245342475.png
 

Anhänge

  • 1602245316450.png
    1602245316450.png
    80,9 KB · Aufrufe: 270
Zuletzt bearbeitet:

Appstun | Äppi

Minecrafter
Registriert
22 September 2020
Beiträge
23
Diamanten
300
Minecraft
Appstun
@DayAndNight nein, aber der Fehler ist der gleiche das kein Spieler gefunden wird, auch wenn ich Bukkit.getBanList(BanList.Type.IP).pardon(target.getName()); nehme.
Es gibt jetzt ein neues Problem:
Ich habe gesetern den Server auf die 1.16.3 gebracht (vorher 1.16.2) und das Plugin will nicht mehr aktiviert werden. Alle Listener sind tod und manche Befehle sind auch kaputt

Console:
 [10:58:03] [Server thread/ERROR]: Error occurred while enabling TintCraft-Plugin v16.64 (Is it up to date?)
java.lang.NullPointerException: null
at de.appstun.tintcraft.main.CommandRegistration(main.java:102) ~[?:?]
at de.appstun.tintcraft.main.onEnable(main.java:43) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[craftbukkit.jar:git-Spigot-2740d5a-890130b]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:351) ~[craftbukkit.jar:git-Spigot-2740d5a-890130b]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:480) ~[craftbukkit.jar:git-Spigot-2740d5a-890130b]
at org.bukkit.craftbukkit.v1_16_R2.CraftServer.enablePlugin(CraftServer.java:494) ~[craftbukkit.jar:git-Spigot-2740d5a-890130b]
at org.bukkit.craftbukkit.v1_16_R2.CraftServer.enablePlugins(CraftServer.java:408) ~[craftbukkit.jar:git-Spigot-2740d5a-890130b]
at org.bukkit.craftbukkit.v1_16_R2.CraftServer.reload(CraftServer.java:876) ~[craftbukkit.jar:git-Spigot-2740d5a-890130b]
at org.bukkit.Bukkit.reload(Bukkit.java:642) ~[craftbukkit.jar:git-Spigot-2740d5a-890130b]
at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:27) ~[craftbukkit.jar:git-Spigot-2740d5a-890130b]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:149) ~[craftbukkit.jar:git-Spigot-2740d5a-890130b]
at org.bukkit.craftbukkit.v1_16_R2.CraftServer.dispatchCommand(CraftServer.java:758) ~[craftbukkit.jar:git-Spigot-2740d5a-890130b]
at org.bukkit.craftbukkit.v1_16_R2.CraftServer.dispatchServerCommand(CraftServer.java:743) ~[craftbukkit.jar:git-Spigot-2740d5a-890130b]
at net.minecraft.server.v1_16_R2.DedicatedServer.handleCommandQueue(DedicatedServer.java:381) ~[craftbukkit.jar:git-Spigot-2740d5a-890130b]
at net.minecraft.server.v1_16_R2.DedicatedServer.b(DedicatedServer.java:350) ~[craftbukkit.jar:git-Spigot-2740d5a-890130b]
at net.minecraft.server.v1_16_R2.MinecraftServer.a(MinecraftServer.java:1007) ~[craftbukkit.jar:git-Spigot-2740d5a-890130b]
at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:846) ~[craftbukkit.jar:git-Spigot-2740d5a-890130b]
at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$0(MinecraftServer.java:164) ~[craftbukkit.jar:git-Spigot-2740d5a-890130b]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_265]

Ich glaube ich muss die Version wechseln. Wie kann ich bei IntelliJ IDEA machen?

pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>de.Appstun</groupId>
    <artifactId>TintCraft</artifactId>
    <version>1.0</version>
    <packaging>jar</packaging>

    <name>TintCraft</name>

    <description>TintCraft-Plugin by Appstun</description>
    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.2.4</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <createDependencyReducedPom>false</createDependencyReducedPom>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>

    <repositories>
        <repository>
            <id>spigotmc-repo</id>
            <url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
        </repository>
        <repository>
            <id>sonatype</id>
            <url>https://oss.sonatype.org/content/groups/public/</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>org.spigotmc</groupId>
            <artifactId>spigot-api</artifactId>
            <version>1.16.3-R0.1-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
</project>

Das <version> wahr so: <version>1.16.2-R0.1-SNAPSHOT</version> ich habe auf gestellt <version>1.16.3-R0.1-SNAPSHOT</version> . Habe ich aus dem Internet.
 
Zuletzt bearbeitet:
Oben