Yarn: WololoGoal purpleSheepPredicate salah nama

Dibuat pada 10 Mei 2020  ·  11Komentar  ·  Sumber: FabricMC/yarn

purpleSheepPredicate sebenarnya memeriksa apakah domba itu berwarna biru.

bug refactor

Komentar yang paling membantu

Max, ini harus dimasukkan ke dalam dokumentasi bukan nama sebenarnya. Nama harus pendek dan ringkas serta mencerminkan fungsinya.

Semua 11 komentar

Yang dilakukannya adalah memeriksa apakah warna asli dikombinasikan dengan warna baru menjadi ungu.

@ MAX1234567890 bukan itu masalahnya. Ini adalah predikat pada seekor domba bukan dua warna.

Warna kedua selalu merah. Karenanya ia memeriksa domba-> warna + merah == ungu (yaitu domba-> warna == biru)

Meskipun itu benar, ini adalah cara yang menyesatkan untuk mengatakannya.
`` java
private final TargetPredicate purpleSheepPredicate = (new TargetPredicate ()). setBaseMaxDistance (16.0D) .includeInvulnerable (). setPredicate ((livingEntity) -> {
return ((SheepEntity) livingEntity) .getColor () == DyeColor.BLUE;
});

Warna kedua selalu merah. Karenanya ia memeriksa domba-> warna + merah == ungu (yaitu domba-> warna == biru)

Itu adalah kesalahpahaman yang lengkap tentang logika permainan.

TargetPredicate itu digunakan untuk menguji apakah evoker harus wololo domba, yaitu Domba HARUS berwarna biru:

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;

Juga melihat lebih jauh ke dalam gawang menunjukkan bahwa domba tidak pernah dimaksudkan untuk berubah menjadi ungu, tetapi merah seperti yang ditunjukkan pada castSpell

Saya tahu itu tidak berubah menjadi ungu, tetapi predikatnya, sudah tahu domba-dombanya akan berubah menjadi merah, cek apakah warna asli dombanya dipadukan dengan warna baru dombanya adalah ungu. Pada dasarnya, evoker menggunakan {return purple - x; jadi dia harus memastikan bahwa merah = ungu - warna aslinya, yaitu warna biru.

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

Hmm, adakah yang mendokumentasikan backstory spesifik itu? wiki misalnya?

Saya merasa dalam hal ini, logika harus menentukan nama, tetapi sedikit javadoc lucu tentang itu bisa menyenangkan

Tidak secara langsung, tetapi mengingat bahwa a) secara resmi dinyatakan bahwa Evokers membangun redstone dan b) fakta bahwa Vexes berwarna merah juga yang membawa saya pada kesimpulan itu. Penting juga untuk mengingat sifat simbolis dari ungu: Evoker adalah satu-satunya Illager (termasuk Vexes dan Witches) yang tidak memiliki warna ungu di atasnya, yang mengarah pada gagasan bahwa Illager sedang "menghitung" ungu - warna domba untuk mengubahnya menjadi merah.

Max, ini harus dimasukkan ke dalam dokumentasi bukan nama sebenarnya. Nama harus pendek dan ringkas serta mencerminkan fungsinya.

Namun mengapa Anda khawatir tentang detail implementasi jika detail implementasi membingungkan dan tidak membantu. Sebut saja convertibleSheepPredicate , mengapa Anda akan melakukan brainfart tentang warna yang tidak masuk akal

Juga salahkan mezz untuk hal ini. Benang menjadi jauh lebih pintar karena untungnya, menamai sesuatu dengan cara yang lebih efisien.
https://github.com/FabricMC/yarn/commit/5c6c0c71d1480a36e1d3c2a8f2adf859e307cbc6#diff -b6376ebd10e80e5e322fb28f766d47c4R44

Detailnya tidak membingungkan dan sangat jelas apa yang sedang dilakukan. Ia memeriksa apakah domba itu berwarna biru.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

ChloeDawn picture ChloeDawn  ·  6Komentar

liach picture liach  ·  4Komentar

Runemoro picture Runemoro  ·  3Komentar

altrisi picture altrisi  ·  4Komentar

Juuxel picture Juuxel  ·  5Komentar