Клиентские ресурсы (Assets)
Зачастую при использовании мода тебе могут потребоваться свои ресурсы, или замена ресурсов других модов: текстуры, модели, звуки и т.п.
Не пытайтесь редактировать файлы модов, редактируя архив мода, таким способом вы рискуете не только поломать сам мод, но и потерять ваши ресурсы при обновлении
Для загрузки своих ресурсов HollowEngine предоставляет отдельную папку assets
.
Для начала создай новую папку в директории мода (hollowengine
) с названием assets
, и в ней же создай новую с любым названием (допускаются только английские буквы нижнего регистра, цифры, нижнее подчёркивание и символ /
).
hollowengine
\- assets
\- <📁 modid> <- например: hollowengine, my_mod, custom, botania и т.д.
Эта последняя папка означает namespace
. (именное пространство) Каждый мод имеет своё именное пространство, благодаря этому Вы можете заменять его ресурсы через ресурспаки или систему ресурсов из HollowEngine.
В этой папке вы можете создавать свои ресурсы, о которых расписано ниже.
Модели
Хранить модели вы можете где и как хотите. Но рекомендуем хранить в этих папках:
hollowengine/assets/<modid>/models/entity/*
- Модели,
Поддерживаемые форматы моделей:
glTF
-.gltf
. Для некоторых моделей может потребовать файла<name>.bin
рядом с<name>.gltf
.glb
-.glb
.
Текстуры
Текстуры обычно хранятся в папке
textures
:
hollowengine/assets/<modid>/textures/*
.
Звуки
Звуки рекомендуем хранить строго в
hollowengine/assets/hollowengine/sounds/*
. Иначе вам придётся для каждого звука самому создавать sounds.json, а занимать это будет очень много времени.
Эффекты (Work In Progress)
Все эффекты созданные через
Effekseer
должны храниться в папке с именемeffeks
а файлы должны иметь тип.efkefc
. Все текстуры к вашему эффек ту обычно указываются относительно папки куда экспортирован сам эффект, поэтому лучше сохранять эффект рядом с папкой его текстур, а потом уже переносить всё в ресурсы мода. То-есть по путиhollowengine/assets/<modid>/effeks/*
Другие ресурсы
Все остальные ресурсы можете хранить как угодно. Но, опять же, помните что путь к модели указывается только английскими буквами нижнего регистра и цифрами. Если не понятно, то рекомендую скачать первый попавшийся ресурспак, открыть как архив и изучить как он внутри устроен, иначе очень высока вероятность, что ты в последствии запутаешься при добавлении своих моделей или текстур.
ResourceLocation (Путь к ресурсу в скрипте)
Чтобы указать путь к ресурсу в скрипте вам необходимо указать путь относительно namespace
, чтобы в результате получилось namespace:path
. Вот несколько примеров как можно указать путь:
ResourceLocation (в скрипте) | Путь к ресурсу (в проводник е) |
---|---|
"botania:models/entity/my_botanic_npc.gltf" | <GAME_PATH>/hollowengine/assets/botania/models/entity/my_botanic_npc.gltf |
"story_mod:vitalik_model.gltf" | <GAME_PATH>/hollowengine/assets/story_mod/vitalik_model.gltf |
"hollowengine:models/player_entity.gltf" | <GAME_PATH>/hollowengine/assets/hollowengine/models/player_entity.gltf |
Серверные ресурсы (WIP)
А вы не знали? Существуют еще северные ресурсы, называемые 'data'. Кратко пройдемся про них
Loot Tables
Думаю, все знают, что с блока падает предмет? Не знали? Поиграйте в Minecraft, тогда и узнаете. Так вот. Именно они сделаны через LootTables.
Также, еще существует спавн предметов в сундуках.
Как только появится возможность, я запинаю _BENDY659_
, чтобы тот сделал примеры
Recipes
Без комментариев