• 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 PlayerEnterPlotEvent Abfrage ob das Plot dem Spieler gehört

dmmk218

Redstoneengineer
Registriert
28 Juni 2018
Beiträge
42
Alter
27
Diamanten
300
Hallo zusammen,

ich würde gerne ein Perk bereitstellen wo Spieler auf Ihrem Plot fliegen können.
Soweit so gut die Events werden gefeuert aber sobald ich beim PlayerEnterPlotEvent abfrage ob das Plot dem Spieler ist hört das Event auf. Habe zum Test nach jeder Zeile ein p.sendMessage("Event fired (1)"); eingefügt und das Event wurde gefeuert bis zur besagten abfrage. Das PlayerLeavePlotEvent funktioniert ohne Probleme. Hier ist mein Code:

Java:
public class PlayerPlotEnterEvent implements Listener {
  
    @EventHandler(priority=EventPriority.HIGHEST)
    public void onPlotEnter(PlayerEnterPlotEvent ee) {
        Player p = (Player)ee.getPlayer();
        Plot plot = Main.api.getPlot(p.getLocation());
        if (p.hasPermission("wps.perks.fly") && plot.isOwner(p.getUniqueId())) {
            p.setAllowFlight(true);
            p.sendMessage("§8[§e§lWood§4§lPixel§8] §aDu bist auf deinem Plot. Fly aktiviert!");
        }
    }
  
    @EventHandler(priority=EventPriority.HIGHEST)
    public void onPlotLeave(PlayerLeavePlotEvent e) {
        Player p = (Player)e.getPlayer();
        if (p.hasPermission("wps.perks.fly")) {
            if (p.getAllowFlight() == true && !p.hasPermission("wps.perks.fly.keep")) {
                p.setAllowFlight(false);
                p.sendMessage("§8[§e§lWood§4§lPixel§8] §cDu verlässt dein Plot. Fly deaktiviert!");
                return;
            }
        }
    }


Hoffentlich kann mir jemand helfen.

//edit: Keine Fehler in der Konsole...

LG dmmk218
 
Registriert
10 Dezember 2017
Beiträge
161
Alter
26
Diamanten
322
Minecraft
DerFrZocker
Ohne das plot plugin zu kennen, vermute ich, dass das PlayerEnterPlotEvent nach / im PlayerMoveEvent ausgeführt wird. Somit hat der Spieler das Plot in diesem tick noch nicht betreten. Sondern ist erst dabei zu betreten.
Somit vermute ich das:
Main.api.getPlot(p.getLocation());
dir das falsche plot zurück gibt.

Das ist aber nur eine Vermutung. Für genaueres währe es hilfreich das plot plugin zu nennen.
 

dmmk218

Redstoneengineer
Registriert
28 Juni 2018
Beiträge
42
Alter
27
Diamanten
300
Ohne das plot plugin zu kennen, vermute ich, dass das PlayerEnterPlotEvent nach / im PlayerMoveEvent ausgeführt wird. Somit hat der Spieler das Plot in diesem tick noch nicht betreten. Sondern ist erst dabei zu betreten.
Somit vermute ich das:
dir das falsche plot zurück gibt.

Das ist aber nur eine Vermutung. Für genaueres währe es hilfreich das plot plugin zu nennen.
Ich nutze Plotsquared
 
Oben