Кусок

Визуализация основной части отдельного фрагмента. Весь фрагмент достигает высоты 256.

Chunk — это сегмент размером 16 × 16 размером 256 блоков. мир Minecraft. Чанки — это метод, используемый генератором мира для разделения карт на управляемые части.

Генерация

Чанки имеют ширину 16 блоков, длину 16 блоков, высоту 256 блоков и Всего 65 536 блоков. Чанки генерируются вокруг игроков, когда они впервые входят в мир. По мере того как они блуждают по миру, по мере необходимости генерируются новые чанки.

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

Создавать чанки, всегда загружается набор чанков размером 16×16 по всему миру, так что вы можете использовать это в своих интересах при создании автоматических ферм .

Загрузка чанка

Выгруженные блоки

Поскольку миры Minecraft состоят из 30 миллионов блоков в каждом направлении и содержат огромное количество блоков, игра загружает только определенные фрагменты, чтобы в игру можно было играть.

Выгруженные фрагменты не обрабатываются игрой и не обрабатывают какие-либо аспекты игры.

Java Edition

Билеты

Загрузка начинается, когда блок получает тикет . Все загруженные фрагменты происходят из билета.

Каждый загрузочный билет имеет три свойства: Уровень, Тип билета и (необязательно) Время жизни.

Уровень и тип нагрузки

Уровни — это числа, определяющие тип нагрузки чанк.

Уровни нагрузки варьируются от 22 до 44 в обычном игровом процессе, в то время как релевантны только от 22 до 33. Уровни нагрузки менее 22 действительны, но возможны только в модифицированной игре. Уровни нагрузки выше 44 невозможны.

Для данного фрагмента имеет значение только его самый низкий уровень. (Более низкие уровни = более высокий тип нагрузки.)

Существует четыре типа загрузки фрагментов; каждый тип нагрузки имеет разные свойства. Это исключает выгруженные блоки.

Тип нагрузки Уровень Свойства
Entity Ticking 31 и ниже Все аспекты игры активны.
Тик 32 Активны все аспекты игры, кроме тех, что не обрабатываются (не move), и отметки фрагментов тоже не используются.
Border 33 Только некоторые аспекты игры активны (Redstone и командные блоки не работают).
Inaccessible 34 и выше Активных аспектов игры нет, но генерация мира все равно происходит.

Распространение уровней

Уровни нагрузки «распространяются» или перетекают из исходного блока с билетом в соседние блоки, но каждый раз, когда он увеличивает свой уровень на 1 до максимального значения 44.

Чанки, которые получают уровень нагрузки от расширения уровня, активируют назначенный тип нагрузки.

Распространение уровня с уровнем 31. Обратите внимание, что уровни 35 и выше игнорируются, потому что они идентичны 34.
34 34 34 34 34 34 34
34 33 33 33 33 33 34
34 33 32 32 32 33 34
34 33 32 31 32 33 34
34 33 32 32 32 33 34
34 33 т d> 33 33 33 33 34
34 34 34 34 34 34 34
То же распространение уровня, но с типом нагрузки вместо уровня с сокращениями типов нагрузки.
IN IN IN IN IN IN IN
IN BO BO BO BO BO IN
IN BO TI TI TI BO IN
IN BO TI ET TI BO IN
IN BO TI TI TI BO IN
IN BO BO BO BO BO IN
IN IN IN IN IN IN IN

Типы билетов

Существуют разные типы билетов, которые поступают из разных источников и активируют блоки с разными типами загрузки.

Билет игрока

Этот билет вызван игроком и ему присвоен уровень 31. Билет игрока выдается каждому фрагменту в области, окружающей игрока, как определено формулами, описанными ниже, и распространяется, как описано в таблице выше.

В одиночной игре расстояние загрузки фрагмента на единицу меньше расстояния отрисовки , как указано в параметрах. Он следует формуле (2 r — 3) 2 = AoC где r — это выбранное расстояние рендеринга , а AoC — это область блоков, которым назначен исходный билет игрока (уровень 31 — отметка объекта ). Минимальное значение AoC равно 9, что означает, что нет разницы между установкой расстояния рендеринга на 2 или 3..

Например, в однопользовательской игре с расстоянием отрисовки 5 фрагментов область размером 7 × 7 фрагментов, сосредоточенная вокруг игрока, имеет тип загрузки , тикание объекта (уровень 31) непосредственно включающие чанки -. Полоса фрагментов на внешнем краю периметра 9 × 9, окружающего игрока — помечена (уровень 32), а следующие ограничивающие фрагменты (периметр 11 × 11) — граничные фрагменты (уровень 33).

В многопользовательской игре расстояние загрузки фрагментов равно расстоянию просмотра , как настроено в server.properties. Он следует формуле (2 v + 1) 2 = AoC где v — это настроенное расстояние обзора , а AoC — это область блоков, которым назначен исходный билет игрока (уровень 31 — отметка объекта ).

