Os métodos isInWater
e isInsideWater
são atualmente muito confusos: os métodos têm nomes muito semelhantes, mas não retornam o mesmo resultado.
isInWater
retorna verdadeiro apenas quando a hitbox completa está na água, e deve ser renomeado para isSubmergedInWater
. E isInWater
retorna o valor do campo inWater
que é definido por isSubmergedIn(FluidTags.WATER, true)
.
Renomear o campo inWater
também deve ser feito nesse momento.
isInsideWater
retorna true quando o hitbox atinge a água, o método deve ser renomeado para isTouchingWater
. O campo associado insideWater
também deve ser renomeado.
Como isTouchingWater
já existe, o método também deve ser renomeado.
O nome isWet
veio em algumas mentes, mas pode entrar em conflito com WolfEntity#isWet
que é apenas do lado do cliente.
Talvez pudéssemos renomear WolfEntity # isWet para isWolfWet
?
Meu problema ao renomear isTouchingWater
para isWet
é que não está totalmente correto do ponto de vista da linguagem. Você pode ficar molhado por um certo tempo após tocar na água. Pensei em isMakingContactWithWater
mas é muito longo.
Sempre poderia ser isTouchingWaterBlock
e isTouchingWater
. Não é ideal, mas deve ser suficientemente claro.
Como o método isWet
é um método separado em WolfEntity
(em vez de apenas usar Entity.isWet
ou substituí-lo), estou supondo que o nome Mojang é provavelmente algo como shouldDoXyz
, onde "xyz" é algo que os lobos fazem apenas quando molhados.
Depende. Os lobos sacodem o corpo quando estão úmidos e, se estiverem úmidos, partículas de água também se espalham sobre eles. shouldDoXyz
pode não caber tão bem para o caso de renderização de partículas.
@Runemoro concordo com isso. Pode ser isFurWet
ou isASoggyBoi
.
A situação pode ser que o método em lobos seja anterior aos métodos em Entidade.
+1 para Wolf#isFurWet
Este problema foi corrigido com o # 1058 agora.
Comentários muito úteis
Este problema foi corrigido com o # 1058 agora.