Download Invariable Paintings — Minecraft Mods — MetaMods
Invariable Paintings

Invariable Paintings

Active

Downloads

0

Last update

3 months ago

Versions

1.19.4 — 1.21.8
Server
Fabric
Adventure
Decor
Game mechanics

Invariable Paintings

⚠️ There are differences in CIT system mechanics between Invariable Paintings v1/v2🟢 (pre-MC1.21.2) and v3🔴/v4🔵 (post-MC1.21.2). ⚠️

Mod Overview

This mod transforms each painting variant into its own distinct item. When a painting is broken, it drops the specific variant instead of the standard blank painting. No new item types are added to the game - variant-locked items function similarly to those available in vanilla creative mode.

Empty paintings can no longer be placed, but filled variants can be found in various locations throughout the game world.

Compatibility:

Core functionalities operate entirely server-side.

🔴🔵 In versions after 1.21.2, client-side installation is strictly optional and contains only minor cosmetic changes to tooltips. Vanilla clients only need a resource pack for the CIT system to work.

🟢 In versions before 1.21.2, client-side installation is optional but recommended, since vanilla clients don't support the CIT system.

Optional Dependencies:

  • [Server-side] The Patched mod is required to add paintings to loot tables without completely overwriting them. Without it, paintings will only be available through trading.
  • [Client-side] Variants-CIT is an alternative to the vanilla CIT system. This mod isn't required for paintings to work, but in v3+🔴🔵 versions it's helpful when working with modded paintings: it uses a less redundant resource format and handles missing models more gracefully.

Obtaining Paintings

Built-in datapacks contain several tags in /data/invarpaint/tags/painting_variant/exclusive*.json files that determine where each variant can be found. Variants missing from the global exclusive tag are available everywhere.

Trading

Filled paintings can be purchased from Master Shepherds and Wandering Traders. Shepherds no longer sell variantless paintings but now require them as payment.

Elemental paintings are exclusive to Wandering Traders, while several randomly chosen others are exclusive to villagers. Modded paintings are available from both types of traders by default.

Looting

This feature requires the Patched mod.

Filled paintings can be found in naturally generated chests, suspicious soil, and while fishing. Some paintings are exclusive to specific locations; for example, the Wither painting can only be found in the Nether. Modded paintings are available in most locations by default.

Loot tables are provided as a built-in datapack that can be disabled. Without it, all location-exclusive paintings will only be available through trading.

Inventory Icons

Pre-1.21.2 (v2🟢)

With the mod installed client-side, item textures will be searched for at /assets/<namespace>/textures/item/painting/<variant>.png based on the painting variant's ID.

Paintings without custom icons will use a built-in generic texture instead of the missing model.

Vanilla Clients with Vanilla Paintings (v3/v4🔴🔵)

The associated resource pack uses purely vanilla mechanics to display the correct painting and requires no additional actions. However, this pack only works for vanilla paintings; modded paintings will use a generic texture.

Vanilla Clients with Modded Paintings

There are two ways to support modded paintings on vanilla clients:

Stateless (v4🔵, MC 1.21.5)

The vanilla CIT format unfortunately requires all variants to be listed in a single monolithic file. To add custom painting textures, you need to directly modify the provided resource pack so that /assets/minecraft/items/painting.json references your custom models. The item stacks themselves remain unchanged with this method.

item_model Component (v3/v4🔴🔵)

This feature can be enabled with the command: /invarpaint config server.item_model true.

This will set the variant's item_model component to <namespace>:painting/<path> based on the painting's ID. You can provide your own models in a separate pack, but painting variants without custom models will appear as missing models.

Non-Vanilla Clients with Modded Paintings (v3/v4🔴🔵)

If keeping clients vanilla isn't a concern, an easier way to handle paintings is to have them install Variants-CIT. You only need to provide custom textures at /assets/<namespace>/textures/item/painting/<variant>.png, which can be done in a separate pack. The provided pack is still required as it contains the configuration file needed for this mod to work with paintings.

With this, painting variants lacking custom textures will use a built-in generic texture.

Miscellaneous Changes

Server-side

  • Creative players can select a painting's variant by holding Ctrl.
  • Adds a new loot function invarpaint:lock_variant_randomly.
  • Placement of variant-locked paintings in tight spaces is more forgiving (vanilla version required targeting a specific block).
  • Shows a warning when trying to place a painting in too small a space.
  • Fixes bug MC-257133 where failing to place a painting caused inventory desync, making the client believe the item was consumed.

Client-side

  • Slightly reworked tooltips 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 in a single stack.

No Kebab

Prevents accidentally removed custom paintings from being deleted from the world.

Project members
Estecka

Estecka

Developer

Created: 17 Jun 2023

ID: 6564