Skip to content

Folder Structure

Darien Gillespie edited this page Apr 8, 2023 · 19 revisions

JEMs uses a strict folder structure for its Resource Packs. If your pack does not adhere to this structure, it will not work as intended. The following sections will detail each of the structures for Models, Textures, and Animations.

If you don't want to read all of this, you can scroll down to see an example.

Models

All models must be located in the assets/jsonentitymodels/geo/<modid> directory. From there, the folder system is as follows:

.../<entityName>/(adult|baby)/...

The <modid> is the mod that this entity comes from. In the case of Vanilla mobs, this is simply "minecraft." The <entityName> should be the name of the entity in registry. Typically, this is given by the name of the mob in all lowercase with any spaces replaced by underscores (i.e. "creeper," "iron_golem," etc.). (adult|baby) indicates that both the <entityName>/baby and <entityName>/adult directories can exist. It is possible to either replace the adult or baby model without changing the other. Any subdirectories beyond the adult/baby directory are at your own discretion. If you make a folder for an entity, there must be a model in it or the mod will crash. To not include any changes to a mob, simply do not include a folder for it.

Textures

Similar to Vanilla Resource Packs, textures must be located in the assets/jsonentitymodels/textures/entity/<modid> directory. From there, the folder system is as follows:

.../<entityName>/(adult|baby)/<modelName>/...

The <modelName> must exactly match the name of the model file this texture is for, excluding the .geo.json ending. Any subdirectories below the defined structure can be used at your own discretion. All models must have at least one texture, or the mod will crash.

Animations

The animation folder structure is very similar to the structure for textures. Animations must be located in the assets/jsonentitymodels/animations/<modid> directory. From there, the folder system is as follows:

.../<entityName>/(adult|baby)/<modelName>/...

As before, the <modelName> must exactly match that of the model file which this animation file is to apply to. Again, any subdirectories are at your discretion. All models must have at least one animation file, or the mod will crash.

Example

assets/jsonentitymodels
  • geo/<modid>/<entityname>
    • adult
      • model1.geo.json
      • model2.geo.json
    • baby
      • model3.geo.json
      • model4.geo.json
  • textures/entity/<modid>/<entityname>
    • adult
      • <model1name>
        • texture1.png
        • texture2.png
      • <model2name>
        • texture3.png
    • baby
      • <model3name>
        • texture4.png
        • texture5.png
      • <model4name>
        • texture6.png
  • animations/<modid>/<entityname>
    • adult
      • <model1name>
        • animation1.json
        • animation2.json
      • <model2name>
        • animation3.json
    • baby
      • <model3name>
        • animation4.json
        • animation5.json
      • <model4name>
        • animation6.json

Clone this wiki locally