Minecraft Wiki
Advertisement

Le terrain et les entités sont stockés dans une zone de 16 × 256 × 16 blocs, appelée "chunk" ou tronçon en français. Ils stockent également l'éclairage pré-calculé, les données de hauteur de carte "HeightMap" pour les performance de Minecraft, et d'autres méta-informations.

Ces tronçons ont été introduits dans Minecraft Infdev . Avant l'ajout du format MCRegion en Beta 1.3, les tronçons ont été enregistrés en tant que fichiers individuels, où était contenue la position du tronçon. Il s'agissait de ficher encodé en Base36 "dat." - ceci est connu comme le format de niveau Alpha . Le format MCRegion a changé le stockage individuel pour favoriser un stockage en groupe des groupes de 32 × 32 tronçon dans un fichier de format ". Mcr", qui contenait alors les coordonnées en Base10, l'objectif étant de réduire l'utilisation du disque en réduisant le nombre de descripteurs de fichier Minecraft ouvert en même temps. Le successeur de MCRegion est le format actuel, Anvil, qui établit le format de tronçon, plus communément appelé par les français ; le tronçon format. La technique de fichier de région est encore utilisé, mais les extensions de fichiers de la région sont désormais ". Mca".

Le changement majeur de MCRegion à Anvil fut la division de tronçon en sections; chaque tronçon a désormais jusqu'à 16 sections de 16 × 16 × 16 blocs, ainsi les zones complètement vides ne sont plus enregistrées du tout. Des préparatifs ont également été réalisés pour soutenir les blocs avec des ID, qui se situeraient dans la gamme 0 à 4095, par rapport à la limitation de 0 à 255 précédente. Cependant, Minecraft n'est pas entièrement préparé pour ces blocs existes en tant qu'éléments à part entière; des ID éléments sont déjà pris dans la gamme de 256 à 4095.

Les blocs, de données, BlockLight, et les tables SkyLight sont maintenant stockés dans les sections des tronçons. Les données, SkyLight, et BlockLight sont des tableaux de valeurs de 4 bits. Avec le format Anvil, le Format NBT a changé des spécification originale de Notch à inclure une balise de tableau d'entiers similaire à la balise de tableau d'octets existant. Il est actuellement utilisé pour obtenir des informations HeightMap par tronçon.

Structure NBT[]

