<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.cobblemon.com/index.php?action=history&amp;feed=atom&amp;title=Tutorials%2FMultiple_Visual_Variants</id>
	<title>Tutorials/Multiple Visual Variants - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.cobblemon.com/index.php?action=history&amp;feed=atom&amp;title=Tutorials%2FMultiple_Visual_Variants"/>
	<link rel="alternate" type="text/html" href="https://wiki.cobblemon.com/index.php?title=Tutorials/Multiple_Visual_Variants&amp;action=history"/>
	<updated>2026-05-07T17:59:43Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://wiki.cobblemon.com/index.php?title=Tutorials/Multiple_Visual_Variants&amp;diff=4001&amp;oldid=prev</id>
		<title>Frank The Farmer: Added Multiple Variants of reference links</title>
		<link rel="alternate" type="text/html" href="https://wiki.cobblemon.com/index.php?title=Tutorials/Multiple_Visual_Variants&amp;diff=4001&amp;oldid=prev"/>
		<updated>2024-02-28T09:30:38Z</updated>

		<summary type="html">&lt;p&gt;Added Multiple Variants of reference links&lt;/p&gt;
&lt;a href=&quot;https://wiki.cobblemon.com/index.php?title=Tutorials/Multiple_Visual_Variants&amp;amp;diff=4001&amp;amp;oldid=2803&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Frank The Farmer</name></author>
	</entry>
	<entry>
		<id>https://wiki.cobblemon.com/index.php?title=Tutorials/Multiple_Visual_Variants&amp;diff=2803&amp;oldid=prev</id>
		<title>Blob: added back Category:Tutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.cobblemon.com/index.php?title=Tutorials/Multiple_Visual_Variants&amp;diff=2803&amp;oldid=prev"/>
		<updated>2023-10-14T11:42:30Z</updated>

		<summary type="html">&lt;p&gt;added back Category:Tutorial&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:42, 14 October 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l198&quot;&gt;Line 198:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 198:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Addon Creation}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Addon Creation}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Tutorial]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Blob</name></author>
	</entry>
	<entry>
		<id>https://wiki.cobblemon.com/index.php?title=Tutorials/Multiple_Visual_Variants&amp;diff=2788&amp;oldid=prev</id>
		<title>Blob: navbox</title>
		<link rel="alternate" type="text/html" href="https://wiki.cobblemon.com/index.php?title=Tutorials/Multiple_Visual_Variants&amp;diff=2788&amp;oldid=prev"/>
		<updated>2023-10-14T11:36:43Z</updated>

		<summary type="html">&lt;p&gt;navbox&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:36, 14 October 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l197&quot;&gt;Line 197:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 197:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;You should now have a functional set of variants! If your addon is not working properly at this stage, you can seek help in the Cobblemon Discord.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;You should now have a functional set of variants! If your addon is not working properly at this stage, you can seek help in the Cobblemon Discord.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Tutorial]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Addon Creation}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Blob</name></author>
	</entry>
	<entry>
		<id>https://wiki.cobblemon.com/index.php?title=Tutorials/Multiple_Visual_Variants&amp;diff=2147&amp;oldid=prev</id>
		<title>Frank The Farmer: /* Step 7: Create the resolver file for your variants */</title>
		<link rel="alternate" type="text/html" href="https://wiki.cobblemon.com/index.php?title=Tutorials/Multiple_Visual_Variants&amp;diff=2147&amp;oldid=prev"/>
		<updated>2023-08-08T11:06:25Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Step 7: Create the resolver file for your variants&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:06, 8 August 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l167&quot;&gt;Line 167:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 167:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Due to the many different ways variants can be made, there are many different ways to create the resolver. What you will do for this step is pick a comparable Pokémon feature and use that Pokémon as a template for your resolver file. You will be applying the &amp;lt;code&amp;gt;aspect&amp;lt;/code&amp;gt; from your &amp;lt;code&amp;gt;species_feature&amp;lt;/code&amp;gt; the same way they do.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Due to the many different ways variants can be made, there are many different ways to create the resolver. What you will do for this step is pick a comparable Pokémon feature and use that Pokémon as a template for your resolver file. You will be applying the &amp;lt;code&amp;gt;aspect&amp;lt;/code&amp;gt; from your &amp;lt;code&amp;gt;species_feature&amp;lt;/code&amp;gt; the same way they do.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Pokémon with variants that change the textures on the base model:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Pokémon with variants that change the textures on the base model:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Tatsugiri&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[https://gitlab.com/cable-mc/cobblemon/-/blob/main/common/src/main/resources/assets/cobblemon/bedrock/pokemon/resolvers/0978_tatsugiri/0_tatsugiri_base.json &lt;/ins&gt;Tatsugiri&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Valencian Butterfree&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[https://gitlab.com/cable-mc/cobblemon/-/blob/main/common/src/main/resources/assets/cobblemon/bedrock/pokemon/resolvers/0012_butterfree/2_butterfree_valencian.json &lt;/ins&gt;Valencian Butterfree&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Valencian Vileplume&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[https://gitlab.com/cable-mc/cobblemon/-/blob/main/common/src/main/resources/assets/cobblemon/bedrock/pokemon/resolvers/0045_vileplume/2_vileplume_valencian.json &lt;/ins&gt;Valencian Vileplume&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Pokemon with multiple variants that change models and the textures:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Pokemon with multiple variants that change models and the textures:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Torterra&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[https://gitlab.com/cable-mc/cobblemon/-/tree/main/common/src/main/resources/assets/cobblemon/bedrock/pokemon/resolvers/0389_torterra &lt;/ins&gt;Torterra&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Alolan Vulpix&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[https://gitlab.com/cable-mc/cobblemon/-/blob/main/common/src/main/resources/assets/cobblemon/bedrock/pokemon/resolvers/0037_vulpix/1_vulpix_alolan.json &lt;/ins&gt;Alolan Vulpix&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Basculin&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[https://gitlab.com/cable-mc/cobblemon/-/blob/main/common/src/main/resources/assets/cobblemon/bedrock/pokemon/resolvers/0550_basculin/0_basculin_base.json &lt;/ins&gt;Basculin&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Pokemon that use a single model, but change textures through &amp;lt;code&amp;gt;layers&amp;lt;/code&amp;gt;:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Pokemon that use a single model, but change textures through &amp;lt;code&amp;gt;layers&amp;lt;/code&amp;gt;:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Alcremie&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[https://gitlab.com/cable-mc/cobblemon/-/blob/main/common/src/main/resources/assets/cobblemon/bedrock/pokemon/resolvers/0869_alcremie/0_alcremie_base.json &lt;/ins&gt;Alcremie&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Arbok&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[https://gitlab.com/cable-mc/cobblemon/-/blob/main/common/src/main/resources/assets/cobblemon/bedrock/pokemon/resolvers/0024_arbok/0_arbok_base.json &lt;/ins&gt;Arbok&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Spinda&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[https://gitlab.com/cable-mc/cobblemon/-/blob/main/common/src/main/resources/assets/cobblemon/bedrock/pokemon/resolvers/0327_spinda/0_spinda_base.json &lt;/ins&gt;Spinda&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# After creating your resolver(s), place them in the &amp;lt;code&amp;gt;resolvers&amp;lt;/code&amp;gt; folder for your addon.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# After creating your resolver(s), place them in the &amp;lt;code&amp;gt;resolvers&amp;lt;/code&amp;gt; folder for your addon.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Step 8: Test your addon in game ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Step 8: Test your addon in game ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Frank The Farmer</name></author>
	</entry>
	<entry>
		<id>https://wiki.cobblemon.com/index.php?title=Tutorials/Multiple_Visual_Variants&amp;diff=2133&amp;oldid=prev</id>
		<title>Blob: added Category:Tutorial, some minor spelling changes</title>
		<link rel="alternate" type="text/html" href="https://wiki.cobblemon.com/index.php?title=Tutorials/Multiple_Visual_Variants&amp;diff=2133&amp;oldid=prev"/>
		<updated>2023-08-07T08:40:47Z</updated>

		<summary type="html">&lt;p&gt;added Category:Tutorial, some minor spelling changes&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 08:40, 7 August 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l50&quot;&gt;Line 50:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 50:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It&amp;#039;s best that you create all your assets first so you can assign them later. Create any models, textures, or animations that you want in Blockbench. Most visual variants are just a set of extra texture PNGs that are applied to the same model using &amp;lt;code&amp;gt;layers&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It&amp;#039;s best that you create all your assets first so you can assign them later. Create any models, textures, or animations that you want in Blockbench. Most visual variants are just a set of extra texture PNGs that are applied to the same model using &amp;lt;code&amp;gt;layers&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Create the assets your &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokemon &lt;/del&gt;needs in Blockbench&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Create the assets your &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokémon &lt;/ins&gt;needs in Blockbench&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Save these assets in their associated folders&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Save these assets in their associated folders&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l104&quot;&gt;Line 104:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 104:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Step 6: Create special spawns for your variants &amp;lt;small&amp;gt;(optional)&amp;lt;/small&amp;gt; ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Step 6: Create special spawns for your variants &amp;lt;small&amp;gt;(optional)&amp;lt;/small&amp;gt; ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is an optional step to show you how to create unique spawns for each variant choice. If you do not specify any choices in the &amp;lt;code&amp;gt;&amp;quot;pokemon&amp;quot;&amp;lt;/code&amp;gt; string, then the &amp;lt;code&amp;gt;&amp;quot;default&amp;quot;&amp;lt;/code&amp;gt; choice from your feature will spawn as a result. It&amp;#039;s highly recommended that you review the spawn files for &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pokemon &lt;/del&gt;with regional forms, Pumpkaboo, and Arbok. Those spawn files can be found on the [https://gitlab.com/cable-mc/cobblemon/-/tree/main/common/src/main/resources/data/cobblemon/spawn_pool_world Gitlab.]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is an optional step to show you how to create unique spawns for each variant choice. If you do not specify any choices in the &amp;lt;code&amp;gt;&amp;quot;pokemon&amp;quot;&amp;lt;/code&amp;gt; string, then the &amp;lt;code&amp;gt;&amp;quot;default&amp;quot;&amp;lt;/code&amp;gt; choice from your feature will spawn as a result. It&amp;#039;s highly recommended that you review the spawn files for &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokémon &lt;/ins&gt;with regional forms, Pumpkaboo, and Arbok. Those spawn files can be found on the [https://gitlab.com/cable-mc/cobblemon/-/tree/main/common/src/main/resources/data/cobblemon/spawn_pool_world Gitlab.]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;You will mostly be using the Arbok file as a template for your Pokémon&amp;#039;s spawn files. Even though Arbok&amp;#039;s multiple spawns all have the same conditions, they can be changed so the different skins appear in different conditions. You can change the other spawn properties to whatever you like. A list of spawn conditions can be found [https://gitlab.com/cable-mc/cobblemon/-/wikis/Spawner/Spawn-Condition here.] The list of biome tags can be found [https://docs.google.com/document/d/1iB0EJSc2r6mRJXIo1n3XpHbZ5udwJVnrh2pXdhTyH8c/edit here.]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;You will mostly be using the Arbok file as a template for your Pokémon&amp;#039;s spawn files. Even though Arbok&amp;#039;s multiple spawns all have the same conditions, they can be changed so the different skins appear in different conditions. You can change the other spawn properties to whatever you like. A list of spawn conditions can be found [https://gitlab.com/cable-mc/cobblemon/-/wikis/Spawner/Spawn-Condition here.] The list of biome tags can be found [https://docs.google.com/document/d/1iB0EJSc2r6mRJXIo1n3XpHbZ5udwJVnrh2pXdhTyH8c/edit here.]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l165&quot;&gt;Line 165:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 165:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If you do not specify a model or poser file for each aspect, then they will use whatever was assigned to the variation with no aspects assigned. This is why some variations do not list every property.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If you do not specify a model or poser file for each aspect, then they will use whatever was assigned to the variation with no aspects assigned. This is why some variations do not list every property.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Due to the many different ways variants can be made, there are many different ways to create the resolver. What you will do for this step is pick a comparable Pokémon feature and use that &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pokemon &lt;/del&gt;as a template for your resolver file. You will be applying the &amp;lt;code&amp;gt;aspect&amp;lt;/code&amp;gt; from your &amp;lt;code&amp;gt;species_feature&amp;lt;/code&amp;gt; the same way they do.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Due to the many different ways variants can be made, there are many different ways to create the resolver. What you will do for this step is pick a comparable Pokémon feature and use that &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokémon &lt;/ins&gt;as a template for your resolver file. You will be applying the &amp;lt;code&amp;gt;aspect&amp;lt;/code&amp;gt; from your &amp;lt;code&amp;gt;species_feature&amp;lt;/code&amp;gt; the same way they do.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokemon &lt;/del&gt;with variants that change the textures on the base model:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokémon &lt;/ins&gt;with variants that change the textures on the base model:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Tatsugiri&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Tatsugiri&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Valencian Butterfree&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Valencian Butterfree&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l196&quot;&gt;Line 196:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 196:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;You should now have a functional set of variants! If your addon is not working properly at this stage, you can seek help in the Cobblemon Discord.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;You should now have a functional set of variants! If your addon is not working properly at this stage, you can seek help in the Cobblemon Discord.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Tutorial]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Blob</name></author>
	</entry>
	<entry>
		<id>https://wiki.cobblemon.com/index.php?title=Tutorials/Multiple_Visual_Variants&amp;diff=2084&amp;oldid=prev</id>
		<title>Frank The Farmer at 11:34, 21 July 2023</title>
		<link rel="alternate" type="text/html" href="https://wiki.cobblemon.com/index.php?title=Tutorials/Multiple_Visual_Variants&amp;diff=2084&amp;oldid=prev"/>
		<updated>2023-07-21T11:34:45Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:34, 21 July 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l84&quot;&gt;Line 84:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 84:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Even though the choice is randomized, a Pokémon will maintain its aspects when evolving if the entire evolutionary line is assigned the feature. A &amp;quot;heart&amp;quot; Ekans will always evolve into a &amp;quot;heart&amp;quot; Arbok by default. Aspect choices can also be assigned in the evolution data to change or control the resulting aspect of the next evolution. This is the case with Grotle and Pumpkaboo evolutions.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Even though the choice is randomized, a Pokémon will maintain its aspects when evolving if the entire evolutionary line is assigned the feature. A &amp;quot;heart&amp;quot; Ekans will always evolve into a &amp;quot;heart&amp;quot; Arbok by default. Aspect choices can also be assigned in the evolution data to change or control the resulting aspect of the next evolution. This is the case with Grotle and Pumpkaboo evolutions.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Step &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;4&lt;/del&gt;: Create a “species_feature_assignments” file ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Step &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5&lt;/ins&gt;: Create a “species_feature_assignments” file ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The &amp;lt;code&amp;gt;species_feature_assignments&amp;lt;/code&amp;gt; file is a very short JSON that has a list of one or more Pokémon which will receive one or more features. If you also want your variants to have different stats like Pumpkaboo, then you&amp;#039;ll want to make a &amp;lt;code&amp;gt;species_addition&amp;lt;/code&amp;gt; file with form data. [[Tutorials/Regional Forms#Step 4: Create a &amp;quot;species addition&amp;quot; file with &amp;quot;form&amp;quot; data|Step 4 from the regional forms guide.]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The &amp;lt;code&amp;gt;species_feature_assignments&amp;lt;/code&amp;gt; file is a very short JSON that has a list of one or more Pokémon which will receive one or more features. If you also want your variants to have different stats like Pumpkaboo, then you&amp;#039;ll want to make a &amp;lt;code&amp;gt;species_addition&amp;lt;/code&amp;gt; file with form data. [[Tutorials/Regional Forms#Step 4: Create a &amp;quot;species addition&amp;quot; file with &amp;quot;form&amp;quot; data|Step 4 from the regional forms guide.]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l103&quot;&gt;Line 103:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 103:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Place this new file into the &amp;lt;code&amp;gt;species_feature_assignments&amp;lt;/code&amp;gt; folder of your addon.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Place this new file into the &amp;lt;code&amp;gt;species_feature_assignments&amp;lt;/code&amp;gt; folder of your addon.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Step &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5&lt;/del&gt;: Create special spawns for your variants &amp;lt;small&amp;gt;(optional)&amp;lt;/small&amp;gt; ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Step &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;6&lt;/ins&gt;: Create special spawns for your variants &amp;lt;small&amp;gt;(optional)&amp;lt;/small&amp;gt; ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is an optional step to show you how to create unique spawns for each variant choice. If you do not specify any choices in the &amp;lt;code&amp;gt;&amp;quot;pokemon&amp;quot;&amp;lt;/code&amp;gt; string, then the &amp;lt;code&amp;gt;&amp;quot;default&amp;quot;&amp;lt;/code&amp;gt; choice from your feature will spawn as a result. It&amp;#039;s highly recommended that you review the spawn files for pokemon with regional forms, Pumpkaboo, and Arbok. Those spawn files can be found on the [https://gitlab.com/cable-mc/cobblemon/-/tree/main/common/src/main/resources/data/cobblemon/spawn_pool_world Gitlab.]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is an optional step to show you how to create unique spawns for each variant choice. If you do not specify any choices in the &amp;lt;code&amp;gt;&amp;quot;pokemon&amp;quot;&amp;lt;/code&amp;gt; string, then the &amp;lt;code&amp;gt;&amp;quot;default&amp;quot;&amp;lt;/code&amp;gt; choice from your feature will spawn as a result. It&amp;#039;s highly recommended that you review the spawn files for pokemon with regional forms, Pumpkaboo, and Arbok. Those spawn files can be found on the [https://gitlab.com/cable-mc/cobblemon/-/tree/main/common/src/main/resources/data/cobblemon/spawn_pool_world Gitlab.]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l160&quot;&gt;Line 160:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 160:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Step &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;6&lt;/del&gt;: Create the resolver file for your variants ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Step &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;7&lt;/ins&gt;: Create the resolver file for your variants ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Back in step 3, you should have already made the files for &amp;lt;code&amp;gt;models&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;textures&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;animations&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;posers&amp;lt;/code&amp;gt; that you needed. The last thing you need to do is assign them to your variant by creating a new &amp;lt;code&amp;gt;resolver&amp;lt;/code&amp;gt; file.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Back in step 3, you should have already made the files for &amp;lt;code&amp;gt;models&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;textures&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;animations&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;posers&amp;lt;/code&amp;gt; that you needed. The last thing you need to do is assign them to your variant by creating a new &amp;lt;code&amp;gt;resolver&amp;lt;/code&amp;gt; file.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l181&quot;&gt;Line 181:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 181:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# After creating your resolver(s), place them in the &amp;lt;code&amp;gt;resolvers&amp;lt;/code&amp;gt; folder for your addon.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# After creating your resolver(s), place them in the &amp;lt;code&amp;gt;resolvers&amp;lt;/code&amp;gt; folder for your addon.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Step &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;7&lt;/del&gt;: Test your addon in game ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Step &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;8&lt;/ins&gt;: Test your addon in game ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Load your addon in game to see if your variants looks different from each other. You can have Blockbench open to edit any relevant asset file &amp;#039;&amp;#039;&amp;#039;in the resourcepacks folder&amp;#039;&amp;#039;&amp;#039; if needed.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Load your addon in game to see if your variants looks different from each other. You can have Blockbench open to edit any relevant asset file &amp;#039;&amp;#039;&amp;#039;in the resourcepacks folder&amp;#039;&amp;#039;&amp;#039; if needed.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Copy your addon folder and place it in the &amp;quot;resourcepacks&amp;quot; and &amp;quot;datapacks&amp;quot; folder in the Minecraft root directory.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Copy your addon folder and place it in the &amp;quot;resourcepacks&amp;quot; and &amp;quot;datapacks&amp;quot; folder in the Minecraft root directory.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Frank The Farmer</name></author>
	</entry>
	<entry>
		<id>https://wiki.cobblemon.com/index.php?title=Tutorials/Multiple_Visual_Variants&amp;diff=2083&amp;oldid=prev</id>
		<title>Blob at 09:05, 21 July 2023</title>
		<link rel="alternate" type="text/html" href="https://wiki.cobblemon.com/index.php?title=Tutorials/Multiple_Visual_Variants&amp;diff=2083&amp;oldid=prev"/>
		<updated>2023-07-21T09:05:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:05, 21 July 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{TOC|right}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{TOC|right}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Preface ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Preface ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This tutorial will teach you how to create Pokémon that have multiple visual aspects. An example of these would be the Arbok skin patterns, the Pumpkaboo sizes, or the many different variants of Alcremie and Spinda. Due to the variable nature of this system, this guide will only show you how to create and apply extra aspects to a Pokémon. &amp;#039;&amp;#039;&amp;#039;Knowledge of creating custom &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pokemon &lt;/del&gt;and [&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;https://wiki.cobblemon.com/index.php/&lt;/del&gt;Tutorials/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Regional_Forms &lt;/del&gt;regional forms] is highly recommended.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This tutorial will teach you how to create Pokémon that have multiple visual aspects. An example of these would be the Arbok skin patterns, the Pumpkaboo sizes, or the many different variants of Alcremie and Spinda. Due to the variable nature of this system, this guide will only show you how to create and apply extra aspects to a Pokémon. &amp;#039;&amp;#039;&amp;#039;Knowledge of creating custom &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokémon &lt;/ins&gt;and [&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[&lt;/ins&gt;Tutorials/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Regional Forms|&lt;/ins&gt;regional forms&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]&lt;/ins&gt;] is highly recommended.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Step 1: Decide how your variants will function ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Step 1: Decide how your variants will function ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;There are a number of factors that can go into &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokemon &lt;/del&gt;variants. You can have it be a purely visual thing like Arbok or you can assign stats to each variant with &amp;lt;code&amp;gt;form&amp;lt;/code&amp;gt; data like Pumpkaboo or Basculin. You can also take things a step further and create multiple &amp;lt;code&amp;gt;species features&amp;lt;/code&amp;gt; for a Pokémon with unique textures that are applied as multiple layers on the model. This is the case for Alcremie and Spinda. They have a small set of texture PNGs that are then mixed and matched in the &amp;lt;code&amp;gt;resolver&amp;lt;/code&amp;gt; file to allow for &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;dozens&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; of variants as a result. You can even create unique models and animations for each variant if desired.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;There are a number of factors that can go into &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokémon &lt;/ins&gt;variants. You can have it be a purely visual thing like Arbok or you can assign stats to each variant with &amp;lt;code&amp;gt;form&amp;lt;/code&amp;gt; data like Pumpkaboo or Basculin. You can also take things a step further and create multiple &amp;lt;code&amp;gt;species features&amp;lt;/code&amp;gt; for a Pokémon with unique textures that are applied as multiple layers on the model. This is the case for Alcremie and Spinda. They have a small set of texture PNGs that are then mixed and matched in the &amp;lt;code&amp;gt;resolver&amp;lt;/code&amp;gt; file to allow for &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;dozens&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; of variants as a result. You can even create unique models and animations for each variant if desired.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Decide how your variant will function first so you know what choices to pick later in this guide. If you&amp;#039;d like some examples, you can reference the &amp;lt;code&amp;gt;species&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;resolver&amp;lt;/code&amp;gt; files of the following Pokémon. Also be sure to check out the &amp;lt;species_features&amp;gt; folder of the mod to see how their feature files look and function. Here are some great examples of the variant system at its best:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Decide how your variant will function first so you know what choices to pick later in this guide. If you&amp;#039;d like some examples, you can reference the &amp;lt;code&amp;gt;species&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;resolver&amp;lt;/code&amp;gt; files of the following Pokémon. Also be sure to check out the &amp;lt;species_features&amp;gt; folder of the mod to see how their feature files look and function. Here are some great examples of the variant system at its best:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l55&quot;&gt;Line 55:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 55:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Remember to create a &amp;lt;code&amp;gt;poser&amp;lt;/code&amp;gt; file if you made any new animations. Needing new animation and poser files for variants isn’t a common thing. Unless your variant is vastly different, like Alolan Exeggutor, then you most likely don&amp;#039;t need to make new animations.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Remember to create a &amp;lt;code&amp;gt;poser&amp;lt;/code&amp;gt; file if you made any new animations. Needing new animation and poser files for variants isn’t a common thing. Unless your variant is vastly different, like Alolan Exeggutor, then you most likely don&amp;#039;t need to make new animations.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Step 4:Create a “species feature” ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Step 4: Create a “species feature” ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;You will be creating as many species features as you need to make your variants work. There are 2 types of species features you can make. The &amp;lt;code&amp;gt;flag&amp;lt;/code&amp;gt; type feature has a single choice and is used for things like regionals. The &amp;lt;code&amp;gt;choice&amp;lt;/code&amp;gt; type feature has a pool of choices and can be either randomized or have one choice set as the default. For the purpose of this guide, &amp;#039;&amp;#039;&amp;#039;you will be creating a choice type feature with multiple variants.&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;You will be creating as many species features as you need to make your variants work. There are 2 types of species features you can make. The &amp;lt;code&amp;gt;flag&amp;lt;/code&amp;gt; type feature has a single choice and is used for things like regionals. The &amp;lt;code&amp;gt;choice&amp;lt;/code&amp;gt; type feature has a pool of choices and can be either randomized or have one choice set as the default. For the purpose of this guide, &amp;#039;&amp;#039;&amp;#039;you will be creating a choice type feature with multiple variants.&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l65&quot;&gt;Line 65:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 65:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#* You can create as many choices as you want and name them whatever you want.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#* You can create as many choices as you want and name them whatever you want.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#* The value for &amp;lt;code&amp;gt;&amp;quot;default&amp;quot;&amp;lt;/code&amp;gt; can be set to &amp;quot;random&amp;quot; or any one of the choices you list. You usually want it on random.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#* The value for &amp;lt;code&amp;gt;&amp;quot;default&amp;quot;&amp;lt;/code&amp;gt; can be set to &amp;quot;random&amp;quot; or any one of the choices you list. You usually want it on random.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;syntaxhighlight&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;{&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  &lt;/del&gt;&amp;quot;type&amp;quot;: &amp;quot;choice&amp;quot;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;   &lt;/ins&gt;&amp;quot;type&amp;quot;: &amp;quot;choice&amp;quot;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  &lt;/del&gt;&amp;quot;keys&amp;quot;: [&amp;quot;custom_feature&amp;quot;],&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;   &lt;/ins&gt;&amp;quot;keys&amp;quot;: [&amp;quot;custom_feature&amp;quot;],&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  &lt;/del&gt;&amp;quot;default&amp;quot;: &amp;quot;random&amp;quot;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;   &lt;/ins&gt;&amp;quot;default&amp;quot;: &amp;quot;random&amp;quot;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  &lt;/del&gt;&amp;quot;choices&amp;quot;: [&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;   &lt;/ins&gt;&amp;quot;choices&amp;quot;: [&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    &lt;/del&gt;&amp;quot;choice1&amp;quot;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;     &lt;/ins&gt;&amp;quot;choice1&amp;quot;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    &lt;/del&gt;&amp;quot;choice2&amp;quot;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;     &lt;/ins&gt;&amp;quot;choice2&amp;quot;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    &lt;/del&gt;&amp;quot;choice3&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;     &lt;/ins&gt;&amp;quot;choice3&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  &lt;/del&gt;],&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;   &lt;/ins&gt;],&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  &lt;/del&gt;&amp;quot;isAspect&amp;quot;: true,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;   &lt;/ins&gt;&amp;quot;isAspect&amp;quot;: true,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  &lt;/del&gt;&amp;quot;aspectFormat&amp;quot;: &amp;quot;custom-feature-{{choice}}&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;   &lt;/ins&gt;&amp;quot;aspectFormat&amp;quot;: &amp;quot;custom-feature-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;nowiki&amp;gt;&lt;/ins&gt;{{choice}}&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/nowiki&amp;gt;&lt;/ins&gt;&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;lt;li value=&amp;quot;3&amp;quot;&amp;gt; Save the file&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;lt;li value=&amp;quot;3&amp;quot;&amp;gt; Save the file&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Place this new species feature file into the &amp;lt;code&amp;gt;species_feature&amp;lt;/code&amp;gt; folder of your addon&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Place this new species feature file into the &amp;lt;code&amp;gt;species_feature&amp;lt;/code&amp;gt; folder of your addon&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l84&quot;&gt;Line 84:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 84:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Even though the choice is randomized, a Pokémon will maintain its aspects when evolving if the entire evolutionary line is assigned the feature. A &amp;quot;heart&amp;quot; Ekans will always evolve into a &amp;quot;heart&amp;quot; Arbok by default. Aspect choices can also be assigned in the evolution data to change or control the resulting aspect of the next evolution. This is the case with Grotle and Pumpkaboo evolutions.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Even though the choice is randomized, a Pokémon will maintain its aspects when evolving if the entire evolutionary line is assigned the feature. A &amp;quot;heart&amp;quot; Ekans will always evolve into a &amp;quot;heart&amp;quot; Arbok by default. Aspect choices can also be assigned in the evolution data to change or control the resulting aspect of the next evolution. This is the case with Grotle and Pumpkaboo evolutions.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Step 4:Create a “species_feature_assignments” file ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Step 4: Create a “species_feature_assignments” file ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The &amp;lt;code&amp;gt;species_feature_assignments&amp;lt;/code&amp;gt; file is a very short JSON that has a list of one or more Pokémon which will receive one or more features. If you also want your variants to have different stats like Pumpkaboo, then you&amp;#039;ll want to make a &amp;lt;code&amp;gt;species_addition&amp;lt;/code&amp;gt; file with form data. Step 4 from the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[https://wiki.cobblemon.com/index.php/Tutorials/Regional_Forms &lt;/del&gt;regional forms guide.]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The &amp;lt;code&amp;gt;species_feature_assignments&amp;lt;/code&amp;gt; file is a very short JSON that has a list of one or more Pokémon which will receive one or more features. If you also want your variants to have different stats like Pumpkaboo, then you&amp;#039;ll want to make a &amp;lt;code&amp;gt;species_addition&amp;lt;/code&amp;gt; file with form data. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Tutorials/Regional Forms#Step 4: Create a &amp;quot;species addition&amp;quot; file with &amp;quot;form&amp;quot; data|&lt;/ins&gt;Step 4 from the regional forms guide.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]&lt;/ins&gt;]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Create a new text file and name it after your idea. Include the extension of &amp;lt;code&amp;gt;.json&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Create a new text file and name it after your idea. Include the extension of &amp;lt;code&amp;gt;.json&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l103&quot;&gt;Line 103:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 103:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Place this new file into the &amp;lt;code&amp;gt;species_feature_assignments&amp;lt;/code&amp;gt; folder of your addon.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Place this new file into the &amp;lt;code&amp;gt;species_feature_assignments&amp;lt;/code&amp;gt; folder of your addon.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Step 5: Create special spawns for your variants(optional) ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Step 5: Create special spawns for your variants &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;small&amp;gt;&lt;/ins&gt;(optional)&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/small&amp;gt; &lt;/ins&gt;===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is an optional step to show you how to create unique spawns for each variant choice. If you do not specify any choices in the &amp;lt;code&amp;gt;&amp;quot;pokemon&amp;quot;&amp;lt;/code&amp;gt; string, then the &amp;lt;code&amp;gt;&amp;quot;default&amp;quot;&amp;lt;/code&amp;gt; choice from your feature will spawn as a result. It&amp;#039;s highly recommended that you review the spawn files for pokemon with regional forms, Pumpkaboo, and Arbok. Those spawn files can be found on the [https://gitlab.com/cable-mc/cobblemon/-/tree/main/common/src/main/resources/data/cobblemon/spawn_pool_world Gitlab.]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is an optional step to show you how to create unique spawns for each variant choice. If you do not specify any choices in the &amp;lt;code&amp;gt;&amp;quot;pokemon&amp;quot;&amp;lt;/code&amp;gt; string, then the &amp;lt;code&amp;gt;&amp;quot;default&amp;quot;&amp;lt;/code&amp;gt; choice from your feature will spawn as a result. It&amp;#039;s highly recommended that you review the spawn files for pokemon with regional forms, Pumpkaboo, and Arbok. Those spawn files can be found on the [https://gitlab.com/cable-mc/cobblemon/-/tree/main/common/src/main/resources/data/cobblemon/spawn_pool_world Gitlab.]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Blob</name></author>
	</entry>
	<entry>
		<id>https://wiki.cobblemon.com/index.php?title=Tutorials/Multiple_Visual_Variants&amp;diff=2082&amp;oldid=prev</id>
		<title>Frank The Farmer: Created page with &quot;{{TOC|right}} == Preface == This tutorial will teach you how to create Pokémon that have multiple visual aspects. An example of these would be the Arbok skin patterns, the Pumpkaboo sizes, or the many different variants of Alcremie and Spinda. Due to the variable nature of this system, this guide will only show you how to create and apply extra aspects to a Pokémon. &#039;&#039;&#039;Knowledge of creating custom pokemon and [https://wiki.cobblemon.com/index.php/Tutorials/Regional_For...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cobblemon.com/index.php?title=Tutorials/Multiple_Visual_Variants&amp;diff=2082&amp;oldid=prev"/>
		<updated>2023-07-21T07:49:13Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{TOC|right}} == Preface == This tutorial will teach you how to create Pokémon that have multiple visual aspects. An example of these would be the Arbok skin patterns, the Pumpkaboo sizes, or the many different variants of Alcremie and Spinda. Due to the variable nature of this system, this guide will only show you how to create and apply extra aspects to a Pokémon. &amp;#039;&amp;#039;&amp;#039;Knowledge of creating custom pokemon and [https://wiki.cobblemon.com/index.php/Tutorials/Regional_For...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{TOC|right}}&lt;br /&gt;
