скорость ломания блоков в майнкрафт
Minecraft Wiki
Из-за новой политики Microsoft в отношении сторонних ресурсов, Minecraft Wiki больше не является официальной. В связи с этим были внесены некоторые изменения, в том числе и обновлён логотип вики-проекта. Подробности на нашем Discord-сервере.
Добывание
Основы добывания [ ]
Также много блоков можно добыть рукой, однако более прочные блоки требуется добывать специальными инструментами. В частности, чтобы получить ресурсы из камня или руд игроку потребуется кирка. Для более твердых блоков, таких как обсидиан, подойдет только кирка, сделанная из более крепких алмазов или незерита. Игрок также может использовать лопату, чтобы ускорить добывание рыхлых блоков и топор для блоков древесного типа. Недостатком есть то, что все инструменты имеют определенный запас прочности, поэтому пользоваться ими бесконечно нельзя.
Добывание будет продолжаться пока кнопка нажата, однако переключение на добывание следующего блока после окончания добывания предыдущего занимает 0.25 секунд. Во время добывания игрок может свободно передвигаться, и даже прыгать и плавать. Однако последние два действия замедляют процесс добывания и накладывают на неё штраф. Существует 5x штраф (добывание займет в 5 раз больше времени) в скорости добывания блоков, если игрок не стоит на твёрдой земле (в прыжке). Также существует 5x штраф, если добывание ведётся под водой. Если игрок плавает (находится под водой и не стоит на дне водоема) то штраф времени добывания составляет 25х, что делает добывание под водой очень долгой и трудной даже с использованием качественных инструментов.
Скорость добывания [ ]
Скорость добывания зависит от трёх факторов: блок, который добывается, зачарования и инструмент, который при этом задействован.
Каждый блок обладает определенным уровнем прочности, который принято измерять во времени добывания блока голыми руками (без инструмента).
Если инструмент увеличивает скорость добывания, то постоянные множители приведены в этой таблице:
| Сила | Ничего | Дерево | Камень | Железо | Алмаз | Золото | Ножницы | Любой меч |
|---|---|---|---|---|---|---|---|---|
| Множитель | 1x | 2x | 4x | 6x | 8x | 12x | 1.5x (15x для шерсти) | 1.5x (15x для паутины) |
Ножницы и меч не считаются предметами, для добывания блоков, они обеспечивают более быстрое добывание, чем руками, однако при каждом добытом блоке теряет прочность в удвоенном количестве. Каждый из них ускоряет добывание определённых блоков (растения, шерсть или паутина).
Прочность блоков [ ]
В этой таблице приведены времени добывания разных типов блоков. Значения, отмеченные звездочкой и на красном фоне показывают, что блок не может быть собран при таком качестве инструмента. Однако, некоторые блоки, например, лёд, нельзя собрать любым инструментом, только с зачарованием Шёлковое касание. Если инструмента, способного ускорить добывание, не существует, ячейка окрашена в серый цвет.
Появились фризы в Minecraft. Читайте описание.
Резкие кратковременные пролаги при размещении/ломании блоков напрямую связаны с проблемами в скорости работы алгоритмов расчёта освещения – так называемого «светового движка».
͟К͟а͟к͟ ͟э͟т͟о͟ ͟р͟а͟б͟о͟т͟а͟е͟т͟?
Дело в том, что при размещении блока, прежде чем сделать его видимым, Майнкрафт должен просчитать освещение для него, основываясь на окружающих условиях света, а также обновить освещение рядом стоящих блоков. Пока процесс расчёта не завершён, кадр не обновляется. Отсюда возникают характерные пролаги, если расчёт света занимает много времени.
Примечательно, что довольно тяжёлым в этих расчётах является расчёт освещения неба. Если упростить, то каждый раз при изменении блоков Майнкрафт запускает условный «луч» с 272 высоты вертикально вниз (на 16 блоков выше максимальной высоты мира), рассчитывая освещение для каждого блока, рядом с которым он пройдёт. Чем длиннее путь луча, тем дольше по времени происходят вычисления. Если преградить ему путь, заслонив большой горизонтальной платформой на максимальной высоте территорию, где размещается/разрушается блок (поместив её в полную тень), то можно будет заметить, что пролаги прекратятся. А единовременное размещение такой платформы (например, командой /fill
15 minecraft:stone), напротив, вызовет сильнейшее зависание.
Довольно подробно об алгоритмах работы игрового освещения в Майнкрафте можно прочитать здесь.
͟Ч͟т͟о͟ ͟с͟ ͟э͟т͟и͟м͟ ͟д͟е͟л͟а͟т͟ь͟?
Как мы выяснили, причиной является слишком долгий процесс расчёта освещения. Увы, проблема находится на уровне кода игры, и сами мы (игроки) ничего с этим сделать не можем. К счастью, сообществом модмейкеров сейчас активно разрабатывается сразу два более оптимизированных алгоритма освещения, входящих в состав модов Starlight и Phosphor. Достаточно просто установить один из них, используя загрузчик Fabric (как установить?), чтобы устранить проблему. В сравнении с ванильным световым движком они позволяют получить ощутимый прирост в скорости вычислений, который можно наблюдать на этих графиках:
Общая производительность Phosphor:
Сравнение скоростей генерации чанков с использованием различных движков:
Сравнение скоростей расчёта света для небесных «лучей»:
Сравнение скоростей расчёта света от блока-источника:
Из этих диаграмм видно, что самым эффективным световым движком является Starlight. Однако он до сих пор находится в бета-тестировании и доступен для скачивания только со страницы разработчика на GitHub.
Minecraft Wiki
Из-за новой политики Microsoft в отношении сторонних ресурсов, Minecraft Wiki больше не является официальной. В связи с этим были внесены некоторые изменения, в том числе и обновлён логотип вики-проекта. Подробности на нашем Discord-сервере.
Руководство по команде setblock
Setblock (от англ. set — «установить», block — «блок») — команда, которая размещает блок.
Содержание
Варианты команды [ ]
При указании NBT данных обязательно нужно заключать nbt и значение в кавычки, если они состоят из нескольких слов.
Название блока [ ]
Название блока записывается строчными латинскими буквами. Если в названии несколько слов, то они разделяются знаком подчеркивания » _ «.
Состояния блоков [ ]
Состояния блока определяют некоторые параметры блока.
1 repeater[delay=2, powered=true] — установит перед игроком активированный повторитель с задержкой 2.
Настройка размещения блока [ ]
Условие: Игрок стоит на открытом воздухе
yellow_wool replace — установит жёлтую шерсть над игроком.
Условие: Игрок стоит в узком каменном коридоре высотой в два блока
red_wool replace — установит над игроком красную шерсть, заменяя камень.
NBT-данные [ ]
Позволяет указать содержимое блока (если оно у него может быть). Все параметры опциональны.
1 chest[facing=west]



