Feed The Beast Wiki:Crafting grid guide

Crafting tables are an important system for telling users how items are obtained, and it's important that the system to create crafting tables on the wiki is well understood by all editors. This guideline has been created to do just that. The system was custom-written for this wiki by, and is extremely powerful and adaptive.

Basics
Crafting grid of any kind are named using the following convention: Cg/Crafting grid name. For example: If any crafting grid is not available (a list of all crafting grids can be seen here), please contact a staff member.
 * Crafting table - Cg/Crafting Table
 * Furnace - Cg/Furnace
 * Macerator - Cg/Macerator
 * Sawmill - Cg/Sawmill

When using a crafting grid, the specific cell names can vary depending on the specific grid (look at the grid's documentation to work out the names for the cells). The system for defining how many of a specific item must go in one slot can vary depending on the grid being used. In all following examples, the crafting table grid will be used for simplicity's sake. When adding items to a crafting grid, the G template must be used. This template will be covered more in-depth later on, however in the simplest terms possible it detects equivalent items and displays the icons in the crafting table.

Using the Ore Dictionary
The G template automatically detects items that are equivalent to the item you entered, finds a suitable icon for the item entered plus subsequent items discovered and finally displays the icon/s on-screen. Here is a basic crafting recipe, which displays as the recipe for a diamond pickaxe.

The above example creates this crafting table:

As you can see, though only Diamonds were defined in the crafting table, the crafting table system has automatically detected that diamonds equate to Industrial Diamonds in Minecraft's Ore Dictionary. This is a very useful feature, and removes a lot of the work required in maintaining crafting tables when there are updates to mods. The ore dictionary that the wiki uses is periodically updated by actually detecting equivalent items in Minecraft's code.

Bypassing the Ore Dictionary
If there is a specific crafting recipe for which the mod author has disabled the ore dictionary, you should use the Gc template.

The above example creates this crafting table:

Now, the diamonds do not automatically switch to industrial diamonds. This is because the G template checks with the Ore Dictionary system for equivalent items, while the Gc template does not. It will use the item given, and only that item. A feature of the G template is the no-anim=1 argument, however this should not be used within a crafting table. It is used to display all equivalent items next to each other, instead of automatically fading. For example,

becomes

instead of

Forcing Use of the Ore Dictionary
Some items will automatically not check with the ore dictionary for equivalents, such as a piston. Using the example of the piston, in the ore dictionary it is equivalent to a sticky piston. However, they are rarely, if ever interchangeable in crafting recipes, hence why it is bypassed automatically. To force it to check the ore dictionary, use the O template and its ore dictionary tag. The following code:

becomes

Combining Crafting Grids
Sometimes when creating crafting tables, it would be useful and/or neater to combine multiple crafting grids of the same type. This is very simple. All you must do is list more than one item in the specific slot, for example:

This becomes the following crafting table:

If you would like to combine two or more recipes that do not have items in the same slots, for example a diamond pickaxe and a stone gear, add an empty G template:

This becomes the following crafting table:

Input Types
There are various different input types for crafting grids. They are grids, images, strings (text) and tanks.

Grids
Grids are the correct name for item or block images. They are created using the G template.

The G is explained in more detail above.

Tanks
Tanks are the next most common input type. They are used in templates such as the Cg/Liquid Transposer template. The following are the available parameters to T.
 * 1: Type of liquid. The liquid image should be uploaded to Liquid .png.
 * 2: The amount of liquid required for one iteration of the recipe.
 * img: (optional) Specify a custom image to be used as the liquid.
 * tooltipclass: (optional) Add a class to the tooltip wrapper.
 * tooltipstyle: (optional) Additional tooltip styles.
 * tooltiptext: (optional) Changes the tooltip text. Accepts the following variables: $1: Liquid name. $2: Liquid amount.

It is used in a crafting grid like so:

Please note, if you'd like to create a tank outside of a crafting table, you should use G/T. T only creates tanks within crafting grids.

Strings
Strings are simply text displayed on the crafting grid, for example in Cg/Industrial Centrifuge. They are added to crafting grids using S. As always, the arguments for specific grids are displayed in the documentation of that crafting grid.

Images
Images are the final form of input type into crafting grids. They are used to input an image for display on the crafting grid. To input an image, use I. It accesses the file at  .png, for example:

accesses File:GUI Metal Former A.png, creating the following image in the crafting table:

Manual Animation
In the case that items interchange in a recipe while not being equal in the ore dictionary, you must create a manual animation. This is done with the N template. However, there is an important limitation. You cannot use already animated items, meaning you should always use Gc, not G. This animation system also works with tanks, strings and images. This is how to animate using N:

Note: This example uses G/T because it is not within a crafting grid, however the theory works the same with T.

To do this in a crafting grid, put the above code inside the crafting grid cell input:

To save some space, there are not examples for animated images, strings or tanks. It should be fairly obvious how to use N for these input types.