Skip to main content

Client Resources (Assets)

Often when using a mod you may need your own resources, or replace the resources of other mods: textures, models, sounds, etc. Do not try to edit mod files by editing the mod archive, this way you risk not only breaking the mod itself, but also losing your resources when updating HollowEngine provides a separate assets folder for loading its resources.

assets

First, create a new folder in the mod directory (hollowengine) with the name assets, and in the same folder create a new folder with any name (only English letters lower case, numbers, underscores and / are allowed).

hollowengine
\- assets
\- <📁 modid> <- for example: hollowengine, my_mod, custom, jogol и т.д.

This last folder means namespace. Each mod has its own namespace, so you can replace its resources via resourcepacks or the resource system from HollowEngine. In this folder, you can create your own resources, which are described below.


Models

You can store the models wherever and however you want. But we recommend that you store them in these folders:

  • hollowengine/assets/<modid>/models/entity/* - Models,

Supported model formats:

  • glTF - .gltf. Some models may require a file <name>.bin near <name>.gltf.
  • glb - .glb.

Textures

Тextures are usually stored in the folder textures:

  • hollowengine/assets/<modid>/textures/*.

Sounds

The sounds are recommended to be kept strictly in hollowengine/assets/hollowengine/sounds/*. Otherwise you will have to create sounds.json for each sound yourself, and that will take a lot of time.


Effects

All effects created with Effekseer must be stored in a folder named effeks and the files must be of type .efkefc. All textures to your effect are usually specified relative to the folder where the effect itself is exported, so it is better to save the effect next to the folder of its textures, and then transfer everything to the mod's resources. That is, in the path hollowengine/assets/<modid>/effeks/*.

Other Assets

All other resources can be stored in any way you like. But again, remember that the path to the model is specified only by English letters lower case and numbers. If it is not clear, I recommend downloading the first resourcepack, open it as an archive and study how it is organized inside, otherwise there is a very high probability that you will later get confused when adding your models or textures.


ResourceLocation

To specify the path to a resource in a script you need to specify the path relative to namespace, so that the result is namespace:path. Here are some examples of how you can specify a path:

ResourceLocation (in script)Path to resource (in explorer)
"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

Server Resources (Data) (WIP)

Didn't you know? There are also northern resources called 'data.' Let's go over them briefly

Loot Tables

I think everyone knows that an object falls off the block? You didn't? Play Minecraft, then you'll find out. Here we go. These are the ones that are made through LootTables.

Also, there is still item spawning in chests.

As soon as I get a chance, I'll be kicking _BENDY659_ into action to make some examples

Recipes

No comment