Le purpleSheepPredicate
vérifie en fait si le mouton est bleu.
Il vérifie si la couleur d'origine combinée à la nouvelle couleur donne du violet.
@ MAX1234567890 cela ne peut pas être le cas. C'est un prédicat sur un mouton pas deux couleurs.
La deuxième couleur est toujours rouge. Par conséquent, il vérifie mouton-> couleur + rouge == violet (c'est-à-dire mouton-> couleur == bleu)
Bien que cela soit vrai, c'est une manière trompeuse de le dire.
`` `java
privé final TargetPredicate purpleSheepPredicate = (new TargetPredicate ()). setBaseMaxDistance (16.0D) .includeInvulnerable (). setPredicate ((livingEntity) -> {
return ((SheepEntity) livingEntity) .getColor () == DyeColor.BLUE;
});
La deuxième couleur est toujours rouge. Par conséquent, il vérifie mouton-> couleur + rouge == violet (c'est-à-dire mouton-> couleur == bleu)
C'est une incompréhension totale de la logique du jeu.
Ce TargetPredicate est utilisé pour tester si l'évocateur doit wololo le mouton, c'est-à-dire que le mouton DOIT être bleu:
List<SheepEntity> list = EvokerEntity.this.world.getTargets(SheepEntity.class, this.purpleSheepPredicate, EvokerEntity.this, EvokerEntity.this.getBoundingBox().expand(16.0D, 4.0D, 16.0D));
if (list.isEmpty()) {
return false;
Un examen plus approfondi de l'objectif montre également que le mouton n'est jamais censé devenir violet, mais rouge comme indiqué dans castSpell
Je sais qu'il ne devient pas violet, mais le prédicat, sachant déjà que le mouton deviendra rouge, vérifie si la couleur d'origine du mouton combinée avec la nouvelle couleur du mouton est le violet. Fondamentalement, l'évocateur utilise un {return purple - x; il doit donc s'assurer que rouge = violet - la couleur d'origine, c'est-à-dire que la couleur est bleue.
Hmm, y a-t-il quelque chose qui documente cette histoire spécifique? wiki par exemple?
Je pense que dans ce cas, la logique devrait dicter le nom, mais un peu de javadoc humoristique à ce sujet pourrait être amusant
Pas directement, mais étant donné que a) il est officiellement déclaré que les Evokers ont construit Redstone et b) le fait que les Vex sont également rouges est ce qui m'a conduit à cette conclusion. Il est également important de garder à l'esprit la nature symbolique du violet: l'Evoker est le seul Illager (y compris les Vex et les sorcières) à ne pas avoir de violet dessus, ce qui conduit à l'idée que l'Illager "calcule" le violet - la couleur du mouton pour les rendre rouges.
Max, cela devrait être mis dans la documentation et non le nom réel. Le nom doit être court et concis et refléter ce qu'il fait.
Lol pourquoi diable êtes-vous préoccupé par les détails de la mise en œuvre si les détails de la mise en œuvre sont déroutants et inutiles. Appelez-le simplement convertibleSheepPredicate
, pourquoi allez-vous réfléchir à un non-sens de couleur
Blâmez également mezz pour cette chose. Le fil a été beaucoup plus intelligent depuis, heureusement, nommant les choses de manière plus efficace.
https://github.com/FabricMC/yarn/commit/5c6c0c71d1480a36e1d3c2a8f2adf859e307cbc6#diff -b6376ebd10e80e5e322fb28f766d47c4R44
Les détails ne sont pas déroutants et ce qui est fait est très clair. Il vérifie si le mouton est bleu.
Commentaire le plus utile
Max, cela devrait être mis dans la documentation et non le nom réel. Le nom doit être court et concis et refléter ce qu'il fait.