Например, на многопользовательском сервере с настроенным расстоянием просмотра в 5 блоков, область размером 11 × 11 блоков, сосредоточенная вокруг игрока, имеет тип загрузки тиканье объекта (уровень 31) , а непосредственно включающие фрагменты -. Полоса фрагментов на внешнем краю периметра 13 × 13, окружающего игрока — помечена (уровень 32), а следующие охватывающие фрагменты (периметр 15 × 15) — граничные блоки (уровень 33).

Принудительный тикет

Тикет также можно создать с помощью команда forceload. Он имеет уровень 31, поэтому его распространение можно увидеть в таблице выше.

Чанки остаются загруженными принудительно даже после закрытия и открытия игры.

Стартовый билет

Распространение стартового билета

Тикет, созданный мировым порождением для блока, в котором он расположен (« порождать чанки «). Его положение можно изменить с помощью команды /setworldspawn . Его уровень 22, самый низкий в игре. Они активны, когда игрок находится в надземном мире, а в остальном — постоянно.

Билет портала

Билет, созданный, когда сущность телепортируется через нижний портал, передается в кусок на другой стороне портала. Он имеет уровень 30, поэтому он сильнее, чем билет, загруженный игроком/принудительно.

Срок его действия истекает через 300 игровых тиков (без задержки, эквивалентной 15 секундам). Поскольку они создаются каждый раз, когда объект проходит через портал, можно создать «загрузчик фрагментов». Постоянная загрузка чанков без присутствия игрока, что может быть использовано для различных игровых механик, таких как фермы, но может вызвать задержку.

Dragon ticket

Билет создается в начале битвы с драконом Края и передается чанку 0,0 (тот, у которого есть портал выхода). Его уровень 24.

Срок его действия истекает, когда в битве больше не участвуют игроки или дракон умирает..

Билет после телепорта

Билет, созданный, когда сущность телепортируется либо путем прохождения через конечный портал, либо с помощью команд телепорта или распространения . Команда телепортации имеет уровень 32, тогда как для распространяющих игроков и конечного портала она имеет уровень 33.

Срок ее действия истекает через 5 тактов игры.

Временный билет [ требуется дополнительная информация ]

Билет, созданный, когда произвольный фрагмент код игры вызывает getChunk. Если код игры говорит, что блок должен быть загружен, он помещает этот билет в этот блок (возможно, после его создания).

Уровень загрузки зависит от того, какой блок пытается загрузить игра ( полностью сгенерированный миром чанк или нет). Это всегда уровень 33 (граница) или выше. Во многих случаях это каким-то образом связано с генерацией мира.

Например, когда выполняется общий ИИ, блуждающий мобов, он спрашивает, имеет ли определенный блок твердую верхнюю поверхность. В рамках этой проверки на этом чанке размещен «неизвестный» билет с уровнем 33.

Срок его действия истекает через 1 игровой тик.

Легкий билет [ требуется дополнительная информация ]

Неизвестно, возможно, связано с генерацией мира.

Ограничения

  • Тайм-аут простоя
У каждого измерения свой тайм-аут простоя . Если в измерении есть игроки или загруженные блоки, тайм-аут отключается. Когда объект покидает или входит в это измерение, тайм-аут сбрасывается.
Если тайм-аут достигает 300 игровых тактов, измерение прекращает обработку определенных действий. К ним относятся обработка сущностей, битва с драконом Края и глобальные сущности (молния и погода [ требуется дополнительная информация ] ).
  • Некоторые аспекты игры не всегда обрабатываются при загрузке фрагментов, потому что могут быть другие условия для их прогресса, в том числе следующие:
    • Chunk tick
      • В каждом тике игры отмечаются только фрагменты с центром в пределах 128 блоков от игрока. См. Также Tick.
    • Сущности
      • Враждебные мобы мгновенно исчезают, если они создают более 128 блоков от любого игрока.
        • Сюда входят зомби-свинолюды на порталах Нижнего мира и ведьмы в хижинах ведьм.
      • Пассивные мобы не появляются естественным образом за пределами блока 240 X 240 область вокруг игрока.
        • Предел появления пассивных мобов ограничен количеством дружественных мобов, загруженных в память, что означает, что любые пассивные мобы, присутствующие в блоках возрождения, учитываются в ограничении мобов и обычно предотвращает естественное появление дружественных мобов в любой другой точке мира. Единственное исключение — когда пассивные мобы появляются как часть вновь созданного чанка.
      • См. Также Spawn.

Исключения

