Yarn: WololoGoal purpleSheepPredicate tiene un nombre incorrecto

Creado en 10 may. 2020  ·  11Comentarios  ·  Fuente: FabricMC/yarn

El purpleSheepPredicate realmente comprueba si la oveja es azul.

bug refactor

Comentario más útil

Max, esto debe incluirse en la documentación, no en el nombre real. El nombre debe ser breve y conciso y reflejar lo que hace.

Todos 11 comentarios

Lo que está haciendo es comprobar si el color original combinado con el nuevo color se vuelve violeta.

@ MAX1234567890 ese no puede ser el caso. Es un predicado de una oveja, no de dos colores.

El segundo color es siempre rojo. Por lo tanto, verifica oveja-> color + rojo == púrpura (es decir, oveja-> color == azul)

Aunque eso es cierto, es una forma engañosa de decirlo.
`` java
TargetPredicate final privado purpleSheepPredicate = (new TargetPredicate ()). setBaseMaxDistance (16.0D) .includeInvulnerable (). setPredicate ((livingEntity) -> {
return ((SheepEntity) livingEntity) .getColor () == DyeColor.BLUE;
});

El segundo color es siempre rojo. Por lo tanto, verifica oveja-> color + rojo == púrpura (es decir, oveja-> color == azul)

Eso es un completo malentendido de la lógica del juego.

Ese TargetPredicate se usa para probar si el evocador debe wololo la oveja, es decir, la oveja DEBE ser azul:

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;

Además, una mirada más detallada al objetivo muestra que la oveja nunca debe volverse morada, sino roja, como se muestra en castSpell

Sé que no se vuelve púrpura, pero el predicado, sabiendo ya que la oveja se volverá roja, comprueba si el color original de la oveja combinado con el nuevo color de la oveja es púrpura. Básicamente, el evocador usa {return purple - x; por lo que tiene que asegurarse de que rojo = púrpura - el color original, es decir, el color es azul.

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

Hmm, ¿hay algo que documente esa historia de fondo específica? wiki por ejemplo?

Creo que en este caso, la lógica debería dictar el nombre, pero un poco de javadoc humorístico sobre eso podría ser divertido.

No directamente, pero dado que a) se declara oficialmente que los Evokers construyeron redstone yb) el hecho de que los Vexes también son rojos es lo que me lleva a esa conclusión. También es importante tener en cuenta la naturaleza simbólica del morado: el Evoker es el único Illager (incluidos Vexes y Witches) que no tiene ningún morado, lo que lleva a la idea de que el Illager está "calculando" el morado: el color de la oveja. para ponerlos rojos.

Max, esto debe incluirse en la documentación, no en el nombre real. El nombre debe ser breve y conciso y reflejar lo que hace.

Lol ¿por qué diablos le preocupan los detalles de implementación si los detalles de implementación son confusos y no útiles? Solo llámalo convertibleSheepPredicate , ¿por qué te vas a pegar el cerebro por una tontería de color

También culpe a Mezz por esto. Yarn ha sido mucho más inteligente desde que, afortunadamente, nombra las cosas de manera más eficiente.
https://github.com/FabricMC/yarn/commit/5c6c0c71d1480a36e1d3c2a8f2adf859e307cbc6#diff -b6376ebd10e80e5e322fb28f766d47c4R44

Sin embargo, los detalles no son confusos y está muy claro lo que se está haciendo. Comprueba si la oveja es azul.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

ChloeDawn picture ChloeDawn  ·  6Comentarios

asiekierka picture asiekierka  ·  3Comentarios

Juuxel picture Juuxel  ·  5Comentarios

copygirl picture copygirl  ·  6Comentarios

ChloeDawn picture ChloeDawn  ·  5Comentarios