> For the complete documentation index, see [llms.txt](https://star-generator.gitbook.io/star-generator-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://star-generator.gitbook.io/star-generator-docs/configuration/table-yml.md).

# table yml

Table files define the machine item, entity model, main GUI, recipe page, recipe list, craft method page, reward GUI, energy settings, and upgrade behavior.

Pack table files are loaded from:

```
plugins/StarGenerator/pack/<pack-name>/table/*.yml
```

The table id is:

```
<pack-name>:<file-name>.yml
```

Example:

```
Starter_IceCream:frostcraft.yml
```

## Minimal Structure

```yaml
name: "&8FrostCraft"
recipe:
  - "Starter_IceCream:vanilla_scoop.yml"
minecraft-recipes: false

icon:
  type: "itemsadder:starter_icecream:ice_cream_maker"
  amount: 1
  name: "&bFrostCraft"
  lore: []

table-entity:
  provider: "ModelEngine"
model: "frostcraft"
active-animation: "at"
idle-animation: "idel"

gui:
  size: 45
  craftType: "OUTPUT"
  background_item: "itemsadder:starter_icecream:ui_background_default"
  background-slot: [0,8,14,15,16,17,25,26,27,34]
  craftingSlot:
    column_0: [1,2,3,4]
    column_1: [10,11,12,13]
    column_2: [19,20,21]
    column_3: [28,29,30]
  progress_slot: [32]
  progress:
    0: "itemsadder:starter_icecream:ui_progress_0"
    25: "itemsadder:starter_icecream:ui_progress_25"
    50: "itemsadder:starter_icecream:ui_progress_50"
    75: "itemsadder:starter_icecream:ui_progress_75"
    100: "itemsadder:starter_icecream:ui_progress_100"
  progress-detail:
    lore:
      - "&7Progress: &f%progress_percent%%"
      - "&7Crafting Time: &f%crafting_time%"
```

## Top-Level Fields

| Field                   | Description                                                            |
| ----------------------- | ---------------------------------------------------------------------- |
| `name`                  | Inventory title and display name base.                                 |
| `recipe`                | List of recipe ids this table can craft.                               |
| `minecraft-recipes`     | Lets the table include supported Minecraft recipes in its recipe flow. |
| `craft-cost`            | Optional per-table time and energy reductions.                         |
| `icon`                  | Item given by `/sg get` and used as table item.                        |
| `table-entity.provider` | `ModelEngine` or `MythicMobs`.                                         |
| `model`                 | ModelEngine model id or MythicMobs mob id.                             |
| `active-animation`      | Animation played during crafting.                                      |
| `idle-animation`        | Animation played while idle.                                           |
| `recipe-gui`            | Recipe page GUI.                                                       |
| `recipe-list-gui`       | Full recipe list GUI.                                                  |
| `recipe-detail-gui`     | Craft method page opened after selecting a recipe.                     |
| `reward-gui`            | Stored reward GUI.                                                     |
| `gui`                   | Main crafting GUI.                                                     |
| `energySetting`         | Optional energy system settings.                                       |
| `upgrade`               | Optional table upgrade settings.                                       |

## Main GUI

```yaml
gui:
  size: 45
  craftType: "OUTPUT"
  background_item: "itemsadder:starter_icecream:ui_background_default"
  background-slot: [0,8,14,15,16,17,25,26,27,34]
  enableSlideRecipeSlot: true
  gobalInventory: true
  craftingSlot:
    column_0: [1,2,3,4]
    column_1: [10,11,12,13]
    column_2: [19,20,21]
    column_3: [28,29,30]
  progress_slot: [32]
  progress:
    0: "itemsadder:starter_icecream:ui_progress_0"
    25: "itemsadder:starter_icecream:ui_progress_25"
    50: "itemsadder:starter_icecream:ui_progress_50"
    75: "itemsadder:starter_icecream:ui_progress_75"
    100: "itemsadder:starter_icecream:ui_progress_100"
  progress-detail:
    name: "&eCraft Progress"
    lore:
      - "&7Progress: &f%progress_percent%%"
      - "&7Crafting Time: &f%crafting_time%"
```

Slot indexes start at `0`. If a configured GUI slot is outside the GUI size, StarGenerator skips that visual item instead of breaking the table load.

Keep these slot groups separate:

* Craft input slots.
* Output slots.
* Progress slots.
* Energy input and energy progress slots.
* Recipe page, recipe list, reward, upgrade, confirm, back, next, and previous buttons.
* Background slots.

## Buttons

Configured buttons can be placed in `gui.button` and in GUI page-specific `button` sections:

```yaml
gui:
  button:
    example:
      slot: [35]
      slot_type: "TopInventory"
      name: "&aButton"
      type: "itemsadder:starter_icecream:ui_button_recipe_page"
      lore:
        - "&7Optional button lore."
      hideTooltip: false
      tooltipStyle: ""
      cmdType: "Player"
      commands: []
```

Custom buttons are supported in:

* `gui.button`
* `recipe-gui.button`
* `recipe-list-gui.button`
* `recipe-detail-gui.button`
* `reward-gui.button`
* `upgrade.button`

## Recipe GUI Button

The recipe page open button is defined under `recipe-gui.openButton`, but it appears in the main GUI.

```yaml
recipe-gui:
  enabled: true
  recipeSlot: [9]
  openButton:
    slot: [9]
    name: "&eRecipe Page"
    type: "itemsadder:starter_icecream:ui_button_recipe_page"
```

## Recipe List Button

```yaml
recipe-list-gui:
  enabled: true
  open-slot: [18]
  openButton:
    slot: [18]
    name: "&eRecipe List"
    type: "itemsadder:starter_icecream:ui_button_recipe_list"
```

## Craft Method Page

The page opened after selecting a recipe is `recipe-detail-gui`.

```yaml
recipe-detail-gui:
  enabled: true
  size: 45
  crafting-slot:
    column_0: [10,11,12]
    column_1: [19,20,21]
    column_2: [28,29,30]
  output-slot: [24]
  select-slot: [33]
```

## Reward Button

```yaml
reward-gui:
  enabled: true
  output: 6
  reward-slot: [7]
  storage-slot: [9,10,11,12,13,14,15,16]
  openButton:
    slot: [7]
    name: "&dRewards"
    type: "itemsadder:starter_icecream:ui_button_rewards"
```

`reward-gui.output` is the completed craft output slot. Do not use it as a reward-open button slot.

## Energy Progress Detail

Energy progress bars can share one display name and lore for every energy bar item:

```yaml
energySetting:
  energy-progress-detail:
    name: "&bStored Energy"
    lore:
      - "&7Stored: &f%current_energy%/%max_energy%"
      - "&7Charge: &f%energy_percent%%"
```

## Upgrade Progress Detail

Upgrade progress can also use shared detail:

```yaml
upgrade:
  progress-detail:
    name: "&eUpgrade Progress"
    lore:
      - "&7Progress: &f%progress_percent%%"
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://star-generator.gitbook.io/star-generator-docs/configuration/table-yml.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
