Yarn: WololoGoal purpleSheepPredicate est mal nommé

Créé le 10 mai 2020  ·  11Commentaires  ·  Source: FabricMC/yarn

Le purpleSheepPredicate vérifie en fait si le mouton est bleu.

bug refactor

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.

Tous les 11 commentaires

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.

http://www.clipartbest.com/cliparts/aiq/Mb5/aiqMb5AiM.jpeg

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.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

ChloeDawn picture ChloeDawn  ·  5Commentaires

Juuxel picture Juuxel  ·  5Commentaires

Boundarybreaker picture Boundarybreaker  ·  3Commentaires

liach picture liach  ·  4Commentaires

Draylar picture Draylar  ·  6Commentaires