События в блоке могут влиять на блоки во внешних блоках. Если внешний блок неактивен, эффекты в большинстве случаев приостанавливаются.. В частности,

  • изменение блока на краю тикающего фрагмента может распространять обновления на блоки за пределами тикающего фрагмента и заставлять их реагировать соответствующим образом. Обновление может распространяться блок за блоком до тех пор, пока оно не выйдет за граничные блоки, после чего создается временный билет для продолжения распространения.
  • Блок в блоке с уровнем 33 может запрашивать запланированный тик, но он не обрабатывается, пока чанк не получит уровень нагрузки 32 или ниже.
  • Текущая вода или лава могут распространиться на первый соседний блок за пределами тикающего блока, но поток там приостанавливается до тех пор, пока граничный блок имеет более высокий уровень нагрузки.
  • Огонь может распространиться на первый соседний легковоспламеняющийся блок за пределами отмеченного блока. Как вода и лава, он там взвешивается. Он не может распространяться дальше, пока внешний блок не достигнет уровня 30 или ниже.
  • Трава и мицелий могут распространиться на первый соседний блок, посторонний объект, отмеченный блоком.
  • Стебель тыквы и дыни, растущие на краю тикающего фрагмента объекта, могут поместить свои плоды на соседний блок за пределами тикающего участка объекта.
  • Сущность (моб, вагонетка, стрелка и т. Д.), Которая пытается для перехода в тикающий блок из тикающего чанка объекта становится приостановленным, как только он покидает тиковый чанк объекта. Когда тикающий блок переходит на более высокий уровень, сущность возобновляет движение.
  • Взрыв TNT в тикающих чанках сущности может повредить или разрушить блоки в чанке, не тикающем сущности.

Bedrock Edition

Основная статья: область выбора

При загрузке фрагментов активны все аспекты игры, включая фрагменты на расстоянии симуляции игрока и загруженные фрагменты с помощью команд/tickingarea. Выгруженные фрагменты не обрабатываются игрой и не обрабатывают какие-либо аспекты игры.

Type

Player
Круглая форма [ требуется дополнительная информация ] .
Загружаются фрагменты на расстоянии симуляции от игрока.
Command
Создайте с помощью команды /tickingarea .

Ограничить [ требуется дополнительная информация ]

  • Объекты
    • Создание мобов оценивается для каждого фрагмента в пределах цилиндрического радиуса 6 фрагментов от загруженного игрока.

Exception

События в отмеченной области могут влиять на блоки во внешних блоках. Если внешний блок неактивен, в большинстве случаев эффекты приостанавливаются. В частности,

  • Изменение блока на краю области с тиканьем может распространять обновления на блоки за пределами области тика и реагировать соответствующим образом.
  • Текущая вода или лава может распространиться на первый соседний блок во внешнем блоке, но поток там приостанавливается до тех пор, пока внешний блок не станет активным.
  • Огонь может распространиться на первый соседний легковоспламеняющийся блок за пределами тикающей области. Как вода и лава, он там взвешивается; хотя и видимый, его анимация не запускается и не может распространяться дальше, пока внешний кусок не станет активным.
  • Трава и мицелий могут распространяться на первый соседний блок внешнего фрагмента, но затронутый блок распространяется фактически не изменять свой внешний вид, пока его блок не станет активным; затем он мгновенно меняется. Трава и мицелий не могут распространяться ни за пределы первого такого блока, ни из такого блока в область тикания, пока внешний блок не станет активным.
  • Стебель тыквы и дыни, растущие на краю тикающей области, могут разместить их плоды на соседнем блоке во внешнем блоке.
  • Сущность (моб, вагонетка, стрелка и т. д.), которая пытается переместиться во внешний блок, приостанавливается, как только она покидает отмеченную область . Он остается видимым, но неподвижным. Когда внешний блок становится активным, сущность возобновляет движение.
  • Взрыв TNT может повредить или разрушить блоки в неактивном блоке, и, в отличие от других событий, его эффекты не ограничиваются соседними блоками. Однако вторичные эффекты во внешнем блоке приостанавливаются, пока блок не станет активным. Например, если взрыв разрушает блок, поддерживающий песок или гравий, песок или гравий не упадут сразу. То же самое происходит с предметами, прикрепленными к разрушенным блокам, такими как рамы предметов и факелы из красного камня; они не падают, пока блок не будет активирован.
  • Запущенный TNT, запущенный в неактивный блок, подвешен в воздухе в пределах первого внешнего блока, в который он входит. Он исчезает, пока внешний блок не станет активным, после чего он возобновит полет и обратный отсчет.

Поиск краев блока

Координаты X и Z, кратные 16, представляют границы между блоками. ЭГ: (96, -32) — это угол, где встречаются четыре куска. Один из этих фрагментов находится между координатами X от 80 до 96 и координатами Z от -48 до -32. Другой находится между координатами X от 96 до 112 и координатами Z от -32 до -16 и так далее. Когда X или Z пересекают число, кратное 16, игрок перемещается по кускам.

