← Назад к ресурсам

JsonEM

Data driven entity model library

Modrinth library utility

Описание

# JsonEM (Json Entity Models) Library for **modders**, **resource pack makers**, and **modpack makers** to create and edit entity models **WITH JSON** *Does not work with OptiFine format!* ### Generate Reference Entity Models: If you'd like to dump json versions of all entity models (vanilla or modded) so that you can edit them easily with resource packs or use them as examples, here's how: - Launch the game, and then open the configuration file located at `.minecraft/config/jsonem.properties`. - Edit the second line of the file to be `dump_models=true`. - Re-launch the game. Navigate to the folder `.minecraft/jsonem_dump`. - Within this folder you should find all registered entity models dumped as json, formatted like a resource pack. - Use this format when editing or adding models with a resource pack. ### Edit Models in Blockbench: To edit models in [Blockbench](https://www.blockbench.net/), install the plugin located in this repository. - [Download](https://github.com/FoundationGames/JsonEM/raw/1.18/jsonem_models.js) the file `jsonem_models.js` from this GitHub repository - In Blockbench, navigate to `File > Plugins`, and at the top of the dialog click the icon for `Load Plugin from File`. Choose the `jsonem_models.js` file. - Navigate to `File > New` and choose `JsonEM Java Entity Model` to begin editing. - You can also `File > Open Model` to import a JsonEM json model file, such as those dumped from the game. - To **export** your model for use with JsonEM, navigate to `File > Export > Export JsonEM Java Entity Model` and save the file. ### For Resource Pack/Modpack Makers: - Complete the steps above to dump all entity models from your game or modpack. - When editing your resource pack/modpack resources, add entity model json files as they are formatted in the dumped model folder. ### For Modders: JsonEM can be used to create TexturedModelData for your entities entirely using json. This guide will demonstrate how to make the model for the **cube entity** in [**this tutorial**](https://fabricmc.net/wiki/tutorial:entity) with json. - Include the mod as follows (versions can be found [here](https://modrinth.com/mod/jsonem/versions)): ```gradle repositories { maven { url "https://api.modrinth.com/maven" } } dependencies { // Replace with desired version modImplementation "maven.modrinth:jsonem:" include "maven.modrinth:jsonem:" } ``` - Register the entity model layer for your entity through JsonEM instead of Fabric API (Excludes the need for a code-generated TexturedModelData) ```java void onInitializeClient() { [...] JsonEM.registerModelLayer(MODEL_CUBE_LAYER); // Layer ID: "entitytesting:cube", Layer name: "main" } ``` - Add a model file to your mod resources containing your entity's model data **EX:** `assets/entitytesting/models/entity/cube/main.json` ```json { "texture": { "width": 64, "height": 64 }, "bones": { "cube": { "transform": { "origin": [0, 0, 0] }, "cuboids": [ { "uv": [0, 0], "offset": [-6, 12, -6], "dimensions": [12, 12, 12] } ] } } } ``` - Make sure that the bone `"cube"` in the file above is being accessed with the same name in your entity model ```java public CubeEntityModel(ModelPart modelPart) { this.base = modelPart.getChild("cube"); // The original tutorial used an unspecified field called EntityModelPartNames.CUBE } ```