Формат чанку

Матеріал з Minecraft Wiki
Перейти до: навігація, пошук

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

NBT споруда

Дані чанків зберігаються у вигляді тегів в файлах 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.

Формат блоку

Попередження.svg
Цей розділ потрібно терміново оновити. Ви можете допомогти, оновивши вміст розділу згідно з останніми версіями 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: ID сутності. Цей тег не існує для об’єкта Player.
    •  Pos: 3 TAG_Doubles описуючи поточну позицію сутності X, Y, Z.
    •  Motion: 3 TAG_Doubles описуючи поточну швидкість dX, dY, dZ сутності в метрах на галочку.
    •  Rotation: Two TAG_Floats що представляє обертання в градусах.
      • Обертання об'єкта за годинниковою стрілкою навколо осі Y (називається похилом). На південь 0. Не перевищує 360 градусів.
      • Відхилення сутності від горизонту (називається кроком). Горизонтальна - 0. Позитивні значення дивляться вниз. Не перевищує позитивного чи негативного 90 градусів.
    •  FallDistance: Відстань сутності впало. Більші значення наносять більше збитків, коли суб'єкт господарювання приземляється.
    •  Fire: Кількість тіків, поки вогонь не буде погашений. Негативні значення відображають, як довго суб'єкт може стояти у вогні до горіння. За замовчуванням -20, коли не горить.
    •  Air: Скільки повітря має сутність, у тіків. Наповнюється до 300 максимум у повітрі, даючи 15 секунд зануреним до того, як сутність почне тонути, і загалом до 35 секунд до того, як сутність загине (якщо у неї 20 здоров'я). Знижується, перебуваючи під водою. Якщо 0 знаходиться під водою, особа втрачає 1 здоров'я в секунду.
    •  OnGround: 1 або 0 (true/false) - вірно, якщо сутність торкається землі.
    •  NoGravity: 1 or 0 (true/false) - якщо це правда, сутність не впаде, якщо в повітрі.
    •  Dimension: Відомо лише, що використовується в <player>.dat щоб зберігати останнє відоме місце для гравців разом з Pos. Усі інші об'єкти зберігаються у файлах регіону лише для того розміру, у якому вони знаходяться. -1 для Нижнього світу, 0 для звичайного світу та 1 для Краю.
    •  Invulnerable: 1 або 0 (true/false) - вірно, якщо суб'єкт господарювання не повинен завдавати шкоди. Це стосується як живих, так і неживих істот: моби не завдаватимуть шкоди від будь-якого джерела (включаючи ефекти зілля), і не можуть переміщуватися вудками, атаками, вибухами або снарядами, а такі предмети, як транспортні засоби та предмети, не можуть бути знищені, якщо тільки їхні опори знімаються. Зауважте, що ці об’єкти можуть бути пошкоджені гравцями в режимі творчості.
    •  PortalCooldown: Кількість тіків, перед якими суб'єкт господарювання може передаватися назад через нижчий портал. Спочатку починається з 300 кліщів (15 секунд) після телепортації і відлічується до 0.
    •  UUIDMost: Найбільш значущі біти цієї сутності Universally Unique IDentifier. Це поєднується з UUIDLeast для формування унікального ідентифікатора цієї організації.
    •  UUIDLeast: Найменш значущі біти цього суб'єкта Universally Unique IDentifier.
    •  CustomName: Спеціальна назва цього об'єкта (текстовий компонент [1.13]). З'являється у повідомленнях про смерть гравця та торгових інтерфейсах для односельців, а також над сутністю, коли курсор над ним. Може не існувати або може існувати і бути порожнім.
    •  CustomNameVisible: 1 або 0 (true/false) - якщо правда, і ця сутність має власну назву, вона завжди з’явиться над ними, незалежно від того, вказує чи ні курсор на неї. Якщо суб'єкт господарювання не має власного імені, буде показано ім'я за замовчуванням. Може не існувати.
    •  Silent: 1 or 0 (true/false) - якщо це правда, ця суть не видаватиме звуку. Може не існувати.
    •  Passengers: Дані суб’єкта господарювання. Зауважте, що обидва суб'єкти контролюють рух і найвищий суб'єкт контролює умови спавну, коли їх створює хайвер.
      • Дивіться цей формат (рекурсивний).
    •  Glowing: 1 або 0 (true/false) - вірно, якщо у суб'єкта господарювання світиться контури.
    •  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 Казан[Лише у Bedrock Edition і Legacy Console Edition]
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, порядок невідомий.
    •  x: X позиція
    •  y: Y позиція
    •  z: Z позиція

Історія

Попередження.svg
Цей розділ потрібно терміново оновити. Ви можете допомогти, оновивши вміст розділу згідно з останніми версіями 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.2Додана сутність 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.
Доданий блок Structure, частина TileEntity.
Доданий тег предмету Potion, частини tag.
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 був видалений.