Download More Canvases — Minecraft Mods — MetaMods
More Canvases

More Canvases

Archived

Downloads

0

Last update

1 year ago

Versions

1.19.4 — 1.20.6
Client and server
Fabric
Decor
Libraries

More Canvases

Note on mod status: With the release of Minecraft 1.21 and the introduction of the data-driven painting system, this mod has become redundant and porting it to new versions is difficult. Instead, if you're familiar with command line, here's a small script that can generate a datapack from an unzipped texture pack.

The mod was tested on versions up to MC 1.19.4, but is expected to work with some older versions as well, although no support is provided for them.

Overview

This mod allows registering new painting variants through configuration files, following the vanilla variant system.

It's important to note that the mod only handles painting registration and their addition to the placeable tag. All other aspects (textures, names, and authors) must be provided through a resource pack using the same format as for standard paintings.

The mod works in multiplayer provided all players use the same set of paintings as the server.

It's also recommended to install the No Kebab mod. If you accidentally remove a variant from the configuration, No-Kebab will prevent it from disappearing from the world.

Configuration Files

Painting Sets

For convenient management of multiple painting sets from different sources, the mod supports any number of configuration files, each containing multiple paintings.

Files are located in the .minecraft/config/more-canvases/*.json folder and can have any name - the filename doesn't affect functionality.

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

Each value has the following properties:

  • size: An array of two integers defining the painting dimensions in blocks (width, then height)
  • placeable (optional, defaults to true): Determines whether the painting should be included in the "placeable" tag. Paintings excluded from this tag can only be obtained through commands.

Example configuration file reproducing the behavior of mod version 1.0:

{
    "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 ID doesn't necessarily need to contain its size - this is just a naming convention used previously.)

If you're familiar with command line, here's a small script capable of generating a configuration file from an unzipped texture pack.

Error Handling

By default, any error in painting sets causes the game to crash. Since Minecraft removes missing paintings from the world without warning, this prevents accidental data loss.

If you're confident in your actions, these restrictions can be relaxed in a separate configuration file: .minecraft/config/more-canvases.properties.

All properties have a value of true by default:

  • failHard.onPaintings - causes crash if a painting cannot be created due to invalid definition or inability to read configuration file
  • failHard.onDuplicata - causes crash if multiple definitions exist for one ID (applies only to paintings defined within More-Canvases or vanilla paintings)
  • failHard.onPlaceable - causes crash if the mod cannot populate the placeable tag with created paintings

Related Mods

No Kebab

Prevents removed custom paintings from being deleted from the world.

Invariable Paintings

Turns paintings into collectible items.

Additional Information

Client Paintings

The first version was designed as a companion for the Client-Paintings mod. The second version can still coexist with it and can be used to provide more painting sizes. However, v2 makes Client-Paintings redundant unless you really like the principle of its ETF-like variant system.

The guide for the first version can still be found in the corresponding tag of the repository.

Dataified paintings

In most cases, More Canvases achieves the same results as my other mod Dataified Paintings, except that it's configuration-driven rather than datapack-driven. More Canvases is much easier to maintain and more stable, while Dataified is still experimental and not fully functional.

Project members
Estecka

Estecka

Developer

Created: 31 May 2023

ID: 13406