> For the complete documentation index, see [llms.txt](https://docs.mantic.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mantic.dev/mantic-generators/how-to-make-a-new-generator.md).

# How to make a new generator

Mantic Development's Generator Minecraft Plugin

Every generator type lives in its own `.yml` file inside the `generators` folder. To create a new generator, add a new `.yml` file—the filename becomes the generator's internal type name and must follow the same format as an existing generator file (for example, `Money.yml`).

## Example generator file structure

```yml
display: '&aMoney Generator'

# Below are the settings for this set.
# Refer to the _INFO.txt file for more information on how to configure this file.
generator:
  max-tier: 5
  base-tier-cost: 100000
  tier-cost-increase-per-upgrade: 125000
  frequency-seconds: 300
  give-command: eco give {player} {amount}
  starting-amount: 1000
  extra-amount-per-tier: 1000
material: skull-<base64-texture>
damage: 3
glowing: true
title: '&2&l[$] &a&lMoney Generator &2&l[$] &7(Tier {tier})'
lore:
  - '&7&oPassive income, delivered in style.'
  - ''
  - '&f▸ &7Type: &aMoney'
  - '&f▸ &7Tier: &a{tier}&7/&a5'
  - '&f▸ &7Base Amount: &a$1000'
  - '&f▸ &7Per Tier: &a+$1000'
  - '&f▸ &7Interval: &a300s'
  - ''
  - '&aPlace this generator to print money over time.'
hologram:
  y-level-adjustment: 3.7
  lines:
    - '&2&l[ MONEY GENERATOR ]'
    - '&fTier: &a{tier}&7/&a5'
    - '&fGenerates: &a${amount}'
    - '&fCollected: &a${collected}'
    - '&fNext Drop: &a{generation}'
blocks:
  middle: GOLD_BLOCK
  corner: GLOWSTONE
  stairs: STONE_BRICK_STAIRS
```

## Field reference

* `display` — Internal display name for the generator type.
* `generator.max-tier` — Maximum upgrade tier available.
* `generator.base-tier-cost` — Cost to upgrade from tier 1 to tier 2.
* `generator.tier-cost-increase-per-upgrade` — How much the upgrade cost increases per subsequent tier.
* `generator.frequency-seconds` — Interval, in seconds, between payouts.
* `generator.give-command` — Console command run to reward the player; supports `{player}` and `{amount}` placeholders.
* `generator.starting-amount` — Amount given per payout at tier 1.
* `generator.extra-amount-per-tier` — Extra amount added to the payout per tier above 1.
* `material` — Item material, or a `skull-<base64texture>` string for a custom player-head texture.
* `damage` — Legacy damage value, used for pre-1.13 resource pack compatibility.
* `glowing` — Whether the generator item has an enchant glow effect.
* `title` — Item display name; colour codes and the `{tier}` placeholder are supported.
* `lore` — List of item lore lines.
* `hologram.y-level-adjustment` — Vertical offset for the hologram above the generator.
* `hologram.lines` — Hologram text lines; supports `{tier}`, `{amount}`, `{collected}`, and `{generation}`.
* `blocks.middle` — Block used for the generator's middle/core block.
* `blocks.corner` — Block used for the generator's corner blocks.
* `blocks.stairs` — Stairs block used for the generator's structure.

## Creating a custom generator

{% stepper %}
{% step %}

### Copy and rename an existing generator file

Copy an existing file, such as `Money.yml`, into `generators/` and rename it to your new type, such as `Gems.yml`.
{% endstep %}

{% step %}

### Configure the reward command

Change `give-command` to the command that grants your reward, such as a crate-key or custom-plugin command.
{% endstep %}

{% step %}

### Balance the generator

Adjust `starting-amount`, `extra-amount-per-tier`, `frequency-seconds`, and the tier-cost fields to balance the economy.
{% endstep %}

{% step %}

### Customize its appearance

Update `material`, `damage`, and `blocks` to give the generator a unique appearance. Adjust the `title`, `lore`, and `hologram.lines` text.
{% endstep %}

{% step %}

### Reload generators

Run `/generator reload`.

The new type is immediately available and automatically appears in the per-type pending balance breakdown in the Your Generators GUI.
{% endstep %}
{% endstepper %}