== Preface ==&lt;br /&gt;
This tutorial will teach you how to create Pokémon that have multiple visual aspects. An example of these would be the Arbok skin patterns, the Pumpkaboo sizes, or the many different variants of Alcremie and Spinda. Due to the variable nature of this system, this guide will only show you how to create and apply extra aspects to a Pokémon. &amp;#039;&amp;#039;&amp;#039;Knowledge of creating custom pokemon and [https://wiki.cobblemon.com/index.php/Tutorials/Regional_Forms regional forms] is highly recommended.&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Decide how your variants will function ===&lt;br /&gt;
There are a number of factors that can go into Pokemon variants. You can have it be a purely visual thing like Arbok or you can assign stats to each variant with &amp;lt;code&amp;gt;form&amp;lt;/code&amp;gt; data like Pumpkaboo or Basculin. You can also take things a step further and create multiple &amp;lt;code&amp;gt;species features&amp;lt;/code&amp;gt; for a Pokémon with unique textures that are applied as multiple layers on the model. This is the case for Alcremie and Spinda. They have a small set of texture PNGs that are then mixed and matched in the &amp;lt;code&amp;gt;resolver&amp;lt;/code&amp;gt; file to allow for &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;dozens&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; of variants as a result. You can even create unique models and animations for each variant if desired.&lt;br /&gt;
&lt;br /&gt;
Decide how your variant will function first so you know what choices to pick later in this guide. If you&amp;#039;d like some examples, you can reference the &amp;lt;code&amp;gt;species&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;resolver&amp;lt;/code&amp;gt; files of the following Pokémon. Also be sure to check out the &amp;lt;species_features&amp;gt; folder of the mod to see how their feature files look and function. Here are some great examples of the variant system at its best:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Grotle &amp;amp; Torterra&amp;#039;&amp;#039;&amp;#039;: Grotle uses the evolution process to evolve into different variants of Torterra using saplings. Certain saplings will allow it to evolve into a matching Torterra! Each evolution method results in the different Torterra &amp;#039;&amp;#039;&amp;#039;models and textures!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Milcery &amp;amp; Alcremie&amp;#039;&amp;#039;&amp;#039;: Milcery also uses the evolution process to apply different aspects in the resulting Alcremie. The difference is that one aspect depends on the Sweet that is held, and the second aspect depends on the time of day that it was evolved. The evolution data that makes this possible for Milcery includes over 1600 lines of data...&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Spinda&amp;#039;&amp;#039;&amp;#039;: Spinda has 5 features, each with their own random pool of choices, that are assigned to it. These features apply some spot textures from a pool of 37 unique textures. This becomes 74 if you include the shiny textures. There are over &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;47,000 unique forms&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; of Spinda as a result.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Arbok&amp;#039;&amp;#039;&amp;#039;: Arbok has a pool of randomly chosen aspects that affect the pattern on it&amp;#039;s snake hood. Although the aspect is chosen at random, each pattern is assigned unique spawn data. You can reference this and create different spawn locations for each variant you make!&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Pumpkaboo &amp;amp; Gourgeist&amp;#039;&amp;#039;&amp;#039;: Pumpkaboo uses &amp;lt;code&amp;gt;form&amp;lt;/code&amp;gt; data to apply the different HP stat changes to each of its sizes. Each size form can then be applied with one of the aspect choices so they can have unique models and textures. &lt;br /&gt;
&lt;br /&gt;
=== Step 2: Arrange the folders for this addon ===&lt;br /&gt;
Due to some files sharing the same names later in this guide, you will be creating the folder structure and &amp;lt;code&amp;gt;pack.mcmeta&amp;lt;/code&amp;gt; now. This is to prevent confusion going forward. &lt;br /&gt;
&lt;br /&gt;
# Create a series of folders arranged like the following example:&lt;br /&gt;
==== Folder Structure ====&lt;br /&gt;
 &amp;lt;div class=&amp;quot;treeview&amp;quot;&amp;gt;&lt;br /&gt;
