<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://forge.gemwire.uk/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ravenbuilder934</id>
	<title>Forge Community Wiki - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://forge.gemwire.uk/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ravenbuilder934"/>
	<link rel="alternate" type="text/html" href="https://forge.gemwire.uk/wiki/Special:Contributions/Ravenbuilder934"/>
	<updated>2026-05-23T04:46:11Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.0</generator>
	<entry>
		<id>https://forge.gemwire.uk/index.php?title=Entity_Events&amp;diff=2555</id>
		<title>Entity Events</title>
		<link rel="alternate" type="text/html" href="https://forge.gemwire.uk/index.php?title=Entity_Events&amp;diff=2555"/>
		<updated>2021-04-11T15:56:32Z</updated>

		<summary type="html">&lt;p&gt;Ravenbuilder934: remove trailing &amp;quot;)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Damage Events ==&lt;br /&gt;
The series of events for an attack goes in this order:&lt;br /&gt;
&lt;br /&gt;
# '''LivingAttackEvent''' - Use this if you want to catch any time an entity hits another, regardless of damage or whether it will be successful or not&lt;br /&gt;
# '''LivingHurtEvent''' - Use this if you want to handle an attack that is likely to hit, but before any potions, armour, or enchantments take effect&lt;br /&gt;
# '''LivingDamageEvent''' - Use this if you want to take action as an entity is definitely being damaged, with the final damage amount being available.&lt;br /&gt;
# '''LivingDeathEvent''' - Use this event if you want to handle an entity's death for any reason, with the exception of drops.&lt;br /&gt;
# '''Global Loot Modifiers''' - Use these if you want to handle any drops from a dying entity.&lt;/div&gt;</summary>
		<author><name>Ravenbuilder934</name></author>
	</entry>
	<entry>
		<id>https://forge.gemwire.uk/index.php?title=Making_Items&amp;diff=2413</id>
		<title>Making Items</title>
		<link rel="alternate" type="text/html" href="https://forge.gemwire.uk/index.php?title=Making_Items&amp;diff=2413"/>
		<updated>2021-02-13T07:08:58Z</updated>

		<summary type="html">&lt;p&gt;Ravenbuilder934: Couple grammar fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Under construction}}&lt;br /&gt;
&lt;br /&gt;
Along with blocks, items are a key component of most mods. While blocks make up the world around you, items are what let you change it.&lt;br /&gt;
&lt;br /&gt;
== Creating an Item ==&lt;br /&gt;
=== Basic Items ===&lt;br /&gt;
Basic items that need no special functionality (think sticks or sugar) don’t need custom classes. You can create an item by instantiating the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Item&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; class with an &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Item$Properties&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; object. This &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Item$Properties&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; object can be made by calling the constructor and can be customised by calling its methods. For instance:&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=1&lt;br /&gt;
!Method                   !!Description   &lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;group&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;           ||  Sets which &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;ItemGroup&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; (previously called creative tab) this item is under. Must be called if this item is meant to be shown on the creative menu. Vanilla groups can be found in the class &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;ItemGroup&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. &lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;maxDamage&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;       ||  Sets the maximum damage value for this item. If it is greater than ''0'', the properties ''damaged'' and ''damage'' are added to keep track of the current ''ItemStack'' damage. &lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;maxStackSize&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;    ||  Sets the maximum stack size. You cannot have an item that is both damagable and stackable. &lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;setNoRepair&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;     ||  Makes this item impossible to repair, even if it is damageable. &lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;containerItem&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;   ||  Sets this item’s container item. For example, milk buckets give you back an empty bucket when they are crafted. &lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;addToolType&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;     ||  Gives the item the ability of a &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;ToolType&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;SHOVEL&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;AXE&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) at the specified harvest level (''0'' for Wood/Gold, ''1'' for Stone, ''2'' for Iron, ''3'' for Gold). &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The above methods are chainable, meaning they &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;return this&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to facilitate calling them in series.&lt;br /&gt;
&lt;br /&gt;
=== Advanced Items ===&lt;br /&gt;
Setting the properties of an item as above only works for simple items. If you want more complicated items, you should subclass ''Item'' and override its methods.&lt;br /&gt;
&lt;br /&gt;
== Registering an Item ==&lt;br /&gt;
Items must be [[Registration|registered]] to function.&lt;/div&gt;</summary>
		<author><name>Ravenbuilder934</name></author>
	</entry>
	<entry>
		<id>https://forge.gemwire.uk/index.php?title=Datageneration/I18n&amp;diff=2412</id>
		<title>Datageneration/I18n</title>
		<link rel="alternate" type="text/html" href="https://forge.gemwire.uk/index.php?title=Datageneration/I18n&amp;diff=2412"/>
		<updated>2021-02-13T07:06:18Z</updated>

		<summary type="html">&lt;p&gt;Ravenbuilder934: Fix typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Lang Files can be generated by creating an extension of the file &amp;lt;code&amp;gt;LanguageProvider&amp;lt;/code&amp;gt; class. From there you can add the translations in the &amp;lt;code&amp;gt;addTranslations&amp;lt;/code&amp;gt; method, which you must override.&lt;br /&gt;
