From de6a0c9b810285d5e25c405bca8376a291e06a52 Mon Sep 17 00:00:00 2001 From: lukebemish Date: Mon, 7 Aug 2023 18:28:50 +0000 Subject: [PATCH] deploy: e7389a437199e2ba495f4dc1944327cc02dfd910 --- 404.html | 4 ++-- assets/js/{44dfc0c3.4667e18a.js => 44dfc0c3.a6a8866e.js} | 2 +- .../{runtime~main.629f67c8.js => runtime~main.3541a133.js} | 2 +- index.html | 4 ++-- java/category/index.html | 6 +++--- java/concepts/index.html | 4 ++-- java/textures/index.html | 4 ++-- json/category/index.html | 4 ++-- json/dummy/index.html | 4 ++-- json/metadata/index.html | 4 ++-- json/texsources/category/index.html | 4 ++-- json/texsources/color/index.html | 4 ++-- json/texsources/crop/index.html | 4 ++-- json/texsources/error/index.html | 4 ++-- json/texsources/fallback/index.html | 4 ++-- json/texsources/file/index.html | 4 ++-- json/texsources/foreground_transfer/index.html | 4 ++-- json/texsources/mask/index.html | 4 ++-- json/texsources/masks/add/index.html | 4 ++-- json/texsources/masks/category/index.html | 4 ++-- json/texsources/masks/channel/index.html | 4 ++-- json/texsources/masks/cutoff/index.html | 4 ++-- json/texsources/masks/edge/index.html | 4 ++-- json/texsources/masks/grow/index.html | 4 ++-- json/texsources/masks/invert/index.html | 4 ++-- json/texsources/masks/multiply/index.html | 4 ++-- json/texsources/overlay/index.html | 4 ++-- json/texsources/palette_combined/index.html | 4 ++-- json/texsources/palette_spread/index.html | 4 ++-- json/texsources/shadowed/index.html | 4 ++-- json/texsources/splitter/index.html | 4 ++-- json/texsources/transform/index.html | 4 ++-- 32 files changed, 63 insertions(+), 63 deletions(-) rename assets/js/{44dfc0c3.4667e18a.js => 44dfc0c3.a6a8866e.js} (93%) rename assets/js/{runtime~main.629f67c8.js => runtime~main.3541a133.js} (55%) diff --git a/404.html b/404.html index d3a46187..33c4e35e 100644 --- a/404.html +++ b/404.html @@ -4,13 +4,13 @@ Page Not Found | Dynamic Asset Generator Docs - +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- + \ No newline at end of file diff --git a/assets/js/44dfc0c3.4667e18a.js b/assets/js/44dfc0c3.a6a8866e.js similarity index 93% rename from assets/js/44dfc0c3.4667e18a.js rename to assets/js/44dfc0c3.a6a8866e.js index 1276d62f..48e7d65c 100644 --- a/assets/js/44dfc0c3.4667e18a.js +++ b/assets/js/44dfc0c3.a6a8866e.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdynamic_asset_generator_wiki=self.webpackChunkdynamic_asset_generator_wiki||[]).push([[192],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>g});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function o(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var l=n.createContext({}),m=function(e){var t=n.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},c=function(e){var t=m(e.components);return n.createElement(l.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),d=m(a),u=r,g=d["".concat(l,".").concat(u)]||d[u]||p[u]||i;return a?n.createElement(g,o(o({ref:t},c),{},{components:a})):n.createElement(g,o({ref:t},c))}));function g(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,o=new Array(i);o[0]=u;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:r,o[1]=s;for(var m=2;m{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>s,toc:()=>m});var n=a(7462),r=(a(7294),a(3905));const i={},o="Java API",s={unversionedId:"java/category",id:"java/category",title:"Java API",description:"While these docs will contain examples and explanations, the javadocs for DynAssetGen are also a good source for information on the java API; while they are not complete, I am continually working to expand how much of",source:"@site/docs/java/category.mdx",sourceDirName:"java",slug:"/java/category",permalink:"/DynamicAssetGenerator/java/category",draft:!1,editUrl:"https://github.com/lukebemish/DynamicAssetGenerator/tree/docs/docs/java/category.mdx",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Dummy Generator",permalink:"/DynamicAssetGenerator/json/dummy"},next:{title:"General Concepts",permalink:"/DynamicAssetGenerator/java/concepts"}},l={},m=[{value:"Getting Started",id:"getting-started",level:2},{value:"Available Versions",id:"available-versions",level:2}],c={toc:m},d="wrapper";function p(e){let{components:t,...a}=e;return(0,r.kt)(d,(0,n.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"java-api"},"Java API"),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"While these docs will contain examples and explanations, the javadocs for DynAssetGen are also a good source for information on the java API; while they are not complete, I am continually working to expand how much of\nthe API surface is well documented in this way. Additionally, javadocs are published for each major DynAssetGen version after 4. Javadocs are located at ",(0,r.kt)("a",{parentName:"p",href:"https://javadoc.lukebemish.dev/dev/lukebemish/dynamicassetgenerator/4/"},"https://javadoc.lukebemish.dev/dev/lukebemish/dynamicassetgenerator/4/"),".")),(0,r.kt)("h2",{id:"getting-started"},"Getting Started"),(0,r.kt)("p",null,"The first step to get started with the Java API is to add DynAssetGen to your development environment. All artifacts for DynAssetGen are published at ",(0,r.kt)("inlineCode",{parentName:"p"},"https://maven.lukebemish.dev/releases/"),":"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-gradle"},'repositories {\n maven {\n url "https://maven.lukebemish.dev/releases/"\n }\n}\n')),(0,r.kt)("p",null,"For each version of DynAssetGen, three types of artifacts are published:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"common"),' jars, which are in official "Mojmaps" mappings and contain no loader-specific code'),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"quilt")," jars which run on Quilt"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"forge")," jars which run on Forge")),(0,r.kt)("p",null,"The artifact coordinates take the format ",(0,r.kt)("inlineCode",{parentName:"p"},"dev.lukebemish.dynamicassetgenerator:dynamicassetgenerator--:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-gradle",metastring:'title="Adding artifact on Forge"',title:'"Adding',artifact:!0,on:!0,'Forge"':!0},"dependencies {\n implementation fg.deobf('dev.lukebemish.dynamicassetgenerator:dynamicassetgenerator-forge-:')\n}\n")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-gradle",metastring:'title="Adding artifact on Quilt"',title:'"Adding',artifact:!0,on:!0,'Quilt"':!0},"dependencies {\n modImplementation 'dev.lukebemish.dynamicassetgenerator:dynamicassetgenerator-quilt-:'\n}\n")),(0,r.kt)("h2",{id:"available-versions"},"Available Versions"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:"left"},"Minecraft Version"),(0,r.kt)("th",{parentName:"tr",align:"left"},"Latest"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"1.19.3"),(0,r.kt)("td",{parentName:"tr",align:"left"},(0,r.kt)("a",{parentName:"td",href:"https://maven.lukebemish.dev/releases/dev/lukebemish/dynamicassetgenerator/dynamicassetgenerator-common-1.19.3/"},(0,r.kt)("img",{parentName:"a",src:"https://img.shields.io/badge/dynamic/xml?style=for-the-badge&color=e3116c&label=&prefix=v&query=metadata%2F%2Flatest&url=https%3A%2F%2Fmaven.lukebemish.dev%2Freleases%2Fdev%2Flukebemish%2Fdynamicassetgenerator%2Fdynamicassetgenerator-common-1.19.3%2Fmaven-metadata.xml",alt:"Latest 1.19.3 Version"})))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"1.19.4"),(0,r.kt)("td",{parentName:"tr",align:"left"},(0,r.kt)("a",{parentName:"td",href:"https://maven.lukebemish.dev/releases/dev/lukebemish/dynamicassetgenerator/dynamicassetgenerator-common-1.19.4/"},(0,r.kt)("img",{parentName:"a",src:"https://img.shields.io/badge/dynamic/xml?style=for-the-badge&color=e3116c&label=&prefix=v&query=metadata%2F%2Flatest&url=https%3A%2F%2Fmaven.lukebemish.dev%2Freleases%2Fdev%2Flukebemish%2Fdynamicassetgenerator%2Fdynamicassetgenerator-common-1.19.4%2Fmaven-metadata.xml",alt:"Latest 1.19.3 Version"})))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"1.20.1"),(0,r.kt)("td",{parentName:"tr",align:"left"},(0,r.kt)("a",{parentName:"td",href:"https://maven.lukebemish.dev/releases/dev/lukebemish/dynamicassetgenerator/dynamicassetgenerator-common-1.20.1/"},(0,r.kt)("img",{parentName:"a",src:"https://img.shields.io/badge/dynamic/xml?style=for-the-badge&color=e3116c&label=&prefix=v&query=metadata%2F%2Flatest&url=https%3A%2F%2Fmaven.lukebemish.dev%2Freleases%2Fdev%2Flukebemish%2Fdynamicassetgenerator%2Fdynamicassetgenerator-common-1.20.1%2Fmaven-metadata.xml",alt:"Latest 1.20.1 Version"})))))))}p.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkdynamic_asset_generator_wiki=self.webpackChunkdynamic_asset_generator_wiki||[]).push([[192],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>g});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function o(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var l=n.createContext({}),m=function(e){var t=n.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},c=function(e){var t=m(e.components);return n.createElement(l.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),d=m(a),u=r,g=d["".concat(l,".").concat(u)]||d[u]||p[u]||i;return a?n.createElement(g,o(o({ref:t},c),{},{components:a})):n.createElement(g,o({ref:t},c))}));function g(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,o=new Array(i);o[0]=u;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:r,o[1]=s;for(var m=2;m{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>s,toc:()=>m});var n=a(7462),r=(a(7294),a(3905));const i={},o="Java API",s={unversionedId:"java/category",id:"java/category",title:"Java API",description:"While these docs will contain examples and explanations, the javadocs for DynAssetGen are also a good source for information on the java API; while they are not complete, I am continually working to expand how much of",source:"@site/docs/java/category.mdx",sourceDirName:"java",slug:"/java/category",permalink:"/DynamicAssetGenerator/java/category",draft:!1,editUrl:"https://github.com/lukebemish/DynamicAssetGenerator/tree/docs/docs/java/category.mdx",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Dummy Generator",permalink:"/DynamicAssetGenerator/json/dummy"},next:{title:"General Concepts",permalink:"/DynamicAssetGenerator/java/concepts"}},l={},m=[{value:"Getting Started",id:"getting-started",level:2},{value:"Available Versions",id:"available-versions",level:2}],c={toc:m},d="wrapper";function p(e){let{components:t,...a}=e;return(0,r.kt)(d,(0,n.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"java-api"},"Java API"),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"While these docs will contain examples and explanations, the javadocs for DynAssetGen are also a good source for information on the java API; while they are not complete, I am continually working to expand how much of\nthe API surface is well documented in this way. Additionally, javadocs are published for each major DynAssetGen version after 4. Javadocs are located at ",(0,r.kt)("a",{parentName:"p",href:"https://javadoc.lukebemish.dev/dev/lukebemish/dynamicassetgenerator/4/"},"https://javadoc.lukebemish.dev/dev/lukebemish/dynamicassetgenerator/4/"),".")),(0,r.kt)("h2",{id:"getting-started"},"Getting Started"),(0,r.kt)("p",null,"The first step to get started with the Java API is to add DynAssetGen to your development environment. All artifacts for DynAssetGen are published at ",(0,r.kt)("inlineCode",{parentName:"p"},"https://maven.lukebemish.dev/releases/"),":"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-gradle"},'repositories {\n maven {\n url "https://maven.lukebemish.dev/releases/"\n }\n}\n')),(0,r.kt)("p",null,"For each version of DynAssetGen, three types of artifacts are published:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"common"),' jars, which are in official "Mojmaps" mappings and contain no loader-specific code'),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"quilt")," jars which run on Quilt"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"forge")," jars which run on Forge")),(0,r.kt)("p",null,"The artifact coordinates take the format ",(0,r.kt)("inlineCode",{parentName:"p"},"dev.lukebemish.dynamicassetgenerator:dynamicassetgenerator--:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-gradle",metastring:'title="Adding artifact on Forge"',title:'"Adding',artifact:!0,on:!0,'Forge"':!0},"dependencies {\n implementation fg.deobf('dev.lukebemish.dynamicassetgenerator:dynamicassetgenerator-forge-:')\n}\n")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-gradle",metastring:'title="Adding artifact on Quilt"',title:'"Adding',artifact:!0,on:!0,'Quilt"':!0},"dependencies {\n modImplementation 'dev.lukebemish.dynamicassetgenerator:dynamicassetgenerator-quilt-:'\n}\n")),(0,r.kt)("h2",{id:"available-versions"},"Available Versions"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:"left"},"Minecraft Version"),(0,r.kt)("th",{parentName:"tr",align:"left"},"Latest"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"1.20.1"),(0,r.kt)("td",{parentName:"tr",align:"left"},(0,r.kt)("a",{parentName:"td",href:"https://maven.lukebemish.dev/releases/dev/lukebemish/dynamicassetgenerator/dynamicassetgenerator-common-1.20.1/"},(0,r.kt)("img",{parentName:"a",src:"https://img.shields.io/badge/dynamic/xml?style=for-the-badge&color=e3116c&label=&prefix=v&query=metadata%2F%2Flatest&url=https%3A%2F%2Fmaven.lukebemish.dev%2Freleases%2Fdev%2Flukebemish%2Fdynamicassetgenerator%2Fdynamicassetgenerator-common-1.20.1%2Fmaven-metadata.xml",alt:"Latest 1.20.1 Version"})))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"1.19.4"),(0,r.kt)("td",{parentName:"tr",align:"left"},(0,r.kt)("a",{parentName:"td",href:"https://maven.lukebemish.dev/releases/dev/lukebemish/dynamicassetgenerator/dynamicassetgenerator-common-1.19.4/"},(0,r.kt)("img",{parentName:"a",src:"https://img.shields.io/badge/dynamic/xml?style=for-the-badge&color=e3116c&label=&prefix=v&query=metadata%2F%2Flatest&url=https%3A%2F%2Fmaven.lukebemish.dev%2Freleases%2Fdev%2Flukebemish%2Fdynamicassetgenerator%2Fdynamicassetgenerator-common-1.19.4%2Fmaven-metadata.xml",alt:"Latest 1.19.3 Version"})))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},"1.19.3"),(0,r.kt)("td",{parentName:"tr",align:"left"},(0,r.kt)("a",{parentName:"td",href:"https://maven.lukebemish.dev/releases/dev/lukebemish/dynamicassetgenerator/dynamicassetgenerator-common-1.19.3/"},(0,r.kt)("img",{parentName:"a",src:"https://img.shields.io/badge/dynamic/xml?style=for-the-badge&color=e3116c&label=&prefix=v&query=metadata%2F%2Flatest&url=https%3A%2F%2Fmaven.lukebemish.dev%2Freleases%2Fdev%2Flukebemish%2Fdynamicassetgenerator%2Fdynamicassetgenerator-common-1.19.3%2Fmaven-metadata.xml",alt:"Latest 1.19.3 Version"})))))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.629f67c8.js b/assets/js/runtime~main.3541a133.js similarity index 55% rename from assets/js/runtime~main.629f67c8.js rename to assets/js/runtime~main.3541a133.js index 67c598b9..4056ca2f 100644 --- a/assets/js/runtime~main.629f67c8.js +++ b/assets/js/runtime~main.3541a133.js @@ -1 +1 @@ -(()=>{"use strict";var e,t,r,a,f,d={},o={};function c(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={exports:{}};return d[e].call(r.exports,r,r.exports,c),r.exports}c.m=d,e=[],c.O=(t,r,a,f)=>{if(!r){var d=1/0;for(i=0;i=f)&&Object.keys(c.O).every((e=>c.O[e](r[n])))?r.splice(n--,1):(o=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[r,a,f]},c.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return c.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,c.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var f=Object.create(null);c.r(f);var d={};t=t||[null,r({}),r([]),r(r)];for(var o=2&a&&e;"object"==typeof o&&!~t.indexOf(o);o=r(o))Object.getOwnPropertyNames(o).forEach((t=>d[t]=()=>e[t]));return d.default=()=>e,c.d(f,d),f},c.d=(e,t)=>{for(var r in t)c.o(t,r)&&!c.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},c.f={},c.e=e=>Promise.all(Object.keys(c.f).reduce(((t,r)=>(c.f[r](e,t),t)),[])),c.u=e=>"assets/js/"+({19:"7d094fa9",30:"6e185b89",32:"ce6d5892",53:"935f2afb",126:"83446120",144:"47c3952a",164:"755ef41e",182:"fe4be162",192:"44dfc0c3",304:"7683b903",370:"b126e018",427:"4e452c79",428:"6c6f794d",498:"98b08ef1",499:"44b4d68b",505:"dac30a3e",514:"1be78505",661:"1f1937d9",673:"62ab9057",691:"faa602fb",732:"9c8aacc1",789:"24497b23",795:"f07fbff9",808:"221ddcfa",857:"cd4d8728",892:"2bd45a65",894:"ed6d288c",896:"106dceeb",915:"c85460f9",917:"cabf8116",918:"17896441",932:"b6df1eb6",988:"905a1912"}[e]||e)+"."+{19:"253a9bd8",30:"939af7d1",32:"816e9407",53:"eadb2890",126:"3262b408",144:"108f0025",164:"aa6ddbe6",182:"62c96603",192:"4667e18a",304:"1bf5bd78",370:"1ea0b53f",427:"bff7aa4f",428:"02884b12",498:"40b58660",499:"fff49589",505:"3fb364e9",514:"997dd4ad",661:"48e32e4b",673:"5d82d903",691:"404329d2",732:"5d0d42f4",789:"b45878b9",795:"2292cf19",808:"6e30ad6a",857:"d09df5a6",892:"a21d30a8",894:"7bf4e944",896:"4ee190a0",915:"b523c556",917:"b808b694",918:"552fb1e4",932:"144c9c6c",972:"3d9a9180",988:"f681dd7c"}[e]+".js",c.miniCssF=e=>{},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a={},f="dynamic-asset-generator-wiki:",c.l=(e,t,r,d)=>{if(a[e])a[e].push(t);else{var o,n;if(void 0!==r)for(var b=document.getElementsByTagName("script"),i=0;i{o.onerror=o.onload=null,clearTimeout(l);var f=a[e];if(delete a[e],o.parentNode&&o.parentNode.removeChild(o),f&&f.forEach((e=>e(r))),t)return t(r)},l=setTimeout(s.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=s.bind(null,o.onerror),o.onload=s.bind(null,o.onload),n&&document.head.appendChild(o)}},c.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.p="/DynamicAssetGenerator/",c.gca=function(e){return e={17896441:"918",83446120:"126","7d094fa9":"19","6e185b89":"30",ce6d5892:"32","935f2afb":"53","47c3952a":"144","755ef41e":"164",fe4be162:"182","44dfc0c3":"192","7683b903":"304",b126e018:"370","4e452c79":"427","6c6f794d":"428","98b08ef1":"498","44b4d68b":"499",dac30a3e:"505","1be78505":"514","1f1937d9":"661","62ab9057":"673",faa602fb:"691","9c8aacc1":"732","24497b23":"789",f07fbff9:"795","221ddcfa":"808",cd4d8728:"857","2bd45a65":"892",ed6d288c:"894","106dceeb":"896",c85460f9:"915",cabf8116:"917",b6df1eb6:"932","905a1912":"988"}[e]||e,c.p+c.u(e)},(()=>{var e={303:0,532:0};c.f.j=(t,r)=>{var a=c.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var f=new Promise(((r,f)=>a=e[t]=[r,f]));r.push(a[2]=f);var d=c.p+c.u(t),o=new Error;c.l(d,(r=>{if(c.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var f=r&&("load"===r.type?"missing":r.type),d=r&&r.target&&r.target.src;o.message="Loading chunk "+t+" failed.\n("+f+": "+d+")",o.name="ChunkLoadError",o.type=f,o.request=d,a[1](o)}}),"chunk-"+t,t)}},c.O.j=t=>0===e[t];var t=(t,r)=>{var a,f,d=r[0],o=r[1],n=r[2],b=0;if(d.some((t=>0!==e[t]))){for(a in o)c.o(o,a)&&(c.m[a]=o[a]);if(n)var i=n(c)}for(t&&t(r);b{"use strict";var e,t,r,a,f,o={},d={};function c(e){var t=d[e];if(void 0!==t)return t.exports;var r=d[e]={exports:{}};return o[e].call(r.exports,r,r.exports,c),r.exports}c.m=o,e=[],c.O=(t,r,a,f)=>{if(!r){var o=1/0;for(b=0;b=f)&&Object.keys(c.O).every((e=>c.O[e](r[n])))?r.splice(n--,1):(d=!1,f0&&e[b-1][2]>f;b--)e[b]=e[b-1];e[b]=[r,a,f]},c.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return c.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,c.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var f=Object.create(null);c.r(f);var o={};t=t||[null,r({}),r([]),r(r)];for(var d=2&a&&e;"object"==typeof d&&!~t.indexOf(d);d=r(d))Object.getOwnPropertyNames(d).forEach((t=>o[t]=()=>e[t]));return o.default=()=>e,c.d(f,o),f},c.d=(e,t)=>{for(var r in t)c.o(t,r)&&!c.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},c.f={},c.e=e=>Promise.all(Object.keys(c.f).reduce(((t,r)=>(c.f[r](e,t),t)),[])),c.u=e=>"assets/js/"+({19:"7d094fa9",30:"6e185b89",32:"ce6d5892",53:"935f2afb",126:"83446120",144:"47c3952a",164:"755ef41e",182:"fe4be162",192:"44dfc0c3",304:"7683b903",370:"b126e018",427:"4e452c79",428:"6c6f794d",498:"98b08ef1",499:"44b4d68b",505:"dac30a3e",514:"1be78505",661:"1f1937d9",673:"62ab9057",691:"faa602fb",732:"9c8aacc1",789:"24497b23",795:"f07fbff9",808:"221ddcfa",857:"cd4d8728",892:"2bd45a65",894:"ed6d288c",896:"106dceeb",915:"c85460f9",917:"cabf8116",918:"17896441",932:"b6df1eb6",988:"905a1912"}[e]||e)+"."+{19:"253a9bd8",30:"939af7d1",32:"816e9407",53:"eadb2890",126:"3262b408",144:"108f0025",164:"aa6ddbe6",182:"62c96603",192:"a6a8866e",304:"1bf5bd78",370:"1ea0b53f",427:"bff7aa4f",428:"02884b12",498:"40b58660",499:"fff49589",505:"3fb364e9",514:"997dd4ad",661:"48e32e4b",673:"5d82d903",691:"404329d2",732:"5d0d42f4",789:"b45878b9",795:"2292cf19",808:"6e30ad6a",857:"d09df5a6",892:"a21d30a8",894:"7bf4e944",896:"4ee190a0",915:"b523c556",917:"b808b694",918:"552fb1e4",932:"144c9c6c",972:"3d9a9180",988:"f681dd7c"}[e]+".js",c.miniCssF=e=>{},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a={},f="dynamic-asset-generator-wiki:",c.l=(e,t,r,o)=>{if(a[e])a[e].push(t);else{var d,n;if(void 0!==r)for(var i=document.getElementsByTagName("script"),b=0;b{d.onerror=d.onload=null,clearTimeout(l);var f=a[e];if(delete a[e],d.parentNode&&d.parentNode.removeChild(d),f&&f.forEach((e=>e(r))),t)return t(r)},l=setTimeout(s.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=s.bind(null,d.onerror),d.onload=s.bind(null,d.onload),n&&document.head.appendChild(d)}},c.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.p="/DynamicAssetGenerator/",c.gca=function(e){return e={17896441:"918",83446120:"126","7d094fa9":"19","6e185b89":"30",ce6d5892:"32","935f2afb":"53","47c3952a":"144","755ef41e":"164",fe4be162:"182","44dfc0c3":"192","7683b903":"304",b126e018:"370","4e452c79":"427","6c6f794d":"428","98b08ef1":"498","44b4d68b":"499",dac30a3e:"505","1be78505":"514","1f1937d9":"661","62ab9057":"673",faa602fb:"691","9c8aacc1":"732","24497b23":"789",f07fbff9:"795","221ddcfa":"808",cd4d8728:"857","2bd45a65":"892",ed6d288c:"894","106dceeb":"896",c85460f9:"915",cabf8116:"917",b6df1eb6:"932","905a1912":"988"}[e]||e,c.p+c.u(e)},(()=>{var e={303:0,532:0};c.f.j=(t,r)=>{var a=c.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var f=new Promise(((r,f)=>a=e[t]=[r,f]));r.push(a[2]=f);var o=c.p+c.u(t),d=new Error;c.l(o,(r=>{if(c.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var f=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;d.message="Loading chunk "+t+" failed.\n("+f+": "+o+")",d.name="ChunkLoadError",d.type=f,d.request=o,a[1](d)}}),"chunk-"+t,t)}},c.O.j=t=>0===e[t];var t=(t,r)=>{var a,f,o=r[0],d=r[1],n=r[2],i=0;if(o.some((t=>0!==e[t]))){for(a in d)c.o(d,a)&&(c.m[a]=d[a]);if(n)var b=n(c)}for(t&&t(r);i Dynamic Asset Generator | Dynamic Asset Generator Docs - +

Dynamic Asset Generator

Dynamic Asset Generator (or DynAssetGen) is a minecraft mod meant to help dynamically generate assets and data at runtime, as opposed to creating them manually or when the mod is compiled. Some possible uses include:

  • Assets that match a player's resource packs
  • Assets based off of vanilla assets, which should not be redistributed
  • Data or assets that depend on config values or other data only known at runtime
  • Data or assets which vary based on the other data and assets present

This mod has both a Java API and a system for controlling the mod through JSON.

caution

This documentation is for the newest version of the mod; if you are using an older version, some of the information here may not apply, or names may look slightly different.

- + \ No newline at end of file diff --git a/java/category/index.html b/java/category/index.html index b7638a87..12af2410 100644 --- a/java/category/index.html +++ b/java/category/index.html @@ -4,14 +4,14 @@ Java API | Dynamic Asset Generator Docs - +

Java API

note

While these docs will contain examples and explanations, the javadocs for DynAssetGen are also a good source for information on the java API; while they are not complete, I am continually working to expand how much of -the API surface is well documented in this way. Additionally, javadocs are published for each major DynAssetGen version after 4. Javadocs are located at https://javadoc.lukebemish.dev/dev/lukebemish/dynamicassetgenerator/4/.

Getting Started

The first step to get started with the Java API is to add DynAssetGen to your development environment. All artifacts for DynAssetGen are published at https://maven.lukebemish.dev/releases/:

repositories {
maven {
url "https://maven.lukebemish.dev/releases/"
}
}

For each version of DynAssetGen, three types of artifacts are published:

  • common jars, which are in official "Mojmaps" mappings and contain no loader-specific code
  • quilt jars which run on Quilt
  • forge jars which run on Forge

The artifact coordinates take the format dev.lukebemish.dynamicassetgenerator:dynamicassetgenerator-<type>-<minecraft version>:<version>

Adding artifact on Forge
dependencies {
implementation fg.deobf('dev.lukebemish.dynamicassetgenerator:dynamicassetgenerator-forge-<minecraft version>:<version>')
}
Adding artifact on Quilt
dependencies {
modImplementation 'dev.lukebemish.dynamicassetgenerator:dynamicassetgenerator-quilt-<minecraft version>:<version>'
}

Available Versions

Minecraft VersionLatest
1.19.3Latest 1.19.3 Version
1.19.4Latest 1.19.3 Version
1.20.1Latest 1.20.1 Version
- +the API surface is well documented in this way. Additionally, javadocs are published for each major DynAssetGen version after 4. Javadocs are located at https://javadoc.lukebemish.dev/dev/lukebemish/dynamicassetgenerator/4/.

Getting Started

The first step to get started with the Java API is to add DynAssetGen to your development environment. All artifacts for DynAssetGen are published at https://maven.lukebemish.dev/releases/:

repositories {
maven {
url "https://maven.lukebemish.dev/releases/"
}
}

For each version of DynAssetGen, three types of artifacts are published:

  • common jars, which are in official "Mojmaps" mappings and contain no loader-specific code
  • quilt jars which run on Quilt
  • forge jars which run on Forge

The artifact coordinates take the format dev.lukebemish.dynamicassetgenerator:dynamicassetgenerator-<type>-<minecraft version>:<version>

Adding artifact on Forge
dependencies {
implementation fg.deobf('dev.lukebemish.dynamicassetgenerator:dynamicassetgenerator-forge-<minecraft version>:<version>')
}
Adding artifact on Quilt
dependencies {
modImplementation 'dev.lukebemish.dynamicassetgenerator:dynamicassetgenerator-quilt-<minecraft version>:<version>'
}

Available Versions

Minecraft VersionLatest
1.20.1Latest 1.20.1 Version
1.19.4Latest 1.19.3 Version
1.19.3Latest 1.19.3 Version
+ \ No newline at end of file diff --git a/java/concepts/index.html b/java/concepts/index.html index 791eee3e..82a4dfc3 100644 --- a/java/concepts/index.html +++ b/java/concepts/index.html @@ -4,7 +4,7 @@ General Concepts | Dynamic Asset Generator Docs - + @@ -18,7 +18,7 @@ existing resources or data both when generating resources and when determining which resources it can provide.

Resources and data from other sources (the base game, resource packs, other mods, etc.) can be accessed through ServerPrePackRepository and ClientPrePackRepository respectively. Note that there are separate methods for getting a single resource, such as a texture or model, and getting all resources with a given location, such as tags.

- + \ No newline at end of file diff --git a/java/textures/index.html b/java/textures/index.html index 6f1c9847..401622ad 100644 --- a/java/textures/index.html +++ b/java/textures/index.html @@ -4,7 +4,7 @@ Texture Generation | Dynamic Asset Generator Docs - + @@ -19,7 +19,7 @@ TexSource.register, and is used when caching texture sources; a texture source's generated texture must be fully describable by the information encoded by its codec, unless the experimental caching API is implemented for that texture source.

- + \ No newline at end of file diff --git a/json/category/index.html b/json/category/index.html index b5d452b4..d769835c 100644 --- a/json/category/index.html +++ b/json/category/index.html @@ -4,7 +4,7 @@ JSON Generators | Dynamic Asset Generator Docs - + @@ -15,7 +15,7 @@ containing a texture source would replace the texture for end stone. This sprite source takes the same types of texture sources as Texture Generation. If the texture source accesses other textures, the sprite source will attempt to generate animation metadata from those textures.

- + \ No newline at end of file diff --git a/json/dummy/index.html b/json/dummy/index.html index f4f0169a..8db4d53a 100644 --- a/json/dummy/index.html +++ b/json/dummy/index.html @@ -4,13 +4,13 @@ Dummy Generator | Dynamic Asset Generator Docs - +

Dummy Generator

Generator ID: dynamic_asset_generator:dummy

Format:

{
"type" : "dynamic_asset_generator:dummy"
}

This generator does nothing; it is meant primarily as a tool to remove generators added by other mods or resource packs.

- + \ No newline at end of file diff --git a/json/metadata/index.html b/json/metadata/index.html index 55227ba2..09fa89b3 100644 --- a/json/metadata/index.html +++ b/json/metadata/index.html @@ -4,13 +4,13 @@ Texture Metadata Generation | Dynamic Asset Generator Docs - +

Texture Metadata Generation

Generator ID: dynamic_asset_generator:texture_meta

Format:

{
"type" : "dynamic_asset_generator:texture_meta",
"sources" : [
"namespace:texture_path1",
"namespace:texture_path2"
]
"output_location" : "namespace:texture_path",
"animation" : {
"frametime" : 300,
"interpolate" : true,
"pattern_source" : "namespace:texture_path1",
"scales" : [
1,
2
]
},
"villager" : {
"hat" : "partial"
},
"texture" : {
"blur" : true,
"clamp" : false
}
}

This generator generates a .png.mcmeta file for a texture at output_location based on a series of other textures specified in sources.

animation, villager, and texture, along with all their arguments, are optional; if not provided, they will either be excluded if appropriate of inherited from the source textures if present.

animation:

  • frametime and interpolate are the same as the corresponding arguments in a .png.mcmeta file.
  • pattern_source determines which of the sources to take the general ordering of the frames from.
  • scales can be used to specify that one or more of the source textures has been scaled in time when added to the output texture; see Animation Splitter.

The arguments of villager and texture allow the corresponding arguments in the .png.mcmeta to be overridden instead of inherited.

- + \ No newline at end of file diff --git a/json/texsources/category/index.html b/json/texsources/category/index.html index 30c81c40..4498001e 100644 --- a/json/texsources/category/index.html +++ b/json/texsources/category/index.html @@ -4,13 +4,13 @@ Texture Generation | Dynamic Asset Generator Docs - +

Texture Generation

Generator ID: dynamic_asset_generator:texture

Format:

{
"type" : "dynamic_asset_generator:texture",
"output_location" : "namespace:texture_path",
"input" : { }
}

The output_location is the location the output texture should be placed at. For instance, to override the default gold ingot texture, this would be minecraft:items/gold_ingot.

The input takes a texture source. These objects can take different forms, but all share the type field, which contains the id of the type of texture source described within.

Example

A very simple working example of a texture configuration that replaces the gold ingot texture with the apple texture:

{
"type" : "dynamic_asset_generator:texture",
"output_location" : "minecraft:item/gold_ingot",
"input" : {
"type" : "dynamic_asset_generator:texture",
"path" : "minecraft:item/apple"
}
}
- + \ No newline at end of file diff --git a/json/texsources/color/index.html b/json/texsources/color/index.html index 2318f7fc..ef7470f5 100644 --- a/json/texsources/color/index.html +++ b/json/texsources/color/index.html @@ -4,13 +4,13 @@ Color Source | Dynamic Asset Generator Docs - +

Color Source

Source Type ID: dynamic_asset_generator:color

Format:

{
"type": "dynamic_asset_generator:color",
"color": [
"0xAAAAFF",
"0xFFAAAA"
],
"encoding": "RGB" // optional, defaults to ARGB
}

Forms a square image containing all the colors listed in color, encoded as the provided encoding. The colors may be provided as integers (11184895) or as strings ("0xAAAAFF"). The output texture will be square, with the width being the smallest power of two that can fit all the colors. The encoding may be one of RGB, ARGB, ABGR, or BGR; if RGB or BGR, the alpha channel is assumed to be opaque.

- + \ No newline at end of file diff --git a/json/texsources/crop/index.html b/json/texsources/crop/index.html index 43c41fab..3e5dba08 100644 --- a/json/texsources/crop/index.html +++ b/json/texsources/crop/index.html @@ -4,13 +4,13 @@ Crop Source | Dynamic Asset Generator Docs - +

Crop Source

Source Type ID: dynamic_asset_generator:crop

Format:

{
"type": "dynamic_asset_generator:crop",
"input": { },
"total_size": 16,
"start_x": 0,
"start_y": 0,
"size_x": 8,
"size_y": 8
}
  • input a texture source used as an input.
  • total_size is the expected width of the entire original image. This is used for scaling, and consistency across different resolution resource packs.
  • start_x and start_y are the starting x and y pixels for the output image, counting from the top left. These can be negative.
  • size_x and size_y are the dimensions of the output image in the x and y directions.

All the start and size parameters are relative to the total_size. In other words, if the total_size is the same as the width of the input image, then the output will be size_x by size_y, starting at start_x and start_y; if the image is twice the total_size, then the output will be 2*size_x by 2_size_y, starting at 2*start_x and 2*start_y; etc.

- + \ No newline at end of file diff --git a/json/texsources/error/index.html b/json/texsources/error/index.html index 6393135d..4c4cb727 100644 --- a/json/texsources/error/index.html +++ b/json/texsources/error/index.html @@ -4,13 +4,13 @@ Error Source | Dynamic Asset Generator Docs - +

Error Source

Source Type ID: dynamic_asset_generator:palette_spread

Format:

{
"type": "dynamic_asset_generator:error",
"message": "Error message"
}

This source never works, and logs the given error message to the console. It is useful for debugging, or for more detailed error messages for specific sources with the help of fallback sources.

- + \ No newline at end of file diff --git a/json/texsources/fallback/index.html b/json/texsources/fallback/index.html index 20262159..9a0c0bd1 100644 --- a/json/texsources/fallback/index.html +++ b/json/texsources/fallback/index.html @@ -4,13 +4,13 @@ Fallback Source | Dynamic Asset Generator Docs - +

Fallback Source

Source Type ID: dynamic_asset_generator:fallback

Format:

{
"type": "dynamic_asset_generator:fallback",
"original": { },
"fallback": { }
}
  • original is a texture source to attempt to create
  • fallback is an alternative texture source that will be created and provided if the first one is not present or somehow fails.
- + \ No newline at end of file diff --git a/json/texsources/file/index.html b/json/texsources/file/index.html index da048d3b..5e344bec 100644 --- a/json/texsources/file/index.html +++ b/json/texsources/file/index.html @@ -4,13 +4,13 @@ Texture File Source | Dynamic Asset Generator Docs - +

Texture File Source

Source Type ID: dynamic_asset_generator:texture

Format:

{
"type": "dynamic_asset_generator:texture",
"path": "namespace:texture_path"
}
  • path is the location of the texture to load. For instance, minecraft:item/gold_ingot would load the texture for a gold ingot.
- + \ No newline at end of file diff --git a/json/texsources/foreground_transfer/index.html b/json/texsources/foreground_transfer/index.html index 95a1bea8..3613f9f2 100644 --- a/json/texsources/foreground_transfer/index.html +++ b/json/texsources/foreground_transfer/index.html @@ -4,13 +4,13 @@ Foreground Transfer Source | Dynamic Asset Generator Docs - +

Foreground Transfer Source

Source Type ID: dynamic_asset_generator:foreground_transfer

Format:

{
"type": "dynamic_asset_generator:foreground_transfer",
"background": { },
"full": { },
"new_background": { },
"trim_trailing": true, // optional, default true
"force_neighbors": true, // optional, default true
"fill_holes": true, // optional, default true
"extend_palette_size": 0, // optional, default 6
"close_cutoff": 2 // optional, default 2
}

background, full, and new_background are texture sources. The Foreground Transfer Source is similar to the Combined Paletted Image Source. First, an overlay image and image storing palette changes are extracted from the background and full. Then, this same set of palette changes and overlay is applied to the new_background image. Several other parameters can be configured:

  • extend_palette_size extends the extracted palette to this size by adding colors.
  • trim_trailing removes transparent overlay pixels or palette change pixels not connected to a solid overlay pixel. Defaults to false.
  • force_neighbors records the palette state for any pixel next to a solid overlay pixel, regardless of whether it changes between the two textures. Defaults to false.
  • fill_holes attempts to fill holes in the texture, possibly with some success. Defaults to false.
  • close_cutoff determines where the line is drawn between pixels not in the palette and pixels that are formed by a semi-transparent overlay on a palette color. Increasing this value makes it more lenient. Defaults to 2, which is usually a good value.
- + \ No newline at end of file diff --git a/json/texsources/mask/index.html b/json/texsources/mask/index.html index b7c1120c..987296df 100644 --- a/json/texsources/mask/index.html +++ b/json/texsources/mask/index.html @@ -4,13 +4,13 @@ Mask Source | Dynamic Asset Generator Docs - +

Mask Source

Source Type ID: dynamic_asset_generator:mask

Format:

{
"type": "dynamic_asset_generator:mask",
"mask": { },
"input": { }
}
  • mask is a texture source used for the mask texture.
  • input is a texture source used for the input texture.

The output texture will be identical to the input, with its alpha multiplied by that of the mask texture. Textures are scaled to fit the wider texture if necessary.

- + \ No newline at end of file diff --git a/json/texsources/masks/add/index.html b/json/texsources/masks/add/index.html index d121646e..64dc78bb 100644 --- a/json/texsources/masks/add/index.html +++ b/json/texsources/masks/add/index.html @@ -4,13 +4,13 @@ Add Mask Source | Dynamic Asset Generator Docs - + - + \ No newline at end of file diff --git a/json/texsources/masks/category/index.html b/json/texsources/masks/category/index.html index 7ce5dea4..d245f678 100644 --- a/json/texsources/masks/category/index.html +++ b/json/texsources/masks/category/index.html @@ -4,13 +4,13 @@ Mask Sources | Dynamic Asset Generator Docs - +

Mask Sources

Source Type ID: dynamic_asset_generator:mask

Format:

{
"type": "dynamic_asset_generator:mask",
"mask": { },
"input": { }
}
  • mask is a texture source used for the mask texture.
  • input is a texture source used for the input texture.

The output texture will be identical to the input, with its alpha multiplied by that of the mask texture. Textures are scaled to fit the wider texture if necessary.

Generating Masks

DynamicAssetGenerator has a number of texture sources meant for generating masks. These operations are all in the dynamic_asset_generator:mask/ folder. These sources all do a given operation in the alpha channel, and make no guarantees about the content of other channels.

- + \ No newline at end of file diff --git a/json/texsources/masks/channel/index.html b/json/texsources/masks/channel/index.html index 853348c6..7bfaab5b 100644 --- a/json/texsources/masks/channel/index.html +++ b/json/texsources/masks/channel/index.html @@ -4,13 +4,13 @@ Channel Mask Source | Dynamic Asset Generator Docs - +

Channel Mask Source

Source Type ID: dynamic_asset_generator:mask/channel

Format:

{
"type": "dynamic_asset_generator:mask/channel",
"source": { },
"channel": "cielab_a"
}

Generates a mask whose alpha channel is the specified channel of the source texture. The channel may be one of red, green, blue, alpha, cielab_lightness, cielab_a, cielab_b, hsl_hue, hsl_lightness, or hsl_saturation.

- + \ No newline at end of file diff --git a/json/texsources/masks/cutoff/index.html b/json/texsources/masks/cutoff/index.html index b1dfe212..d67c87c6 100644 --- a/json/texsources/masks/cutoff/index.html +++ b/json/texsources/masks/cutoff/index.html @@ -4,13 +4,13 @@ Cutoff Mask Source | Dynamic Asset Generator Docs - +

Cutoff Mask Source

Source Type ID: dynamic_asset_generator:mask/cutoff

Format:

{
"type": "dynamic_asset_generator:mask/cutoff",
"source": { },
"cutoff": 128, // optional, defaults to 128
"channel": "alpha" // optional, defaults to "alpha"
}

Generates a mask which is solid everywhere the provided channel of the provided source is greater than the cutoff, and transparent otherwise. The channel may be one of red, green, blue, alpha, cielab_lightness, cielab_a, cielab_b, hsl_hue, hsl_lightness, or hsl_saturation. The cutoff must be an integer between 0 and 255, inclusive.

- + \ No newline at end of file diff --git a/json/texsources/masks/edge/index.html b/json/texsources/masks/edge/index.html index dbd093c0..9db58020 100644 --- a/json/texsources/masks/edge/index.html +++ b/json/texsources/masks/edge/index.html @@ -4,13 +4,13 @@ Edge Mask Source | Dynamic Asset Generator Docs - +

Edge Mask Source

Source Type ID: dynamic_asset_generator:mask/edge

Format:

{
"type": "dynamic_asset_generator:mask/edge",
"source": { },
"count_outside_frame": false, // optional, defaults to false
"edges": [
"north",
"northeast",
"east",
"southeast",
"south",
"southwest",
"west",
"northwest"
], // optional, defaults to all directions
"cutoff": 128, // optional, defaults to 128
}

Generates a mask which is solid everywhere the provided source has an edge, and transparent otherwise. The edges may be any subset of north, northeast, east, southeast, south, southwest, west, and northwest. The cutoff must be an integer between 0 and 255, inclusive. A pixel is considered to be an edge if it's alpha is greater than or equal to the cutoff and at least one of its neighbors, in the provided edges, is less than the cutoff. If count_outside_frame is true, then pixels outside the frame are considered to always be less than the cutoff.

- + \ No newline at end of file diff --git a/json/texsources/masks/grow/index.html b/json/texsources/masks/grow/index.html index bd14ffaa..7fb28808 100644 --- a/json/texsources/masks/grow/index.html +++ b/json/texsources/masks/grow/index.html @@ -4,13 +4,13 @@ Grow Mask Source | Dynamic Asset Generator Docs - +

Grow Mask Source

Source Type ID: dynamic_asset_generator:mask/grow

Format:

{
"type": "dynamic_asset_generator:mask/grow",
"source": { },
"growth": 0.0625, // optional, defaults to 0.0625
"cutoff": 128 // optional, defaults to 128
}

Grows a mask with the provided growth factor, out of the total image width, as the size of a filter, while binning pixel values as either fully opaque or transparent based on whether they are more than or less than the provided cutoff.

- + \ No newline at end of file diff --git a/json/texsources/masks/invert/index.html b/json/texsources/masks/invert/index.html index 83edf95f..0820803b 100644 --- a/json/texsources/masks/invert/index.html +++ b/json/texsources/masks/invert/index.html @@ -4,13 +4,13 @@ Invert Mask Source | Dynamic Asset Generator Docs - + - + \ No newline at end of file diff --git a/json/texsources/masks/multiply/index.html b/json/texsources/masks/multiply/index.html index 792f155b..b3a9e852 100644 --- a/json/texsources/masks/multiply/index.html +++ b/json/texsources/masks/multiply/index.html @@ -4,13 +4,13 @@ Multiply Mask Source | Dynamic Asset Generator Docs - + - + \ No newline at end of file diff --git a/json/texsources/overlay/index.html b/json/texsources/overlay/index.html index 91e68eb4..17c7d61d 100644 --- a/json/texsources/overlay/index.html +++ b/json/texsources/overlay/index.html @@ -4,13 +4,13 @@ Overlay Source | Dynamic Asset Generator Docs - +

Overlay Source

Source Type ID: dynamic_asset_generator:overlay

Format:

{
"type": "dynamic_asset_generator:overlay",
"sources": [
{ },
{ }
]
}
  • inputs is a list of texture sources to overlay. These textures are layered one on top of another, with the first texture listed being placed at the back. The final texture will have the dimensions of the texture with the largest width, with textures being scaled up to fit.
- + \ No newline at end of file diff --git a/json/texsources/palette_combined/index.html b/json/texsources/palette_combined/index.html index a41ce0c6..fee60aa7 100644 --- a/json/texsources/palette_combined/index.html +++ b/json/texsources/palette_combined/index.html @@ -4,13 +4,13 @@ Combined Paletted Source | Dynamic Asset Generator Docs - +

Combined Paletted Source

Source Type ID: dynamic_asset_generator:palette_combined

Format:

{
"type": "dynamic_asset_generator:palette_combined",
"overlay": { },
"background": { },
"paletted": { },
"include_background": true, // optional, defaults to true
"stretch_paletted": false, // optional, defaults to false
"extend_palette_size": 0 // optional, defaults to 6
}

overlay, paletted, and background are texture sources. The Combined Paletted Image Source leverages some of the more powerful abilities of Dynamic Asset Generator. First, a palette of colors is extracted from background. If this palette contains fewer colors than extend_palette_size, it is grown to the correct size by adding lighter and darker colors to the ends of the palette. The paletted image is then used as a sort of "map" for this palette, with the average RGB value being used to select a color from the palette. If stretch_paletted is true, the values of this image will be "stretched" to fill the lightest and darkest values of the palette. Then, the images are stacked; if include_background is true, then the background goes at the back. Either way, the image colored with the palette goes in the middle and the overlay goes on top.

- + \ No newline at end of file diff --git a/json/texsources/palette_spread/index.html b/json/texsources/palette_spread/index.html index fadd643c..537051b7 100644 --- a/json/texsources/palette_spread/index.html +++ b/json/texsources/palette_spread/index.html @@ -4,13 +4,13 @@ Palette Spread Source | Dynamic Asset Generator Docs - +

Palette Spread Source

Source Type ID: dynamic_asset_generator:palette_spread

Format:

{
"type": "dynamic_asset_generator:palette_spread",
"source": { },
"palette_cutoff": 3.5, // optional, defaults to 3.5
"range": [
[0, 50],
[100, 255]
] // optional, defaults to [[0, 255]]
}

This source converts the provided source, source, to a greyscale image by evenly spreading out the individual colors in the images palette so that distances between colors are even. This is useful if you are going to use the image as a palette providing texture, as it will make the colors more evenly distributed. palette_cutoff configures how sensitive the palette used is, with colors falling within the given distance of each other being considered the same color. The default, 3.5, is usually a good value. The range configures the range of values to use for the output image; the members of the palette will correspond to evenly spaced values within this range. For instance, if the range is [[0, 70], [225, 255]], and 4 colors are provided, the colors will be mapped to values 25 apart within the range, at 0, 25, 50, and 230.

- + \ No newline at end of file diff --git a/json/texsources/shadowed/index.html b/json/texsources/shadowed/index.html index db2563d2..d0509b65 100644 --- a/json/texsources/shadowed/index.html +++ b/json/texsources/shadowed/index.html @@ -4,13 +4,13 @@ Shadowed Source | Dynamic Asset Generator Docs - +

Shadowed Source

Source Type ID: dynamic_asset_generator:palette_spread

Format:

{
"type": "dynamic_asset_generator:palette_spread",
"background": { },
"foreground": { },
"extend_palette_size": 6, // optional, defaults to 6
"highlight_strength": 72, // optional, defaults to 72
"shadow_strength": 72, // optional, defaults to 72
"uniformity": 1.0, // optional, defaults to 1.0
}

This source overlays the foreground texture on top of the background texture, and creates a directional shadow behind and around the foreground texture. Several other parameters can be configured:

  • extend_palette_size extends the extracted palette to this size by adding colors.
  • highlight_strength determines how much the highlight is emphasized. A higher number results in a brighter highlight.
  • shadow_strength determines how much the shadow is emphasized. A higher number results in a darker shadow.
  • uniformity determines how uniform the shadow and highlights are relative to the original background. A higher number results in a more uniform shadow.
- + \ No newline at end of file diff --git a/json/texsources/splitter/index.html b/json/texsources/splitter/index.html index 010680ed..74552150 100644 --- a/json/texsources/splitter/index.html +++ b/json/texsources/splitter/index.html @@ -4,13 +4,13 @@ Animation Splitter | Dynamic Asset Generator Docs - +

Animation Splitter

Source Type ID: dynamic_asset_generator:animation_splitter and dynamic_asset_generator:frame_capture

Format:

{
"type" : "dynamic_asset_generator:animation_splitter",
"sources" : {
"name1" : {
"source" : { },
"scale" : 1
},
"name2" : {
"source" : { },
"scale" : 3
}
},
"generator" : {
...
{
"type" : "dynamic_asset_generator:frame_capture",
"capture" : "name1"
}
...
}
}

This source allows animation images to be split up and processed frame-by-frame. A list of sources is specified; each of these is broken up into square frames; in the final animation, each source's original frame will correspond to scale frames in a row in the output. The total length of the output animation will be the least common multiple of the lengths of the input animation multiplied by their scales. The generator is calculated for each frame of the output animation; inside of this texture source, any other texture source can be used, in addition to the special frame_capture source, which is given a source name and captures a single frame of that source at a time.

- + \ No newline at end of file diff --git a/json/texsources/transform/index.html b/json/texsources/transform/index.html index 980aa3f8..99bdc684 100644 --- a/json/texsources/transform/index.html +++ b/json/texsources/transform/index.html @@ -4,13 +4,13 @@ Transform Source | Dynamic Asset Generator Docs - +

Transform Source

Source Type ID: dynamic_asset_generator:transform

Format:

{
"type": "dynamic_asset_generator:transform",
"input": { },
"rotate": 0, // optional, default 0
"flip": false // optional, default false
}

input is a texture source to use as an input. The image will first be rotated clockwise by 90 degrees rotate times; then, if flip is true, it will be flipped horizontally.

- + \ No newline at end of file