Yarn: WololoGoal purpleSheepPredicate назван неправильно

Созданный на 10 мая 2020  ·  11Комментарии  ·  Источник: FabricMC/yarn

purpleSheepPredicate самом деле проверяет, синяя ли овца.

bug refactor

Самый полезный комментарий

Макс, это должно быть указано в документации, а не настоящее имя. Название должно быть коротким и лаконичным и отражать его назначение.

Все 11 Комментарий

Он проверяет, дает ли исходный цвет в сочетании с новым цветом фиолетовый.

@ MAX1234567890 этого не может быть. Это предикат овцы, а не двух цветов.

Второй цвет всегда красный. Следовательно, он проверяет овцу-> цвет + красный == фиолетовый (т.е. овца-> цвет == синий)

Хотя это правда, это неверная формулировка.
`` java
private final TargetPredicate purpleSheepPredicate = (new TargetPredicate ()). setBaseMaxDistance (16.0D) .includeInvulnerable (). setPredicate ((livingEntity) -> {
return ((SheepEntity) livingEntity) .getColor () == DyeColor.BLUE;
});

Второй цвет всегда красный. Следовательно, он проверяет овцу-> цвет + красный == фиолетовый (т.е. овца-> цвет == синий)

Это полное непонимание логики игры.

Этот TargetPredicate используется, чтобы проверить, должен ли вызывающий вололить овцу, т.е. овца ДОЛЖНА быть синей:

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;

Также дальнейший взгляд на цель показывает, что овца никогда не должна становиться фиолетовой, а должна быть красной, как показано в castSpell

Я знаю, что он не становится фиолетовым, но предикат, уже зная, что овца станет красной, проверяет, является ли исходный цвет овцы в сочетании с новым цветом овцы фиолетовым. В основном вызывающий использует {return purple - x; поэтому он должен убедиться, что красный = фиолетовый - исходный цвет, т.е. цвет синий.

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

Хм, есть ли что-нибудь, документирующее эту конкретную предысторию? вики например?

Я считаю, что в этом случае логика должна диктовать имя, но немного юмористического javadoc об этом может быть весело

Не напрямую, но с учетом того, что а) официально заявлено, что Эвокеры построили красный камень и б) тот факт, что Вексы тоже красные, - вот что привело меня к такому выводу. Также важно помнить о символической природе пурпурного цвета: Эвокер - единственный Иллагер (включая Вексов и Ведьм), на котором нет пурпурного цвета, что наводит на мысль, что Иллагер «вычисляет» фиолетовый - овечий цвет. сделать их красными.

Макс, это должно быть указано в документации, а не настоящее имя. Название должно быть коротким и лаконичным и отражать его назначение.

Лол, какого черта вы беспокоитесь о деталях реализации, если детали реализации сбивают с толку и бесполезны. Просто назовите это convertibleSheepPredicate , зачем вы собираетесь теребить цветную чушь?

Также вините Мезза в этой штуке. К счастью, пряжа с тех пор стала намного умнее и стала называть вещи более эффективными.
https://github.com/FabricMC/yarn/commit/5c6c0c71d1480a36e1d3c2a8f2adf859e307cbc6#diff -b6376ebd10e80e5e322fb28f766d47c4R44

Детали не сбивают с толку, и все же очень ясно, что делается. Он проверяет, синяя ли овца.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

liach picture liach  ·  4Комментарии

Draylar picture Draylar  ·  6Комментарии

Runemoro picture Runemoro  ·  4Комментарии

asiekierka picture asiekierka  ·  3Комментарии

Juuxel picture Juuxel  ·  5Комментарии