*&amp;#039;&amp;#039;(addon name)&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;pack.mcmeta&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**assets&lt;br /&gt;
***cobblemon&lt;br /&gt;
****bedrock&lt;br /&gt;
*****pokemon&lt;br /&gt;
******animations&lt;br /&gt;
*******&amp;lt;target pokemon folder&amp;gt;&lt;br /&gt;
******models&lt;br /&gt;
*******&amp;lt;target pokemon folder&amp;gt;&lt;br /&gt;
******posers&lt;br /&gt;
******resolvers&lt;br /&gt;
*******&amp;lt;target pokemon folder&amp;gt;&lt;br /&gt;
****textures&lt;br /&gt;
*****pokemon&lt;br /&gt;
******&amp;lt;target pokemon folder&amp;gt;&lt;br /&gt;
**data&lt;br /&gt;
***cobblemon&lt;br /&gt;
****spawn_pool_world&lt;br /&gt;
****species_feature_assignments&lt;br /&gt;
****species_features&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
# &amp;lt;li value=&amp;quot;2&amp;quot;&amp;gt;Create your &amp;lt;code&amp;gt;pack.mcmeta&amp;lt;/code&amp;gt; file&lt;br /&gt;
#* Remember to write the necessary data into this file. &lt;br /&gt;
# Place this new file into the first folder of your addon next to &amp;lt;code&amp;gt;assets&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt;&lt;br /&gt;
After this folder tree for your addon is made, you can simply drop the files into the associated folders as you create them. &lt;br /&gt;
Remember that the &amp;lt;code&amp;gt;pack.mcmeta&amp;lt;/code&amp;gt; is a file, not a folder to add. It must be one folder deep in order for Minecraft to recognize this pack as a resource pack or data pack when in the appropriate game folders. &lt;br /&gt;
&lt;br /&gt;
=== Step 3: Create your assets ===&lt;br /&gt;
It&amp;#039;s best that you create all your assets first so you can assign them later. Create any models, textures, or animations that you want in Blockbench. Most visual variants are just a set of extra texture PNGs that are applied to the same model using &amp;lt;code&amp;gt;layers&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
# Create the assets your Pokemon needs in Blockbench&lt;br /&gt;
# Save these assets in their associated folders&lt;br /&gt;
&lt;br /&gt;
Remember to create a &amp;lt;code&amp;gt;poser&amp;lt;/code&amp;gt; file if you made any new animations. Needing new animation and poser files for variants isn’t a common thing. Unless your variant is vastly different, like Alolan Exeggutor, then you most likely don&amp;#039;t need to make new animations. &lt;br /&gt;
&lt;br /&gt;
=== Step 4:Create a “species feature” ===&lt;br /&gt;
You will be creating as many species features as you need to make your variants work. There are 2 types of species features you can make. The &amp;lt;code&amp;gt;flag&amp;lt;/code&amp;gt; type feature has a single choice and is used for things like regionals. The &amp;lt;code&amp;gt;choice&amp;lt;/code&amp;gt; type feature has a pool of choices and can be either randomized or have one choice set as the default. For the purpose of this guide, &amp;#039;&amp;#039;&amp;#039;you will be creating a choice type feature with multiple variants.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Create a new text file and name it after your idea. Include the extension of&amp;lt;code&amp;gt;.json&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Example: Arbok&amp;#039;s species feature is named &amp;lt;code&amp;gt;snake_pattern.json&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Remember to use lowercase and make sure that the file does not end in any other extension like &amp;quot;.txt&amp;quot;&lt;br /&gt;
# Insert the data for a &amp;lt;code&amp;gt;choice&amp;lt;/code&amp;gt; species feature into this new species feature JSON:&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Remember to change &amp;lt;code&amp;gt;&amp;quot;custom_feature&amp;quot;&amp;lt;/code&amp;gt; to match your file name! It must stay in quotes.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* You can create as many choices as you want and name them whatever you want.&lt;br /&gt;
#* The value for &amp;lt;code&amp;gt;&amp;quot;default&amp;quot;&amp;lt;/code&amp;gt; can be set to &amp;quot;random&amp;quot; or any one of the choices you list. You usually want it on random. &lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;choice&amp;quot;,&lt;br /&gt;
  &amp;quot;keys&amp;quot;: [&amp;quot;custom_feature&amp;quot;],&lt;br /&gt;
  &amp;quot;default&amp;quot;: &amp;quot;random&amp;quot;,&lt;br /&gt;
  &amp;quot;choices&amp;quot;: [&lt;br /&gt;
    &amp;quot;choice1&amp;quot;,&lt;br /&gt;
    &amp;quot;choice2&amp;quot;,&lt;br /&gt;
    &amp;quot;choice3&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;isAspect&amp;quot;: true,&lt;br /&gt;
  &amp;quot;aspectFormat&amp;quot;: &amp;quot;custom-feature-{{choice}}&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;li value=&amp;quot;3&amp;quot;&amp;gt; Save the file&lt;br /&gt;
# Place this new species feature file into the &amp;lt;code&amp;gt;species_feature&amp;lt;/code&amp;gt; folder of your addon&lt;br /&gt;
&lt;br /&gt;
Even though the choice is randomized, a Pokémon will maintain its aspects when evolving if the entire evolutionary line is assigned the feature. A &amp;quot;heart&amp;quot; Ekans will always evolve into a &amp;quot;heart&amp;quot; Arbok by default. Aspect choices can also be assigned in the evolution data to change or control the resulting aspect of the next evolution. This is the case with Grotle and Pumpkaboo evolutions. &lt;br /&gt;
&lt;br /&gt;
=== Step 4:Create a “species_feature_assignments” file ===&lt;br /&gt;
The &amp;lt;code&amp;gt;species_feature_assignments&amp;lt;/code&amp;gt; file is a very short JSON that has a list of one or more Pokémon which will receive one or more features. If you also want your variants to have different stats like Pumpkaboo, then you&amp;#039;ll want to make a &amp;lt;code&amp;gt;species_addition&amp;lt;/code&amp;gt; file with form data. Step 4 from the [https://wiki.cobblemon.com/index.php/Tutorials/Regional_Forms regional forms guide.]&lt;br /&gt;
&lt;br /&gt;
# Create a new text file and name it after your idea. Include the extension of &amp;lt;code&amp;gt;.json&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Example: &amp;lt;code&amp;gt;spinda_spots.json&amp;lt;/code&amp;gt;&lt;br /&gt;
# Insert the following data into this new species_addition JSON:&lt;br /&gt;
#* You can list as many Pokémon or features as you need&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;pokemon&amp;quot;: [&amp;quot;&amp;lt;target_pokemon_1&amp;gt;&amp;quot;, &amp;quot;&amp;lt;target_pokemon_2&amp;gt;&amp;quot;],&lt;br /&gt;
  &amp;quot;features&amp;quot;: [&amp;quot;&amp;lt;feature_1&amp;gt;&amp;quot;, &amp;quot;&amp;lt;feature_2&amp;gt;&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;li value=&amp;quot;3&amp;quot;&amp;gt; Change &amp;lt;code&amp;gt;&amp;quot;&amp;lt;target_pokemon_#&amp;gt;&amp;quot;&amp;lt;/code&amp;gt; to reference the Pokémon you want to add the features to. It must remain in quotes. &lt;br /&gt;
#* Example: &amp;lt;code&amp;gt;[&amp;quot;bulbasaur&amp;quot;, &amp;quot;ivysaur&amp;quot;, &amp;quot;venusaur&amp;quot;]&amp;lt;/code&amp;gt;&lt;br /&gt;
# Change &amp;lt;code&amp;gt;&amp;quot;&amp;lt;feature_#&amp;gt;&amp;quot;&amp;lt;/code&amp;gt; to the feature(s) you made earlier. It must remain in quotes.&lt;br /&gt;
# &amp;lt;li value=&amp;quot;5&amp;quot;&amp;gt; Save the file.&lt;br /&gt;
# Place this new file into the &amp;lt;code&amp;gt;species_feature_assignments&amp;lt;/code&amp;gt; folder of your addon.&lt;br /&gt;
&lt;br /&gt;
=== Step 5: Create special spawns for your variants(optional) ===&lt;br /&gt;
This is an optional step to show you how to create unique spawns for each variant choice. If you do not specify any choices in the &amp;lt;code&amp;gt;&amp;quot;pokemon&amp;quot;&amp;lt;/code&amp;gt; string, then the &amp;lt;code&amp;gt;&amp;quot;default&amp;quot;&amp;lt;/code&amp;gt; choice from your feature will spawn as a result. It&amp;#039;s highly recommended that you review the spawn files for pokemon with regional forms, Pumpkaboo, and Arbok. Those spawn files can be found on the [https://gitlab.com/cable-mc/cobblemon/-/tree/main/common/src/main/resources/data/cobblemon/spawn_pool_world Gitlab.]&lt;br /&gt;
&lt;br /&gt;
You will mostly be using the Arbok file as a template for your Pokémon&amp;#039;s spawn files. Even though Arbok&amp;#039;s multiple spawns all have the same conditions, they can be changed so the different skins appear in different conditions. You can change the other spawn properties to whatever you like. A list of spawn conditions can be found [https://gitlab.com/cable-mc/cobblemon/-/wikis/Spawner/Spawn-Condition here.] The list of biome tags can be found [https://docs.google.com/document/d/1iB0EJSc2r6mRJXIo1n3XpHbZ5udwJVnrh2pXdhTyH8c/edit here.]&lt;br /&gt;
&lt;br /&gt;
# Obtain Arbok&amp;#039;s &amp;lt;code&amp;gt;spawn_pool_world&amp;lt;/code&amp;gt; file.&lt;br /&gt;
# Rename it after your Pokémon &lt;br /&gt;
# Open the file and locate the data under &amp;lt;code&amp;gt;&amp;quot;spawns&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Change the &amp;lt;code&amp;gt;&amp;quot;id&amp;quot;&amp;lt;/code&amp;gt; value to the format of &amp;lt;code&amp;gt;&amp;lt;pokemon&amp;gt;-&amp;lt;choice#&amp;gt;-&amp;lt;id #&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Change the &amp;lt;code&amp;gt;&amp;quot;pokemon&amp;quot;&amp;lt;/code&amp;gt; value to the format of &amp;lt;code&amp;gt;&amp;lt;pokemon&amp;gt; &amp;lt;aspectFormat&amp;gt;=&amp;lt;choice#&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
#* You&amp;#039;ll need to reference your own aspect format you wrote earlier.&lt;br /&gt;
# Change the other spawn properties as desired.&lt;br /&gt;
# Repeat steps 4-6 to create more spawns for each choice of your species feature. &lt;br /&gt;
# Save the file.&lt;br /&gt;
# Place this new file into the &amp;lt;code&amp;gt;spawn_pool_world&amp;lt;/code&amp;gt; folder of your addon.&lt;br /&gt;
&lt;br /&gt;
Your list of spawns should now look something like Arbok&amp;#039;s:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;quot;spawns&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;arbok-classic-1&amp;quot;,&lt;br /&gt;
            &amp;quot;pokemon&amp;quot;: &amp;quot;arbok snake-pattern=classic&amp;quot;,&lt;br /&gt;
            &amp;quot;presets&amp;quot;: [&lt;br /&gt;
                &amp;quot;natural&amp;quot;&lt;br /&gt;
            ],&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;pokemon&amp;quot;,&lt;br /&gt;
            &amp;quot;context&amp;quot;: &amp;quot;grounded&amp;quot;,&lt;br /&gt;
            &amp;quot;bucket&amp;quot;: &amp;quot;common&amp;quot;,&lt;br /&gt;
            &amp;quot;level&amp;quot;: &amp;quot;22-45&amp;quot;,&lt;br /&gt;
            &amp;quot;weight&amp;quot;: 0.45,&lt;br /&gt;
            &amp;quot;condition&amp;quot;: {&lt;br /&gt;
                &amp;quot;canSeeSky&amp;quot;: true,&lt;br /&gt;
                &amp;quot;biomes&amp;quot;: [&lt;br /&gt;
                    &amp;quot;#cobblemon:is_arid&amp;quot;&lt;br /&gt;
                ]&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
		{&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;arbok-legacy-1&amp;quot;,&lt;br /&gt;
            &amp;quot;pokemon&amp;quot;: &amp;quot;arbok snake-pattern=legacy&amp;quot;,&lt;br /&gt;
            &amp;quot;presets&amp;quot;: [&lt;br /&gt;
                &amp;quot;natural&amp;quot;&lt;br /&gt;
            ],&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;pokemon&amp;quot;,&lt;br /&gt;
            &amp;quot;context&amp;quot;: &amp;quot;grounded&amp;quot;,&lt;br /&gt;
            &amp;quot;bucket&amp;quot;: &amp;quot;common&amp;quot;,&lt;br /&gt;
            &amp;quot;level&amp;quot;: &amp;quot;22-45&amp;quot;,&lt;br /&gt;
            &amp;quot;weight&amp;quot;: 0.03,&lt;br /&gt;
            &amp;quot;condition&amp;quot;: {&lt;br /&gt;
                &amp;quot;canSeeSky&amp;quot;: true,&lt;br /&gt;
                &amp;quot;biomes&amp;quot;: [&lt;br /&gt;
                    &amp;quot;#cobblemon:is_arid&amp;quot;&lt;br /&gt;
                ]&lt;br /&gt;
            }&lt;br /&gt;
        }...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 6: Create the resolver file for your variants ===&lt;br /&gt;
Back in step 3, you should have already made the files for &amp;lt;code&amp;gt;models&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;textures&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;animations&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;posers&amp;lt;/code&amp;gt; that you needed. The last thing you need to do is assign them to your variant by creating a new &amp;lt;code&amp;gt;resolver&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
If you do not specify a model or poser file for each aspect, then they will use whatever was assigned to the variation with no aspects assigned. This is why some variations do not list every property. &lt;br /&gt;
&lt;br /&gt;
Due to the many different ways variants can be made, there are many different ways to create the resolver. What you will do for this step is pick a comparable Pokémon feature and use that pokemon as a template for your resolver file. You will be applying the &amp;lt;code&amp;gt;aspect&amp;lt;/code&amp;gt; from your &amp;lt;code&amp;gt;species_feature&amp;lt;/code&amp;gt; the same way they do.&lt;br /&gt;
* Pokemon with variants that change the textures on the base model:&lt;br /&gt;
** Tatsugiri&lt;br /&gt;
** Valencian Butterfree&lt;br /&gt;
** Valencian Vileplume&lt;br /&gt;
* Pokemon with multiple variants that change models and the textures:&lt;br /&gt;
** Torterra&lt;br /&gt;
** Alolan Vulpix&lt;br /&gt;
** Basculin&lt;br /&gt;
* Pokemon that use a single model, but change textures through &amp;lt;code&amp;gt;layers&amp;lt;/code&amp;gt;:&lt;br /&gt;
** Alcremie&lt;br /&gt;
** Arbok&lt;br /&gt;
** Spinda&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
# After creating your resolver(s), place them in the &amp;lt;code&amp;gt;resolvers&amp;lt;/code&amp;gt; folder for your addon. &lt;br /&gt;
&lt;br /&gt;
=== Step 7: Test your addon in game ===&lt;br /&gt;
Load your addon in game to see if your variants looks different from each other. You can have Blockbench open to edit any relevant asset file &amp;#039;&amp;#039;&amp;#039;in the resourcepacks folder&amp;#039;&amp;#039;&amp;#039; if needed. &lt;br /&gt;
# Copy your addon folder and place it in the &amp;quot;resourcepacks&amp;quot; and &amp;quot;datapacks&amp;quot; folder in the Minecraft root directory.&lt;br /&gt;
# Start up Minecraft and click on &amp;#039;&amp;#039;Options&amp;#039;&amp;#039;, then &amp;#039;&amp;#039;Resource Packs&amp;#039;&amp;#039;. Select your pack to load it.&lt;br /&gt;
# Load/create a &amp;#039;&amp;#039;&amp;#039;Creative&amp;#039;&amp;#039;&amp;#039; world save that contains your addon in the &amp;quot;datapack&amp;quot; folder.&lt;br /&gt;
# Once in the world, you can run the command &amp;lt;code&amp;gt;/pokespawn &amp;lt;target pokemon&amp;gt; &amp;lt;species feature&amp;gt;=&amp;lt;choice#1&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Repeat for every variant you created.&lt;br /&gt;
# Ensure your new variants are working properly.&lt;br /&gt;
# Check if your variants spawn where you assigned them to. You can use &amp;lt;code&amp;gt;/checkspawn &amp;lt;rarity&amp;gt;&amp;lt;/code&amp;gt; when in the assigned biome. The different aspects are not shown in checkspawn. &lt;br /&gt;
#* You can run the command &amp;lt;code&amp;gt;/locate biome &amp;lt;assigned biome&amp;gt;&amp;lt;/code&amp;gt; to get coordinates to the assigned biome. You can then click on the coordinates it gave you and be teleported instantly. &lt;br /&gt;
# Make any desired edits to the asset files and save. Refresh resource packs with F3+T to see the changes you make.&lt;br /&gt;
# Make any desired edits to the data files and save. &amp;#039;&amp;#039;&amp;#039;You need to quit to main menu, and load the world again if you want to see those changes.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* The command for &amp;lt;code&amp;gt;/reload&amp;lt;/code&amp;gt; does not work with Cobblemon addons unfortunately. &lt;br /&gt;
&lt;br /&gt;
You should now have a functional set of variants! If your addon is not working properly at this stage, you can seek help in the Cobblemon Discord.&lt;/div&gt;</summary>
		<author><name>Frank The Farmer</name></author>
	</entry>
</feed>