Dataified Paintings

Dataified Paintings

(Superceded by "More-Canvases v2") Create data-driven paintings, in compliance with the vanilla variant system.

by
329 Downloads
fabricdecorationlibrary
Rent Server with this Mod

About this Mod

Note of archival:
Although not datapack-driven, More Canvases v2 achieves similar results, and is infinitely easier to maintain. The "placeholder" feature has a more stable equivalent in No Kebab

Dataified Paintings

Vanilla compliant, datapack-driven custom paintings.

Unlike other data-driven mods, this one does not implement its own variant system, but fully re-use the vanilla one. This was made with the intent to be compatible with Invariable Paintings, but neither is required to work with the other.

Multiplayer is not supported at the moment.

Word of caution

The mod is sufficiently stable for long play sessions, but touches a lot of delicate mechanics. I'm releasing it as an Alpha until I'm confident I have ironed out all the fatal edge cases.

Most of the heavy lifting is done during datapack reloads. They happen when using the /reload command, but also when joining a world, or creating a new one. If something ever goes wrong, it will probably be at one of these moments.
Joining worlds should be safe enough, but manually reloading in an already loaded world is a lot more sensitive.

Features

Pack format

New variants are defined in separate json files, which simply contains a width and height properties, measured in block. The variant id is automatically derived from the file's basename and namespace.

{
	"width":  3,
	"height": 2
}

Variant files are located in /data/<namespace>/paintings/. Textures and title/author are provided the same way as for the vanilla paintings. Don't forget to add your paintings to the "placeable" tag, otherwise they will only be obtainable through commands.

In principle, textures and language files would need to be provided separately in a resource pack. But you can use Embedded Assets to merge the resource pack into the datapack.
(The official mod page has yet to port it to a compatible version of minecraft, but I have an up-to-date fork here on github, waiting to be merged.)

The combined pack structure would look something like this:

./
├─ pack.mcmeta
├─ assets
│ └─ <namespace>
│     ├─ lang
│     │  └─ en_us.json
│     └─ textures
│        └─ painting
│           ├─ <title1>.png
│           └─ <title2>.png
└─ data
   ├─ minecraft
   │  └─ tags
   │     └─ painting_variant
   │        └─ placeable.json
   └─ <namespace>
      └─ paintings
         ├─ <title1>.json
         └─ <title2>.json

Missing Variants

In vanilla minecraft, a painting bearing an unknown variant id is reversed to the "Kebab" variant.

With Dataified Paintings, a placeholder 1x1 variant will be created, and the paintings will never loose its variant id. This gives you the leisure to make mistakes while developping datapacks, so a broken one will not result in your already existing paintings to transformed.
This applies to both placed paintings, and painting items.

Be mindful however that increasing an existing variant's size may still result in already placed paintings to be dropped from their wall, should they no longer fit.

Available Versions

Alpha 0.1.0 for 1.20.0alpha
MC 1.20, 1.20.1fabric
June 27, 2023
Alpha 0.1.0 for 1.19.4alpha
MC 1.19.4fabric
June 27, 2023

How to Install Dataified 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.1).

3

Install Mod

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

Compatibility

Mod Loaders

fabric

Minecraft Versions

1.20.1, 1.20, 1.19.4

Server-side

Required

Recommended RAM

4 GB(min. 3 GB)

Frequently Asked Questions

Dataified 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.1). You can switch loaders with one click in the panel.

Is Dataified Paintings compatible with fabric?

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

Server lagging with Dataified Paintings – how to optimize performance?

Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if Dataified 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 Dataified 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 Affero General Public License v3.0 only
Server-side
Required

Supported Versions

1.20.11.201.19.4