Цель этого руководства — научить вас использовать хитбоксы.
Хитбоксы
Хитбоксы — это области, которые описывают, сколько места занимает объект, что можно отобразить, нажав F3 + B keys. [ только для Java Edition ] Когда они отображаются, будет виден белый контур, показывающий местоположение объекта и занимаемого пространства. Рядом с его «глазами» есть плоский красный прямоугольник.
Это «линия обзора», то есть там, где находятся его глаза в игре, которые могут быть независимыми от того, где они кажутся. Обратите внимание на то, как линия обзора охватывает всю сущность. Это объясняет, как невозможно подкрасться к мобу, не увидев игрока. Также есть прямая синяя линия, которая простирается от прямой видимости. Эта линия указывает направление, в котором смотрит моб.
Использование
Они очень важны для многих целей.
Урон
Hitboxes — это области, в которых моб может быть поврежден. Сюда входят все типы повреждений, кроме повреждений, связанных с пустотой, падением и статусными эффектами. Это важно, потому что может помочь игроку стрелять в моба, например, в Гаста. Хитбокс призрака не включает щупальца, поэтому выстрел одним из них в щупальца ничего не дает.
СЛИВ ХИТБОКСОВ НА LabyMod 1.16.5🔱
Дракон Края
Дракон Края имеет уникальный хитбокс. У него есть зеленые прямоугольники вокруг различных частей тела, но также есть гигантский белый прямоугольник и линия прямой видимости. Зеленые квадраты — это места, где вы можете нанести дракону урон.
Удушение
Механику удушения лучше всего объяснить с помощью хитбоксов. Если в «голову» моба попадает твердый блок, он начинает задыхаться. Местоположение «головы» отмечено очень тонкой красной рамкой, так что именно здесь моб может задохнуться. Если у моба нет отдельного контура для его головы, такого как ужас, то предполагается, что весь моб является головой. Следовательно, игрок может легко задушить призрак, протолкнув блок в любом месте его хитбокса.
Фермы
Размеры хитбоксов можно использовать для ферм. Например, хитбокс молодой курицы короче, чем хитбокс взрослой курицы. Если вы хотите построить автоматическую птицеферму, вы должны убедиться, что будут убиты только взрослые цыплята, поскольку цыплята ничего не роняют.
Лучше всего подходят блоки, которые короче целого блока. использовать для постройки фермы. К ним относятся очаровательные столы, плиты, датчики дневного света и слои снега.. Их можно использовать для управления линией обзора, как это было в ферме скелетов иссушителя, показанной в видео:
Их также можно использовать для управления, когда мобы могут видеть других мобов, что может помочь создать пассивные фермы мобов с питанием от воздаятелей:
Изгнание мобов
Так как каждая сущность имеет видимый хитбокс, его можно использовать для более легкого взлома вагонетки. или лодка, в которой находится другая толпа. Создавая хитбоксы, вы можете видеть, где начинается хитбокс моба. Таким образом, вы можете разбить вагонетку или лодку с пассажиром, не причинив вреда пассажиру.
СЛИВ НОВЫХ ХИТБОКСОВ НА МАЙНКРАФТ!!!! УВЕЛЕЧЕНИЕ ХИТБОКСОВ МАЙНКРАФТ
Прямая видимость
Вы когда-нибудь слышали, чтобы кто-то говорил вам «разорвать линию пути взгляд»? Они имеют в виду сделать так, чтобы моб больше не видел игрока. У игрока есть своя линия обзора (красный прямоугольник). «Линия видимости» между мобами существует, когда красный прямоугольник игрока виден из красного прямоугольника моба, и они находятся в пределах досягаемости. Этот диапазон варьируется от 20 блоков для большинства враждебных мобов до сотни блоков для призраков и вспышек и зависит от таких факторов, как эффект слепоты и ношение черепов.
Линия видимости влияет на то, как мобы атакуют игрока. . Если враждебный моб находится в зоне видимости, он начнет атаковать. Что касается стражей, игрок должен сохранять прямую видимость на протяжении всего заряда атакующего луча, чтобы он мог нанести какой-либо урон. Если синяя линия игрока направлена в красный прямоугольник эндермена и на нем нет тыквы, эндермен рассердится на игрока.
Прерывание линии обзора
Прерывание эту линию прямой видимости можно сделать разными способами. Первый способ — разместить блоки между игроком и мобом, чтобы вы не увидели красный прямоугольник другого моба. Большинство мобов не могут видеть сквозь стекло, поэтому его можно использовать для этих целей. Другое решение — выйти из зоны действия моба, чтобы он не напал на вас.
Это сложно сделать для атакующих на большом расстоянии, таких как Blazes. Другое решение — убить моба или выгрузить содержащие его куски.
Источник: gamicon.ru
Хитбокс для блока
В данном случае мы будем делать блок палок для растений. Наша задача сделать так, чтобы можно было между палками проходить.
Модель и blockstates
Сделаем для них какую-нибудь красивую модель по пути tut/resources/assets/tut/models/block
< «textures»: < «0»: «minecraft:blocks/log_oak», «1»: «minecraft:blocks/log_oak_top» >, «elements»: [ < «from»: [ 1.0, -1.0, 14.0 ], «to»: [ 2.0, 16.0, 15.0 ], «faces»: < «north»: < «texture»: «#0», «uv»: [ 0.0, 0.0, 6.0, 16.0 ] >, «east»: < «texture»: «#0», «uv»: [ 13.0, 0.0, 4.0, 14.0 ] >, «south»: < «texture»: «#0», «uv»: [ 4.0, 0.0, 10.0, 16.0 ] >, «west»: < «texture»: «#0», «uv»: [ 1.0, 0.0, 7.0, 16.0 ] >, «up»: < «texture»: «#1», «uv»: [ 0.0, 0.0, -16.0, 16.0 ] >, «down»: < «texture»: «#1», «uv»: [ 0.0, 0.0, -16.0, -16.0 ] >> >, < «from»: [ 14.0, -1.0, 14.0 ], «to»: [ 15.0, 16.0, 15.0 ], «faces»: < «north»: < «texture»: «#0», «uv»: [ 0.0, 0.0, 6.0, 16.0 ] >, «east»: < «texture»: «#0», «uv»: [ 13.0, 0.0, 4.0, 14.0 ] >, «south»: < «texture»: «#0», «uv»: [ 4.0, 0.0, 10.0, 16.0 ] >, «west»: < «texture»: «#0», «uv»: [ 1.0, 0.0, 7.0, 16.0 ] >, «up»: < «texture»: «#1», «uv»: [ 0.0, 0.0, -16.0, 16.0 ] >, «down»: < «texture»: «#1», «uv»: [ 0.0, 0.0, -16.0, -16.0 ] >> >, < «from»: [ 14.0, -1.0, 1.0 ], «to»: [ 15.0, 16.0, 2.0 ], «faces»: < «north»: < «texture»: «#0», «uv»: [ 0.0, 0.0, 6.0, 16.0 ] >, «east»: < «texture»: «#0», «uv»: [ 13.0, 0.0, 4.0, 14.0 ] >, «south»: < «texture»: «#0», «uv»: [ 4.0, 0.0, 10.0, 16.0 ] >, «west»: < «texture»: «#0», «uv»: [ 1.0, 0.0, 7.0, 16.0 ] >, «up»: < «texture»: «#1», «uv»: [ 0.0, 0.0, -16.0, 16.0 ] >, «down»: < «texture»: «#1», «uv»: [ 0.0, 0.0, -16.0, -16.0 ] >> >, < «from»: [ 1.0, -1.0, 1.0 ], «to»: [ 2.0, 16.0, 2.0 ], «faces»: < «north»: < «texture»: «#0», «uv»: [ 0.0, 0.0, 6.0, 16.0 ] >, «east»: < «texture»: «#0», «uv»: [ 13.0, 0.0, 4.0, 14.0 ] >, «south»: < «texture»: «#0», «uv»: [ 4.0, 0.0, 10.0, 16.0 ] >, «west»: < «texture»: «#0», «uv»: [ 1.0, 0.0, 7.0, 16.0 ] >, «up»: < «texture»: «#1», «uv»: [ 0.0, 0.0, -16.0, 16.0 ] >, «down»: < «texture»: «#1», «uv»: [ 0.0, 0.0, -16.0, -16.0 ] >> > ] >
И варианты блока по пути tut/resources/assets/tut/blockstates
Так как текстура у меня берётся из minecraft, то самому делать её не придётся.
Пока это целый блок через который пройти нельзя. Чтобы это исправить надо сделать для него хитбокс.
Создание хитбокса
Теперь нам надо вставить в наш класс этот код.
private static final AxisAlignedBB[] PLANTS_STICKS_AABB = new AxisAlignedBB[] < new AxisAlignedBB(0.0625, 0.125, 0.875, 0.125, 1.0, 0.9375), new AxisAlignedBB(0.875, 0.125, 0.875, 0.9375, 1.0, 0.9375), new AxisAlignedBB(0.875, 0.125, 0.0625, 0.9375, 1.0, 0.125), new AxisAlignedBB(0.0625, 0.125, 0.0625, 0.125, 1.0, 0.125) >;
AxicAlignedBB[] (Axic Aligned Bounding Box) — это и есть массив, отвечающий за наш хитбокс. В данном случае мы создаём в нём четыре хитбокса (четыре палки) с аргументами x1, y1, z1, x2, y2, z2 . Очень важно, что значения — это НЕ КОЛ-ВО ПИКСЕЛЕЙ, а величина ОТНОСИТЕЛЬНО БЛОКА. То есть 1.0 — это целый блок, а 0.0625 — это один пиксель.
Соединяем все хитбоксы.
addCollisionBoxToList — это функция соединяющая наши хитбоксы.
FULL_BLOCK_AABB — в этом массиве хранятся все наши хибоксы
Вот теперь можно заходить в minecraft и радоваться результатом.
Как показать хитбоксы
На самом деле довольно легко увидеть хитбоксы в версии игры для Java: просто одновременно нажмите F3 и B на клавиатуре. Это оно! Эту комбинацию клавиш можно использовать для включения и выключения хитбоксов, когда игроки хотят, чтобы они снова скрылись из виду. К сожалению, этот метод работает только в Java Edition.
Как работают хитбоксы
Когда хитбоксы включены, вокруг отображается белая линия, образующая прямоугольник.на что бы ни смотрели игроки. Эти коробки также не всегда совпадают с точной формой сущностей, иногда будут торчать различные части тела. Это особенно важно понимать, так как даже если игроки ударили сущность мечом в области, у которой нет хитбокса, повреждений не будет.
Hitboxes также будут отображать линии обзора сущности. Это большой красный прямоугольник, окружающий всю голову. Вот почему игроки не могут подкрасться к мобам, они запрограммированы на то, чтобы буквально видеть глаза на затылке. Игроки все еще могут узнать, в какую сторону смотрит сущность, посмотрев на синюю линию, идущую от глаз.
Hitboxes также несут ответственность за то, задыхается ли игрок или моб. Удушающий урон наносится всякий раз, когда твердый блок входит в «свободное пространство игрока или NPC». Это пространство обозначено тонким красным прямоугольником.
Крайний Дракон
Чем может быть полезен просмотр хитбоксов
Есть несколько способов, которыми просмотр хитбоксов может быть особенно полезен для игроков:
Minecraft теперь доступен на мобильных устройствах, ПК, PS4, PS5, Switch, Xbox One и Xbox Series X / S.
Источник: drestime.ru