Yarn: Entity#isInWater,Entity#isTouchingWater和Entity#isInsideWater是令人困惑的名称。

创建于 2019-11-12  ·  8评论  ·  资料来源: FabricMC/yarn

方法isInWaterisInsideWater当前非常混乱:这些方法的名称非常相似,但根本不会返回相同的结果。

isInWater仅在整个Hitbox在水中时才返回true,并且应重命名为isSubmergedInWaterisInWater返回由isSubmergedIn(FluidTags.WATER, true)设置的字段inWater的值。
然后,也应该重命名inWater字段。

当Hitbox碰到水时, isInsideWater返回true,该方法应重命名为isTouchingWater 。 相关字段insideWater也应重命名。

由于isTouchingWater已经存在,因此该方法也应重命名。
有人想到isWet这个名称,但它可能与WolfEntity#isWet冲突,后者仅是客户端的。

最有用的评论

现在,此问题已通过#1058解决。

所有8条评论

也许我们可以将WolfEntity#isWet重命名为isWolfWet

我将isTouchingWater重命名isWet是,从语言角度来看,这并不完全正确。 接触水后可能会弄湿一段时间。 我想到了isMakingContactWithWater但是太长了。

始终可以是isTouchingWaterBlockisTouchingWater 。 这不是理想的,但应该足够清楚。

由于isWet方法是WolfEntity的单独方法(而不是仅使用Entity.isWet或覆盖它),所以我猜测Mojang名称可能类似于shouldDoXyz ,其中“ xyz”是狼只在湿的时候才做的事。

依靠。 狼在潮湿时会摇晃自己的身体,如果潮湿,也会在它们身上留下水颗粒。 shouldDoXyz可能不适用于粒子渲染案例。

@Runemoro我同意这一点。 可能是isFurWetisASoggyBoi

情况可能是狼的方法早于实体的方法。

Wolf#isFurWet +1

现在,此问题已通过#1058解决。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

Boundarybreaker picture Boundarybreaker  ·  3评论

Sollace picture Sollace  ·  5评论

Runemoro picture Runemoro  ·  4评论

ChloeDawn picture ChloeDawn  ·  5评论

Bixilon picture Bixilon  ·  5评论