<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://forge.gemwire.uk/index.php?action=history&amp;feed=atom&amp;title=Datageneration%2F1.16</id>
	<title>Datageneration/1.16 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://forge.gemwire.uk/index.php?action=history&amp;feed=atom&amp;title=Datageneration%2F1.16"/>
	<link rel="alternate" type="text/html" href="https://forge.gemwire.uk/index.php?title=Datageneration/1.16&amp;action=history"/>
	<updated>2026-05-01T18:43:16Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.0</generator>
	<entry>
		<id>https://forge.gemwire.uk/index.php?title=Datageneration/1.16&amp;diff=2754&amp;oldid=prev</id>
		<title>ShrimpBot: Copy Datageneration to MC1.16 archive</title>
		<link rel="alternate" type="text/html" href="https://forge.gemwire.uk/index.php?title=Datageneration/1.16&amp;diff=2754&amp;oldid=prev"/>
		<updated>2021-07-27T04:13:51Z</updated>

		<summary type="html">&lt;p&gt;Copy &lt;a href=&quot;/wiki/Datageneration&quot; title=&quot;Datageneration&quot;&gt;Datageneration&lt;/a&gt; to MC1.16 archive&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&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-GB&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 04:13, 27 July 2021&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='diff-marker'&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;'''Data generation''' (AKA '''datagen''') is a builtin system in Minecraft and Forge that allows mod developers to write code to programmatically generate the [[Using Resources|assets and data&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;/1.16&lt;/del&gt;]] files of mods.  &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;'''Data generation''' (AKA '''datagen''') is a builtin system in Minecraft and Forge that allows mod developers to write code to programmatically generate the [[Using Resources&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/1.16&lt;/ins&gt;|assets and data]] files of mods.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;/td&gt;&lt;td class='diff-marker'&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;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;Using datageneration offers some notable benefits:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;Using datageneration offers some notable benefits:&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-l14&quot; &gt;Line 14:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 14:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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 data generator can be configured to run 4 different data generations, which are configured from the command-line parameters, and can be checked from &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;GatherDataEvent#include()&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; methods.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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 data generator can be configured to run 4 different data generations, which are configured from the command-line parameters, and can be checked from &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;GatherDataEvent#include()&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; methods.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;* '''Client Assets'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;* '''Client Assets'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;** Generates client-only files in &amp;lt;tt&amp;gt;assets&amp;lt;/tt&amp;gt;: [[Introduction to Models|block/item models&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;/1.16&lt;/del&gt;]], [[BlockState &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;JSONs|blockstate &lt;/del&gt;JSONs/1.16]], [[Datageneration/I18n&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|language files&lt;/del&gt;/1.16]], etc.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;** Generates client-only files in &amp;lt;tt&amp;gt;assets&amp;lt;/tt&amp;gt;: [[Introduction to Models&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/1.16&lt;/ins&gt;|block/item models]], [[BlockState JSONs/1.16&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|blockstate JSONs&lt;/ins&gt;]], [[Datageneration/I18n/1.16&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|language files&lt;/ins&gt;]], etc.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;code&amp;gt;&amp;lt;nowiki&amp;gt;--client&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;includeClient()&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;code&amp;gt;&amp;lt;nowiki&amp;gt;--client&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;includeClient()&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;* '''Server Data'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;* '''Server Data'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;** Generates server-only files in &amp;lt;tt&amp;gt;data&amp;lt;/tt&amp;gt;: [[Datageneration/Recipes&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|recipes&lt;/del&gt;/1.16]], advancements, [[Datageneration/Tags&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|tags&lt;/del&gt;/1.16]], etc.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;** Generates server-only files in &amp;lt;tt&amp;gt;data&amp;lt;/tt&amp;gt;: [[Datageneration/Recipes/1.16&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|recipes&lt;/ins&gt;]], advancements, [[Datageneration/Tags/1.16&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|tags&lt;/ins&gt;]], etc.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;code&amp;gt;&amp;lt;nowiki&amp;gt;--server&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;includeServer()&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;code&amp;gt;&amp;lt;nowiki&amp;gt;--server&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;includeServer()&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;* '''Development Tools'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;* '''Development Tools'''&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-l48&quot; &gt;Line 48:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 48:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;/td&gt;&lt;td class='diff-marker'&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;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;/td&gt;&lt;td class='diff-marker'&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;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;[[Category:Data Generation/1.16]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;[[Category:Data Generation/1.16&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|Category:Data Generation&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>ShrimpBot</name></author>
	</entry>
	<entry>
		<id>https://forge.gemwire.uk/index.php?title=Datageneration/1.16&amp;diff=2689&amp;oldid=prev</id>
		<title>ShrimpBot: Copy Datageneration to MC1.16 archive</title>
		<link rel="alternate" type="text/html" href="https://forge.gemwire.uk/index.php?title=Datageneration/1.16&amp;diff=2689&amp;oldid=prev"/>
		<updated>2021-07-27T03:58:09Z</updated>

		<summary type="html">&lt;p&gt;Copy &lt;a href=&quot;/wiki/Datageneration&quot; title=&quot;Datageneration&quot;&gt;Datageneration&lt;/a&gt; to MC1.16 archive&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''Data generation''' (AKA '''datagen''') is a builtin system in Minecraft and Forge that allows mod developers to write code to programmatically generate the [[Using Resources|assets and data/1.16]] files of mods. &lt;br /&gt;
&lt;br /&gt;
Using datageneration offers some notable benefits:&lt;br /&gt;
* Asset and data files can be automatically generated by code without needing to manually type them out, saving effort and time.&lt;br /&gt;
* The structure of the datagenerated files may be changed without affecting the code which generates them, allowing for files to be cleanly regenerated when the format is changed.&lt;br /&gt;
* Mod developers can mix and match datagenerated resources with pre-existing or manually-made resources.&lt;br /&gt;
* Similar and repeated assets and data files can be programmatically generated for any number of objects, with the least amount of effort needed to define in code.&lt;br /&gt;
&lt;br /&gt;
The data generation system is loaded by the main class &amp;lt;code&amp;gt;net.minecraft.data.Main&amp;lt;/code&amp;gt;. Different command-line arguments can be passed to customize which mods’ data are gathered, what existing files are considered, etc. The class responsible for managing and orchestrating data generation is &amp;lt;code&amp;gt;net.minecraft.data.DataGenerator&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The default configurations in the MDK &amp;lt;code&amp;gt;build.gradle&amp;lt;/code&amp;gt; adds the &amp;lt;code&amp;gt;runData&amp;lt;/code&amp;gt; task for running the data generators.&lt;br /&gt;
&lt;br /&gt;
== Generator Modes ==&lt;br /&gt;
The data generator can be configured to run 4 different data generations, which are configured from the command-line parameters, and can be checked from &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;GatherDataEvent#include()&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; methods.&lt;br /&gt;
* '''Client Assets'''&lt;br /&gt;
** Generates client-only files in &amp;lt;tt&amp;gt;assets&amp;lt;/tt&amp;gt;: [[Introduction to Models|block/item models/1.16]], [[BlockState JSONs|blockstate JSONs/1.16]], [[Datageneration/I18n|language files/1.16]], etc.&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;--client&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;includeClient()&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''Server Data'''&lt;br /&gt;
** Generates server-only files in &amp;lt;tt&amp;gt;data&amp;lt;/tt&amp;gt;: [[Datageneration/Recipes|recipes/1.16]], advancements, [[Datageneration/Tags|tags/1.16]], etc.&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;--server&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;includeServer()&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''Development Tools'''&lt;br /&gt;
** Runs some development tools: converting SNBT to NBT and vice-versa, etc.&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;--dev&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;includeDev()&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''Reports'''&lt;br /&gt;
** Dumps all registered blocks, items, commands, etc.&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;--reports&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;includeReports()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Data Providers ==&lt;br /&gt;
'''Data providers''' are the classes that define the resources data to be generated. All data providers implement &amp;lt;code&amp;gt;IDataProvider&amp;lt;/code&amp;gt;. Minecraft has abstract implementations for most assets and data, so mod developers only need to extend those abstract classes and override the specified method.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;GatherDataEvent&amp;lt;/code&amp;gt; is fired on the mod event bus when the data generator is being created, and the &amp;lt;code&amp;gt;DataGenerator&amp;lt;/code&amp;gt; can be obtained from the event. Create and register data providers using &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;DataGenerator#addProvider&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Client Assets ===&lt;br /&gt;
* &amp;lt;code&amp;gt;net.minecraftforge.common.data.LanguageProvider&amp;lt;/code&amp;gt; - for language strings; override &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;#addTranslations&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;ModelProvider&amp;lt;?&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; -  base class for all model providers&lt;br /&gt;
** ''These classes are under the &amp;lt;code&amp;gt;net.minecraftforge.client.model.generators&amp;lt;/code&amp;gt; package''&lt;br /&gt;
*** &amp;lt;code&amp;gt;ItemModelProvider&amp;lt;/code&amp;gt; - for item models; override &amp;lt;code&amp;gt;#registerModels&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt;BlockStateProvider&amp;lt;/code&amp;gt; - for blockstates and their block and item models; override &amp;lt;code&amp;gt;#registerStatesAndModels&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt;BlockModelProvider&amp;lt;/code&amp;gt; -  for block models; override &amp;lt;code&amp;gt;#registerModels&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Server Data ===&lt;br /&gt;
* ''These classes are under the &amp;lt;code&amp;gt;net.minecraft.data&amp;lt;/code&amp;gt; package''&lt;br /&gt;
* &amp;lt;code&amp;gt;LootTableProvider&amp;lt;/code&amp;gt; - for loot tables; override &amp;lt;code&amp;gt;#getTables&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;RecipeProvider&amp;lt;/code&amp;gt; - for recipes and their unlocking advancements; override &amp;lt;code&amp;gt;#registerRecipes&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;TagsProvider&amp;lt;/code&amp;gt; - for tags; override &amp;lt;code&amp;gt;#registerTags&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Tip|An &amp;lt;code&amp;gt;AdvancementProvider&amp;lt;/code&amp;gt; class does exists, however it is hardcoded for only the vanilla advancements.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Data Generation/1.16]]&lt;/div&gt;</summary>
		<author><name>ShrimpBot</name></author>
	</entry>
</feed>