&lt;br /&gt;
To add a translation, call the &amp;lt;code&amp;gt;LanguageProvider#add&amp;lt;/code&amp;gt; method. This method takes the [[Internationalization|translation key]] and a string that is the displayname for the key.&lt;/div&gt;</summary>
		<author><name>Ravenbuilder934</name></author>
	</entry>
	<entry>
		<id>https://forge.gemwire.uk/index.php?title=Datageneration/I18n&amp;diff=2411</id>
		<title>Datageneration/I18n</title>
		<link rel="alternate" type="text/html" href="https://forge.gemwire.uk/index.php?title=Datageneration/I18n&amp;diff=2411"/>
		<updated>2021-02-13T06:56:52Z</updated>

		<summary type="html">&lt;p&gt;Ravenbuilder934: Minor grammar fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Lang Files can be generated by creating an extension of the File &amp;lt;code&amp;gt;LangurageProvider&amp;lt;/code&amp;gt; class. From there you can add the translations in the &amp;lt;code&amp;gt;addTranslations&amp;lt;/code&amp;gt; method, which you must override.&lt;br /&gt;
&lt;br /&gt;
To add a translation, call the &amp;lt;code&amp;gt;LanguageProvider#add&amp;lt;/code&amp;gt; method. This method takes the [[Internationalization|translation key]] and a String which is the displayname for the key.&lt;/div&gt;</summary>
		<author><name>Ravenbuilder934</name></author>
	</entry>
	<entry>
		<id>https://forge.gemwire.uk/index.php?title=Datapacks&amp;diff=2402</id>
		<title>Datapacks</title>
		<link rel="alternate" type="text/html" href="https://forge.gemwire.uk/index.php?title=Datapacks&amp;diff=2402"/>
		<updated>2021-02-08T00:59:56Z</updated>

		<summary type="html">&lt;p&gt;Ravenbuilder934: improve datapacks page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Datapacks ==&lt;br /&gt;
&lt;br /&gt;
In 1.13, Mojang added datapacks to the base game. They allow for the modification of the files placed under resources/data. This includes advancements, loot tables, structures, recipes, tags, and more in the future. Forge, and your mod, are also datapacks. Any user can therefore modify all the recipes, loot tables, and other data of a mod just like with resource packs.&lt;br /&gt;
&lt;br /&gt;
Therefore, there is little sense in having configurable recipes or mob drops. Any user can modify them to any value (even from other mods).&lt;br /&gt;
&lt;br /&gt;
== Dev Environment ==&lt;br /&gt;
In your project, you have a folder “resources” that has to contain a folder “data”. This folder will be your datapack. Your mod can have multiple data domains, since you can add or modify already existing datapacks, like vanilla’s, Forge’s, or another mod’s.&lt;br /&gt;
&lt;br /&gt;
Additional reading on resources can be found [[Resources|here]].&lt;br /&gt;
&lt;br /&gt;
== Overriding Files ==&lt;br /&gt;
To modify a datapack (be it the end-user or in dev), you need to know the mod ID and the registry name of the item/mob/advancement that you want to override. These can be found after launching the mod (F3+H), but providing it for users in a simpler way can be helpful (using GitHub will allow users to navigate the datapack you provide with the mod). You can then follow the steps found [https://minecraft.gamepedia.com/Data_Pack here] to create any datapack.&lt;/div&gt;</summary>
		<author><name>Ravenbuilder934</name></author>
	</entry>
	<entry>
		<id>https://forge.gemwire.uk/index.php?title=Using_Resources&amp;diff=2401</id>
		<title>Using Resources</title>
		<link rel="alternate" type="text/html" href="https://forge.gemwire.uk/index.php?title=Using_Resources&amp;diff=2401"/>
		<updated>2021-02-08T00:56:58Z</updated>

		<summary type="html">&lt;p&gt;Ravenbuilder934: Ravenbuilder934 moved page Using Resources to Resources: Remove &amp;quot;using&amp;quot; from the title&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Resources]]&lt;/div&gt;</summary>
		<author><name>Ravenbuilder934</name></author>
	</entry>
	<entry>
		<id>https://forge.gemwire.uk/index.php?title=Resources&amp;diff=2400</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://forge.gemwire.uk/index.php?title=Resources&amp;diff=2400"/>
		<updated>2021-02-08T00:56:58Z</updated>

		<summary type="html">&lt;p&gt;Ravenbuilder934: Ravenbuilder934 moved page Using Resources to Resources: Remove &amp;quot;using&amp;quot; from the title&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A resource is extra data used by the game, and is stored in a data file, instead of being in the code. Minecraft has two primary resource systems active: one on the client used for visuals such as models, textures, and localization called &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;assets&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, the other used for gameplay such as recipes and loot tables called &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;data&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Resource packs control the former, while data packs control the latter.&lt;br /&gt;