По сути, игрок находится в верхнем левом углу (северо-западном) блока, когда координаты X и Z делятся на 16.

Кроме того, игрок может узнать кусок, на котором он находится, по следующей формуле:
X фрагмента — это пол (координата X/16)
Z фрагмента — это пол (координата Z/16)
Где floor — наибольшее предыдущее целое число. Например. Этаж (27.9561) равен 27
Другими словами, если X было 27, Z было -15, кусок — это кусок (Этаж (27/16), Этаж (-15/16)), что означает, что игрок на фрагменте (1, -1).
Кроме того, координаты блока внутри фрагмента можно найти, взяв модуль координат 16.

В Java Edition , можно использовать клавишу F3 + G для отображения границ блока. В качестве альтернативы, нажатие кнопки «F3» открывает экран отладки, который показывает координаты X, Y и Z игрока в дополнение к переменной «chunk». Эти координаты меняются по мере перемещения игрока. Игрок может узнать, в каком фрагменте он находится, по переменной chunk.

В Bedrock Edition при переключении модной графики мир снова отображается, загружая только фрагмент, в котором находится игрок, для разделения во-вторых, кратко показаны границы чанка. Когда игрок быстро меняет расстояние рендеринга, барьеры блоков отображаются в виде синей линии. Кроме того, если они находятся в воздухе и соединяются с полными блоками, при пересечении границы блока следующий размещенный блок исчезнет из поля зрения, показывая границу блока. Иногда это ненадежно, но полезно, поскольку это происходит только на границах фрагментов. Этого не происходит под землей или когда размещенный блок находится рядом с несколькими блоками.

Кусочки слизи

Основная статья: Слизь § нерест

Куски слизи — это определенные фрагменты, способные порождать слизи ниже Y = 40 независимо от Света. В остальном эти куски такие же, как и все остальные.

Java Edition

Куски слизи генерируются по всему миру (кроме грибных островов). 1 из 10 всех кусков — это кусок слизи. Эти куски слизи определяются псевдослучайно путем объединения их координат фрагментов с семенем мира:

 Random rnd = new Random (seed + (int) (xPosition * xPosition * 0x4c1906) + (int  ) (xPosition * 0x5ac0db) + (int) (zPosition * zPosition) * 0x4307a7L + (int) (zPosition * 0x5f24f) ^ 0x3ad8025f); return rnd.nextInt (10) == 0; 

То есть, используя координаты блока для генерации семени, генерируется случайное число от 0 до 9 включительно, и если это число равно 0, блок может порождать слаймов. Чтобы преобразовать мировые координаты в координаты блока, разделите их на 16 и округлите в меньшую сторону. Обратите внимание, что xPosition и zPosition — 32-битные целые числа ( int s).

Bedrock Edition

Алгоритм фрагментов слизи в Bedrock Edition отличается от Java Edition . Алгоритм не зависит от семени мира, поэтому чанки, в которых могут появляться слаймы, одинаковы для каждого мира.

История

Java Edition pre-Classic
rd-131655 Предшественники кусков демонстрируются.
Java Edition Infdev
Minecraft Infdev 20100227-1 Высота карты больше не настраивается. Высота блока изменена на 128.
Java Edition
1.2.1 12w07a Высота блока была увеличена до 256 в рамках перехода от формата файла Region к формату Anvil.
1.10 16w20a F3 + G сейчас переключает видимые границы блока вокруг плеера.
1.14 ? Метод загрузка чанка изменилась.
Предстоящая версия Java Edition
1.17 20w49a Высота карты теперь снова настраивается впервые за более чем десятилетие.

Интересные факты

  • Есть возможные четырнадцать триллионов (14 062 500 000 000) реальных фрагментов, которые могут быть сгенерированы. Существует 7,46 × 10 244,700 возможных фрагментов, исключая сущности.
  • Если игрок стоит в фрагменте, который еще не сгенерирован, мир сразу становится невидимым, пока он находятся в допустимом блоке. Этого не происходит, если координаты Y выходят за границы блока.
  • В Bedrock Edition, если в одном из шестнадцати секций блока размером 16 × 16 × 16 нет никаких блоков, при размещении блока отображается та же анимация, что и при загрузке блока. Эта ошибка приводит к тому, что блок, который размещает игрок, приобретает тот же цвет неба в направлении, в котором смотрит игрок, примерно на 1 секунду и начинает исчезать, превращаясь в обычную текстуру блока. Если время восхода или заката, и игрок помещает туда блок, он фактически меняет цвет постоянно в течение 1 секунды, если игрок продолжает кивать головой вверх и вниз. Блок также делает блоки позади него невидимыми.

  • Формат блока
  • Частота кадров
  • Высота

Просмотреть на: Шаблон: Среда/содержимое
Оцените статью
Gamicon.ru
Добавить комментарий