Difference between revisions of "User:KnightMiner/Tag Standards"

From Forge Community Wiki
(Created page with "This page details standardized tag names for compatibility among modders. The following subsections give specific information on where the tags are used. == Materials == Mat...")
 
Line 1: Line 1:
 
This page details standardized tag names for compatibility among modders. The following subsections give specific information on where the tags are used.
 
This page details standardized tag names for compatibility among modders. The following subsections give specific information on where the tags are used.
 +
 +
== General ==
 +
 +
In general, tag names should follow a couple of conventions for consistency:
 +
 +
* Tag names should be plural.
 +
* Tag names should be in US English, rather than English variants such as British English. This is for consistency with the default language.
 +
* Tags should be stored under <code>forge</code> if they are used commonly between mods. Tags specific to a single mod should be stored under the mod ID.
 +
 +
=== Output Consistency ===
 +
 +
This section describes how to set up recipes for tagged output to allow to choose their preferred output for tagged outputs.
 +
 +
* If recipe involves crafting a tagged input into a tagged output, do not use tags on the input. This means that the recipe result is consistent for a given input.
 +
* If a recipe involves crafting multiple tagged inputs into a tagged output, all inputs expect 1 should be tagged. This allows the user to select the preferred output by varying non-tagged input.
 +
** For linear recipes, the first slot should contain the untagged input.
 +
** For two-dimensional recipes (such as crafting tables), the centermost slot should contain the untagged input. If there is an even number of inputs, prefer the the upper-left slot of the center.
 +
 +
Examples:
 +
 +
* A recipe crafting 9 Tinkers' Construct copper nuggets should use a single Tinkers' Construct copper ingot as the input. If all mods their recipe for copper nuggets like this, the mod will be consistent between the recipe input an output.
 +
* A recipe crafting a Tinkers' Construct copper ingot from 9 copper nuggets should use a Tinkers' Construct copper nugget in the center of the 3x3. If all mods their recipe for copper ingots like this, the mod will be consistent between the center item and the output, while nuggets on the outside can be from any mod.
  
 
== Materials ==
 
== Materials ==

Revision as of 04:17, 8 March 2021

This page details standardized tag names for compatibility among modders. The following subsections give specific information on where the tags are used.

General

In general, tag names should follow a couple of conventions for consistency:

  • Tag names should be plural.
  • Tag names should be in US English, rather than English variants such as British English. This is for consistency with the default language.
  • Tags should be stored under forge if they are used commonly between mods. Tags specific to a single mod should be stored under the mod ID.

Output Consistency

This section describes how to set up recipes for tagged output to allow to choose their preferred output for tagged outputs.

  • If recipe involves crafting a tagged input into a tagged output, do not use tags on the input. This means that the recipe result is consistent for a given input.
  • If a recipe involves crafting multiple tagged inputs into a tagged output, all inputs expect 1 should be tagged. This allows the user to select the preferred output by varying non-tagged input.
    • For linear recipes, the first slot should contain the untagged input.
    • For two-dimensional recipes (such as crafting tables), the centermost slot should contain the untagged input. If there is an even number of inputs, prefer the the upper-left slot of the center.

Examples:

  • A recipe crafting 9 Tinkers' Construct copper nuggets should use a single Tinkers' Construct copper ingot as the input. If all mods their recipe for copper nuggets like this, the mod will be consistent between the recipe input an output.
  • A recipe crafting a Tinkers' Construct copper ingot from 9 copper nuggets should use a Tinkers' Construct copper nugget in the center of the 3x3. If all mods their recipe for copper ingots like this, the mod will be consistent between the center item and the output, while nuggets on the outside can be from any mod.

Materials

Material tags all follow the general format of forge:<prefix>/<material>.

Common metals

This section contains names for many common metals that show up in multiple mods and names for materials named after real world materials.

ID Name(s) Obtaining
Gold gold Ore (vanilla)
Iron iron Ore (vanilla)
Netherite Scrap
Ancient Debris
netherite_scrap Ore (vanilla)
Netherite netherite Alloying 1 from 4 gold and 4 netherite scrap (vanilla)
Copper copper Ore
Vanilla ore in 1.17
Aluminum aluminum Ore
Lead lead Ore
Nickel nickel Ore
Osmium osmium Ore
Platinum platinum Ore
Silver silver Ore
Tin tin Ore
Tungsten tungsten Ore
Uranium uranium Ore
Zinc zinc Ore
Steel steel Purifying iron, exact process varies
Brass brass Alloying 4 from 3 copper and 1 zinc
Bronze brass Alloying 4 from 3 copper and 1 tin
Constantan constantan Alloying 2 from 1 copper and 1 nickel
Electrum electrum Alloying 2 from 1 gold and 1 silver
Hepatizon hepatizon Alloying 4 from 2 copper, 1 cobalt, and 1 obsidian
Invar invar Alloying 3 from 2 iron and 1 nickel
Rose Gold rose_gold Alloying 4 from 3 copper and 1 gold
Silicon Bronze
Tinker's Bronze
silicon_bronze Alloying 4 from 3 copper and 1 silicon (sand)

Common non-metals

This section contains names for many common materials that are not metals. This means they will contain

Name(s) ID Type Obtaining Notes
Coal coal None Ore (vanilla)
Redstone coal Dust Ore (vanilla)
Lapis Lazuli coal Gem Ore (vanilla) Logically more similar to a dust, but classification used in Forge.
Diamond coal Gem Ore (vanilla)
Emerald emerald Gem Ore (vanilla)
Quartz quartz Gem Ore (vanilla) Storage block is only 4 to 1 instead of 9 to 1. There are discussions to use a different storage block prefix.
Wood
Wooden
wooden Log
Planks
Ore (vanilla) Does not use most standard prefixes

Prefixes

This section describes common tag prefixes and their values relative to an ingot. Columns marked as ore means mod mechanics such as ore doubling can safely be used on the tag without the risk of crafting duplication.

Name Prefix Ratio Is Ore Notes
Value Ingots
Ingot ingots 1 1 No
Nugget nuggets 9 1 No
Block storage_blocks 1 9 No
Ore ores 1 1 Yes
Gems gems 1 1 No Unlike ingots, multiple may drop from mining ores using fortune.
Non-standard, diamond and lapis lazuli respond from ores differently.
Most ores either have gems or ingots/nuggets.
Nugget Ore nugget_ores 9 1 Yes Uncommon, most mods use poor ores instead
Poor Ore poor_ores 3 1 Yes Note that a 3 to 1 ratio means each ore is 3 nuggets
Dense Ore dense_ores 1 3 Yes
Dust dusts 1 1 No Output from crushing ores typically, commonly used as part of an ore multiplying method.
For some ores, the ore dropped dust directly. Multiple typically drop.
Tiny Pile of Dust tiny_dusts 9 1 No Output from crushing nuggets or nugget ores, uncommon
Plate plates 1 1 No
Dense Plate dense_plates 1 3 No
Rod rods 2 1 No
Gear gears 1 4 No
Wire wires 2 1 No Uncommon, used in mods such as Immersive Engineering
Fence fences 3 5 No Uncommon

Common Tags

The table below contains a list of common tags used in multiple mods that are not included in Forge or vanilla. Some of these tags have subtags, all items in the subtags are added to the base tag.

ID Vanilla items Notes
forge:workbenches Crafting Table Currently includes both wooden and non-wooden crafting tables. If needed additional subtags could be proposed.