Yarn: Jelaskan bitflag setBlockState saat ini

Dibuat pada 18 Mei 2019  ·  3Komentar  ·  Sumber: FabricMC/yarn

Ini akan terbuka hingga fungsionalitas komentar akhirnya muncul, tetapi saya juga berharap untuk mencantumkannya di Fabric API, jadi begini:

  • 1 sesuai dengan "kirim pembaruan tetangga di server"
  • 2 - jika 1, [di server, tandai blok sebagai kotor untuk mengirimkannya ke klien; pada klien, jadwalkan pembaruan render]
  • 4 - jika 1, lewati pembaruan render sisi klien dari atas
  • 8 - jika 1, paksa pembaruan render terjadi di utas utama
  • 16 - ???
  • 32 - lewati menjatuhkan tumpukan item (digunakan di Block.replaceBlock)
  • 64 - apakah blok bagian dari operasi "bergerak" (misalnya dengan piston?), sesuai https://github.com/FabricMC/yarn/issues/634

Sekarang, saya membutuhkan deskripsi/nama yang lebih baik!

Saya juga cukup yakin updateNeighborStates salah dan method_11637 dan keduanya terkait dengan flag 16 tersebut.

enhancement

Komentar yang paling membantu

@asiekierka

0b0000000 // 0 - DEFAULT/TIDAK ADA
0b0000001 // 1 - PROPAGATE_CHANGE
0b0000010 // 2 - NOTIFY_LISTENERS
0b0000100 // 4 - NO_REDRAW
0b0001000 // 8 - REDRAW_ON_MAIN_THREAD
0b0010000 // 16 - FORCE_STATE*
0b0100000 // 32 - SKIP_DROPS
0b1000000 // 64 - IS_MECHANICAL_UPDATE

  • method_11637 tampaknya merupakan metode yang memungkinkan blok untuk menerapkan status berdasarkan lingkungannya, dalam hal ini flag ini akan digunakan untuk mematikan perilaku itu dan menyebabkan status yang diteruskan digunakan apa pun yang terjadi.

Lihat: DebugStickItem

iWorld_1.setBlockState(blockPos_1, blockState_2, 18);

0b0010010 // 18 - FORCE_STATE | PROPAGATE_CHANGE

Sunting: Mengganti nama beberapa metode berdasarkan umpan balik ( @ChloeDawn )

Semua 3 komentar

Juga, World.updateHorizontalAdjacent -> World.updateNeighborComparators, World.updateListeners -> ada hubungannya dengan pembaruan blok khusus sisi idk itu yang disebut flag 2

@asiekierka

0b0000000 // 0 - DEFAULT/TIDAK ADA
0b0000001 // 1 - PROPAGATE_CHANGE
0b0000010 // 2 - NOTIFY_LISTENERS
0b0000100 // 4 - NO_REDRAW
0b0001000 // 8 - REDRAW_ON_MAIN_THREAD
0b0010000 // 16 - FORCE_STATE*
0b0100000 // 32 - SKIP_DROPS
0b1000000 // 64 - IS_MECHANICAL_UPDATE

  • method_11637 tampaknya merupakan metode yang memungkinkan blok untuk menerapkan status berdasarkan lingkungannya, dalam hal ini flag ini akan digunakan untuk mematikan perilaku itu dan menyebabkan status yang diteruskan digunakan apa pun yang terjadi.

Lihat: DebugStickItem

iWorld_1.setBlockState(blockPos_1, blockState_2, 18);

0b0010010 // 18 - FORCE_STATE | PROPAGATE_CHANGE

Sunting: Mengganti nama beberapa metode berdasarkan umpan balik ( @ChloeDawn )

Sudah diperbaiki di # 1003. Terima kasih Yanis48 untuk menunjukkan!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

asiekierka picture asiekierka  ·  23Komentar

sfPlayer1 picture sfPlayer1  ·  11Komentar

Runemoro picture Runemoro  ·  10Komentar

falkreon picture falkreon  ·  15Komentar

copygirl picture copygirl  ·  14Komentar