{"id":54467,"date":"2026-06-03T03:53:13","date_gmt":"2026-06-03T00:53:13","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/dataified-paintings\/"},"modified":"2026-06-03T03:53:13","modified_gmt":"2026-06-03T00:53:13","slug":"dataified-paintings","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/dataified-paintings\/","title":{"rendered":"Dataified Paintings"},"content":{"rendered":"<p>**Note of archival:**<br \/>\nAlthough not datapack-driven, More Canvases v2 achieves similar results, and is infinitely easier to maintain. The &#8220;placeholder&#8221; feature has a more stable equivalent in No Kebab<\/p>\n<p># Dataified Paintings<\/p>\n<p>Vanilla compliant, datapack-driven custom paintings.  <\/p>\n<p>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.<\/p>\n<p>Multiplayer is not supported at the moment.<\/p>\n<p>### Word of caution<br \/>\nThe mod is sufficiently stable for long play sessions, but touches a lot of delicate mechanics. I&#8217;m releasing it as an **Alpha** until I&#8217;m confident I have ironed out all the fatal edge cases.<\/p>\n<p>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.<br \/>\nJoining worlds should be safe enough, but manually reloading in an already loaded world is a lot more sensitive.<\/p>\n<p>## Features<\/p>\n<p>### Pack format<br \/>\nNew 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&#8217;s basename and namespace.<br \/>\n&#8220;`json<br \/>\n{<br \/>\n\t&#8220;width&#8221;:  3,<br \/>\n\t&#8220;height&#8221;: 2<br \/>\n}<br \/>\n&#8220;`<br \/>\nVariant files are located in `\/data\/<namespace>\/paintings\/`. Textures and title\/author are provided the same way as for the vanilla paintings.   Don&#8217;t forget to add your paintings to the &#8220;placeable&#8221; tag, otherwise they will only be obtainable through commands.<\/p>\n<p>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.<br \/>\n(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.)<\/p>\n<p>The combined pack structure would look something like this:<br \/>\n&#8220;`<br \/>\n.\/<br \/>\n\u251c\u2500 pack.mcmeta<br \/>\n\u251c\u2500 assets<br \/>\n\u2502 \u2514\u2500 <namespace><br \/>\n\u2502     \u251c\u2500 lang<br \/>\n\u2502     \u2502  \u2514\u2500 en_us.json<br \/>\n\u2502     \u2514\u2500 textures<br \/>\n\u2502        \u2514\u2500 painting<br \/>\n\u2502           \u251c\u2500 <title1>.png<br \/>\n\u2502           \u2514\u2500 <title2>.png<br \/>\n\u2514\u2500 data<br \/>\n   \u251c\u2500 minecraft<br \/>\n   \u2502  \u2514\u2500 tags<br \/>\n   \u2502     \u2514\u2500 painting_variant<br \/>\n   \u2502        \u2514\u2500 placeable.json<br \/>\n   \u2514\u2500 <namespace><br \/>\n      \u2514\u2500 paintings<br \/>\n         \u251c\u2500 <title1>.json<br \/>\n         \u2514\u2500 <title2>.json<br \/>\n&#8220;`<\/p>\n<p>### Missing Variants<br \/>\nIn vanilla minecraft, a painting bearing an unknown variant id is reversed to the &#8220;Kebab&#8221; variant.<\/p>\n<p>With Dataified Paintings, a placeholder 1&#215;1 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.<br \/>\nThis applies to both placed paintings, and painting items.<\/p>\n<p>Be mindful however that increasing an existing variant&#8217;s size may still result in already placed paintings to be dropped from their wall, should they no longer fit.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>(Superceded by &#8220;More-Canvases v2&#8221;)<br \/>\nCreate data-driven paintings, in compliance with the vanilla variant system.<\/p>\n","protected":false},"featured_media":54468,"template":"","meta":{"_minecraft_slug":"dataified-paintings","_minecraft_project_id":"i8lIqBKT","_minecraft_author":"Estecka","_minecraft_license":"AGPL-3.0-only","_minecraft_downloads":318,"_minecraft_follows":3,"_minecraft_client_side":"required","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"dataified-paintings.zip","_minecraft_size_bytes":76455,"_minecraft_version_count":2,"_minecraft_updated_at":"2026-05-15T17:18:36.922588Z","_minecraft_date_created":"2023-06-29T01:45:10.782769Z","_minecraft_date_modified":"2023-06-27T20:42:59.604148Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/dataified-paintings","_minecraft_icon_attachment_id":54468,"_minecraft_imported_at":"2026-06-03T00:53:14+00:00","_minecraft_import_hash":"b4ee02f423f4f6fd75816c33545f9b68","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[156,97,873],"mod_loader":[99],"minecraft_version":[58,59,36],"class_list":["post-54467","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-decoration","mod_category-fabric","mod_category-library","mod_loader-fabric","minecraft_version-1-19-4","minecraft_version-1-20","minecraft_version-1-20-1"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Dataified Paintings - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/dataified-paintings\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dataified Paintings - Minecraft\" \/>\n<meta property=\"og:description\" content=\"(Superceded by &quot;More-Canvases v2&quot;) Create data-driven paintings, in compliance with the vanilla variant system.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/dataified-paintings\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/dataified-paintings\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/dataified-paintings\\\/\",\"name\":\"Dataified Paintings - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/dataified-paintings\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/dataified-paintings\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/dataified-paintings-icon-989e1281c94f101e8f406d8c339f100ddeab5699.png\",\"datePublished\":\"2026-06-03T00:53:13+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/dataified-paintings\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/dataified-paintings\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/dataified-paintings\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/dataified-paintings-icon-989e1281c94f101e8f406d8c339f100ddeab5699.png\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/dataified-paintings-icon-989e1281c94f101e8f406d8c339f100ddeab5699.png\",\"width\":128,\"height\":128},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/dataified-paintings\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Dataified Paintings\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Dataified Paintings - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/dataified-paintings\/","og_locale":"en_US","og_type":"article","og_title":"Dataified Paintings - Minecraft","og_description":"(Superceded by \"More-Canvases v2\") Create data-driven paintings, in compliance with the vanilla variant system.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/dataified-paintings\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/dataified-paintings\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/dataified-paintings\/","name":"Dataified Paintings - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/dataified-paintings\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/dataified-paintings\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/dataified-paintings-icon-989e1281c94f101e8f406d8c339f100ddeab5699.png","datePublished":"2026-06-03T00:53:13+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/dataified-paintings\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/dataified-paintings\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/dataified-paintings\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/dataified-paintings-icon-989e1281c94f101e8f406d8c339f100ddeab5699.png","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/dataified-paintings-icon-989e1281c94f101e8f406d8c339f100ddeab5699.png","width":128,"height":128},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/dataified-paintings\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"Dataified Paintings"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/54467","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/54468"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=54467"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=54467"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=54467"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=54467"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}