# Pedestal

The `pattern` and `key` form a fixed 3×3 grid.

[Fixed grids](https://movblock.mov/ntm-next/26.3/wiki/recipes/fixed-grids.md) describes `pattern` and `key`. Grid cells map to the pedestals around the redstone-powered centre, with row 0 to the north and column 0 to the west. Each cell must hold exactly its key's `count`. The first matching row by `order` replaces the centre item with the output and clears the other pedestals.

## Fields

| Field | Meaning and default | Range |
| - | - | - |
| `type` | Selects the `hbm:pedestal` recipe format. | |
| `name` (Optional) | Internal lookup name; defaults to the last segment of the recipe resource path. | |
| `output_items` | Fixed or weighted item-output positions; defaults to an empty list. | |
| `output_items.item ID` | Fixed output: String form for one item. | |
| `output_items.id` | Item ID in a stack object. | |
| `output_items.count` (Optional) | Stack size; default 1. | `[1, 99]` |
| `output_items.components` (Optional) | Item-component values. | |
| `output_items.chance` (Optional) | Output chance; omit for a guaranteed output. Some machines roll each item of the stack separately. | Rounds to weight `[1, 999]` of 1000 |
| `output_items.data` | Weighted choice: Stack object or an empty object for no output. | |
| `output_items.weight` | Relative selection weight; a positive total selects an output. | `[0, i32::MAX]` each; $\sum_i w_i \le \texttt{i32::MAX}$ |
| `order` (Optional) | Sort position within the recipe table; lower values first, default 2147483647. | `i32` |
| `key` | Maps each grid symbol to a counted ingredient. | |
| `key.ingredient` | Item ID, item tag, or loader ingredient object. | |
| `key.count` (Optional) | Items required from one stack; default 1. The item stack limit bounds a usable count. | `[1, i32::MAX]` |
| `key.components` (Optional) | Exact item-component values. | |
| `key.predicates` (Optional) | Item-component predicates. | |
| `pattern` | Three rows of three characters for the fixed-grid recipe. | |
| `recipe_set` (Optional) | Clay tablet that lists the ritual: 0 for `hbm:clay_tablet`, 1 for `hbm:clay_tablet_1`; other integers alias by parity; matching is unaffected; default 0. | `i32` |
| `extra` (Optional) | Additional condition: `none`; `full_moon` or `new_moon` around midnight in that moon phase; `sun` around noon; `good_karma` or `bad_karma` with a player within 20 blocks at reputation at least 10 or at most -10; default `none`. | |

## Example

Source path: `data/hbm/recipe/pedestal/pedestal.ammo_secret_p35_800.json`

```json
{
  "type": "hbm:pedestal",
  "key": {
    "A": {
      "ingredient": "hbm:item_secret_aberrator"
    }
  },
  "order": 15,
  "output_items": [
    {
      "count": 5,
      "id": "hbm:ammo_secret_p35_800"
    }
  ],
  "pattern": [
    "   ",
    " A ",
    "   "
  ],
  "recipe_set": 1
}
```
