SteamWar/FightSystem
Archiviert
13
1

Fix Piston retract with Block on Region Floor and Piston above #271

Manuell gemergt
Zeanon hat 3 Commits von PistonFixArenaFloor nach master 2021-05-08 01:33:33 +02:00 zusammengeführt
Besitzer

Noch nicht getestet, Bitte vor dem mergen Testen kann es gerade selber nicht machen.

Noch nicht getestet, Bitte vor dem mergen Testen kann es gerade selber nicht machen.
YoyoNow hat 1 Commit 2021-05-06 17:50:16 +02:00 hinzugefügt
Zeanon hat 1 Commit 2021-05-06 20:33:17 +02:00 hinzugefügt
Lixfel hat 2021-05-06 20:52:11 +02:00 Änderungen angefragt
@ -145,3 +145,3 @@
public boolean inRegion(Block block){
return in2dRegion(block) && minY <= block.getY() && block.getY() < maxY;
return in2dRegion(block) && block.getY() >= minY - 1 && block.getY() < maxY;
Besitzer

Das ist schlicht inkorrekt. Am Region-System hängen nicht nur Pistons dran, das verursacht hier nur unvorhergesehene Probleme. Was ist überhaupt das Problem?

Das ist schlicht inkorrekt. Am Region-System hängen nicht nur Pistons dran, das verursacht hier nur unvorhergesehene Probleme. Was ist überhaupt das Problem?
Autor
Besitzer

Also erstmal wird diese Methode nur an genau 2 Stellen gecalled, welche im PistonRetrace und Expand sind und niergends sonst, laut Intelij. Somit ist dies absolut richtig. Und inRegion sollte nicht gucken, ob es unter minY liegt und unter maxY das ist schlicht einfach für inRegion falsch!

Also erstmal wird diese Methode nur an genau 2 Stellen gecalled, welche im PistonRetrace und Expand sind und niergends sonst, laut Intelij. Somit ist dies absolut richtig. Und inRegion sollte nicht gucken, ob es unter minY liegt und unter maxY das ist schlicht einfach für inRegion falsch!
Besitzer

Derzeit wird die Methode nur beim Piston gecallt, ist jedoch nicht einfach nur dafür gedacht. Bitte lese dir nochmal exakt den code durch, diese Methode prüft nicht ob es unter minY ist. Das ist schlicht die falsche Stelle für den Fix. Diese Methode ist so richtig, der Fix macht im Gegensatz die Methode kaputt. Die kaputte Methode ist hierbei der Listener und nicht inRegion.

Derzeit wird die Methode nur beim Piston gecallt, ist jedoch nicht einfach nur dafür gedacht. Bitte lese dir nochmal exakt den code durch, diese Methode prüft nicht ob es unter minY ist. Das ist schlicht die falsche Stelle für den Fix. Diese Methode ist so richtig, der Fix macht im Gegensatz die Methode kaputt. Die kaputte Methode ist hierbei der Listener und nicht inRegion.
Autor
Besitzer

Aber ist es so falsch dann minY <= block.getY() logisch umzudrehen und zu gucken ob block.getY() >= minY - 1 ist. Das dürfte bis auf der -1 sich genau gleich verhalten. Du hast einfach den code was das angeht etwas komisch geschrieben. und mein fix war auch eigentlich minY < block.getY() jedoch hat der laut Zeanon nicht getan.

Aber ist es so falsch dann `minY <= block.getY()` logisch umzudrehen und zu gucken ob `block.getY() >= minY - 1` ist. Das dürfte bis auf der `-1` sich genau gleich verhalten. Du hast einfach den code was das angeht etwas komisch geschrieben. und mein fix war auch eigentlich `minY < block.getY()` jedoch hat der laut Zeanon nicht getan.
Autor
Besitzer

Und wie soll man laut dir dann bitte das ganze im Listener beheben, wenn dieser diese Methode verwendet?

Und wie soll man laut dir dann bitte das ganze im Listener beheben, wenn dieser diese Methode verwendet?
Besitzer

Das -1 ist ein one-off FEHLER. Hast du dir mal angeschaut, was für Blockpositionen da überhaupt vom Pistonlistener überprüft werden?

Das -1 ist ein one-off FEHLER. Hast du dir mal angeschaut, was für Blockpositionen da überhaupt vom Pistonlistener überprüft werden?
Autor
Besitzer

Irgendwelche relative Block positions. Jedoch weiterhin ist das umdrehen der If abfrage, keine logische Änderung, sondern eine, womit besser zu lesen ist, was dort passiert. Dies sollte trotzdem irgendwie behoben werden, weil man so Blöcke aus der Ebene über dem Boden nicht wegziehen kann nach oben.

Irgendwelche relative Block positions. Jedoch weiterhin ist das umdrehen der If abfrage, keine logische Änderung, sondern eine, womit besser zu lesen ist, was dort passiert. Dies sollte trotzdem irgendwie behoben werden, weil man so Blöcke aus der Ebene über dem Boden nicht wegziehen kann nach oben.
Besitzer

Ja, der Fehler sollte behoben werden, inRegion ist jedoch die falsche Stelle, weil da nix kaputt ist. Die irgendwelchen relativen Blockpositions sind schätzungsweise mehrere (Slime oder etc. sei Dank). Und ich finde min <= x < max besser zu lesen als x >= min und x < max, aber das ist wohl Geschmacksfrage und keine technische.

Ja, der Fehler sollte behoben werden, inRegion ist jedoch die falsche Stelle, weil da nix kaputt ist. Die irgendwelchen relativen Blockpositions sind schätzungsweise mehrere (Slime oder etc. sei Dank). Und ich finde min <= x < max besser zu lesen als x >= min und x < max, aber das ist wohl Geschmacksfrage und keine technische.
Autor
Besitzer

Gut und wie willst du diese Sache dann beheben?

Gut und wie willst du diese Sache dann beheben?
Besitzer

Erstmal anschauen, welche "irgendwelchen" relativen Blockpositions da rauskommen, und anschauen, ob das ein generelles Problem ist, oder nur nach unten positionierten Pistons mit Eigenschaft xy passiert.

Erstmal anschauen, welche "irgendwelchen" relativen Blockpositions da rauskommen, und anschauen, ob das ein generelles Problem ist, oder nur nach unten positionierten Pistons mit Eigenschaft xy passiert.
Autor
Besitzer

ok. ich weiß nur nicht, da ich nicht so ganz im FightSystem drin bin ob ich das so gut schaffe.

ok. ich weiß nur nicht, da ich nicht so ganz im FightSystem drin bin ob ich das so gut schaffe.
Besitzer

Wenn du Region gefunden hast, wirst du auch den PistonListener finden, und der ist ein für sich abgeschlossenes Modul.

Wenn du Region gefunden hast, wirst du auch den PistonListener finden, und der ist ein für sich abgeschlossenes Modul.
Mitglied

HABS GEFUNDEN

HABS GEFUNDEN
Zeanon hat 1 Commit 2021-05-08 01:31:41 +02:00 hinzugefügt
Chaoscaot hat die Änderungen 2021-05-08 01:32:30 +02:00 genehmigt
Chaoscaot hat einen Kommentar hinterlassen
Besitzer

Tut.

Tut.
Zeanon hat Commit ab24b5bc24 in master 2021-05-08 01:33:33 +02:00 manuell gemerged
Lixfel löschte die Branch PistonFixArenaFloor 2021-05-08 10:27:43 +02:00
Dieses Repo ist archiviert. Du kannst Pull-Requests nicht kommentieren.
Keine Beschreibung angegeben.