Minecraft Wiki
(Новая страница: «Чанки хранят информацию о территории и сущностях в области 16×256×16. Они также хранят ин…»)
 
мНет описания правки
Строка 15: Строка 15:
 
*** {{nbt|long|LastUpdate}}: Время последнего сохранения чанка.
 
*** {{nbt|long|LastUpdate}}: Время последнего сохранения чанка.
 
*** {{nbt|long|InhabitedTime}}: Общее количество времени присутствия игроков в этом чанке. Обратите внимание, что это значение увеличивается быстрее, если в чанке находятся больше игроков. Используется для определения областной сложности: увеличивается шанс спауна экипированных мобов, шанс, что предметы у мобов будут зачарованными, шанс спауна пещерных пауков, шанс, что мобы смогут подбирать упавшие предметы, и шанс появления зомби, способного спаунить других зомби во время атаки. Обратите внимание, что при значениях 3600000 и выше, сложность в данной области достигает своего максимума. При значениях 0 и ниже сложность ограничивается до минимума (итак, если это значение отрицательное, оно ведет себя так же, как и при значении 0, кроме того, для восстановления положительного значения требуется бо́льшее время). Смотрите статью «[[Сложность#Областная сложность|Областная сложность]]» для получения бо́льшей информации.
 
*** {{nbt|long|InhabitedTime}}: Общее количество времени присутствия игроков в этом чанке. Обратите внимание, что это значение увеличивается быстрее, если в чанке находятся больше игроков. Используется для определения областной сложности: увеличивается шанс спауна экипированных мобов, шанс, что предметы у мобов будут зачарованными, шанс спауна пещерных пауков, шанс, что мобы смогут подбирать упавшие предметы, и шанс появления зомби, способного спаунить других зомби во время атаки. Обратите внимание, что при значениях 3600000 и выше, сложность в данной области достигает своего максимума. При значениях 0 и ниже сложность ограничивается до минимума (итак, если это значение отрицательное, оно ведет себя так же, как и при значении 0, кроме того, для восстановления положительного значения требуется бо́льшее время). Смотрите статью «[[Сложность#Областная сложность|Областная сложность]]» для получения бо́льшей информации.
*** {{nbt|int-array|Biomes}}: Может не существовать. 256{{Запланированный|до=1.15}} и 1024{{Запланированный|1.15}} записи данных биома, по одной на каждый чанк.{{Запланированный|до=1.15}}{{Источник}} Смотрите значения данных [[Значения данных (Java Edition)#Биомы|биомов]] для просмотра их идентификаторов. Если этот тег не существует, он создается и заполняется ''Minecraft'', когда чанк загружается и сохраняется. Если какие-либо значения в этом пространстве соответствуют неизвестному биому, ''Minecraft'' также настраивает их на биом, который обычно генерируется в этом месте.
+
*** {{nbt|int-array|Biomes}}: Может не существовать. 1024 записи данных биома.{{Источник}} Смотрите значения данных [[Значения данных (Java Edition)#Биомы|биомов]] для просмотра их идентификаторов. Если этот тег не существует, он создается и заполняется ''Minecraft'', когда чанк загружается и сохраняется. Если какие-либо значения в этом пространстве соответствуют неизвестному биому, ''Minecraft'' также настраивает их на биом, который обычно генерируется в этом месте.
 
*** {{nbt|compound|Heightmaps}}: Несколько различных значений высоты, соответствующих 256, используется по 9 бит на одно значение (самый низкий — 0, самый высокий — 256, оба значения считаются включительно).
 
*** {{nbt|compound|Heightmaps}}: Несколько различных значений высоты, соответствующих 256, используется по 9 бит на одно значение (самый низкий — 0, самый высокий — 256, оба значения считаются включительно).
 
**** {{nbt|long-array|MOTION_BLOCKING}}: Самый высокий блок, блокирующий движение или содержащий жидкость.
 
**** {{nbt|long-array|MOTION_BLOCKING}}: Самый высокий блок, блокирующий движение или содержащий жидкость.

Версия от 15:10, 10 февраля 2020

Чанки хранят информацию о территории и сущностях в области 16×256×16. Они также хранят информацию об освещении, производительности Minecraft и другую информацию.

NBT структура

Смотрите также: дополнительную информацию со страницы «Anvil (формат файла)»

Данные чанков хранятся в виде тегов в файлах Minecraft Anvil, которые именуются в формате r.x.z.mca. Они хранятся в виде NBT формата со следующей структурой (смотрите раздел «Формат блока» для правильного упорядочения блоков):

  • Корневой тег.
    •  DataVersion: Версия NBT структуры чанка.
    •  Level: Данные чанка.
      •  xPos: X-координата чанка.
      •  zPos: Z-координата чанка.
      •  LastUpdate: Время последнего сохранения чанка.
      •  InhabitedTime: Общее количество времени присутствия игроков в этом чанке. Обратите внимание, что это значение увеличивается быстрее, если в чанке находятся больше игроков. Используется для определения областной сложности: увеличивается шанс спауна экипированных мобов, шанс, что предметы у мобов будут зачарованными, шанс спауна пещерных пауков, шанс, что мобы смогут подбирать упавшие предметы, и шанс появления зомби, способного спаунить других зомби во время атаки. Обратите внимание, что при значениях 3600000 и выше, сложность в данной области достигает своего максимума. При значениях 0 и ниже сложность ограничивается до минимума (итак, если это значение отрицательное, оно ведет себя так же, как и при значении 0, кроме того, для восстановления положительного значения требуется бо́льшее время). Смотрите статью «Областная сложность» для получения бо́льшей информации.
      •  Biomes: Может не существовать. 1024 записи данных биома.[источник?] Смотрите значения данных биомов для просмотра их идентификаторов. Если этот тег не существует, он создается и заполняется Minecraft, когда чанк загружается и сохраняется. Если какие-либо значения в этом пространстве соответствуют неизвестному биому, Minecraft также настраивает их на биом, который обычно генерируется в этом месте.
      •  Heightmaps: Несколько различных значений высоты, соответствующих 256, используется по 9 бит на одно значение (самый низкий — 0, самый высокий — 256, оба значения считаются включительно).
        •  MOTION_BLOCKING: Самый высокий блок, блокирующий движение или содержащий жидкость.
        •  MOTION_BLOCKING_NO_LEAVES: Самый высокий блок, блокирующий движение или содержащий жидкость, или находящийся в теге minecraft:leaves.
        •  OCEAN_FLOOR: Самый высокий блок (не воздух), твёрдый блок.
        •  OCEAN_FLOOR_WG: Самый высокий блок, который не является ни воздухом, ни содержит жидкость, используется для генерации игрового мира.
        •  WORLD_SURFACE: Самый высокий блок (не воздух).
        •  WORLD_SURFACE_WG: Самый высокий блок (не воздух), используется для генерации игрового мира.
      •  CarvingMasks:
        •  AIR: Последовательность битов, указывающая, была ли сгенерирована пещера в определённом месте, сохраняется в группе байтов.
        •  LIQUID: Серия битов, указывающих, была ли сгенерирована подводная пещера в определённом месте, сохраняется в группе байтов.
      •  Sections: Список составных тегов, каждый тег является своего рода подчанком.
        • Отдельный раздел.
          •  Y: Y-индекс (не координата) этого раздела. Диапазон от 0 до 15 (снизу вверх) без дубликатов, но некоторые разделы могут отсутствовать, если они оказываются пустыми.
          •  Palette: Набор различных состояний блока, используемых в чанке.
          •  BlockLight: 2048 байт записывают количество испускаемого блоком света на каждый блок. Ускоряет время загрузки, по сравнению с перерасчётом во время загрузки. 4 бита на блок.
          •  BlockStates: Количество переменных 64-битных линий, достаточное, чтобы соответствовать 4096 индексам. Индексы соответствуют порядку предметов в инвентаре. Все индексы имеют одинаковый размер в разделе, который является размером, необходимым для представления самого большого индекса (минимум 4 бита). Если размер каждого индекса не равен 64, запись битов продолжится на следующей строке.
          •  SkyLight: 2048 байт записывают силу солнечного или лунного света, попадающего на каждый блок. 4 бита на блок.
      •  Entities: Каждый TAG_Compound в этом списке определяет сущность в чанке. Смотрите раздел Формат сущности ниже. Если данный список пуст, он преобразуется в конечные теги (до 1.10, список байтовых тегов).
      •  TileEntities: Каждый TAG_Compound в этом списке определяет блок-сущность в чанке. Смотрите раздел Формат блока сущности ниже. Если данный список пуст, он преобразуется в конечные теги (до 1.10, список байтовых тегов).
      •  TileTicks: Каждый TAG_Compound в этом списке является «активным» блоком в чанке, ожидающем обновления. Они используются для сохранения состояния механизма, работающего на красном камне, падающего песка, или другого. Смотрите раздел Формат тика предметов ниже.
      •  LiquidTicks: Каждый TAG_Compound в этом списке является «активной» жидкостью в в чанке, ожидающем обновления.
      •  Lights: Список из 16 других списков, которые хранят координаты источников света в чанке во время генерации игрового мира в кратком виде.
      •  LiquidsToBeTicked: Список 16 TAG_Lists, хранящих позиции «активных» жидкостей, которые должны быть отмечены и упакованы в TAG_Shorts.
      •  ToBeTicked: Список 16 TAG_Lists, хранящих позиции «активных» блоков, которые должны быть отмечены и упакованы в TAG_Shorts.
      •  PostProcessing: Список 16 TAG_Lists, хранящих хранят позиции блоков, которые должны обновиться, когда прото-чанк преобразуется в полный чанк, упакованный в TAG_Shorts.
      •  Status: Определяет статус генерации игрового мира в данном чанке. Он может иметь одно из следующих описаний: empty, base, carved, liquid_carved, decorated, lighted, mobs_spawned, finalized, full или postprocessed.
      •  Structures: Структура данных в данном чанке.
        •  References: Координаты чанков, содержащих теги Starts.
          •  Structure Name: Каждая 64-битная цифра этого тега указывает координаты чанка (то есть координату блока / 16) со своей координатой X, сжатой в (наименее значимые) 32 бита, и координатой Z сжатой в (наиболее значимые) 32 бита.
        •  Starts: Структуры, которые еще предстоит сгенерировать, хранятся по общему типу. Некоторые части структур уже могут быть созданы. Полностью сгенерированная структура удаляет данные, создавая свой идентификатор вместо значения «INVALID», и удаляет другие теги.
          •  Structure Name: Здесь хранятся данные структуры, которая может появиться только в данном измерении, например, данные города Края хранятся только в данных чанков Края.
            •  ChunkX: X-координата начала структуры в чанке. Отсутствует, если используется неверный идентификатор.
            •  ChunkZ: Z-координата начала структуры в чанке. Отсутствует, если используется неверный идентификатор.
            •  id: Если в этом чанке нет структуры такого типа, то идентификатор является «неверным».
            •  biome: Идентификатор биома, в котором находится данная структура. Отсутствует, если используется неверный идентификатор.
            •  BB: Ограничивающий прямоугольник всей структуры (остальные дочерние элементы). Значение равно 6: начальные координаты X, Y и Z, за которыми следуют конечные координаты X, Y и Z. Отсутствует, если используется неверный идентификатор.
            •  Valid: 1 или 0 (true/false) — (Только для деревень) Есть ли в деревне хотя бы 3 дороги. Отсутствует, если используется неверный идентификатор.
            •  Processed: (Только для подводной крепости) Список чанков, в которых была создана часть структуры. Отсутствует, если используется неверный идентификатор.
              • : Чанк.
                •  X: X-позиция чанка (координаты чанка, а не его блоков).
                •  Z: Z-позиция чанка.
            •  Children: Список частей, составляющих структуру, которые еще не были сгенерированы. Отсутствует, если используется неверный идентификатор.
              • Данные частей структуры. [источник?]
                •  id: Идентификатор части структуры. Как правило, сильно сокращенный код, а не что-то читаемое человеком.
                •  Rot: Поворот подводных руин и затонувших кораблей. Значениями могут быть: COUNTERCLOCKWISE_90, NONE, CLOCKWISE_90, и CLOCKWISE_180.
                •  BiomeType: Температура океана, где находятся подводные руины. Значениями могут быть: WARM и COLD.
                •  Template: Используемый шаблон подводных руин или затонувшего корабля.
                •  integrity: Целостность данной структуры (используется только для подводных руин).
                •  TPX: X-координата генерации подводных руин или затонувшего корабля.
                •  TPY: Y-координата генерации подводных руин или затонувшего корабля.
                •  TPZ: Z-координата генерации подводных руин или затонувшего корабля.
                •  PosX: X-координата генерации части деревни.
                •  PosY: Y-координата генерации части деревни.
                •  PosZ: Z-координата генерации части деревни.
                •  isLarge: 1 или 0 (true/false) — Если подводные руины большие.
                •  GD: Возможно, это своего рода расстояние части структуры от её начала.
                •  O: Возможная ориентация части структуры.
                •  BB: Ограничивающий прямоугольник части структуры. (Не включает в себя часть крыши деревенского дома, которая может нависать над дорогой.) Значение равно 6: минимальные X, Y, и Z координаты, за которыми следуют максимальные X, Y, и Z координаты.
                •  Width: (Храмы и хижины) Ширина структуры (X/Z).
                •  Height: (Храмы и хижины) Высота структуры (Y).
                •  Depth: (Храмы и хижины) Глубина структуры (X/Z).
                •  HPos: (Храмы и хижины) Y-уровень, на котором была сгенерирована структура. Используется для размещения её на поверхности. Значение равно -1, если структура ещё не была сгенерирована.
                •  placedTrap1: 1 или 0 (true/false) — (Храм в джунглях) Была ли установлена ловушка с раздатчиком со стрелами в коридоре.
                •  placedTrap2: 1 или 0 (true/false) — (Храм в джунглях) Была ли установлена ловушка с раздатчиком со стрелами перед сундуком.
                •  placedMainChest: 1 или 0 (true/false) — (Храм в джунглях) Был ли сгенерирован главный сундук.
                •  placedHiddenChest: 1 или 0 (true/false) — (Храм в джунглях) Был ли спрятан сундук.
                •  hasPlacedChest0: 1 или 0 (true/false) — (Храм в пустыне) Был ли сгенерирован сундук.
                •  hasPlacedChest1: 1 или 0 (true/false) — (Храм в пустыне) Был ли сгенерирован сундук.
                •  hasPlacedChest2: 1 или 0 (true/false) — (Храм в пустыне) Был ли сгенерирован сундук.
                •  hasPlacedChest3: 1 или 0 (true/false) — (Храм в пустыне) Был ли сгенерирован сундук.
                •  Witch: 1 или 0 (true/false) — (Хижина ведьмы) Была ли ведьма заспаунена в хижине.
                •  hr: 1 или 0 (true/false) — (Заброшенная шахта «MSCorridor») Есть ли в коридоре рельсы.
                •  sc: 1 или 0 (true/false) — (Заброшенная шахта «MSCorridor») Есть ли в коридоре паутина.
                •  hps: 1 или 0 (true/false) — (Заброшенная шахта «MSCorridor») Есть ли в коридоре спаунер пещерного паука.
                •  Num: (Заброшенная шахта «MSCorridor») Длина коридора.
                •  tf: 1 или 0 (true/false) — (Заброшенная шахта «MSCrossing») Есть ли перекрёсток высотой в 2 этажа.
                •  D: (Заброшенная шахта «MSCrossing») Указывает «входное» направление для перекрёстка.
                •  Entrances: (Заброшенная шахта «MSRoom») Список выходов из комнаты.
                  • : Ограничительная рамка выхода.
                •  Chest: 1 или 0 (true/false) — (Крепость «NeSCLT» и «NeSCRT») Должна ли данная часть крепости содержать сундук, будучи ещё не сгенерированной. (Крепость «SHCC») Был ли сундук сгенерирован в крепости её частью. (Деревня «ViS») Был ли сгенерирован сундук в доме инструментальщика.
                •  Mob: 1 или 0 (true/false) — (Крепость «NeMT») Должна ли данная часть крепости содержать спаунер ифритов, будучи ещё не сгенерированной. (Крепость «SHPR») Был ли сгенерирован спаунер чешуйниц в данной части крепости.
                •  Seed: (Крепость «NeBEF») Случайное семя для части крепости — сломанного моста.
                •  EntryDoor: (Крепость) Тип двери на входе в данную часть.
                •  Steps: (Крепость «SHFC») Длина коридора.
                •  leftLow: 1 или 0 (true/false) — (Крепость «SH5C») Имеет ли 5-дорожный переход выход на нижний этаж сбоку с вверх идущей лестницей.
                •  rightLow: 1 или 0 (true/false) — (Крепость «SH5C») Имеет ли 5-дорожный переход выход на нижний этаж сбоку с вниз идущей лестницей.
                •  leftHigh: 1 или 0 (true/false) — (Крепость «SH5C») Имеет ли 5-дорожный переход выход на верхний уровень сбоку с вверх идущей лестницей.
                •  rightHigh: 1 или 0 (true/false) — (Крепость «SH5C») Имеет ли 5-дорожный переход выход на верхний уровень сбоку с вниз идущей лестницей.
                •  Tall: 1 или 0 (true/false) — (Крепость «SHLi») Имеет ли библиотека второй этаж.
                •  Type: (Крепость «SHRC») Указывает, содержит ли комната столб с факелами, фонтан, второй этаж с сундуком, или это просто пустая комната.
                •  Source: 1 или 0 (true/false) — (Крепость «SHSD») Является ли винтовая лестница источником крепости или она была случайно сгенерирована.
                •  Left: 1 или 0 (true/false) — (Крепость «SHS») Есть ли в коридоре отверстие в стене слева.
                •  Right: 1 или 0 (true/false) — (Крепость «SHS») Есть ли в коридоре отверстие в стене справа.
                •  Type: (Деревня) Тип деревни: 0=равнина, 1=пустыня, 2=саванна, 3=тайга.
                •  Zombie: 1 или 0 (true/false) — (Деревня) Сгенерирована ли данная деревня как деревня-зомби.
                •  VCount: (Деревня) Количество жителей, заспаунившихся в этой части.
                •  HPos: (Деревня) Y-уровень, на котором была сгенерирована структура. Используется для размещения её на поверхности. Значение равно -1, если структура ещё не была сгенерирована.
                •  CA: (Деревня «ViF» и «ViDF») Урожай на садовом участке.
                •  CB: (Деревня «ViF» и «ViDF») Урожай на садовом участке.
                •  CC: (Деревня «ViDF») Урожай на садовом участке.
                •  CD: (Деревня «ViDF») Урожай на садовом участке.
                •  Terrace: 1 или 0 (true/false) — (Деревня «ViSH») Есть ли в доме лестница на крышу и ограждение.
                •  T: (Деревня «ViSmH») Стол: 0 — нет стола, 1 и 2 — стол размещён по обе стороны дома.
                •  C: (Деревня «ViSmH») Тип крыши дома
                •  Length: (Деревня «ViSR») Длина части дороги.
                •  junctions: (Деревня) Список точек соединения. [источник?]
                    •  source_x: Координата блока.
                    •  source_ground_y: Координата блока.
                    •  source_z: Координата блока.
                    •  delta_y:
                    •  dest_proj: Одно значение из terrain_matching или rigid.

Формат блока

Этот раздел нужно срочно обновить!
Вы можете помочь, обновив содержимое раздела в соответствии с последними версиями Minecraft.

В формате Anvil позиции блоков упорядочиваются по YZX для целевого сжатия.

Система координат выглядит следующим образом:

  • X — увеличивается восток, уменьшается запад
  • Y — увеличивается вверх, уменьшается вниз
  • Z — увеличивается на юг, уменьшается на север.

Упорядочивание также способствует наилучшему просчитыванию, потому что все индексы в наименее значимом измерении (в данном случае X), отображаются для каждого индекса в следующем наиболее значимом измерении; чтение или понимание упорядоченных координат YZX можно сравнить с книгой, верхняя сторона которой направлена на север: все буквы (или X-индекс) расположены на одной строке (или Z-индексе), и все строки на одной странице (или Y-индексе). Для 2D массивов (таких как «Biomes» и «HeightMap») значения Y просто игнорируются — это можно сравнить с книгой, толщина которой всего одна страница.

Каждая часть чанка равна пространству 16x16x16 блоков, в одном чанке может быть до 16 частей. Часть 0 — это нижняя часть чанка, а часть 15 — это верхняя часть чанка. Ради экономии пространства, пустые части чанка не сохраняются. В каждом разделе есть байт тег «Y» для Y-индекса части, значения которого могут колебаться от 0 до 15, палитра, определяющая подходящий идентификатор части чанка к каждому состоянию блока, а также длинный массив, хранящий идентификаторы местоположения каждого блока. Идентификаторы состояния блока сжимаются для соответствия наименьшему количеству битов в каждом длинном массиве. Массивы байтов «BlockLight» и «SkyLight» используются для определения уровня освещёния блоков и уровня освещения неба соответственно. Значения «SkyLight» показывают, сколько солнечного или лунного света потенциально может достичь блока, независимо от текущего уровня освещения неба.

Порядок байтов 2048-байтового массива (такого как «BlockLight» и «SkyLight»), дающий только 4 бита на блок, кажется аномальным исключением другого, обратного, порядка, широкоформатного хранилища данных. Это также идёт вразрез с естественно читаемой печатью. Если блоки начинаются с 0, они группируются с чётными числами, предшествующими нечётным числам (то есть 0 и 1 разделяют первый байт, 2 и 3 разделяют следующий и так далее); в этих значениях Minecraft хранит чётные блоки в наименее значимых полубайтах, а нечётные блоки в наиболее значимых полубайтах. Таким образом блок[0] — это байт[0] в 0x0F, блок[1] — это байт[0] в 0xF0, блок[2] — это байт[1] в 0x0F, блок[3] — это байт[1] в 0xF0 и так далее…

Пример кода ниже показывает, как получить доступ к информации об отдельных блоках из одной части чанка. Наведите указатель мыши на текст, чтобы просмотреть дополнительную информацию или комментарии.

byte Nibble4(byte[] arr, int index){ return index%2 == 0 ? arr[index/2]&0x0F : (arr[index/2]>>4)&0x0F; }
int BlockPos = y*16*16 + z*16 + x;
byte BlockID_a = Blocks[BlockPos];
byte BlockID_b = Nibble4(Add, BlockPos);
short BlockID = BlockID_a + (BlockID_b << 8);
byte BlockData = Nibble4(Data, BlockPos);
byte Blocklight = Nibble4(BlockLight, BlockPos);
byte Skylight = Nibble4(SkyLight, BlockPos);

Формат сущности

Каждая безымянная сущность ( TAG_Compound) содержится в списке сущностей в файле чанка. Единственным исключением является игрок-сущность, хранится в файле level.dat или в файлах <player>.dat на серверах. Все сущности используют эту базовую структуру:

  • Данные сущности
    •  id: Строковое представление идентификаторов сущностей. Не существует для сущности игрока.
    •  Pos: 3 TAG_Doubles описывают настоящие X, Y и Z координаты сущности.
    •  Motion: 3 TAG_Doubles описывают настоящие значения dX, dY и dZ скорости сущности в метрах в тик (м/т).
    •  Rotation: Два TAG_Floats отображает вращение сущности в градусах.
      • Вращение сущности по часовой стрелке вокруг оси Y (также называется отклонением). Значение угла поворота сущности на юг равняется 0, то есть с юга начинается отсчёт. Значение не превышает 360 градусов.
      • Отклонение головы сущности от горизонта (также называется наклоном). При горизонтальном положении значение равно 0. При положительном значении голова сущности направлена вниз. Не превышает положительного или отрицательного значения в 90 градусов.
    •  FallDistance: Расстояние падения сущности. Бо́льшие значения наносят бо́льший урон при приземлении сущности.
    •  Fire: Число тиков до прекращения горения сущности. Отрицательные значения определяют, как долго сущность может стоять в огне, прежде чем полностью сгореть. По умолчанию значение установлено на -20, когда сущность не горит.
    •  Air: Каким запасом воздуха обладает сущность, значение указывается в тиках. Заполняется максимум до 300, давая 15 секунд для погружения, прежде чем сущность начнет тонуть, и 35 секунд, прежде чем сущность погибнет (если она имела 20 единиц здоровья). Уменьшается под водой. Если 0, находясь под водой, сущность теряет 1 единицу здоровья в секунду.
    •  OnGround: 1 или 0 (true/false) — true, если сущность касается земли.
    •  NoGravity: 1 или 0 (true/false) — если true, сущность не падает, если находится в воздухе.
    •  Dimension: Известно лишь, что используется в файле <player>.dat для хранения последнего известного местоположения игрока вместе с координатами. Все остальные сущности сохраняются только в региональных файлах измерения, в котором они находятся. -1 для Нижнего мира, 0 для Верхнего мира, и 1 для Края.
    •  Invulnerable: 1 или 0 (true/false) — true, если сущность не должна получать урон. Это относится как к живым, так и к неживым существам: мобы не должны получать урон из любого источника (включая эффекты от зелий) и не могут быть перемещены удочками, атаками, взрывами или снарядами, а такие объекты, как транспортные средства и рамки, не могут быть уничтожены, если их опорные блоки не были разрушены. Примечательно, что эти объекты могут быть повреждены игроками, находящимися в режиме «Творчество».
    •  PortalCooldown: Число тиков, по истечении которого сущность сможет телепортироваться обратно через портал Нижнего мира. Изначально начинается с 300 тиков (15 секунд) после телепортации и отсчитывается до 0.
    •  UUIDMost: Наиболее значимые биты данной сущности (Universally Unique IDentifier). Это работает совместно с UUIDLeast для формирования уникального идентификатора данной сущности.
    •  UUIDLeast: Наименее значимые биты данной сущности (Universally Unique IDentifier).
    •  CustomName: Пользовательское имя данной сущности в текстовом файле JSON. Появляется в сообщениях о смерти игрока и в интерфейсах торговли с деревенским жителем, а также над сущностью, когда курсор игрока находится над ней. Может не существовать, а может и существовать, но быть пустым.
    •  CustomNameVisible: 1 или 0 (true/false) — если true, и эта сущность имеет пользовательское имя, имя всегда появляется над сущностью, независимо от того, куда указывает курсор. Если сущность не имеет пользовательского имени, отображается имя по умолчанию. Может не существовать.
    •  Silent: 1 или 0 (true/false) — если true, данная сущность перестаёт издавать звуки. Может не существовать.
    •  Passengers: Данные сущности, управляющей другой сущностью. Примечательно, что обе сущности управляют движением, но самая верхняя сущность управляет условиями спауна, когда она создается спаунером мобов.
      • Смотрите этот формат (рекурсивный).
    •  Glowing: 1 или 0 (true/false) — true, если сущность имеет светящийся контур.
    •  Tags: Список тегов системы счёта игровых событий данной сущности.

Мобы

Мобы-сущности
Идентификатор сущности Наименование
bat Летучая мышь
blaze Ифрит
cat Кошка
cave_spider Пещерный паук
chicken Курица
cod Треска
cow Корова
creeper Крипер
dolphin Дельфин
donkey Осёл
drowned Утопленник
elder_guardian Древний страж
ender_dragon Дракон Края
enderman Странник Края
endermite Чешуйница Края
evoker Вызыватель
fox Лиса
ghast Гаст
giant Гигант
guardian Страж
horse Лошадь
husk Кадавр
illusioner Иллюзор
iron_golem Железный голем
llama Лама
magma_cube Лавовый куб
mooshroom Грибная корова
mule Мул
ocelot Оцелот
panda Панда
parrot Попугай
phantom Фантом
pig Свинья
pillager Разбойник
polar_bear Белый медведь
pufferfish Иглобрюх
rabbit Кролик
ravager Разоритель
salmon Лосось
sheep Овца
shulker Шалкер
silverfish Чешуйница
skeleton Скелет
skeleton_horse Лошадь-скелет
slime Слизень
snow_golem Снежный голем
spider Паук
squid Спрут
stray Зимогор
trader_llama Лама торговца[только для Java Edition]
tropical_fish Тропическая рыба
turtle Черепаха
vex Досаждатель
villager Деревенский житель
villager_v2 Деревенский житель[только для Bedrock Edition]
vindicator Поборник
wandering_trader Странствующий торговец
witch Ведьма
wither Иссушитель
wither_skeleton Скелет-иссушитель
wolf Волк
zombie Зомби
zombie_horse Зомби-лошадь
zombie_pigman Зомби-свиночеловек
zombie_villager Зомби-житель
zombie_villager_v2 Зомби-житель[только для Bedrock Edition]

Мобы — это подкласс сущностей с дополнительными тегами для хранения данных об их здоровье, состоянии атаки/получения урона, переносимых эффектах и о многом другом, в зависимости от моба. Игроки являются подклассом моба.

Снаряды

Снаряды-сущности
Идентификатор сущности Наименование
arrow Стрела
dragon_fireball Кислота Края
egg Яйцо
ender_pearl Жемчуг Края
experience_bottle Зелье опыта
fireball Огненный шар гаста
llama_spit Плевок ламы
potion Взрывное зелье
small_fireball Огненный шар ифрита
shulker_bullet Снаряд шалкера
snowball Снежок
spectral_arrow Призрачная стрела
trident Трезубец
wither_skull Череп иссушителя

Снаряды являются подклассом сущности и имеют очень непонятные теги, такие как X, Y, Z (теги координат), несмотря на имеющийся тег сущности Pos, inTile, несмотря на inGround, они колеблются, несмотря на то, что большинство снарядов не являются стрелами. В то время как все снаряды имеют общие теги, все они независимо друг от друга реализуются через Throwable и ArrowBase.

Предметы и сферы опыта

Предметы-сущности
Идентификатор сущности Наименование
experience_orb Сфера опыта
item Брошенный предмет

Предметы и сферы опыта являются подклассом сущности.

Транспорт

Транспорт-сущности
Идентификатор сущности Наименование
boat Лодка
minecart Вагонетка
chest_minecart Вагонетка с сундуком
command_block_minecart Вагонетка с командным блоком
furnace_minecart Вагонетка с печью
hopper_minecart Вагонетка с воронкой
spawner_minecart Вагонетка со спаунером
tnt_minecart Вагонетка с ТНТ

Транспорт является подклассом сущности.

Динамические блоки

Динамические блоки-сущности
Идентификатор сущности Наименование
falling_block Динамический блок
tnt ТНТ

Динамические блоки являются подклассом сущности и используются для моделирования реалистично движущихся блоков.

Другое

Другие сущности
Идентификатор сущности Наименование
area_effect_cloud Облако эффекта
armor_stand Стойка для брони
end_crystal Кристалл Края
evoker_fangs Челюсти вызывателя
eye_of_ender Око Края
firework_rocket Ракета
item_frame Рамка
leash_knot Узел поводка
painting Картина
fishing_bobber Поплавок

Другие типы сущностей, которые являются подклассом сущности, но не входят ни в одну из вышеперечисленных категорий.

Формат блока-сущности

Блоки-сущности
Идентификатор блока-сущности Соответствующий блок
banner Флаг
barrel Бочка
beacon Маяк
bed Кровать
beehive Пчелиное гнездо/улей
bell Колокол
blast_furnace Плавильная печь
brewing_stand Варочная стойка
campfire Костёр
cauldron Котёл[только для BE и LCE]
chest Сундук
Сундук-ловушка
comparator Компаратор
command_block Командный блок
conduit Морской проводник
daylight_detector Датчик дневного света
dispenser Раздатчик
dropper Выбрасыватель
enchanting_table Стол зачаровывания
ender_chest Сундук Края
end_gateway Врата Края
end_portal Портал Края
furnace Печь
hopper Загрузочная воронка
jigsaw Блок головоломки
jukebox Проигрыватель
lectern Кафедра
mob_spawner Спаунер
piston Движущийся поршень
shulker_box Шалкеровый ящик
sign Табличка
skull Голова моба
smoker Коптильня
structure_block Структурный блок

Блок-сущность (не относится к сущности) используется Minecraft для хранения инфориации о блоке, информации, которая не может быть сохранена в состояниях блока. Блоки-сущности назывались «объектами-сущностями» до предварительных сборок 1.8 и этот термин всё ещё используется в некоторых применяемых командах.

Формат тиков объектов

Тики объектов представляют собой обновления блоков, которые должны произойти, потому что они попросту не могли произойти до сохранения чанка. Примерами тиков объектов могут быть схемы красного камня, нуждающиеся в непрестанном обновлении чанка, вода и лава, которые должны продолжать течь, недавно помещенный песок или гравий, который должен упасть и так далее. Тики объектов не используются при опадании листвы, где информация об опадании хранится в значениях данных блока листвы и обрабатывается Minecraft при загрузке чанка. Для создателей игровых карт тики объектов могут использоваться для обновления блоков по прошествии определённого периода времени с загруженным в память чанком.

  • Тик объекта
    •  i: Идентификатор блока; используется для активации правильной процедуры обновления блока.
    •  t: Количество тиков до обработки должно произойти. Может быть отрицательным, когда обработка просрочена.
    •  p: Если для одного и того же тика запланировано несколько тиков плитки, сначала обрабатываются тики с меньшим p. Если они также имеют одинаковое p, порядок неизвестен.
    •  x: X позиция
    •  y: Y позииция
    •  z: Z позиция

История

Этот раздел нужно срочно обновить!
Вы можете помочь, обновив содержимое раздела в соответствии с последними версиями Minecraft.

Впервые чанки появились в Minecraft Infdev. До добавления формата MCRegion в Beta 1.3, чанки хранились в индивидуальном порядке в виде файлов с расширением .dat, где имена файлов содержали позицию чанка, закодированную в Base36 — это также известно как Alpha (формат карты). MCRegion изменяет это, сохраняя группы из 32×32 чанка в отдельных файлах .mcr с координатами, закодированными в Base10, с целью уменьшить использование дискового пространства, сократив количество дескрипторов файлов, которые Minecraft сразу открывал. Преемником MCRegion является нынешний формат, Anvil, который внес изменения только в формат чанка. Технология файла региона всё ещё используется, но вместо прежних расширений файлов теперь используется .mca.

Основным отличием Anvil от MCRegion было разделение чанков на части; каждый чанк имеет до 16 отдельных 16×16×16 частей — блоков, благодаря чему пустые секции просто не сохраняются. Ещё одним отличием является поддержка блоков с идентификаторами в диапазоне от 0 до 4095, по сравнению с предыдущим ограничением от 0 до 255. Однако сам Minecraft не полностью готов к тому, чтобы такие блоки существовали как предметы; многие идентификаторы предметов уже взяты в диапазоне от 256 до 4095.

Массивы The Blocks, Data, BlockLight и SkyLight теперь размещаются в отдельных частях чанка. Массивы The Data, SkyLight и BlockLight имеют 4-битные значения, а массивы BlockLight и SkyLight больше не используются в идентификаторе блока. Массив The Blocks использует 8 битов на каждый блок, а поддержка 4096 блоков существует в виде дополнительного массива байтов Add, где используется 4-бита на каждый блок для дополнительной информации идентификатора блока. С внедрением формата Anvil, формат NBT была изменена первоначальная спецификация Notch'а ради включения тега целочисленного массива, аналогичного ранее существующему тегу массива байтов. В настоящее время он используется только для информации HeightMap в чанках.

Официальный выпуск Java Edition
1.3.112w21aУдалены следующие теги MobSpawner: MaxExperience, RemainingExperience, ExperienceRegenTick, ExperienceRegenRate и ExperienceRegenAmount.
1.4.212w34aДобавлена сущность WitherBoss.
1.513w02aДобавлена сущность MinecartTNT.
Имя Minecart теперь не рекомендуется.
13w03aДобавлена сущность MinecartHopper.
13w06aДобавлена сущность MinecartSpawner.
1.6.113w16aДобавлена сущность EntityHorse.
13w21aУдалён следующий тег EntityHorse: ArmorType.
Удалён следующий тег EntityHorse: Saddle.
РелизТег Saddle снова добавлен к сущности EntityHorse.
1.7.213w39aДобавлена сущность MinecartCommandBlock.
1.814w02aДобавден тег Lock для блоков, имеющих хранилище.
Идентификаторы предметов больше не используются при указанни определённых NBT данных.
Добавлен тег Block к сущности FallingSand, используется для формата идентификаторов в алфавитном порядке.
14w06aДобавлен тег ShowParticles ко всем мобам.
Добавлен тег PickupDelay к предметам-сущностям.
Установка параметра Age на значение, равное -32768, не позволит предметам исчезнуть со временем.
Тег AttackTime был удалён для мобов.
14w10aДобавлен тег rewardExp к сущности Villager.
Добавлен тег OwnerUUID ко всем мобам, способным к размножению.
Добавлен тег Owner к сущности Skull.
Изменения, коснувшиеся рамки и картин: добавлены теги Facing, TileX, TileY и TileZ, которые представляют координаты блока, размещённого в предмете. Direction и Dir теперь отключены.
14w11aДобавлена сущность Endermite.
Добавлен тег EndermiteCount к сущности Enderman.
14w21aCustomName и CustomNameVisible теперь работают для всех сущностей.
14w25aДобавлена сущность Guardian.
Добавлены теги Text1, Text2, Text3 и Text4 к табличкам. Ограничение больше не зависит от количества символов (16), теперь оно зависит от их ширины.
14w27aДобавлена сущность Rabbit. Добавлен тег CommandStats к командному блоку и табличке.
14w28aТег EndermiteCount удалён у сущности Enderman.
14w30aДобавлен тег Silent ко всем сущностям.
14w32aДобавлен тег NoAI ко всем мобам.
Добавлена сущность ArmorStand.
14w32cДобавлен тег NoBasePlate к сущности ArmorStand.
1.915w31aДобавлены теги HandItems, ArmorItems, HandDropChances и ArmorDropChances для Living, которые теперь заменяют теги DropChances и Equipment.
Добавлены теги HandItems и ArmorItems к ArmorStand.
Добавлен тег Glowing к Entity.
Добавлен тег Team к LivingBase.
Добавлен тег DragonPhase к EnderDragon
Добавлена сущность Shulker, часть Entity.
Добавлена сущность ShulkerBullet, часть Entity.
Добавлена сущность DragonFireball, которая распространяется на FireballBase и не имеет уникальных тегов.
Добавлены сущности TippedArrow и SpectralArrow, части Arrow.
Добавлен блок EndGateway, часть TileEntity.
15w32aТеги Tags и DataVersion теперь могут быть применены на сущности.
Изменён тип тега Fuse для сущности PrimedTnt с «Byte» на «Short».
15w32cУстановлен лимит на количество возможных тегов, присвоенных сущности (1024 тега). При превышении он отображает сообщение об ошибке: «Невозможно добавить более 1024 тегов к сущности.»
15w33aДобавлена сущность AreaEffectCloud, часть Entity.
Добавлен тег ExactTeleport, а Life переименован в Age для блока EndGateway.
Добавлен тег Linger к сущности ThrownPotion.
Тег DataVersion удалён у Entity. Теперь он применяется только к сущности Player, части LivingBase.
Тег UUID удалён у Entity.
Тег HealF под тегом LivingBase теперь является устаревшим.
Тег Health под тегом LivingBase теперь имеет другой тип: из «Short» в «Float».
Тег Equipment удалён у сущности ArmorStand и Living, его использование теперь заменено на теги HandItems и ArmorItems, которые были добавлены ранее.
15w33cДобавлен тег BeamTarget к сущности EnderCrystal.
15w34aДобавлены байт-теги powered и conditional к объектам-сущностям Control для командного блока.
Добавлены теги life и power к сущности FireballBase.
Добавлен тег id внутри SpawnData к блоку MobSpawner.
Добавлен тег powered к объекту-сущности Music для музыкального блока.
15w35aДобавлен тег VillagerProfession к сущности Zombie.
15w37aДобавлен тег Enabled к сущности MinecartHopper.
15w38aДобавлены теги SkeletonTrap и SkeletonTrapTime к сущности EntityHorse.
15w41aТег Riding заменён на Passengers для всех сущностей.
Добавлен тег RootVehicle для всех наездников.
Добавлен тег Type к сущности Boat.
15w42aДобавлен тег Fuel к блоку Cauldron (варочным стойкам).
15w43aДобавлены теги LootTable и LootTableSeed к блоку Chest, сущностям Minecart и MinecartHopper.
Добавлены теги DeathLootTable и DeathLootTableSeed ко всем мобам.
Добавлены теги life и power ко всем огненным шарам (FireballBase).
15w44aДобавлен тег ShowBottom к сущности EnderCrystal.
15w44bДобавлены теги Potion и CustomPotionEffects к сущности Arrow.
Добавлен тег Potion к сущности AreaEffectCloud.
15w45aТег Linger удалён у сущности ThrownPotion. Вместо этого зелье задерживается, если сохраненный предмет имеет идентификатор minecraft:lingering_potion.
ThrownPotion теперь визуализируется как предмет, даже если предмет не является зельем.
15w46aЗначение тега MoreCarrotTicks у сущности Rabbit теперь устанавливается на 40, когда кролики поедают урожай моркови, но не используется всегда.
15w47aДобавлен тег PaymentItem к блоку Beacon.
15w49aТег PaymentItem удалён у блока Beacon.
Чтобы табличка воспринимала текст, все 4 тега («Text1», «Text2», «Text3» и «Text4») должны присутствовать.
15w51bИзначальное значение DisabledSlots в сущности ArmorStand изменено на более натуральное.
1.1016w20aДобавлена сущность PolarBear.
Добавлен тег ZombieType к сущности Zombie, заменяющий VillagerProfession и IsVillager. Значение 6 указывает на кадавра.
Значение тега SkeletonType, равное 2, указывает на зимогора.
Тег NoGravity теперь распространяется на всех сущностей.
Добавлены теги powered, showboundingbox и showair к Structure.
16w21aДобавлен тег FallFlying к мобам и стойкам для брони.
Добавлены теги integrity и seed к Structure.
pre1Добавлены теги ParticleParam1 и ParticleParam2 к сущности AreaEffectCloud.
1.1116w32aЛошади разделены по идентификаторам сущностей: horse, donkey, mule, skeleton_horse и zombie_horse для их соответствующих типов. Теги Type и HasReproduced удалены у сущности horse, теги ChestedHorse и Items теперь применяются только к сущностям mule и donkey, а теги SkeletonTrap и SkeletonTrapTime теперь применяются только к сущности skeleton_horse.
Скелеты теперь разделены по идентификаторам сущностей: skeleton, stray и wither_skeleton. Тег SkeletonType удалён у всех типов скелетов.
Зомби теперь разделены по идентификаторам сущностей: zombie, zombie_villager и husk. Тег ZombieType удалён у всех типов зомби, теги ConversionTime и Profession теперь применяются только к сущности zombie_villager.
Стражи теперь разделены по идентификаторам сущностей: guardian и elder_guardian. Тег Elder удалён у сущности guardian.
Неиспользуемые идентификаторы Mob и Monster были удалены.
Байт-тег Pumpkin был добавлен к сущности snowman.
16w35aДобавлен тег CustomName к блоку banner.
16w39aДобавлены сущности llama, llama_spit, vindication_illager, vex, evocation_fangs и evocation_illager.
Добавлен тег Color к сущности shulker.
Добавлены теги LocName, CustomPotionColor и ColorMap к предметам.
16w40aДобавлен тег Johnny к сущности vindication_illager.
Удалены теги xTile, yTile, zTile, inTile, inGround из класса FireballBase (в больших огненных шарах, маленьких огненных шарах, кислоте Края и черепам иссушителя).
16w41aТег llama_spit теперь доступен как объект сохранения игры.
16w42aДобавлен тег crit к сущности arrow.
16w43aДобавлены теги OwnerUUIDLeast и OwnerUUIDMost к сущности evocation_fangs.
16w44aТеги xTile, yTile, zTile, inTile, inGround были удалены у поплавка (сущности).
pre1Тег ench изменён, чтобы требовать по крайней мере одно соединение.
1.1217w13aДобавлены Parrot, ShoulderEntityLeft/ShoulderEntityRight, seenCredits, recipeBook и Recipes.
17w14aДобавлены теги isFilteringCraftable, isGuiOpen и recipes к recipeBook, которые являются составной частью тега.
Добавлены теги ConversionPlayerLeast и ConversionPlayerMost к сущности Zombie.
17w16aСинтаксический анализ NBT в командах теперь улучшен.
17w17aДобавлен тег toBeDisplayed к recipeBook, UpdateLastExecution и LastExecution.
17w17bДобавлены теги LoveCauseLeast и LoveCauseMost к сущностям, способным к размножению.
1.1317w47aТег damage удалён у предметов, для инструментов и брони теперь используется тег Damage, а для карт используется тег map, оба в tag.
Теги странника Края carried и carriedData объединены в carriedBlockState.
Теги стрелы inTile и inData объединены в inBlockState.
Теги вагонетки DisplayTile и DisplayData объединены в DisplayState.
Теги падающих блоков Block и Data объединены в BlockState.
Теги поршней BlockId и BlockData объединены в blockState.
Удалён музыкальный блок и цветочный горшок как сущности.
Сундук-ловушка теперь является независимым блоком-сущностью trapped_chest.
Удалён тег Base у флагов.
Удалён тег Rot у голов.
17w47aУдалён тег Record у проигрывателя.
17w47bСундук-ловушка больше не является независимым блоком-сущностью, снова используется chest.
18w01aThrower и Owner изменены со строк на компоненты с двумя большими именами L и M.
18w02aПоплавок, создаваемый удочкой теперь обладает собственным уникальным идентификатором сущности — fishing_bobber.
Мотивы картин теперь прописаны в нижнем регистре и в пространстве имён.
18w07aДобавлены сущности turtle, trident и phantom.
Добавлены теги HomePosX, HomePosY, HomePosZ, TravelPosX, TravelPosY, TravelPosZ и HasEgg к сущности turtle.
Добавлены теги AX, AY, AZ и Size к сущности phantom.
18w15aДобавлена сущность dolphin.
18w19aСущность puffer_fish переименована в pufferfish.
18w20aСущность cod_mob переименована в cod.
Сущность salmon_mob переименована в salmon.
18w21aДобавлены теги TreasurePosX, TreasurePosY, TreasurePosZ, GotFish и CanFindTreasure к сущности dolphin.
Тег ench переименован в Enchantments.
Тег Enchantments больше не поддерживает цифровые идентификаторы, вместо этого он требует текстовые идентификаторы.
pre5Сущность xp_orb переименована в experience_orb.
Сущность xp_bottle переименована в experience_bottle.
Сущность eye_of_ender_signal переименована в eye_of_ender.
Сущность ender_crystal переименована в end_crystal.
Сущность fireworks_rocket переименована в firework_rocket.
Сущность commandblock_minecart переименована в command_block_minecart.
Сущность villager_golem переименована в iron_golem.
Сущность evocation_fangs переименована в evoker_fangs.
Сущность evocation_illager переименована в evoker.
Сущность vindication_illager переименована в vindicator.
pre5Сущность illusion_illager переименована в illusioner.
1.1418w43aДобавлены сущности illager_beast, panda и pillager.
18w45aПараметр LIGHT_BLOCKING тега heightmap был удалён.