Yarn: Entity#isInWater、Entity#isTouchingWater、およびEntity#isInsideWaterは紛らわしい名前です。

作成日 2019年11月12日  ·  8コメント  ·  ソース: FabricMC/yarn

メソッドisInWaterisInsideWaterは現在、非常に紛らわしいです。メソッドの名前は非常に似ていますが、まったく同じ結果を返しません。

isInWaterは、ヒットボックス全体が水中にある場合にのみtrueを返し、名前をisSubmergedInWater変更する必要があります。 また、 isInWaterは、 isSubmergedIn(FluidTags.WATER, true)によって設定されたフィールドinWaterの値を返します。
次に、 inWaterフィールドの名前を変更する必要があります。

isInsideWaterは、ヒットボックスが水に当たるとtrueを返します。メソッドの名前は、 isTouchingWater変更する必要があります。 関連するフィールドinsideWaterも名前を変更する必要があります。

isTouchingWaterすでに存在するため、メソッドの名前も変更する必要があります。
isWetという名前が思い浮かびましたが、クライアント側のみのWolfEntity#isWetと競合する可能性があります。

bug

最も参考になるコメント

この問題は#1058で修正されました。

全てのコメント8件

たぶん、WolfEntity#isWetの名前をisWolfWet変更できますか?

名前を変更することによって私の問題isTouchingWaterするisWet 、それは、ビューの言語の点に完全に正しいではありませんです。 水に触れた後、一定時間濡れることがあります。 isMakingContactWithWaterを考えましたが、長すぎます。

常にisTouchingWaterBlockおよびisTouchingWaterます。 理想的ではありませんが、十分に明確である必要があります。

isWetメソッドはWolfEntity別のメソッドであるため( Entity.isWetを使用したり、オーバーライドしたりするのではなく)、Mojangの名前はおそらくshouldDoXyzようなものだと思います。

依存します。 オオカミは濡れていると体を震わせ、濡れていると水粒子もその上にレンダリングされます。 shouldDoXyzは、パーティクルレンダリングの場合にはうまく適合しない可能性があります。

@Runemoro同意します。 isFurWetまたはisASoggyBoiます。

オオカミのメソッドがエンティティのメソッドよりも前にある場合があります。

Wolf#isFurWet +1

この問題は#1058で修正されました。

このページは役に立ちましたか?
0 / 5 - 0 評価