# Features

## Rewards based permission and cooldown time

The plugin allows you to create an unlimited amount of rewards based permission, cooldown and type.

#### Reward Storage data example:

```
rewards:
  daily: # reward id - section
    enabled: true
    name: '&7&lDaily' // display name 
    permission: daily // %ultimaterewards_reward_daily%
    cooldown: 1440 // X minutes
    type: SINGLE // reward type
    commands:
    - eco give %player% 200
```

#### Cooldown Storage data example:

```
cooldowns:
  daily:
    LvEUyJPqgYuSbAIa:
      uuid: 69d883bf-5a0d-4609-9b4f-13afaef4456b
      rewardID: daily
      time: 1618166707796
```

## Reward Types

### `type: SINGLE` : execute the first command on the list.

```
rewards:
  daily:
    type: SINGLE
    commands:
    - eco give %player% 200
```

### `type: MULTIPLE` : execute all commands on the list.

```
rewards:
  gift:
    type: MULTIPLE
    commands:
    - give %player% diamond 1
    - give %player% emerald 1
    - give %player% gold_ingot 1
    - give %player% iron_ingot 1
```

### `type: RANDOM` : execute by random one command from the list.

```
rewards:
  random:
    type: RANDOM
    commands:
    - give %player% diamond 1
    - give %player% emerald 1
    - give %player% gold_ingot 1
    - give %player% iron_ingot 1
```

## Purge System

To save memory and disk space, the purge system will purge every ended cooldown or unexists rewards in cooldown data file or ingame, you can customize the system as you want from `config.yml`:

```
autoPurge:
  enabled: true // enable the auto purge
  debug: false // debug the removed data
  time: 5 // every x minutes to force purge
```


---

# Agent Instructions: 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://reflexlabs.gitbook.io/reflexlabs/resources/ultimaterewards/features.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.
