Appstun | Äppi
Minecrafter
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.
Soooo... jetzt zum von Code Unban-Befehl, danach noch IPBan- oder Ban-Befehl -> (IPBan- / Ban-Befehl funktionieren)
Jetzt noch die Codes von IPBan- und Ban-Befehl, die funktionieren...
Ich bedanke mich schonmal, an jeden der mir hilft oder jeder der es versucht.
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: