Yarn: Descrever bitflags setBlockState atuais

Criado em 18 mai. 2019  ·  3Comentários  ·  Fonte: FabricMC/yarn

Ele estará aberto até que a funcionalidade de comentário finalmente chegue, mas também espero listá-los na API do Fabric, então aqui vai:

  • 1 corresponde a "enviar atualizações vizinhas no servidor"
  • 2 - se 1, [no servidor, marque o bloco como sujo para enviar para o cliente; no cliente, agende uma atualização de renderização]
  • 4 - se 1, pule a atualização de renderização do lado do cliente acima
  • 8 - se 1, força a atualização de renderização para acontecer no thread principal
  • 16 - ???
  • 32 - ignora a eliminação de pilhas de itens (usado em Block.replaceBlock)
  • 64 - o bloco é parte de uma operação de "movimento" (por exemplo, por um pistão?), Conforme https://github.com/FabricMC/yarn/issues/634

Agora, preciso de melhores descrições / nomes!

Também tenho certeza de que updateNeighborStates está errado e o método_11637 e ambos estão relacionados ao referido sinalizador 16.

enhancement

Comentários muito úteis

@asiekierka

0b0000000 // 0 - PADRÃO / NENHUMA
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 parece ser um método que permite que blocos apliquem estados com base em seus arredores, caso em que este sinalizador seria usado para desligar aquele comportamento e fazer com que o estado passado fosse usado de qualquer maneira.

Veja: DebugStickItem

iWorld_1.setBlockState(blockPos_1, blockState_2, 18);

0b0010010 // 18 - FORCE_STATE | PROPAGATE_CHANGE

Editar: alguns métodos renomeados com base no feedback ( @ChloeDawn )

Todos 3 comentários

Além disso, World.updateHorizontalAdjacent -> World.updateNeighborComparators, World.updateListeners -> algo a ver com atualizações de bloco específicas do lado idk é o que o sinalizador 2 chama

@asiekierka

0b0000000 // 0 - PADRÃO / NENHUMA
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 parece ser um método que permite que blocos apliquem estados com base em seus arredores, caso em que este sinalizador seria usado para desligar aquele comportamento e fazer com que o estado passado fosse usado de qualquer maneira.

Veja: DebugStickItem

iWorld_1.setBlockState(blockPos_1, blockState_2, 18);

0b0010010 // 18 - FORCE_STATE | PROPAGATE_CHANGE

Editar: alguns métodos renomeados com base no feedback ( @ChloeDawn )

Já corrigido em # 1003. Obrigado Yanis48 por apontar!

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

Bixilon picture Bixilon  ·  5Comentários

Juuxel picture Juuxel  ·  5Comentários

Awakened-Redstone picture Awakened-Redstone  ·  4Comentários

Runemoro picture Runemoro  ·  4Comentários

ChloeDawn picture ChloeDawn  ·  5Comentários