Frage von panakotta00, 92

[Bukkit/WorldEdit/Java] Wie kann ich eine CuboidSelection in eine Rectangle2D verwandeln?

Da ich zu keinen guten Ergebnissen in zwei Foreneinträge kam, frag ich nun explizit auf dieses eine Thema. Wie kann ich eine CuboidSelection von der WorldEdit API benutzen um daraus eine Rectangle2D von Java zu erstellen. Ich benötige dieses Rectangle2D um zu Prüfen ob sich zwei CuboidSelections überlappen. Kann mir da wer helfen?

Antwort
von androhecker, 33

In 2d (ich gehe mal aus du meinst die Y Achse ausgelassen) ist das ganze einfach, einfach jeweils die 4 Eckpunkte abklappern und überprüfen ob sie innerhalb der anderen Selection liegen.

Kommentar von panakotta00 ,

Ja aber wie kann ich das machen mit dem code gehts nicht;

http://pastebin.com/tMADR98c

Kommentar von androhecker ,

Der Code von dir ist etwas komisch aufgebaut, habe gerade nur das Handy zur verfügbar, deswegen nur der Aufbau der Methode: 1. Zwei neue Cuboid Selections erstellen, mit den gleichen Daten, nur y=1 2. Die vier Eckpunkte von BEIDEN Selections erstellen, (außer maximum und minimum so: max2 = max.clone(); und max2.setZ(min.getZ()); etc) 3. Für alle Punkte der ersten und zweiten Selection prüfen, ob sie innerhalb der anderen liegen.

Kommentar von panakotta00 ,

Ich hab nun diesenscript: http://pastebin.com/UfBtmrdQ

aber der funktioniert immer noch nicht.

Kommentar von androhecker ,

Hmm, kannst du mal die Locations printen lassen? Und kleiner Tipp für das letzte if statement, das kannst du dir sparen, einfach return cond1 || cond2 etc;

Kommentar von panakotta00 ,

Die Block Koordinaten lauten :

[17:20:07 INFO]: x: -133 y: 0 z: 285
[17:20:07 INFO]: x: -140 y: 0 z: 281
[17:20:07 INFO]: x: -140 y: 0 z: 285
[17:20:07 INFO]: x: -133 y: 0 z: 281
[17:20:07 INFO]: x: -133 y: 0 z: 285
[17:20:07 INFO]: x: -140 y: 0 z: 281
[17:20:07 INFO]: x: -140 y: 0 z: 285
[17:20:07 INFO]: x: -133 y: 0 z: 281

Kommentar von androhecker ,

Naja, auch wenns zwei mal das gleiche ist sollte es funktionieren, was ist wenn du die Höhe mal auf 5 oder etwas höher setzt?

Kommentar von panakotta00 ,

Neue Koordinaten :

[14:35:17 INFO]: x: -133 y: 10 z: 285
[14:35:17 INFO]: x: -140 y: 10 z: 281
[14:35:17 INFO]: x: -140 y: 10 z: 285
[14:35:17 INFO]: x: -133 y: 10 z: 281
[14:35:17 INFO]: x: -133 y: 10 z: 285
[14:35:17 INFO]: x: -140 y: 10 z: 281
[14:35:17 INFO]: x: -140 y: 10 z: 285
[14:35:17 INFO]: x: -133 y: 10 z: 281

Kommentar von androhecker ,

Und was passiert wenn die Selections sich anderweitig überlappen? Eigentlich sollte es jetzt funktionieren.

Kommentar von panakotta00 ,

Funktioniert immer noch nicht

Antwort
von panakotta00, 47

Ja aber wie kann ich das machen mit dem code gehts nicht;

http://pastebin.com/tMADR98c

Keine passende Antwort gefunden?

Fragen Sie die Community