HomeJavaModsMore Canvases
More Canvases
ModsJava

More Canvases

by Estecka · on Modrinth

(Obsolete since MC 1.21) Lets you add custom painting variants using a configuration file and a resource pack.

⬇ Download on Modrinth
More Canvases — screenshot 1

Note of archival: With MC 1.21's data-driven painting, this mod has become redundant, and would be difficult to port anyways. Instead, if your familiar with CLI, here is a small scripts that can generate a datapack from an unzipped texture pack.

The mod was only confirmed to work down to MC 1.19.4, but is expected to work with some older versions. Although no support will be provided for those.

More Canvases

Overview

Lets you register new painting variants via a configuration file, in compliance with the vanilla variant system.

This mod only handles the registration part of the paintings and their addition to the placeable tag. All other aspects (textures, names and authors) must be provided via a resource pack, using the same format as for vanilla paintings.

This should work in multiplayer, so long as everyone uses the same set of paintings as the server.

I recommend also installing No Kebab. If you accidentally remove a variant from the config, No-Kebab will prevent it from being removed from the world.

Configuration files

Painting sets

In order to easily manage multiple painting sets from different sources, this mod can accomodate for any number of configuration files, each containing multiple paintings. The files are located in .minecraft/config/more-canvases/*.json, and may use any name you want; the filename has no bearing on the functionality.

Each key in the root object is the ID of a painting. It should contain both the namespace and the path, separated by a semicolon.

Each value has the following properties:

For example, here's a config file that would reproduce the behaviour of v1.0 of the mod:

{
	"mocan:blank2x3": { "size":[2,3] },
	"mocan:blank2x4": { "size":[2,4] },
	"mocan:blank3x2": { "size":[3,2] },
	"mocan:blank3x3": { "size":[3,3] },
	"mocan:blank3x4": { "size":[3,4] },
	"mocan:blank1x3": { "size":[1,3], "placeable":false },
	"mocan:blank1x4": { "size":[1,4], "placeable":false },
	"mocan:blank3x1": { "size":[3,1], "placeable":false },
	"mocan:blank4x1": { "size":[4,1], "placeable":false }
}

(The painting's ID does not need to contain its size; this is just the naming convention I was using back then.)

If you're familar with CLI, here is a tiny script capable of generating a config file from an unzipped texture pack.

Error handling

By default, any error in the painting sets will cause the game to crash. Minecraft removes missing paintings from the world with no warning, so this is to prevent any accidental loss.

If you know what you're doing, those restrictions can be laxed in a separate configuration file: .minecraft/config/more-canvases.properties.

All the properties are true by default

Related mods

No Kebab

Prevents uninstalled custom paintings from being removed from the world.

Invariable Paintings

Turns paintings into collectibles.

Extra credits

Client Paintings

V1 was designed as a companion mod for Client-Paintings. V2 can still coexist with it, and can still be used to make more painting sizes available to it. However v2 makes Client-Paintings redundant, unless you really like the principle behind its ETF-like variant system.

The readme for v1 can still be found on the corresponding tag of the repository.

Dataified paintings

For most means and purpose, Mo-Can achieves the same results as my other mod Dataified Paintings, with the exception of being config-driven instead of datapack-driven. Mo-Can is infinitely easier to maintain and more stable, whereas Dataified is still experimental and not fully functional.

Quick facts

Install steps are the general flow for this file type — see the MC Java Mods guides for the full walkthrough.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more