Mineuniverse
Log in Register
Mods

Better Model Properties

Adds different model properties for texture artists and modders alike to use in their item models.
by MaxNeedsSnacks
Claim this project
287 downloads
0 likes
Updated Jun 30, 2026
0 hypes

Better Model Properties or BMP is a mod that adds various different kinds of properties to items that can be used with model files to dynamically change an item's texture.

 

Some of these properties include:

  • count (absolute stack size)
  • size (relative to max stack size)
  • storage (how many slots are not empty in a container)
  • storage_primary (fill ratio of the first slot in a container)
  • storage_full (how many slots are 100% full in a container)
  • fluid (how many tanks are not empty in a fluid container)
  • fluid_primary (fill ratio of the first tank in a fluid container)
  • fluid_full (how many tanks are 100% full in a fluid container)
  • energy (how full is a battery compared to its max storage)

 

These properties can then be used inside predicates within an item's model file (see the Minecraft Wiki or my example Resource Pack on GitHub for better examples on how to set this up) to override the item's default texture when certain conditions are met. For instance, if you wanted to use a different texture for eggs based on whether you had a single one, more than 4 ones or a full stack of them, you would create a model file called egg.json in assets/minecraft/models/item that looks somewhat like this:

{
  "parent": "item/generated",
  "textures": {
  "layer0": "minecraft:item/egg_0"
  },
  "overrides": [
  {
  "predicate": {
  "bmp:size": 0
  },
  "model": "minecraft:item/egg_0"
  },
  {
  "predicate": {
  "bmp:size": 0.25
  },
  "model": "minecraft:item/egg_25"
  },
  {
  "predicate": {
  "bmp:size": 1
  },
  "model": "minecraft:item/egg_100"
  }
  ]
  }

 

which would result in the following:
- By default, the item texture "egg_0" will be used.

- If the stack is more than or equal to 0% of the maximum stack size (which... is always), it will use the model file egg_0.json instead

- If it's >= 25% the max stack size (which, for eggs, is >= 4 items), it will use egg_25.json instead and finally

- If it's = 100% the max stack size (which is a full stack of 16 eggs), it will use egg_100.json.

 

If you then set these respective model files to use their own textures, you would get something like this (minus my amazing artistic prowess, of course):

 

Since this may be a bit hard to follow, again, I recommend visiting the example resource pack on my GitHub where you can see both the gorgeous textures
made for this demo as well as the model files used to achieve the above effect.

 

Icons and illustrations in this mod are courtesy of Lorc from game-icons.net and are registered under a CC-BY-3.0 license.

No files available for download.

More from MaxNeedsSnacks

Interactio - In-World Crafting with Datapacks!
3,308,437
Framing Templates
216,797
Gadgets Against Grind
15,716,395
RoadRunner
12,873,714
FTB Quests Importer
105,124

You Might Also Like

LoadingTips
A mod that adds custom tips to the loading screen
999,218
Sampler
Performance oriented debugging/administration tools
998,926
VulkanMod
Vulkan renderer mod for Minecraft.
997,115
Charm Fixer
Disables some modules on charm to fix incompatbility issues with owo
996,251
Trading station
Basic items to item trading machines
99,755
NarrateBookForMe [FABRIC]
Adds a narration keybind, and two GUI buttons to the book screen. Text-to-speech (tts) / narration on the go! Client sided.
99,734