promotional bannermobile promotional banner

Ultimate Custom Gear

Ultimate Custom Gear lets server owners and modpack creators add fully custom content to Minecraft through simple JSON files. No coding required, hot-reloadable, and verified between server and clients automatically.
Back to Files

UltimateCustomGear-1.21.1-1.3.1-NeoForge.jar

File nameultimatecustomgear-1.21.1-1.3.1-NeoForge.jar
Uploaded
Jul 6, 2026
Downloads
51
Size
2.0 MB
Mod Loaders
NeoForge
File ID
8378894
Type
R
Release
Supported game versions
  • 1.21.1
  • 1.21

Curse Maven Snippet

NeoForge

implementation "curse.maven:ultimate-custom-gear-1563239:8378894"

Learn more about Curse Maven

What's new

[1.3.1] - 2026-07-05

✨ New Features

Item / Block / Fluid Tags

  • New tags field on items, food, blocks and fluids — declare which tags your content belongs to (no # prefix), e.g. "tags": ["c:ingots", "c:ingots/ruby"]
  • Makes your content usable in other mods' recipes (and your own) that accept those tags: a block tagged minecraft:planks works anywhere planks are accepted; an item tagged c:ingots is recognized by any mod using that tag
  • Blocks are added to both the block and item tag registries (so the block and its item form both count); fluids tag the fluid and their bucket item
  • Tags merge with vanilla/other-mod tags of the same name ("replace": false); you can also invent your own tags (customgear:magic_gems)
  • Not available for armor/tool/weapon sets in this version (their per-piece IDs need a separate schema — planned)

Unified texture keys for blocks

  • refs now handles every block texture case: single texture (all) or per-face (top/bottom/north/south/east/west/side)
  • all is the canonical single-texture key; block is kept as a legacy alias
  • faces still works for per-face textures (legacy alias)

🐛 Bug Fixes

  • Fixed custom-mode block textures rejecting the all/block key (the mode only accepted the per-face path before)
  • Fixed custom block textures not loading from content pack zips — they resolved against a hardcoded old folder path instead of the content roots (loose folder + zips). Custom block/face textures now load from zips like everything else
  • Fixed placed custom fluids showing a raw translation key in Jade/WAILA instead of their name (the fluid block's name key was missing)
  • Fixed being unable to place blocks into a custom fluid to fill or remove it — fluid blocks are now replaceable and flagged as liquid, like water/lava

🔧 Technical Changes

  • ItemTagLoader.java — new: generates item/block/fluid tag files from the tags field and injects them into the dynamic pack (routes blocks to both block+item registries, fluids to fluid+bucket; 1.21 singular tag paths, "replace": false); called at startup and on reload
  • ItemData.java, BlockData.java, FluidData.java — new tags field (List<String>)
  • BlockModelGenerator.java — unified texture key resolution: allRef() (accepts all/block) and resolveFaces() (reads face keys from refs or the faces object); custom textures now resolve through TextureLoader.resolveUserResource (content roots), fixing the hardcoded ./ultimatecustomgear path that ignored pack zips
  • LangGenerator.java — emits block.customgear.<id> for fluids (Jade/WAILA/F3 name)
  • CustomFluid.java — fluid block properties now include .replaceable() and .liquid()
  • CustomGearCommandHandler.java — reload now also regenerates block tags, block loot tables and item tags (all pack-injected loaders must run on reload)

📦 Dependencies

No new dependencies added.

This mod has no additional files