Die Methoden isInWater
und isInsideWater
sind derzeit sehr verwirrend: Die Methoden haben sehr ähnliche Namen, geben jedoch überhaupt nicht das gleiche Ergebnis zurück.
isInWater
gibt nur dann true zurück, wenn sich die vollständige Hitbox im Wasser befindet, und sollte in isSubmergedInWater
. Und isInWater
gibt den Wert des Feldes inWater
das durch isSubmergedIn(FluidTags.WATER, true)
.
Dann sollte auch das Feld inWater
werden.
isInsideWater
gibt true zurück, wenn die Hitbox auf Wasser trifft. Die Methode sollte in isTouchingWater
. Das zugehörige Feld insideWater
sollte ebenfalls umbenannt werden.
Da isTouchingWater
bereits vorhanden ist, sollte die Methode auch umbenannt werden.
Der Name isWet
kam einigen in den Sinn, könnte aber mit WolfEntity#isWet
Konflikt stehen, der nur clientseitig ist.
Vielleicht könnten wir WolfEntity # isWet in isWolfWet
umbenennen?
Mein Problem beim Umbenennen von isTouchingWater
in isWet
ist, dass es aus sprachlicher Sicht nicht ganz richtig ist. Sie können für eine bestimmte Zeit nass sein, nachdem Sie Wasser berührt haben. Ich dachte an isMakingContactWithWater
aber es ist viel zu lang.
Könnte immer isTouchingWaterBlock
und isTouchingWater
. Es ist nicht ideal, aber es sollte klar genug sein.
Da die isWet
-Methode eine separate Methode in WolfEntity
(anstatt nur Entity.isWet
oder sie zu überschreiben), schätze ich, dass der Mojang-Name wahrscheinlich so etwas wie shouldDoXyz
, wobei "xyz" etwas ist, was Wölfe nur tun, wenn sie nass sind.
Hängt davon ab. Wölfe schütteln ihren Körper, wenn sie nass sind, und wenn sie nass sind, werden auch Wasserpartikel auf sie übertragen. shouldDoXyz
passt möglicherweise nicht so gut zum Partikel-Rendering-Fall.
@ Runemoro Ich stimme dem zu. Könnte isFurWet
oder isASoggyBoi
.
Die Situation könnte sein, dass die Methode für Wölfe älter ist als die Methoden für Entität.
+1 für Wolf#isFurWet
Dieses Problem wurde jetzt mit # 1058 behoben.
Hilfreichster Kommentar
Dieses Problem wurde jetzt mit # 1058 behoben.