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

2 Position wird nicht gesetzt

Anty

Minecrafter
Registriert
23 März 2018
Beiträge
4
Alter
26
Diamanten
300
Hey Leute,
Ich baue gerade dein grundgerüßt für ein grundstück plugin das ganze ist so gedacht das man mit der Gold axt 2 positionen setzten kann (worldedit like), wen ich die erste Position setze funktioniert alles wunderbar doch wenn ich die 2 setzen will passiert einfach nichts, error gibts auch nicht

danke im vorauss:)

Der Code:
Javascript:
    @EventHandler
    public void onIAct(PlayerInteractEvent e) {
        if(e.getAction() == Action.LEFT_CLICK_BLOCK || e.getAction() == Action.RIGHT_CLICK_BLOCK) {
            if(e.getItem() != null && e.getItem().getType() == Material.GOLD_AXE) {
                Player p = e.getPlayer();
                Block b = e.getClickedBlock();
               
                if(!locs.containsKey(p)) {
                    locs.put(p, new Location[2]);
                   
                    if(e.getAction() == Action.LEFT_CLICK_BLOCK) {
                        locs.get(p)[0] = b.getLocation();
                        p.sendMessage("§2Grundstück§8• §7Du hast die §21. §7Position gesetzt!");
                    }else{
                            locs.get(p)[1] = b.getLocation();
                            p.sendMessage("§2Grundstück§8• §7Du hast die §22. §7Position gesetzt!");
                            }
                   
                   
                    if(locs.get(p)[0] != null && locs.get(p)[1] != null) {
                        plotFile.setPlot("TestPlot", p.getUniqueId(), locs.get(p)[0].getBlockX(), locs.get(p)[1].getBlockX(), locs.get(p)[0].getBlockZ(), locs.get(p)[1].getBlockZ());
                        locs.remove(p);
                        p.sendMessage("§2Grundstück§8• §7Du hast das Grundstück gesetzt!");
                    }
                   
                }
            }
           
        }
    }
 

SirYwell

PlotSquared Entwickler
Registriert
30 Juni 2017
Beiträge
540
Diamanten
488
Minecraft
SirYwell
Wenn du in Zeile 8 überprüfst, ob ein Spieler bereits in deiner Map ist und in der nächsten Zeile ihn dementsprechend hinzufügst, wird alles innerhalb der if-Abfrage, die du in der 8. Zeile öffnest, nur ein mal ausgeführt.
 

BlackHole

Workaholic
Registriert
1 Juli 2012
Beiträge
752
Diamanten
0
Minecraft
BlackHole
Das liegt an Zeile 8: Nach dem Setzen einer Position wird der Schlüssel gefunden.

Du solltest dir überlegen, die Koordinaten getrennt zu speichern und vor allem keine Spielerobjekte als Schlüssel zu verwenden. Die UUID eines Spieler sit viel besser geeignet.
 
Oben