&lt;br /&gt;
When multiple resource packs or data packs are enabled, they are merged. Generally, files from packs at the top of the stack override those below; however, for certain files, such as localization files and tags, data is actually merged contentwise. Mods actually define resource and data packs too, in their &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;resources&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; directories, but they are seen as subsets of the “Default” pack. Mod resource packs cannot be disabled, but they can be overridden by other resource packs. Mod datapacks can be disabled with the vanilla &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/datapack&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
All resources should have '''snake case''' paths and filenames (lowercase, using “_” for word boundaries).&lt;br /&gt;
&lt;br /&gt;
== ResourceLocation ==&lt;br /&gt;
&lt;br /&gt;
Minecraft identifies resources using &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;ResourceLocation&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;s. A &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;ResourceLocation&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; contains two parts: a namespace and a path. It generally points to the resource at &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;assets|data&amp;gt;/&amp;lt;namespace&amp;gt;/&amp;lt;ctx&amp;gt;/&amp;lt;path&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, where &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;ctx&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; is a context-specific path fragment that depends on how the ResourceLocation is being used. When a &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;ResourceLocation&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; is written from/read as a string, it is seen as &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;namespace&amp;gt;:&amp;lt;path&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. If the namespace and the colon are left out, then when the string is read into an ResourceLocation the namespace will almost always default to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;minecraft&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. A mod should put its resources into a namespace with the same name as its modid (E.g. a mod with id &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;examplemod&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; should place its resources in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;assets|data&amp;gt;/examplemod&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;ResourceLocation&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;s pointing to those files would look like &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;examplemod:&amp;lt;path&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;). This is not a requirement, and in some cases it can be desirable to use a different (or even more than one) namespace. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;ResourceLocation&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;s are used outside the resource system, too, as they happen to be a great way to uniquely identify objects (e.g. [[Registration|registries]]).&lt;br /&gt;
&lt;br /&gt;
== Important Directories ==&lt;br /&gt;
&lt;br /&gt;
Minecraft expects certain parts of your project to be in certain locations, such as textures and JSONs.&lt;br /&gt;
&lt;br /&gt;
All locations and items covered in this page are relative to your &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;./src/main/resources/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
== General Files ==&lt;br /&gt;
&lt;br /&gt;
=== mods.toml ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;mods.toml&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; file is in the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;./META-INF/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; directory. This holds the basic information relating to your mod.&lt;br /&gt;
&lt;br /&gt;
=== pack.mcmeta ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;pack.mcmeta&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; file is in the current directory. This allows Minecraft to notice the assets provided by your mod.&lt;br /&gt;
&lt;br /&gt;
== Assets ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;./assets&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; folder holds all client related files for a specific user. These files are only specific to the computer they're on.&lt;br /&gt;
&lt;br /&gt;
=== Blockstates ===&lt;br /&gt;
&lt;br /&gt;
Blockstate definition files are in the JSON format and are in the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;./assets/&amp;lt;modid&amp;gt;/blockstates/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
=== Localizations ===&lt;br /&gt;
&lt;br /&gt;
Localizations are plain-text files with the file extension &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;.json&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and the name being their [https://docs.microsoft.com/en-us/previous-versions/commerce-server/ee825488(v=cs.20)?redirectedfrom=MSDN language code] in lowercase such as &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;en_us&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
They are located in the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;./assets/&amp;lt;modid&amp;gt;/lang/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
=== Models ===&lt;br /&gt;
&lt;br /&gt;
Model files are in JSON format and are located in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;./assets/&amp;lt;modid&amp;gt;/models/block/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;./assets/&amp;lt;modid&amp;gt;/models/item/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; depending on whether they are for a block or an item, respectively.&lt;br /&gt;
&lt;br /&gt;
=== Textures ===&lt;br /&gt;
&lt;br /&gt;
Textures are in the PNG format and are located in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;./assets/&amp;lt;modid&amp;gt;/textures/block/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;./assets/&amp;lt;modid&amp;gt;/textures/item/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; depending on whether they are for a block or an item, respectively. For other entries, they will be placed in their specified location within &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;./assets/&amp;lt;modid&amp;gt;/textures/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Data ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;./data&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; folder holds all server related files for a specific game file. These files are synced across the network from the hosting server location.&lt;br /&gt;
&lt;br /&gt;
=== Advancements ===&lt;br /&gt;
&lt;br /&gt;
Advancements are in JSON format and are located in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;./data/&amp;lt;modid&amp;gt;/advancements/&amp;lt;group&amp;gt;/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; where &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;group&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; is the tab the advancement is part of.&lt;br /&gt;
&lt;br /&gt;
=== Loot Tables ===&lt;br /&gt;
&lt;br /&gt;
Loot tables are in JSON format and are located in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;./data/&amp;lt;modid&amp;gt;/loot_tables/&amp;lt;group&amp;gt;/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; where &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;group&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; is the general object where the loot table drops from (e.g. a block's loot table is in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;blocks&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== Recipes ===&lt;br /&gt;
&lt;br /&gt;
Recipes are in JSON format and are located in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;./data/&amp;lt;modid&amp;gt;/recipes/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Tags ===&lt;br /&gt;
&lt;br /&gt;
Tags are in JSON format and are located in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;./data/&amp;lt;modid&amp;gt;/tags/&amp;lt;group&amp;gt;/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; where &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;group&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; is the registry object to create the tags for (e.g. an entity tag would be in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;entity_types&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;).&lt;/div&gt;</summary>
		<author><name>Ravenbuilder934</name></author>
	</entry>
	<entry>
		<id>https://forge.gemwire.uk/index.php?title=FCWMeta:About&amp;diff=2399</id>
		<title>FCWMeta:About</title>
		<link rel="alternate" type="text/html" href="https://forge.gemwire.uk/index.php?title=FCWMeta:About&amp;diff=2399"/>
		<updated>2021-02-08T00:51:56Z</updated>

		<summary type="html">&lt;p&gt;Ravenbuilder934: Create (stubby) about page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Forge Community Wiki ==&lt;br /&gt;
&lt;br /&gt;
The Forge Community Wiki is a wiki about the Minecraft modding API Forge. It was created as an alternative to the [https://mcforge.readthedocs.io/ official docs]. It is actively maintained by many contributors and has its own [https://discord.gg/Nn42eAh Discord server].&lt;/div&gt;</summary>
		<author><name>Ravenbuilder934</name></author>
	</entry>
	<entry>
		<id>https://forge.gemwire.uk/index.php?title=Datapacks&amp;diff=2398</id>
		<title>Datapacks</title>
		<link rel="alternate" type="text/html" href="https://forge.gemwire.uk/index.php?title=Datapacks&amp;diff=2398"/>
		<updated>2021-02-08T00:42:19Z</updated>

		<summary type="html">&lt;p&gt;Ravenbuilder934: create datapacks page (copy from readthedocs site, will improve)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Datapacks ==&lt;br /&gt;
&lt;br /&gt;
In 1.13, Mojang added datapacks to the base game. They allow for the modification of the files placed under resources/data. This includes advancements, loot_tables, structures, recipes, tags, and more in the future. Forge, and your mod, are also datapacks. Any user can therefore modify all the recipes, loot tables, and other data of a mod just like with resource packs.&lt;br /&gt;
&lt;br /&gt;
Therefore, there is little sense in having configurable recipes or mob drops. Any user can modify them to any value (even from other mods).&lt;br /&gt;
&lt;br /&gt;
== Dev Environment ==&lt;br /&gt;
In your project, you have a folder “resources” that has to contain a folder “data”. This folder will be your datapack. Your mod can have multiple data domains, since you can add or modify already existing datapacks, like vanilla’s, forge’s, or another mod’s.&lt;br /&gt;
&lt;br /&gt;
Additional reading: Resource Locations&lt;br /&gt;
&lt;br /&gt;
== Overriding Files ==&lt;br /&gt;
To modify a datapack (be it the end-user or in dev), you need to know the mod id and the registry name of the item/mob/advancement that you want to override. These can be found after launching the mod (F3+h), but providing it for users in a simpler way can be helpful (using Github will allow users to navigate the datapack you provide with the mod). You can then follow the steps found here to create any datapack.&lt;/div&gt;</summary>
		<author><name>Ravenbuilder934</name></author>
	</entry>
	<entry>
		<id>https://forge.gemwire.uk/index.php?title=Recipes&amp;diff=2397</id>
		<title>Recipes</title>
		<link rel="alternate" type="text/html" href="https://forge.gemwire.uk/index.php?title=Recipes&amp;diff=2397"/>
		<updated>2021-02-08T00:41:18Z</updated>

		<summary type="html">&lt;p&gt;Ravenbuilder934: Improve recipes page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;With the update to Minecraft 1.12, Mojang introduced a new data-driven recipe system based on JSON files. Since then, it has been adopted by Forge as well and was expanded in Minecraft 1.13 into [[datapacks]].&lt;br /&gt;
&lt;br /&gt;
== Loading Recipes ==&lt;br /&gt;
Forge will load all recipes found within the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;./resources/data/&amp;lt;modid&amp;gt;/recipes/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; folder of your mod. You can call these files whatever you want, though the vanilla convention is to name them after the output item. For multiple recipes from different sources (smelting, crafting, etc) one vanilla convention is to use &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;item_name_from_smelting.json&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. This name is also used as the registration key but does not affect the operation of the recipe.&lt;br /&gt;
&lt;br /&gt;
== The Recipe File ==&lt;br /&gt;
A basic recipe file might look like the following example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;minecraft:crafting_shaped&amp;quot;,&lt;br /&gt;
    &amp;quot;pattern&amp;quot;:&lt;br /&gt;
    [&lt;br /&gt;
        &amp;quot;XXX&amp;quot;,&lt;br /&gt;
        &amp;quot;XAX&amp;quot;,&lt;br /&gt;
        &amp;quot;XXX&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;key&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;X&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;tag&amp;quot;: &amp;quot;forge:gems/diamond&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;A&amp;quot;:&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;item&amp;quot;: &amp;quot;mymod:myfirstitem&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;result&amp;quot;:&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;item&amp;quot;: &amp;quot;mymod:myseconditem&amp;quot;,&lt;br /&gt;
        &amp;quot;count&amp;quot;: 9&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{Colored box|title=Tip|content=When you first obtain an ingredient to a vanilla recipe, it will automatically unlock the recipe in the recipe book. To achieve the same effect, you have to use the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Advancement&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; system and create a new &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Advancement&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; for each of your ingredients.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The advancement has to exist. This doesn’t mean it has to be visible in the advancement tree.}}&lt;br /&gt;
&lt;br /&gt;
=== Groups ===&lt;br /&gt;
Optionally, you can add a group to your recipes to be displayed within the recipe helper interface. All recipes with the same group String will be shown in the same group. For example, this can be used to have all door recipes shown in the recipe helper interface as a single entry, even though there are different types of doors.&lt;br /&gt;
&lt;br /&gt;
=== Type ===&lt;br /&gt;
The type of the recipe. You can think of this as the definition of which crafting layout is to be used. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;minecraft:crafting_shaped&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;minecraft:crafting_shapeless&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; are the two options.&lt;br /&gt;
&lt;br /&gt;
== Types of Crafting Recipes ==&lt;br /&gt;
In this section, we will take a closer look at the differences between defining a shaped and a shapeless crafting recipe.&lt;br /&gt;
&lt;br /&gt;
=== Shaped Crafting ===&lt;br /&gt;
Shaped recipes require the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;pattern&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;key&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; keywords.&lt;br /&gt;
The '''Pattern''' keyword defines the slot an item must appear in using placeholder characters. You can choose whatever character you want to be a placeholder for an item.&lt;br /&gt;
'''Keys''' define what items the placeholders stand for. A key is defined by a placeholder character and the item or tag it stands for (in the correct format).&lt;br /&gt;
&lt;br /&gt;
=== Shapeless Crafting ===&lt;br /&gt;
A shapeless recipe doesn’t use the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;pattern&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;key&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; keywords.&lt;br /&gt;
&lt;br /&gt;
To define a shapeless recipe, you have to use the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;ingredients&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; list. It defines which items have to be used for the crafting process. There are many more of these types that can be used here, and you can even register your own. It is even possible to define multiple instances of the same item which means multiple of these items have to be in place for the crafting recipe to take place.&lt;br /&gt;
&lt;br /&gt;
{{Colored box|title=Tip|content=While there is no limit on how many ingredients your recipe requires, the vanilla crafting table only allows 9 items for each crafting recipe.}}&lt;br /&gt;
Below is an example of an ingredient list:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;quot;ingredients&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;tag&amp;quot;: &amp;quot;forge:gems/diamond&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;item&amp;quot;: &amp;quot;minecraft:nether_star&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
    ],&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Recipe Elements ==&lt;br /&gt;
&lt;br /&gt;
=== Patterns ===&lt;br /&gt;
A pattern will be defined with the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;pattern&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; list. Each string represents one row in the crafting grid and each placeholder character within the string represents a column. As shown in the example above, a space means that no item needs to be inserted at that position.&lt;br /&gt;
&lt;br /&gt;
=== Keys ===&lt;br /&gt;
A key set is used in combination with a pattern set. It contains keys whose name is the same as the placeholder character in the pattern list which it represents. One key may be defined to represent multiple items, as is the case for the wooden button. This means that the player can use one of the defined items for the crafting recipe, for example, different types of wood.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;quot;key&amp;quot;: {&lt;br /&gt;
     &amp;quot;#&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;item&amp;quot;: &amp;quot;minecraft:oak_planks&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;item&amp;quot;: &amp;quot;minecraft:spruce_planks&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;
=== Results ===&lt;br /&gt;
&lt;br /&gt;
Every &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;recipe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; must have a result tag to define the output item.&lt;br /&gt;
&lt;br /&gt;
When crafting something, you can get more than one item. This is achieved by defining the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;count&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; value. If this is left out, meaning it doesn’t exist within the result block, it defaults to 1. Negative values are not allowed here as an itemstack cannot be smaller than 0. There is no option to use the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;count&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; number anywhere else than the result.&lt;/div&gt;</summary>
		<author><name>Ravenbuilder934</name></author>
	</entry>
	<entry>
		<id>https://forge.gemwire.uk/index.php?title=User:Ravenbuilder934&amp;diff=2396</id>
		<title>User:Ravenbuilder934</title>
		<link rel="alternate" type="text/html" href="https://forge.gemwire.uk/index.php?title=User:Ravenbuilder934&amp;diff=2396"/>
		<updated>2021-02-07T23:46:51Z</updated>

		<summary type="html">&lt;p&gt;Ravenbuilder934: line spacing...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;heya nerds&lt;br /&gt;
&lt;br /&gt;
minecolonies and quote 90&lt;/div&gt;</summary>
		<author><name>Ravenbuilder934</name></author>
	</entry>
	<entry>
		<id>https://forge.gemwire.uk/index.php?title=User:Ravenbuilder934&amp;diff=2395</id>
		<title>User:Ravenbuilder934</title>
		<link rel="alternate" type="text/html" href="https://forge.gemwire.uk/index.php?title=User:Ravenbuilder934&amp;diff=2395"/>
		<updated>2021-02-07T23:46:10Z</updated>

		<summary type="html">&lt;p&gt;Ravenbuilder934: Created page with &amp;quot;heya nerds minecolonies and quote 90&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;heya nerds&lt;br /&gt;
minecolonies and quote 90&lt;/div&gt;</summary>
		<author><name>Ravenbuilder934</name></author>
	</entry>
</feed>