Client Paintings

Client Paintings

A mod that adds fully client side custom paintings without replacing vanilla ones.

by
2.4K Downloads
fabricdecorationgame-mechanicsutility
Rent Server with this Mod

Screenshots

With the included default pack
What vanilla clients see

About this Mod

Client Paintings

Client Paintings is a simple, fully client-side mod to add
new paintings via resource packs while keeping the vanilla paintings intact.
It achieves this by looking at the UUID of the painting entity and
applying a pseudo-random algorithm to it to determine which painting to render.

This mod uses a custom resource pack format to add new paintings,
you can use the Client Paintings Pack Generator on my website
to generate such a pack easily. Alternatively, see the resource pack format section below for technical instructions.

Features

  • Add multiple new sets of paintings via resource packs
  • Keep the vanilla paintings intact
  • When a vanilla painting is shown, it will match the vanilla painting seen by players without the mod
  • Custom paintings shown will match the custom paintings seen by other players with the mod
  • Custom paintings are fully persistent between relogs and server restarts

Caveats

  • Custom paintings will only match up between players if they both use the exact same painting sets
  • Painting sets have to be added via a custom resource pack format, see below for details

Example

With the included default resource pack:

What vanilla players see:

Resource pack format

The resource pack format is very simple. It consists of a single client_paintings folder
located in the root of your resource pack namespace (e.g. assets/<namespace>/client_paintings).
Inside this folder, you can place any number of json files, each representing a custom painting.

Each json file must have the following structure:

{
  "texture": "<namespace>:client_paintings/painting_texture",
  "back": "<namespace>:client_paintings/painting_back_texture",
  "size": [2, 1]
}
  • texture is the texture of the painting, it must be a png image with a ratio matching the size field,
    with width and height both being a multiple of 16. The texture has to be located within
    the assets/<namespace>/textures/client_paintings folder.
  • back is the texture of the back of the painting, it must be a square png image with similarly, a width and height
    being a multiple of 16.
  • size is the size of the painting in blocks, the first value is the width, the second value is the height.
    Do note only 1x1, 1x2, 2x1, 2x2, 4x2, 4x4, and 4x3 size paintings are supported due to the need to replace
    a vanilla painting.

An example resource pack structure would look as follows:

pack.mcmeta
assets
└── namespace
    ├── textures
    │   └── client_paintings
    │       ├── painting1.png
    │       ├── painting2.png
    │       ├── painting3.png
    │       └── backs
    │           ├── back1.png
    │           └── back2.png
    └── client_paintings
        ├── painting1.json
        ├── painting2.json
        └── painting3.json

The source for the default included pack can be easily browsed
here.

Available Versions

1.2.1 for 1.20-1.20.2release
MC 1.20, 1.20.1, 1.20.2fabric
November 3, 2023
1.2.0 for 1.19release
MC 1.19, 1.19.1, 1.19.2fabric
August 15, 2023
1.2.0 for 1.20release
MC 1.20, 1.20.1fabric
June 18, 2023
1.2.0 for 1.19.4release
MC 1.19.4fabric
May 20, 2023
1.1.0 for 1.19.4release
MC 1.19.4fabric
March 23, 2023

How to Install Client Paintings on Your Server

1

Order Server

Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).

2

Set fabric Loader

In the panel under "Egg", select the fabric loader and matching Minecraft version (1.20.2).

3

Install Mod

Open the mod browser in the dashboard and search for "Client Paintings". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.

Compatibility

Mod Loaders

fabric

Minecraft Versions

1.20.2, 1.20.1, 1.20 (+4 more)

Server-side

Unsupported

Recommended RAM

4 GB(min. 3 GB)

Frequently Asked Questions

Client Paintings server crashes on startup – what to do?

Most common cause: wrong fabric version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.20.2). You can switch loaders with one click in the panel.

Is Client Paintings compatible with fabric?

Client Paintings officially supports fabric for Minecraft 1.20.2, 1.20.1, 1.20. The Mado dashboard automatically detects incompatible loader combinations.

Server lagging with Client Paintings – how to optimize performance?

Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if Client Paintings consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.

Rent Modded Server

Install Client Paintings with just one click on your server.

Recommended RAM
4 GBab €8/mo
Min. 3 GB | +1 GB pro 8 Spieler
Create Server Now
1-Click Mod Install
NVMe SSD Storage
DDoS Protection included

Details

License
GNU Lesser General Public License v3.0 only
Server-side
Unsupported

Supported Versions

1.20.21.20.11.201.19.41.19.21.19.11.19