Les tronçons sont stockés dans le format NBT, avec cette structure (voir Format des blocs pour l'ordre des blocs dans chaque tableau):


  • La balise racine.

    •  DataVersion : Version de la structure NBT

    •  Level : Données du tronçon.

      •  xPos : Position en x du tronçon.

      •  zPos : Position en z du tronçon.

      •  LastUpdate : Tick lors de l'enregistrement du tronçon.

      •  InhabitedTime : Le nombre cumulé de tick des joueurs qui ont été dans ce tronçon. Notez que cette valeur augmente plus rapidement lorsqu'il y a plus de joueurs dans le tronçon. Notez que pour les valeurs de 3600000 et supérieures, la difficulté régionale est au maximum pour ce tronçon. Pour les valeurs 0 et inférieures, la difficulté est réglé au minimum (ainsi, si la valeur est négative, il se comportera comme si elle avait étéit mise à 0). Utilisé pour difficulté régionale, qui augmente :
        • Les chances que les monstres apparaissent avec l'équipement
        • Les chances que cet équipement aie des enchantements
        • Les chances que les araignées aient des effets de potions
        • Les chances que les monstres aient la capacité de prendre des objets au sol
        • Les chances que les zombies aient la capacité d'engendrer d'autres zombies quand ils se font attaqué.

      •  Biomes : Peut ne pas exister. 256 octets de données de biome, un octet pour chaque colonne verticale du tronçon. Voir Valeurs pour l'ID des biomes. Si ce Tag n'existe pas il sera créé et rempli par Minecraft quand le tronçon sera chargé et sauvegardé. Si n'importe quelles valeurs dans ce tableau sont incorrect, Minecraft les mettra un biome correct.

      •  HeightMaps : Données sur la hauteur du terrain.

        •  LIGHT_BLOCKING : (à compléter)

        •  MOTION_BLOCKING : (à compléter)

        •  MOTION_BLOCKING_NO_LEAVES : (à compléter)

        •  OCEAN_FLOOR : (à compléter)

        •  OCEAN_FLOOR_WG : (à compléter)

        •  WORLD_SURFACE : (à compléter)

        •  WORLD_SURFACE_WG : (à compléter)

      •  CarvingMasks : (à compléter)

        •  AIR : (à compléter)

        •  LIQUID : (à compléter)

      •  Sections : Liste des objets, chaque Tag est, en quelque sortes, un "sous-tronçon".

        • Une section à part entière.

          •  Y : L'index Y (pas les coordonnées) de cette section. De 0 à 15 (de bas en haut), sans duplicata mais quelques sections peuvent manquer si elle sont vides.

          •  Palette : Ensemble de différents états de bloc utilisés dans le bloc.

            • Un état de bloc.

              •  Name : Identifiant du bloc.

              •  Properties : Liste des états de blocs associer à l'ID Name.

                •  État : Un état de bloc, de la forme État=valeur.

          •  BlockLight : 2048 octets enregistrant la quantité de lumière émise par bloc dans chaque bloc. Fait des temps de charge plus rapide comparés au recalcul au temps de charge. 4 bits par bloc.

          •  BlockStates : Une variable de 64 bits de long, suffisant pour correspondre à 4096 indices. Les index correspondent à l’ordre des éléments dans la palette de la section. Tous les index ont la même taille dans une section, ce qui correspond à la taille requise pour représenter le plus grand index (minimum de 4 bits). Si la taille de chaque index n'est pas un facteur de 64, les bits continueront le long suivant.

          •  SkyLight : 2048 octets enregistrant la quantité de lumière du Soleil ou de la Lune frappant chaque bloc. 4 bits par bloc.

      •  Entities : Liste des entités dans le tronçon. Si cette liste est vide, ce sera une liste de TAG_END.

      •  TileEntities : Liste des entités de bloc dans le tronçon. Si cette liste est vide, ce sera une liste de TAG_END.

      •  TileTicks : Liste des blocs actifs dans ce tronçon en attente de mise à jour. Ceux-ci sont utilisés pour enregistrer l'état des machines redstone ou des blocs en chute, ainsi que d'autres activités.

      •  LiquidTicks : (à compléter)

      •  Lights : Liste de 16 listes. (à compléter)

      •  LiquidsToBeTicked : Liste de 16 listes. Probalement la liste des liquides à mettre à jour. (à vérifier)

      •  ToBeTicked : Liste de 16 listes. (à compléter)

      •  PostProcessing : Liste de 16 listes. (à compléter)

      •  Status : Un des éléments suivants: empty, base, carved, liquid_carved, decorated, lighted, mobs_spawned, finalized, fullchunk, ou postprocessed.

      •  Structures

        •  References : (à compléter)

          •  Nom_de_structure : (à compléter)

        •  Starts : Liste des structure généré dans ce tronçon.

          •  Nom_de_structure : Seules les structures pouvant apparaître dans cette dimension sont stockées, par exemple, EndCity est uniquement stocké dans les tronçons de l'End.

            •  ChunkX : Coordonnée X de bloc relatif au coordonnées du tronçon du début de la structure. Absent si id est INVALID.

            •  ChunkZ : Coordonnée Z de bloc relatif au coordonnées du tronçon du début de la structure. Absent si id est INVALID.

            •  id : S'il n'y a pas de structure de ce type dans ce tronçon, cette valeur sera "INVALID", sinon c'est l'identifiant de la structure.

            •  biome : Idenifiant du biome dans la structure. Absent si id est INVALID.

            •  BB : Boîte englobante de la structure entière. La valeur est composé de 6 entié: les coordonnées X, Y et Z minimales suivies des coordonnées X, Y et Z maximales. Absent si id est INVALID.

            •  Valid : 1 ou 0 (vrai/faux) - (village uniquement) Indique si le village a généré au moins 3 zones non routières. Absent si id est INVALID.

            •  Processed : (Monument uniquement) Liste des tronçons dans laquel un morceau de la structure a été créé. Absent si id est INVALID.


                •  X : Coordonnée X du tronçon.

                •  Z : Coordonnée Z du tronçon.

            •  Children : Liste des pièces de structure constituant cette structure. Absent si id est INVALID.

Format des blocs[]

Dans la format Anvil, la position des blocs est ordonnée en XYZ dans le but de compresser les données

Le système de coordonnées est le suivant :

  • X augmente en allant vers le sud et diminue en allant vers le nord.
  • Y augmente en allant vers le haut et diminue en allant vers le bas.
  • Z augmente en allant vers l'ouest et diminue en allant vers l'est.

Les tableaux de données, de luminosité de bloc et de lumière du jour ont 4 bits pour chaque octet du tableau des blocs. Le bit de poids faible du premier octet des tableaux de données, de luminosité de bloc et de lumière du jour correspondent au premier octet du tableau de blocs.

Format des entités[]

Chaque entité est un TAG_COMPOUND contenu dans la liste des entités de fichier du tronçon. À la seule exception de l'entité joueur qui est dans le fichier level.dat, ou dans les fichiers <player>.dat des serveurs. Toutes les entités partagent cette base :


  • Données de l'entité

    •  id: Identifiant d'entité. Ce tag n'existe pas pour l'entité joueur.

    •  Motion: Informations de mouvement et de direction.

      •  : Vecteur X.

      •  : Vecteur Y.

      •  : Vecteur Z.

    •  Pos: Coordonnées de position.

      •  : Axe X.

      •  : Axe Y.

      •  : Axe Z.

    •  Rotation: Informations relatives à la rotation.

      •  : Angle X.

      •  : Angle Y.

    •  FallDistance: La distance de chute parcourue par l'entité. De plus grandes valeurs causent de plus importants dégâts quand l'entité touche le sol.

    •  Fire: Nombre de ticks depuis que l'entité a pris feu. Les valeurs négatives indiquent combien de temps l'entité peut rester en feu avant de mourir. Par défaut à -20 quand l'entité n'est pas en feu.

    •  Air: La quantité d'air que l'entité a en réserve, comptée en ticks. Le maximum d'air vaut 200, ce qui équivaut à 10 secondes d'immersion avant de commencer à se noyer. Ceci équivaut donc à 20 secondes sous l'eau avant de mourir. Cette valeur diminue quand l'entité est sous l'eau. Si elle tombe à zéro et que l'entité n'a pas refait surface, elle perd 2Heart (icon) par seconde.

    •  OnGround: 1 ou 0 (vrai/faux), 1 si l'entité touche le sol.

    •  NoGravity: 1 ou 0 (vrai/faux), 1 si l'entité est soumis à la gravité.

    •  Dimension: Usage inconnu ; les entités sont enregistrées dans le fichier de la dimension où ils sont. -1 pour le Nether, 0 pour la Surface, et 1 pour l'End.

    •  Invulnerable: 1 ou 0 (vrai/faux) - vrai pour que les entités ne prennent pas de dégâts. Ceci s'applique à la vie des entités : les créatures hostiles ne prendront de dégâts d'aucune source (incluant des effets de potions) et ne peuvent pas être déplacées par des cannes à pêche, des attaques, des explosions, ou des projectiles et des objets comme des véhicules. Les cadres ne peuvent pas être détruits à moins que leurs supports ne soient enlevés. Notez que ces entités peuvent être endommagées par des joueurs en mode Créatif.

    •  PortalCooldown: Le nombre de ticks avant laquelle l'entité peut être téléporté à travers un portail d'aucune sorte. Commence initialement à 900 ticks (45 secondes), après la téléportation le décompte à 0.

    •  UUIDMost: Les bits les plus significatifs de l'UUID de cette entité. Ceci est joint au UUIDLeast pour former l'ID unique de l'entité.

    •  UUIDLeast: Les bits les moins significatifs de l'UUID de cette entité.

    •  CustomName: Le nom personnalisé de cette entité. Apparaît dans les messages de mort des joueurs et dans les interfaces d'échange des villageois, ainsi qu'au-dessus de l'entité lorsque votre curseur est dessus. Peut ne pas exister, ou peut exister et être vide.

    •  CustomNameVisible:1 ou 0 (vrai/faux) - si vrai, et cette entité a un nom personnalisé, il apparaît toujours au-dessus, si le curseur est sur elle. Peut ne pas exister.

    •  Silent: 1 ou 0 (vrai/faux) - si vrai, et cette entité ne fera pas son. Peut ne pas exister. Peut être utilisé qu'à partir de la 14w30a.

    •  Glowing: 1 ou 0 (vrai/faux) - si vrai, l'entité aura un contour brillant.

    •  Tags: Liste des tags personnalisés.

      • : Le tag.

    •  Passengers: Les données de l'entité monté. Permet de définir une entité sur son dos. Notez que c'est l'entité qui possède ce tag qui contrôle le mouvement de l'entité sur elle. Vous pouvez également en définir plusieurs.


Créatures
[]

Les créatures sont une sous-classe d'entités avec des tags supplémentaires pour stocker leur vie, des effets de potion et plus selon la créature.

Projectiles[]

Les projectiles sont une sous-classe des entités et ont des tags très obscures telles que les tags de coordonnées X, Y, Z malgré l'existence du tag pos sur les entités, le tag inTile malgré inGround et la présence de shake malgré que la plupart des projectiles ne soient pas des flèches.

Objets[]

Les objets sont une sous-classe d'entités.

Véhicules[]

Les véhicules sont une sous-classe d'entités.

Blocs dynamiques[]

Les blocs dynamiques sont une sous-classe d'entités et sont utilisés pour simuler des blocs en mouvement réalistes.

Divers[]

Autres types d'entité qui sont une sous-classe d'entité mais qui ne correspondent à aucune des catégories ci-dessus.

Format d'entités de blocs[]

Les entités de blocs (différentes des entités) sont utilisées dans Minecraft pour stocker des informations sur les blocs qui ne peuvent pas être rangées dans les 4 bits de données de blocs. Toutes les entités de blocs partagent cette base :


  • Données de l'entité de bloc

    •  id : Identifiant de l'entité de bloc. Cet identifiant peut ne pas être le même que celui du bloc lui-même.

    •  x : Coordonnée X de l'entité de bloc.

    •  y : Coordonnée Y de l'entité de bloc.

    •  z : Coordonnée Z de l'entité de bloc.

Format de bloc actif[]

Les blocs actifs représentent les mises à jour de bloc qui doivent être effectuées car ils ne peuvent pas se produire avant que le bloc ne soit enregistré. Parmi les raisons qui expliquent la présence de blocs actifs, citons les circuits redstone devant continuer à être actualiser tout le temps, l'eau et la lave qui doivent continuer à couler selon leur comportement de liquide, les blocs en chute (sable, gravier, etc...) récemment tombé, etc. Les blocs actifs ne sont pas utilisées pour la dégradation des feuilles, ces informations sont stockées dans les états du bloc de feuilles et traitées par Minecraft lorsque le bloc se charge (à vérifier). Pour les créateurs de cartes, les blocs actifs peuvent être utilisés pour mettre à jour les blocs après un certain temps avec le tronçon chargé en mémoire.


  • Un bloc actif.

    •  i : L'identifiant du bloc utilisé pour activer la mise à jour du bon bloc.

    •  t : Nombre de ticks avant le lancement de la mise à jour du bloc. Peut être négatif si le processus est en retard.

    •  p : Si plusieurs mises à jour de blocs actifs sont planifiées pour le même tick, les blocs actifs avec la plus petite valeur p seront traités en premier. S'ils ont aussi la même valeur de p, l'ordre d'exécution est inconnu.

    •  x : Coordonnée X du bloc à mettre à jour.

    •  y : Coordonnée Y du bloc à mettre à jour.

    •  z : Coordonnée Z du bloc à mettre à jour.
Advertisement