HomeJavaModsModern Model Format
Modern Model Format
Modern Model Format — screenshot 1

github banner github issues

Allows the use of the 1.21.11 model format in older versions with the help of black magic, specifically allowing all three axis (XYZ) rotation and incrementes larger/smaller than 22.5°, additionally removing the 3x3x3 size constraint.

Example

Showcase of the mod featuring a diamond block with three axis rotation

Model

File: assets/minecraft/models/block/diamond_block.json

{
  "format_version": "1.21.11",
  "textures": {
    "all": "block/diamond_block"
  },
  "elements": [
    {
      "from": [0, 0, 0],
      "to": [16, 16, 16],
      "rotation": {"x": 45, "y": 45, "z": 45, "origin": [8, 8, 8]},
      "faces": {
        "north": {"uv": [0, 0, 16, 16], "texture": "#all"},
        "east": {"uv": [0, 0, 16, 16], "texture": "#all"},
        "south": {"uv": [0, 0, 16, 16], "texture": "#all"},
        "west": {"uv": [0, 0, 16, 16], "texture": "#all"},
        "up": {"uv": [0, 0, 16, 16], "texture": "#all"},
        "down": {"uv": [0, 0, 16, 16], "texture": "#all"}
      }
    }
  ]
}

Supports both rotation types:

All axis rotation

  "rotation": {
    "x": 45,
    "y": 45,
    "z": 45,
    "origin": [
      8,
      8,
      8
    ]
  }

Single axis rotation

  "rotation": {
    "angle": 45,
    "axis": "y",
    "origin": [
      8,
      8,
      8
    ]
  }

Maven

repositories {
  maven { url 'https://jitpack.io' }
}

dependencies {
  modImplementation 'com.github.Nico44YT:ModernModelFormat:<version>'
}

Version generally is comprised of "_" e.g: "1.3.0-1.19.3-1.21.3"

Issues

If you have found an issue please report it on the github, along with (if applicable):

My models are not loading anymore

Try checking the model file for any extra brackets {} because Modern Model Format ensure a strict json validation.

Example:

[18:30:32] [Worker-Main-2/ERROR]: Failed to load model mod_id:models/item/example_item.json
com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 506 path $
Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more