Guides / Building & Resources

Скрытие и изменение размера элементов интерфейса с помощью ресурс-пака

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

В Minecraft нет настроек для скрытия панели быстрого доступа. Есть только текстура, и если сделать её часть прозрачной, она исчезнет визуально, при этом всё остальное продолжит работать.

Всё в одном файле

assets/minecraft/textures/gui/sprites/hud/

Современные версии разделили старый атлас widgets.png на отдельные спрайты: hotbar.png, crosshair.png, experience_bar_background.png, heart/full.png и так далее. Замена любого из них на полностью прозрачный PNG того же размера скрывает его.

Одинаковые размеры имеют значение. Прозрачный PNG размером 1×1 там, где ожидалась панель быстрого доступа размером 182×22, растянется, а не исчезнет, создавая размытую полосу.

Что можно и что нельзя делать

Можно:

  • скрыть любой элемент, сделав его спрайт прозрачным
  • изменить стиль всего — другие сердца, минималистичный прицел, тематическая панель быстрого доступа
  • изменить видимый размер, рисуя меньшее содержимое внутри холста того же размера

Нельзя:

  • перемещать элемент. Позиции жёстко заданы; только графика является данными.
  • скрывать слоты панели быстрого доступа независимо от рамки — они являются одним спрайтом.
  • изменять функциональность слота. Это чисто косметическое изменение, и предмет по-прежнему можно выбрать.

Последний пункт стоит уточнить: скрытая панель быстрого доступа всё ещё является панелью быстрого доступа. Это не ограничение инвентаря, и Игрок по-прежнему может использовать слоты.

Ловушка девяти срезов

Некоторые спрайты HUD девятисрезовые (nine-sliced) — углы фиксированы, края растягиваются. Файл .mcmeta рядом с PNG объявляет границы:

{ "gui": { "scaling": { "type": "nine_slice", "width": 200, "height": 20,
  "border": { "left": 2, "top": 2, "right": 2, "bottom": 2 } } } }

Замените такой спрайт без соответствующего mcmeta, и он будет растягиваться неправильно. Скопируйте ванильный .mcmeta вместе с вашим PNG, если сомневаетесь.

Пользовательский текст HUD через шрифты

Действительно мощный трюк: определите поставщика шрифтов, глифы которого являются изображениями, затем выведите эти символы с помощью /title или полосы босса. Текст будет отображаться как ваша графика.

assets/<namespace>/font/default.json
{ "providers": [
  { "type": "bitmap", "file": "my_pack:font/icons.png", "ascent": 8, "height": 9,
    "chars": [""] }
] }

Используйте кодовые точки для частного использования ( и выше), чтобы ничто не конфликтовало с реальным текстом. Затем /title @a actionbar {"text":""} нарисует ваше изображение на панели действий.

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

Шрифты с отрицательным пробелом

Определите глиф с отрицательным advances, и вы сможете перемещать курсор назад, накладывая изображения друг на друга. Это техника, лежащая в основе серверных HUD, которые выглядят как полноценные интерфейсы. Это кропотливая работа, и это единственный способ позиционировать что-либо.

Скрывайте или изменяйте стиль элементов HUD и создавайте поставщиков шрифтов с кодовыми точками, выделенными для вас в HUD Customizer & Font Pack Maker.

Настройка интерфейса и наборы шрифтов →

More guides

Browse all →

Нужны другие инструменты для Minecraft?

Набор генераторов, просмотрщиков и конвертеров прямо в браузере — всё бесплатно.