{"id":19570627,"url":"https://github.com/sizableshrimp/entitymodeljson","last_synced_at":"2025-04-27T03:31:56.138Z","repository":{"id":39567005,"uuid":"400904122","full_name":"SizableShrimp/EntityModelJson","owner":"SizableShrimp","description":"A Forge mod that allows entity models to be defined in JSON","archived":false,"fork":false,"pushed_at":"2022-08-28T22:19:48.000Z","size":243,"stargazers_count":6,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"1.19.x","last_synced_at":"2023-03-05T15:04:32.336Z","etag":null,"topics":["curseforge","entity-model","forge-mod","java","json"],"latest_commit_sha":null,"homepage":"https://www.curseforge.com/minecraft/mc-mods/entity-model-json","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SizableShrimp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-08-28T22:44:00.000Z","updated_at":"2022-09-05T21:06:42.000Z","dependencies_parsed_at":"2022-07-04T10:52:18.753Z","dependency_job_id":null,"html_url":"https://github.com/SizableShrimp/EntityModelJson","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SizableShrimp%2FEntityModelJson","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SizableShrimp%2FEntityModelJson/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SizableShrimp%2FEntityModelJson/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SizableShrimp%2FEntityModelJson/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SizableShrimp","download_url":"https://codeload.github.com/SizableShrimp/EntityModelJson/tar.gz/refs/heads/1.19.x","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224056535,"owners_count":17248329,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["curseforge","entity-model","forge-mod","java","json"],"created_at":"2024-11-11T06:15:45.917Z","updated_at":"2024-11-11T06:15:46.810Z","avatar_url":"https://github.com/SizableShrimp.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Entity Model JSON\nThis is a Minecraft mod for Forge which allows declaring entity models in JSON.\nIt can be used to create powerful entity models both in mods and modpacks.\n**This is a 100% clientside only mod. Adding it to a server will do nothing.**\n\nFor mods, entity models can be declared in JSON and shipped as assets in the final jar, with a required clientside dependency on this mod.\nFor modpack makers, vanilla and modded entity models can be overriden in JSON using this system.\n\nThis mod also supports declaring entity animations (known as animation definitions) using JSON.\nFor mods, entity animation definitions can be declared in JSON and shipped as assets in the final jar, with a required clientside dependency on this mod.\nThis system cannot override animation definitions from vanilla or mods that use Java animations.\nHowever, modpack makers can override animations from other mods that utilize Entity Model JSON for animation.\n\n## Resources\n### Entity Models\nFor resources on how to declare and use JSON entity models, please see the following:\n* [All vanilla entity models exported as JSON](vanilla_layers) - This resource allows you to see how all vanilla entity models look in a JSON format.\nThey can be used as a starting skeleton, or directly copied to override vanilla entity models with a custom variant.\n* [The complete JSON spec](docs/SPEC.json5) - This JSON file documents all the properties you can possibly use.\n* [The complete JSON schema](docs/SCHEMA.json) - This has the complete JSON Schema of entity models. You can use this for hints in your editor of choice when making a JSON entity model.\n* [An example Forge mod using JSON entity models](src/test) - This example mod adds a dummy entity to the game that has an armor stand model defined in JSON.\nIt also uses a data generator to modify the cat's main model.\nNotable places to check out are:\n  * [Example entity renderer](src/test/java/me/sizableshrimp/entitymodeljsonexample/animal/ExampleAnimalRenderer.java) - Demonstrates the model with its `ModelLayerLocation` and how to determine what file it points to\n  * [Example entity model datagen provider](src/test/java/me/sizableshrimp/entitymodeljsonexample/datagen/ExampleEntityModelProvider.java) - Demonstrates how to generate JSON entity models through data generation\n  * [Example entity model datagen output file](src/test_generated/resources/assets/minecraft/models/entity/main/cat.json) - Output file from example entity model datagen provider\n  * [Entity animal entity model JSON file](src/test/resources/assets/entitymodeljsonexample/models/entity/main/example_animal.json) - Contains the armor stand entity model defined in JSON\n  * [Entity Model Json dependency in mods.toml](src/test/resources/META-INF/mods.toml#L51-L57) - Demonstrates how to declare a required clientside dependency on the Entity Model JSON mod\n\n### Entity Animation Definitions\nFor resources on how to declare and use JSON entity animation definitions, please see the following:\n* [All vanilla entity animation definitions exported as JSON](vanilla_animations/minecraft) - This resource allows you to see how all vanilla entity animation definitions look in a JSON format.\nThey can be used as a starting skeleton for animating your entities.\nOverriding vanilla entity animation definitions is not currently supported.\n* [Example entity model](src/test/java/me/sizableshrimp/entitymodeljsonexample/animated/ExampleAnimatedEntityModel.java) - Demonstrates how to animate your entity using JSON entity animation definitions.\n\n## Creating/Editing Models in Blockbench\nEntity Model JSON ships a Blockbench plugin which you can install for exporting and importing of files in the format of Entity Model JSON.\n1. Download the [javaentitymodeljson_models.js](https://raw.githubusercontent.com/SizableShrimp/EntityModelJson/1.19.x/javaentitymodeljson_models.js) file (Ctrl+S on most browsers).\nMake sure the file is saved with the same name!\nYou should move this file to a place where you know it won't get deleted, as it will be loaded every time Blockbench starts.\n2. Open up Blockbench, and go to `File \u003e Plugins` in the top-left of the window.\nClick on the ![local plugin install icon](https://i.imgur.com/5On6KwX.png) icon labeled `Load Plugin from File`.\n3. Select the `javaentitymodeljson_models.js` you saved previously.\n\nYou can use `File \u003e New \u003e Java Entity Model JSON` to create new Entity Model JSON files.\nUsing `File \u003e Open Model` (Ctrl+O) and selecting an Entity Model JSON file will also import it (without textures) into Blockbench.\n\nTo convert existing models to the Entity Model JSON format, go to `File \u003e Convert Project` and select `Java Entity Model JSON`.\nTo export Entity Model JSON files from Blockbench, navigate to `File \u003e Export \u003e Export Java Entity Model JSON`.\n\nTo export animations\n\n## Dumping vanilla \u0026 modded layer definitions\nEntity Model Json supports dumping existing layer definitions in code to JSON.\nThese files will export to your running game directory in a folder named `layerexports`!\nSee `/emj dump` or `/entitymodeljson dump` in game for more information.\n\n## Declaring a mod dependency\nTo add this mod as a dependency, first add this to your repositories block:\n```groovy\nrepositories {\n    // Entity Model JSON maven\n    maven {\n        url = 'https://maven.100media.dev'\n    }\n}\n```\nThen, add the dependency to your dependencies block. For the latest version, see [here](https://github.com/SizableShrimp/EntityModelJson/releases).\n```groovy\ndependencies {\n    implementation fg.deobf(\"me.sizableshrimp:entitymodeljson:${minecraft_version}-${entitymodeljson_version}\")\n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsizableshrimp%2Fentitymodeljson","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsizableshrimp%2Fentitymodeljson","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsizableshrimp%2Fentitymodeljson/lists"}