ORM - OverrideResourceManager

ORM - OverrideResourceManager

Minecraft Fabric 1.21.4 mod that adds runtime overriding of item textures and 3D models without resource packs. Supports CustomModelData, NBT, animated textures, Blockbench models, and hot reload via F3+T.

by
40 Downloads
fabricdecorationsocialutility
Rent Server with this Mod

About this Mod

ORM - OverrideResourceManager

A client-side Fabric mod for Minecraft 1.21.4 that lets you replace item textures and models at runtime — no resource pack required. Overrides live in plain files under config/orm/ and reload with the resource stack (F3+T).


Features

Feature Description
Texture override Replace a vanilla item's texture with any .png from config/orm/textures/
3D model override Swap an item's model with a Blockbench-exported .json from config/orm/models/
Animated textures Drop a .png.mcmeta next to your texture to get MC-standard frame animation
Per-instance matching Match by item name, CustomModelData, or NBT — multiple items of the same type can have different overrides
Priority system More specific entries win: item < item+name < item+cmd < item+cmd+nbt
Quick-add keybind Middle-click an item in any inventory screen to auto-generate its config entry

Installation

  1. Install Fabric Loader and Fabric API for Minecraft 1.21.4.
  2. Drop the ORM .jar into your mods/ folder.
  3. Launch the game — config/orm/ is created automatically.

File Layout

config/orm/
├── overrides.json            ← main config (list of override entries)
├── models/
│   └── <name>.json           ← custom Blockbench/JSON models
└── textures/
    └── item/
        └── <name>.png        ← texture files (+ optional .png.mcmeta for animation)

Models and textures are referenced in overrides.json using the orm: namespace:

  • "model": "orm:sword"config/orm/models/sword.json
  • "texture": "orm:item/texture2d/apple"config/orm/textures/item/texture2d/apple.png

Subdirectories are fully supported and their structure is preserved:

config/orm/textures/item/sword/anim/animation.png
  → orm:item/sword/anim/animation

overrides.json Reference

Each entry is a JSON object. Fields:

Field Type Required Description
item string yes Minecraft item ID, e.g. "minecraft:netherite_sword"
name string no Match by exact display name
customModelData int no Match by CustomModelData value
nbtCondition object no Match by NBT key/value pairs
texture string no Texture override path: "orm:<path>"
model string no Model override ID: "orm:<name>"
target string no Explicit target texture ID from a modded item model

At least one of texture or model should be set.


Example Usage

The example below is taken from a real working config. It overrides two tools with custom Diablo-style 3D models (each with an animated texture layer) and replaces the Golden Apple with a flat 2D texture.

config/orm/overrides.json

[
  {
    "item": "minecraft:netherite_sword",
    "name": "Netherite Sword",
    "model": "orm:sword"
  },
  {
    "item": "minecraft:netherite_pickaxe",
    "name": "Netherite Pickaxe",
    "model": "orm:pickaxe"
  },
  {
    "item": "minecraft:golden_apple",
    "name": "Golden Apple",
    "texture": "orm:item/texture2d/apple"
  }
]

File structure for the example above

config/orm/
├── overrides.json
├── models/
│   ├── sword.json
│   └── pickaxe.json
└── textures/
    └── item/
        ├── sword/
        │   ├── diablo_texture.png       ← static base texture
        │   └── anim/
        │       ├── animation.png        ← animated overlay frames
        │       └── animation.png.mcmeta ← frame timing
        ├── pickaxe/
        │   ├── diablo_texture.png
        │   └── anim/
        │       ├── animation.png
        │       └── animation.png.mcmeta
        └── texture2d/
            └── apple.png               ← flat 2D replacement

How each entry works

Netherite Sword / Pickaxe"model": "orm:sword" loads models/sword.json. The model itself references two texture layers:

  • orm:item/sword/diablo_texture — a static 128×128 detailed texture
  • orm:item/sword/anim/animation — an animated overlay driven by animation.png.mcmeta

Both are matched by display name ("name": "Netherite Sword") so only items with that exact name are affected. Rename the item in an anvil to anything else and the vanilla model returns.

Golden Apple"texture": "orm:item/texture2d/apple" replaces the vanilla golden_apple.png globally (no name filter), so every golden apple in the world uses textures/item/texture2d/apple.png.

Animated texture .mcmeta format

{
  "animation": {
    "frametime": 3,
    "frames": [0, 1, 2, 3]
  }
}

Place the .mcmeta file next to the .png with the same name plus .mcmeta suffix.


Keybind: Quick-Add

Open any inventory screen and middle-click an item slot. ORM reads the item's ID, display name, and CustomModelData, appends a new entry to overrides.json, and prints a chat confirmation. The generated entry uses the texture field with a path derived from the item ID — replace the placeholder texture value with your actual file.

Default binding: Middle Mouse Button (rebindable under Controls → Override Resource Manager).


Reloading

Press F3+T to reload resource packs. ORM re-reads overrides.json, rescans models/ and textures/, and rebuilds the override registry without restarting the game.


Requirements

  • Minecraft 1.21.4
  • Fabric Loader 0.19.2+
  • Fabric API 0.119.4+1.21.4

Available Versions

ORM - OverrideResourceManager 1.0release
MC 1.21.4fabric
May 7, 2026

How to Install ORM - OverrideResourceManager on Your Server

1

Order Server

Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).

2

Set fabric Loader

In the panel under "Egg", select the fabric loader and matching Minecraft version (1.21.4).

3

Install Mod

Open the mod browser in the dashboard and search for "ORM - OverrideResourceManager". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.

Compatibility

Mod Loaders

fabric

Minecraft Versions

1.21.4

Server-side

Unsupported

Recommended RAM

4 GB(min. 3 GB)

Frequently Asked Questions

ORM - OverrideResourceManager server crashes on startup – what to do?

Most common cause: wrong fabric version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.21.4). You can switch loaders with one click in the panel.

Is ORM - OverrideResourceManager compatible with fabric?

ORM - OverrideResourceManager officially supports fabric for Minecraft 1.21.4. The Mado dashboard automatically detects incompatible loader combinations.

Server lagging with ORM - OverrideResourceManager – how to optimize performance?

Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if ORM - OverrideResourceManager consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.

Rent Modded Server

Install ORM - OverrideResourceManager with just one click on your server.

Recommended RAM
4 GBab €8/mo
Min. 3 GB | +1 GB pro 8 Spieler
Create Server Now
1-Click Mod Install
NVMe SSD Storage
DDoS Protection included

Details

License
MIT License
Server-side
Unsupported

Supported Versions

1.21.4