Frage von ZombiemamLP, 28

Minecraft Plugin überprüfen ob ein Spieler zwischen vier Punkten ist?

Ich wollte grade mal ein Spawnprotect Plugin schreiben, aber ich scheitere iwie an der Überprüfung ob ein Spieler zwischen zwei Punkten ist. Hier ist mal das Event: http://hastebin.com/kicikukuqi.avrasm Ich will also überpfrüfen ob ein Spieler in dem Quadrat mit den vier Ecken minbx/maxbx und minbz/maxbz ist. (bx = Block Koordinate X). Ich glaube ich habe einen Logikfehler in meinem code, ich komme aber grade selber nicht drauf. Ich würde mich freuen wenn jemand mir helfen könnte. Wenn ich das Plugin im Spiel teste, dann kann ich nirgendwo mehr bauen. Habe mir zum Test mal die min/max koordinaten im Spiel ausgeben lassen, und die stimmen auch, aber auch wenn ich außerhalb des quadrates bin kann ich nicht bauen. Sorry wegen der Rechtschreibung, bin müde. Danke im voraus.

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Tomatorat, 18

Tausch alle | Operatoren durch den || Operatoren aus. 

Die korrekte Logik wäre: bx > minbx && bx < maxbx && bz > minbz && bz < maxbz

Je nach dem auch mit größer oder gleich - beziehungsweise kleiner oder gleich - Operator.

Wenn nicht sicher ist, dass die als max und min definierten Werte wirklich der größte und kleinste sind, benötigst du die jeweils umgekehrte Abfrage zusätzlich noch als oder.

Kommentar von ZombiemamLP ,

Dankeschön! Ich hab einfach die größer-/kleiner-Zeichen ausgetauscht.

Antwort
von ChristianPl, 22

Versuch folgendes:
Gib alle 6 Koordinaten (min, max und cur jeweils x und z) aus und überprüfe, ob alles ausgegebene so richtig ist.



Und statt 

e.getPlayer().getTargetBlock((Set<Material>) null, 200).getLocation().getBlockX();

e.getClickedBlock().getLocation().getBlockX();


Keine passende Antwort gefunden?

Fragen Sie die Community