Put a Studio model in your Hytale or Minecraft project
What Myrlin Forge MCP downloads for each game, where the files go, and how to merge them into a project you already have.
Looking for how to connect an app? See Use your Studio models from Claude, ChatGPT and Codex. This page is also available as plain markdown for AI agents.
Downloads per game
Call download_package(asset_id, target, version?, options?). Without version it uses the model’s active version. The result has a download_url, an expiry and where the files go.
| Target | Link | Options | Contents |
|---|---|---|---|
hytale | https://api.myrlin.io/mcp/files/<token>, valid 15 minutes | kind: character, creature, prop, block, weapon, item or vehicle (default: Forge picks from the model). size: recommended (Forge’s in-game size) or as_built. | A zip: manifest.json, Common/, Server/, a README. |
minecraft | https://forge.myrlin.io/mcp/minecraft?t=<token>, valid 15 minutes | namespace (your mod id), use_as (item, block or entity), use_with (resource_pack, datapack or java_mod), loader (neoforge, fabric or forge), minecraft_version. | A zip with the files for the chosen setup, a README, a receipt (conversion.json) and the original files under Source/. |
source | Signed file links, valid 1 hour | None. | The .blockymodel, the texture PNG, one .blockyanim per clip and one JSON per effect. |
Minecraft defaults, when no option is given: an animated model becomes the no-mod data pack, a model without clips becomes a resource pack item. minecraft_version defaults to 26.1 for resource packs and the data pack, and to 26.2 for a Java mod. A Java mod can use 26.2 or 1.21.11; 26.1 is for resource packs and the data pack only. java_mod with use_as entity gives GeckoLib files; with use_as item or block it gives item and block model files.
If a Minecraft package is too large for one download, the link answers 413 and the AI should fall back to target: "source", or use the Minecraft button on the model’s page.
Fetching a download
A coding tool downloads the link with curl. Quote the address, because it contains ? and &:
curl -L -o pack.zip "<download_url>"curl.exe -L -o pack.zip "<download_url>"- Links last 15 minutes. Ask for the package again when one has expired.
- Codex’s default sandbox has no network. Approve network access when asked, or set
[sandbox_workspace_write]network_access = true. The hosts areapi.myrlin.io(Hytale) andforge.myrlin.io(Minecraft). - Chat apps such as claude.ai and ChatGPT cannot write files into your project. They give you the link and tell you where the files go.
Hytale: what the pack holds
manifest.json: groupio.myrlin.forge, a pack id likeMyrlin_<Name>_<8 hex>, and the server version it needs (0.6.0 or newer).Common/: the model, the texture and the animations, underCommon/<NPC|Blocks|Items>/Myrlin/<id>/.Server/: the item, model, NPC and particle definitions, underServer/.../Myrlin/....Server/Languages/en-US/server.lang: the display names the pack uses.- A README with the Windows and Mac steps.
Every saved animation clip and effect is in the pack. A creature plays Idle while it stands; a Walk clip is connected, but walking around does not work in the game yet, so creatures stand where they are placed; clips named like the game’s own moments (Hurt, Death and others) play when that happens, and most other clips play now and then, about every 8 to 20 seconds. A Run clip is connected but not seen, because the pack does not make it run. Effects that stay on, or that can start now and then, are connected; the others are converted but not connected, and the README lists which. Not included: sounds and gameplay code.
Test status: checked on the Hytale server (the pack loads without errors) and in the Hytale 0.7.2 client with test packs (2026-10-16). Seen working: the pack loads, the model shows with its texture, Idle plays, a block animation plays, and a weapon’s held effect shows. Not working yet: walking around, a spinning-rotor block animation and a plain item’s held effect. Not yet tested in the client: the now-and-then animations and effects, the always-on effects, swing and block effects, and picking it from the creative inventory.
Hytale: a server or a pack folder
- Put the pack ZIP, still zipped, into the server’s
modsfolder. Hytale reads the ZIP as it is; do not unzip it. On your own computer the folder is%APPDATA%\Hytale\UserData\Modson Windows or~/Library/Application Support/Hytale/UserData/Modson Mac. - Restart the server. For a world on your own computer, turn the pack on in the world settings: Create World, the settings cog, tick the pack, Apply Settings; or right-click an existing world, Mods, tick it, Save world settings.
- Type
/packs listin the chat to check it loaded. Only the world host or server needs the pack.
A creature stands where it is placed; one with a Walk clip is set to stroll, but walking around does not work in the game yet. It never attacks, runs away or follows anyone. Attacking and running are gameplay you wire up.
Hytale: a mod you develop
The simplest way is to leave the pack ZIP, still zipped, in the mods folder next to your mod, the same as for a server. Merge it into your mod only when you need one package.
- Copy the contents of the pack’s
Common/andServer/into your mod’s resources and keep the sub-folder paths. - Keep your own
manifest.json. Take fields from the pack’s manifest only where you need them, and do not overwrite yours. - Language file: the pack has a complete
Server/Languages/en-US/server.lang. Append its lines to your existingserver.lang, skipping any key you already have. Never replace your file with the pack’s. - Keep the asset ids as they are, or rename them consistently in every file that names them: file names, the model, NPC and item definitions, and the animation sets.
- Clip names: to use a clip with your own NPC role, put the clip names that
get_assetlists for the model into your role’s animation sets. The names must match exactly.
Minecraft: resource pack and data pack (no mods)
Resource pack (use_with resource_pack, for an item or a block):
- In Minecraft Java, open Options, Resource Packs, Open Pack Folder.
- Put the zip in that folder without unzipping it, then enable it.
- In a world with commands on, run the
/givecommand from the README orcommands.txt.
Animated model without mods (use_with datapack): the zip holds a resource pack in resourcepacks/ and a data pack in datapacks/, both as zip files.
- Copy the resource pack zip into the
resourcepacksfolder and enable it. - Copy the data pack zip into your world’s
datapacksfolder, or add it on the Data Packs screen when you create the world. Run/reload. - Spawn the model with
/function <namespace>:<id>/spawn. Play a clip with/function <namespace>:<id>/play/<clip>, and usestopandremovein the same place. The README lists the exact commands.
Minecraft: a Java mod
Not yet tested in a game client. These Java mod files pass our file checks, but no one has loaded them in Minecraft yet. The no-mod package above is the route tested in Minecraft 26.1.
Ask for use_with: "java_mod", your loader, and namespace set to your mod id. The zip is rooted so that its files land under src/main/resources/assets/<your mod id>/.
- Copy the zip’s
src/main/resources/into your mod project. Merge folders; the names do not collide with your own files unless you reuse an id. - Item and block models:
models/item/<id>.json,items/<id>.json,textures/item/<id>.png. A block also getsmodels/block/<id>.jsonandblockstates/<id>.json. The models are 3D element models inside Minecraft’s -16 to 32 box. - Creatures use GeckoLib 5:
geckolib/models/entity/<id>.geo.json,textures/entity/<id>.pngand, when the model has clips,geckolib/animations/entity/<id>.animation.json. Use<mod id>:<id>withDefaultedEntityGeoModel, which adds theentity/folder itself. - Register the item, block or entity and its renderer in your code. The files are resources, not a compiled mod. For a creature, the README lists the animation keys (they are case-sensitive) to play in your animation controller.
- Add a language entry yourself, for example
"item.<mod id>.<id>": "Frost Hydra". Language files, sounds and particle effects are not included for Minecraft yet.
Minecraft: mod id and name changes
The namespace is your mod id. It uses lowercase letters a to z, digits and underscores, 1 to 64 characters, and cannot be minecraft. Pass it as options.namespace when you ask for the package, and every path becomes assets/<mod id>/... and every reference <mod id>:....
If you already have files in the default myrlin namespace, rename them by hand:
- Rename the folder
assets/myrlin/toassets/<mod id>/. - In every JSON file under it (models, items, blockstates), change each
myrlin:reference to<mod id>:. Do the same in any command you copied from the README. - Leave
Source/andconversion.jsonalone; they record where the files came from. - The no-mod data pack also keeps a few shared scoreboard names that start with
myrlin_. They are global names, not resource ids, and need no change.
Ids look like asset_<32 hex characters>. To give an item a readable id, rename models/item/<id>.json, items/<id>.json and textures/item/<id>.png, and change the id in every reference to match (the item model <mod id>:item/<id> and the texture path). A block also has models/block/<id>.json and blockstates/<id>.json; a GeckoLib creature has its model, texture and animation files named by the id.