Invariable Paintings

Quick rating

Invariable Paintings

No reviews yet

Turns paintings into collectibles. They are harder to obtain, and remember which variant they are when dropped.

Adventure/Exploration
Mod Loaders
Fabric
Minecraft

Community voices

Reviews

Versions
Loading versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

Compatibility

Supported Environments

Dev Environment
Client Optional
Server Required

About

Project Details

Type
Mod
License
European Union Public License 1.2
Latest Version
4.0.3+1.21.10
Authors

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

Modrinth ID

Resources

External Links

About

Description

Invariable Paintings

⚠️ Invariable Paintings v1/v2🟢 (pre-MC1.21.2) and v3🔴/v4🔵 (post-MC1.21.2) have different mechanics regarding CITs. ⚠️

Overview

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.

🔴🔵 Post-1.21.2, client-side is strictly optional, containing only minor cosmetic changes to the tooltip. Vanilla clients only need a resource pack for CITs to work.

🟢 Pre-1.21.2 client-side installation is optional, but recommended, because vanilla clients have no options for CITs.

Optional dependencies:

  • [Server-side] Patched is needed in order to add paintings to loot tables without completely overwritting them. Without it, paintings will only be available via trading.
  • [Client-side] Variants-CIT is an alternative to vanilla CIT system. This mod is not required at all for painting CITs to work, but but on v3+🔴🔵, it is helpful when working with modded paintings: it uses a resource format that is less redundant than vanilla, and it handles missing models more gracefully.

Obtaining paintings

The built-in data packs contain several tags at /data/invarpaint/tags/painting_variant/exclusive*.json, which dictate where each variant can be found. Variants that are absent from the global exclusive tag can be found everywhere.

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.

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 that lack a custom icon will fall back to a generic built-in one, instead of using the missing model.

(If you are familiar with Variants-CIT, this is the same mechanics as its painting_variant module. Invarpaint is kind of the predecessor to Variants-CIT. Invarpaint's CIT logic was removed in v3, and fully relegated to Variants-CIT.)

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

The associated texture pack uses purely vanilla mechanics to display the correct painting, and requires no action be taken. However, this pack will only work for vanilla paintings; modded paintings will use a generic texture.

Vanilla clients with modded painting

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

Stateless (v4🔵, MC 1.21.5)

The vanilla format for CITs unfortunately needs all variants listed in a single monolithic file. In order to add custom painting textures, you will need to directly modify the provided resource pack, so that /assets/minecraft/items/painting.json references your custom models. This method leaves the item stack themselves are unchanged.

item_model component (v3/v4🔴🔵)

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

This will set the item_model component of painting items to <namespace>:painting/<path>, based on the painting's ID. You can provide your own models in a separate pack, but painting variants with no custom model will show up as a missing models.

Modded clients with modded paintings. (v3/v4🔴🔵)

If keeping your clients vanilla is not a concern, an easier way to handle paintings is to have them install Variants-CIT. Invarpaint's resource pack already contains the configuration file required to make Variants-CIT work, so all you'll need is to provide your custom textures at /assets/<namespace>/textures/item/painting/<variant>.png, and can do so in a separate pack. With this, painting variants that lack a custom texture will use a built-in generic texture.

This is similar to V2🟢's own CIT logic.

Miscellaneous changes

Server-side

  • Creative players can pick 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 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

37e0383363ed05022574b5fbe7c4bb73a92b5768.png Collector's Stockbook

Keep your painting collection neatly packed inside a single stack.

d374371a6c8082a3473d7b01614f19f9ffdb2607.png No Kebab

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

Screenshots

Gallery

  • Inventory Textures
    Inventory Textures Pre-MC1.21 textuers by Andrew Grant
  • Painting Trades
    Painting Trades Shepherds will ask you for a blank canvas. Wandering traders don't.
  • A villager showing you the cool drawing they've made.
    A villager showing you the cool drawing they've made.

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

~12,000
Downloads
Last Updated
CurseForge
Modrinth
Created
Last synced
When ModDex last fetched this project from CurseForge or Modrinth. Every project is re-checked on a schedule, and any project that ships a new file is synced automatically within hours of the release.
New file updates sync automatically
How syncing works