# :icon-gift: Reward Types

Eight different reward types can be configured per advancement.

* * *

#### 

**A. Command Rewards**

Executes console commands when an advancement is completed.

```yaml
hasReward: true
rewards:
  - give %player% diamond 5
  - say %player% just completed an advancement!
  - {command: "give %player% diamond 1", chance: 0.5, delay: 20}
```

**Advanced syntax:** Use JSON-like format for chance-based and delayed commands.
- `chance`: 0.0 to 1.0 probability
- `delay`: Delay in ticks (20 ticks = 1 second)

* * *

#### 

**B. Money Rewards (Vault)**

Gives money to the player on completion. Requires Vault + an economy plugin.

```yaml
money:
  enabled: true
  amount: 100.0
```

* * *

#### 

**C. Item Rewards**

Gives items directly to the player's inventory. Overflow drops at the player's location.

```yaml
rewards-items:
  '0':
    material: DIAMOND
    amount: 3
    name: '&b&lReward Gem'
    lore:
      - '&7A special reward'
    enchantments:
      SHARPNESS: 5
    customModelData: 1001
  '1':
    material: NETHERITE_INGOT
    amount: 1
```

* * *

#### 

**D. Permission Rewards (LuckPerms)**

Grants permissions to the player on completion. Requires LuckPerms.

```yaml
rewards-permissions:
  - premiumadvancements.vip
  - some.other.permission
rewards-permission-enabled: true
```

* * *

#### 

**E. PlayerPoints Rewards**

Gives PlayerPoints on completion.

```yaml
rewards-playerpoints: 50
```

* * *

#### 

**F. Random Reward Pools**

Weighted random selection from a pool of rewards.

```yaml
rewards-pools:
  epic_loot:
    picks: 1                              # Number of rewards to select
    rewards:
      '0':
        command: give %player% netherite_sword 1
        weight: 1                         # Higher weight = more likely
        chance: 0.3                       # 30% chance if selected
      '1':
        command: give %player% diamond_block 5
        weight: 3
      '2':
        command: give %player% golden_apple 5
        weight: 2
        delay: 40                         # Delay in ticks
```

**Selection logic:** Rewards are selected without replacement, weighted by the `weight` field. Each selected reward then rolls its individual `chance` (if set).

* * *

#### 

**G. Broadcast**

Broadcasts a message to all players when completed. Supports all color code formats (legacy `&`, hex `&#RRGGBB`, MiniMessage tags, gradients, rainbow).

```yaml
broadcast:
  enabled: true
  message: '&5&l%player% &dcompleted the advancement &5&l%advancement%&d!'
```

**Placeholders:** `%player%` and `%advancement%` are supported.

* * *

#### 

**H. Discord Webhook**

Sends a customizable Discord embed when completed.

```yaml
webhook-enabled: true
```

The global webhook URL and embed template are configured in `webhook.yml`. This toggle is per-advancement and only works when the global toggle is enabled.
