Step 2 — Data Pack (registers the painting, Java 1.21+)
Place name_datapack.zip in your world's datapacks folder.
Press Win + R, paste and hit Enter:
%APPDATA%\.minecraft\saves
Open your world's folder → datapacks (create the folder if it doesn't exist) → drop name_datapack.zip in (don't unzip it).
In Finder, press ⌘ Shift G and paste:
~/Library/Application Support/minecraft/saves
Open your world's folder → datapacks → drop name_datapack.zip in (don't unzip it).
~/.minecraft/saves/<your world>/datapacks/
Copy name_datapack.zip in (don't unzip it).
Enable the resource pack in Options → Resource Packs, then click Done.
Open your world (the one that has the data pack).
Run /reload in chat if the data pack isn't loading. Cheats must be on.
Get your painting item — run this in chat (cheats on): /function custom:give This runs the give function included in your ZIP. Updates automatically after you generate.
Place it: Right-click a wall with the painting item — keep clicking until your custom painting appears.
⚠️ The data pack is only needed in Java 1.21+. On older versions (1.20.4 and below)
the resource pack alone adds the texture — just make sure your painting name matches one of the
vanilla painting IDs (e.g. kebab, aztec, etc).