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

Hilfe!

TaMoBiDa

Minecrafter
Registriert
20 August 2017
Beiträge
9
Alter
24
Diamanten
300
Hey, ich bin gerade dabei ein Troll plugin zu machen habe aber ein problem...

bei ,,for (Player t: names) {"
kommt immer ein error bei ,,names"

abschnitt:

if (event.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.AQUA + "Freeze Troll")) {
Set names = Main.target.keySet();
for (Player t : names) {
Main.target.get(t);
if (t != null) {
p.closeInventory();
if (!freeze.containsKey(t)) {
freeze.put(t, t.getLocation());
p.sendMessage(ChatColor.YELLOW + "[Troll] " + ChatColor.GREEN + "Frozen troll successful!");
t.sendMessage(ChatColor.YELLOW + "[Troll] " + ChatColor.AQUA + "Frozen!");
 

JOO200

Braumeister
Registriert
18 Dezember 2016
Beiträge
442
Diamanten
228
Du musst bei einem Set auch noch spezialisieren, um was für einen Typ es sich handelt.

Code:
if (event.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.AQUA + "Freeze Troll")) {
    Set<Player> names = Main.target.keySet();
    for (Player t : names) {
        Main.target.get(t);
        if (t != null) {
            p.closeInventory();
            if (!freeze.containsKey(t)) {
                freeze.put(t, t.getLocation());
                p.sendMessage(ChatColor.YELLOW + "[Troll] " + ChatColor.GREEN + "Frozen troll successful!");
                t.sendMessage(ChatColor.YELLOW + "[Troll] " + ChatColor.AQUA + "Frozen!");
Ich würde dir aber nicht empfehlen, Spieler in ein Set abzuspeichern, sondern UUIDs zu nehmen. Dann müsstest du deine Map, welche du wohl in der Main-Klasse als Map<UUID, ??> definieren und die Spieler mit Bukkit.getPlayerByUUID(UUID uuid); auflösen.
 

PSandro

Kuhfänger
Registriert
7 November 2016
Beiträge
51
Diamanten
302
Im Grunde genommen holst du dir erst deine Keys um dir anhand dieser dann wieder im selben Abschnitt die dazugehörigen Werte aus der Map(?) zu fischen. Zumindest habe ich so dein Statement interpretieren können:
Code:
Main.target.get(t);

Ich würde dir raten, einfach über Main.target.forEach([...]); über all die Einträge zu iterieren und dort dann deine Logik auszuführen.
 
Oben