Metode isInWater
dan isInsideWater
saat ini sangat membingungkan: metode memiliki nama yang sangat mirip tetapi tidak mengembalikan hasil yang sama sama sekali.
isInWater
mengembalikan true hanya jika hitbox lengkap ada di dalam air, dan harus diganti namanya menjadi isSubmergedInWater
. Dan isInWater
mengembalikan nilai bidang inWater
yang ditetapkan oleh isSubmergedIn(FluidTags.WATER, true)
.
Mengganti nama field inWater
juga harus dilakukan.
isInsideWater
mengembalikan nilai true ketika hitbox menyentuh air, metode ini harus diganti namanya menjadi isTouchingWater
. Bidang terkait insideWater
juga harus diganti namanya.
Karena isTouchingWater
sudah ada, metode ini juga harus diganti namanya.
Nama isWet
muncul di beberapa pikiran tetapi mungkin bertentangan dengan WolfEntity#isWet
yang hanya untuk sisi klien.
Mungkin kita bisa mengganti nama WolfEntity # isWet menjadi isWolfWet
?
Masalah saya dengan mengganti nama isTouchingWater
menjadi isWet
adalah tidak sepenuhnya benar dari sudut pandang bahasa. Anda bisa basah untuk waktu tertentu setelah menyentuh air. Saya memikirkan isMakingContactWithWater
tetapi itu terlalu lama.
Bisa selalu isTouchingWaterBlock
dan isTouchingWater
. Ini tidak ideal tetapi harus cukup jelas.
Karena metode isWet
adalah metode terpisah di WolfEntity
(daripada hanya menggunakan Entity.isWet
, atau menimpanya), saya menduga bahwa nama Mojang mungkin sesuatu seperti shouldDoXyz
, di mana "xyz" adalah sesuatu yang dilakukan serigala hanya saat basah.
Tergantung. Serigala mengguncang tubuh mereka saat basah, dan jika mereka basah, partikel air juga akan menempel pada mereka. shouldDoXyz
mungkin juga tidak cocok untuk kasus render partikel.
@Runemoro Saya setuju dengan itu. Mungkin isFurWet
atau isASoggyBoi
.
Situasinya mungkin bahwa metode pada serigala mendahului metode pada Entitas.
+1 untuk Wolf#isFurWet
Masalah ini telah diperbaiki dengan # 1058 sekarang.
Komentar yang paling membantu
Masalah ini telah diperbaiki dengan # 1058 sekarang.