Yarn: Décrire les bitflags setBlockState actuels

Créé le 18 mai 2019  ·  3Commentaires  ·  Source: FabricMC/yarn

Il sera ouvert jusqu'à ce que la fonctionnalité de commentaire soit enfin disponible, mais j'espère également les répertorier dans l'API Fabric, alors voici :

  • 1 correspond à "envoyer les mises à jour des voisins sur le serveur"
  • 2 - si 1, [sur le serveur, marquer le bloc comme sale pour l'envoyer au client ; sur le client, planifier une mise à jour du rendu]
  • 4 - si 1, ignorez la mise à jour du rendu côté client d'en haut
  • 8 - si 1, force la mise à jour du rendu sur le thread principal
  • 16 - ???
  • 32 - ignorer la suppression des piles d'éléments (utilisé dans Block.replaceBlock)
  • 64 - le bloc fait-il partie d'une opération de "déplacement" (par exemple par un piston ?), selon https://github.com/FabricMC/yarn/issues/634

Maintenant, j'ai besoin de meilleures descriptions/noms !

Je suis également presque sûr que updateNeighborStates est faux et method_11637 et qu'ils sont tous deux liés audit indicateur 16.

enhancement

Commentaire le plus utile

@asiekierka

0b0000000 // 0 - DEFAUT/AUCUN
0b0000001 // 1 - PROPAGATION_CHANGEMENT
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 semble être une méthode permettant aux blocs d'appliquer des états en fonction de leur environnement, auquel cas ce drapeau serait utilisé pour désactiver ce comportement et provoquer l'utilisation de l'état passé quoi qu'il arrive.

Voir : DebugStickItem

iWorld_1.setBlockState(blockPos_1, blockState_2, 18);

0b001010 // 18 - FORCE_STATE | PROPAGATE_CHANGE

Edit : certaines méthodes ont été renommées en fonction des commentaires ( @ChloeDawn )

Tous les 3 commentaires

En outre, World.updateHorizontalAdjacent -> World.updateNeighborComparators, World.updateListeners -> quelque chose à voir avec les mises à jour de blocs spécifiques aux côtés idk c'est ce que le drapeau 2 appelle

@asiekierka

0b0000000 // 0 - DEFAUT/AUCUN
0b0000001 // 1 - PROPAGATION_CHANGEMENT
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 semble être une méthode permettant aux blocs d'appliquer des états en fonction de leur environnement, auquel cas ce drapeau serait utilisé pour désactiver ce comportement et provoquer l'utilisation de l'état passé quoi qu'il arrive.

Voir : DebugStickItem

iWorld_1.setBlockState(blockPos_1, blockState_2, 18);

0b001010 // 18 - FORCE_STATE | PROPAGATE_CHANGE

Edit : certaines méthodes ont été renommées en fonction des commentaires ( @ChloeDawn )

Déjà corrigé dans le #1003. Merci Yanis48 pour l'avoir signalé !

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

Runemoro picture Runemoro  ·  4Commentaires

Runemoro picture Runemoro  ·  3Commentaires

Bixilon picture Bixilon  ·  5Commentaires

asiekierka picture asiekierka  ·  4Commentaires

altrisi picture altrisi  ·  4Commentaires