← Все статьи

Как работает текстура Sulfur Cube и как нарисовать свою

В Minecraft 26.x появился Sulfur Cube — моб семейства слаймов, построенный вокруг поглощения блоков и смены поведения. Мы открыли настоящий клиентский jar-файл, чтобы точно узнать, что ресурс-пак может изменить в нём, а что нет — вот что там реально лежит и практический процесс перерисовки.

Открыть texture painter

Что реально лежит в ресурс-паке

Sulfur Cube поставляется с четырьмя PNG-файлами, все по пути assets/minecraft/textures/entity/sulfur_cube/:

ФайлРазмерИспользуется для
sulfur_cube_outer.png128×128Видимая оболочка и лицо крупного куба
sulfur_cube_inner.png128×128Внутренний слой крупного куба
sulfur_cube_outer_small.png64×64Видимая оболочка и лицо маленького куба
sulfur_cube_inner_small.png64×64Внутренний слой маленького куба

Разделение на крупный/маленький повторяет классику Slime: в jar-файле отдельно определена модель SmallSulfurCubeModel — почти наверняка это модель, которая используется после того, как Sulfur Cube разделяется, так же как обычный Slime распадается на более мелких при смерти.

Почему нельзя изменить форму

Настоящая геометрия куба живёт в скомпилированных Java-классах (SulfurCubeModel, SmallSulfurCubeModel, SulfurCubeRenderer), а не в JSON-модели сущности, которую можно редактировать. Это нормально для ванильных мобов — в отличие от предметов и блоков, геометрия моба почти всегда не редактируется через ресурс-пак. Ресурс-пак может заменить четыре PNG выше, и больше ничего в форме моба.

Два слоя, две задачи

Названия двух текстур не случайны. В jar-файле отдельно определён рендер-слой SulfurCubeInnerLayer, отделённый от базовой модели — именно поэтому существуют две независимые текстуры, а не одна:

На практике: если вы трогаете только sulfur_cube_outer.png, вы перерисовываете то, что игроки видят в большинстве случаев. Внутреннюю текстуру тоже стоит настраивать, но относитесь к ней как к абстрактному узору, а не к лицу или части тела.

Механика поглощения не получает отдельную текстуру

Sulfur Cube может поглощать определённые блоки и предметы (за это отвечают тэги sulfur_cube_swallowable и sulfur_cube_food), и в jar-файле определены двенадцать различных архетипов поведения — bouncy, explosive, fast_flat, fast_sliding, high_resistance, hot, light, regular, slow_bouncy, slow_flat, slow_sliding и sticky — плюс компонент предмета SulfurCubeContent, который почти наверняка хранит, что именно проглотил конкретный куб.

Чего мы не нашли — это двенадцати наборов текстур. Есть ровно одна пара outer/inner для крупного куба и одна для маленького, независимо от архетипа. Это сильно намекает, что архетип и содержимое меняют поведение и, возможно, оттенок цвета в игре, а не то, какой файл текстуры загружается. Мы формулируем это как вывод из списка файлов, а не как подтверждённый факт о рендере — но практический вывод в любом случае надёжен: кастомный скин из ресурс-пака применяется одинаково ко всем архетипам. Вы не можете сделать "горячий" куб визуально другим, чем "липкий", только через текстуры.

Рисуем внешнюю оболочку

  1. Откройте texture painter и выставьте размер холста 128×128 для крупного куба или 64×64, если рисуете маленький вариант.
  2. Готового шаблона для Sulfur Cube в инструменте нет, так что вы рисуете на пустом холсте нужного разрешения — так же, как подходили бы к перерисовке любого ванильного моба. Сначала заложите базовый цвет, глаза и рот на передней грани держите простыми и контрастными (именно на них смотрят игроки), а детали поверхности добавляйте в последнюю очередь.
  3. Чаще возвращайтесь к реальному масштабу. На таком разрешении куб, видимый с расстояния нескольких блоков, читается в основном как цвет и силуэт — то же правило из нашего гайда по размеру текстур действует и здесь.
  4. Экспортируйте как sulfur_cube_outer.png (или sulfur_cube_outer_small.png).

Рисуем внутренний слой

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

Собираем пак

Наш генератор ресурс-паков устроен вокруг слотов для предметов, блоков, брони и CustomModelData и пока не даёт прямого доступа к произвольным путям текстур сущностей вроде этого. Для перерисовки моба лучше собрать структуру папок руками: pack.mcmeta в корне, по стандартной структуре путей ресурс-пака, а ваши PNG положите точно по пути assets/minecraft/textures/entity/sulfur_cube/<имя_файла>.png, затем заархивируйте саму папку (а не папку, содержащую эту папку) — так получится рабочий ресурс-пак.

Частые вопросы

Можно ли сделать Sulfur Cube другой формы через ресурс-пак?

Нет. Его геометрия скомпилирована в Java-код игры, а не описана в редактируемой JSON-модели. Ресурс-пак может только заменить четыре файла текстур — добавить конечности, изменить размер куба или его силуэт нельзя.

Нужно ли редактировать все четыре файла текстур?

Нет. Если вам важен только обычный вид крупного куба, достаточно одного sulfur_cube_outer.png — именно его игроки замечают чаще всего. Если пропустить файл, игра просто использует ванильную версию.

Будет ли моя текстура выглядеть по-разному в зависимости от архетипа (bouncy, hot, sticky и т.д.)?

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

Что будет, если ошибиться с размером в пикселях?

Minecraft всё равно попытается загрузить несовпадающий PNG, но UV-развёртка, встроенная в модель, рассчитана точно на 128×128 (или 64×64 для маленького варианта), так что всё остальное растянется или сместится с заметными искажениями. Держите размер холста в texture painter равным размеру заменяемого файла.

Что дальше

Только начинаете рисовать скины мобов? Начните с нашего гайда по размеру текстур и процессу работы — там про то, как думать о силуэте, контрасте и тайлинге до того, как вы утвердите финальный дизайн.