Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Tags
Creators
Details
This readme is for v3/v4 of the mod. Find the readme for v1/v2 here.
Invariable Paintings
Turns each painting variant into its own item. When a painting is broken, it will drop the variant-locked item instead of the blank one. No new item type was added to the game, variant-locked items work the same as the ones available in the vanilla creative menu.
Empty paintings can no longer be placed, but filled ones can be found in various places.
Environment
Core functionalities are fully server-side.
Client-side installation is strictly optional, containing only minor tooltip changes.
Vanilla clients can use a resource pack instead of the mod. Clients that join without the pack will see the vanilla painting textures instead of the custom ones.
Patched is needed on the server-side in order to add paintings to loot tables. It is technically optional, but without it, paintings will only be available via trading.
Obtaining paintings
Trading
Filled paintings can be bought from Master Shepherds and Wandering Traders. Shepherds no longer sell variantless paintings, but will now require one in their pricing.
The elemental paintings are exclusive to the Wandering Trader, and a few haphazardly chosen others are exclusive to the villagers. Modded paintings will be available to both by default.
Looting
This feature requires Patched.
Filled paintings can be found inside many naturally generated chests, suspicious soils, and while fishing. Some paintings are exclusive to certain location; for example, the Wither painting can only be found in the nether. Modded paintings will be available in most locations by default.
The loot tables are provided as a built-in datapack which can be disabled. Without the datapack, all location-exclusive paintings will instead be available via trading.
Modded-paintings
By default, modded paintings will be part of a "common" pool and be available from all sources.
In datapacks, you can make paintings exclusive to certain sources by adding them to the builtin exclusive tags.
You can also create custom exclusive sets by adding new tags to the global invarpaint:exclusive tag. In loot-tables and trades, use the invarpaint:lock_variant_randomly loot-function to randomize a painting's variant from a given pool:
{
"function": "invarpaint:lock_variant_randomly",
"variants": [
// Include paintings from the common pool, notice the leading exclamation mark !
"!#invarpaint:exclusive",
// Include paintings from a specific tag.
"#invarpaint:exclusive/villager",
// Can also include arbitrary painting variants
"minecraft:wither"
"minecraft:endboss"
]
}
Inventory Textures
The provided texture-pack only includes textures for vanilla paintings; modded paintings will fallback to a generic texture.
Modded paintings with Variant-CITs
To add custom textures, I recommend using Variants-CIT. The required configuration file is already included in Invarpaint's own pack, so no set-up is needed from you. In a texturepack, simply add your textures to pathes that match the painting's variant ID:
/assets/<namespace>/textures/item/painting/<variant>.png
Modded painting on Vanilla clients
There are two ways to go about it.
In both cases you'll need to create custom JSON models for every painting variant.
If you're familiar with Bash, you can borrow the scripts used to generate Invarpaint's own pack, which covers both use cases.
The simplest way is to take the provided pack, and edit the painting model so that it also references the models for your paintings.
Alternatively you can configure the server so that it sets the paintings' item_model component, that way, you can have separate models in separate packs. On the flipside, clients that joins your server without the texture pack will see missing models.
Use this command to change the config : /invarpaint config server.item_model true
Painting items will have their item model set to <namespace>:painting/<path>. Existing paintings will need to be placed and broken in order to be updated.
Miscellaneous changes
Server-side
- Creative players can pick a painting's variant by holding Ctrl.
- Placement of variant-locked paintings in tight spaces is more forgiving. (Vanilla would require targeting one specific block.) Shows a warning when trying to place a painting in a space that is too small.
- Fixes MC-257133, whereby failing to place a painting causes an inventory desync, causing the client to believe it has consummed the item.
Client-side
- Slightly reworked the tooltip for painting items. The painting title appears in the item name, and the author appears on the same line as the size.
Related mods
Collector's Stockbook
Keep your painting collection neatly packed inside a single stack.
No Kebab
Prevents accidentally uninstalled custom paintings from being removed from the world.


