Also solange dein Code "so" aussieht, wird es schwierig, Aussagen in Bezug auf Perfromance zu treffen.
Wenn du tatsächlich so ein Plugin wie "Städte" umsetzen magst, empfehl ich dir, dich umzuschauen und zu erforschen, was für Plugins etwas mit Regionen, Sicherungen usw. machen. Ein heißer Tipp fängt mit World an und hört mit Guard auf.
Solche größeren Plugins bieten meist eine halbwegs brauchbare API an, womit man sich seine eigenen Plugins schreiben muss, ohne dass man die Grundfunktionen des Plugins selbst programmieren muss. Dadurch sparst du dir viele Bugs, weil der Code von WorldGuard schon viele Jahre besteht und auf tausenden Servern läuft und demnach dort auch getestet wird.
Ich glaube weniger, dass du Probleme mit der Performance bekommst, sondern eher damit, dass du auf versionsabhängigen Code rumeierst, der dadurch nur in deiner einen Serverversion funktioniert. Viel Spaß beim Updaten:
// TextComponent message = new TextComponent(
// Var.prefix + "Annehmen: §e/stadt annehmen " + player.getName());
// message.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND,
// "/stadt annehmen " + player.getName()));
// message.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT,
// new ComponentBuilder("§eAnnehmen").create()));
IChatBaseComponent chat = ChatSerializer.a("{\"text\":\"§7Annehmen: \",\"extra\":[{\"text\":\"§a/stadt annehmen "+player.getName()+"\" ,\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/stadt annehmen "+player.getName()+"\"}}] }");
IChatBaseComponent chat2 = ChatSerializer.a("{\"text\":\"§7Ablehnen: \",\"extra\":[{\"text\":\"§c/stadt ablehnen "+player.getName()+"\" ,\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/stadt ablehnen "+player.getName()+"\"}}] }");
PacketPlayOutChat packet = new PacketPlayOutChat(chat);
Player target = Bukkit.getPlayer(StadtManager.getGründer(args[1]));
((CraftPlayer) target).getHandle().playerConnection.sendPacket(packet);
PacketPlayOutChat packet2 = new PacketPlayOutChat(chat2);
((CraftPlayer) target).getHandle().playerConnection.sendPacket(packet2);
// all.spigot().sendMessage(message);
// TextComponent message2 = new TextComponent(
// Var.prefix + "Ablehnen: §e/stadt ablehnen " + player.getName());
// message2.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND,
// "/stadt ablehnen " + player.getName()));
// message2.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT,
// new ComponentBuilder("§eAblehnen").create()));
// all.spigot().sendMessage(message2);
Das geht einfacher, zum Beispiel mit dem ComponentBuilder von Spigot. Dann ist es nicht mal Versionsabhängig.
Und:
Player target = Bukkit.getPlayer(StadtManager.getGründer(args[1]));
Argsss, warum benutzt du Sonderzeichen in deinem Code? In den Kommentaren ist das ja gerade noch so okay, aber im Code selbst? Gut, aktuell ist das meiste auf UTF-8, aber trotzdem. Je nachdem kannst du damit richtig auf die Schnauze fliegen, wenn der Compiler da keine Lust hat und irgendeinen Mist macht.
Die ganzen Rechtschreibfehler in deinen hardgecodeten Nachrichten kommentiere ich mal nicht
