> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sentrystudios.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Commands & Trust System

> Administrative commands, modular reload routines, and player trust list management.

SentryPremades provides an administrative command suite alongside an in-game player trust system that prevents friendly fire during team and faction gameplay.

The primary command label is `/sentrypremades`, with the convenient short alias `/premades`.

***

## Command Reference

| Command | Arguments | Description |
| :- | :- | :- |
| `/premades ability` | `<ability-id>` | Executes a registered premade ability from the commanding player. |
| `/premades reload` | `[module]` | Reloads the entire plugin or a specific subsystem module. |
| `/premades trust add` | `<player>` | Adds an online player to your trusted allies list. |
| `/premades trust remove` | `<player>` | Removes an ally from your trust list. |
| `/premades trust list` | None | Displays all players currently on your trust list. |

***

## Detailed Command Usage

### Testing Abilities In-Game

You can trigger any registered ability directly on demand without needing an item or skill binding:

```shell theme={null}
/premades ability flaming-shot
```

The command tab-completes all registered abilities currently loaded on your server (such as `flaming-shot`, `freezing-dash`, or `poisoning-rain`).

***

### Reloading Modules

SentryPremades features modular reloading, allowing you to reload individual integrations without interrupting the entire plugin:

```shell Full Reload theme={null}
/premades reload
```

```shell Reload Specific Subsystem theme={null}
/premades reload "ItemsAdder Integration"
/premades reload "Nexo Integration"
/premades reload "TrustManager"
```

When you supply an argument, tab-completion automatically suggests all active reloadable modules.

***

### The Trust System

Many premade abilities produce large explosions, cryogenic bursts, or lingering poison zones. To keep competitive gameplay fair and prevent friendly fire inside factions, teams, or parties, SentryPremades includes a built-in player trust registry.

#### Managing Trusted Allies

Players can manage their trust lists at any time using the `/premades trust` subcommands:

**1. Add an Ally**

To protect a friend from your abilities:

```shell theme={null}
/premades trust add CoolPlayer42
```

**2. Review Your Active List**

View who you currently trust:

```shell theme={null}
/premades trust list
```

**3. Remove an Ally**

If an ally leaves your party or faction:

```shell theme={null}
/premades trust remove CoolPlayer42
```

#### How Trust Protection Works

**1. 1. Combat Trigger**

When an ability detonates or deals area damage, the engine checks who cast the skill and who is in the blast radius.

**2. 2. Trust Verification**

If both the attacker and target are players, the engine instantly checks if the target is on the attacker's trust list.

**3. 3. Automatic Protection**

If the target is trusted, all damage, knockback impulses, fire ticks, and negative status effects are cancelled. Monsters and untrusted enemies take full damage.

***

## Data Persistence & Storage

Trust lists are automatically cached in memory for zero lag during combat. Changes are asynchronously saved to your database backend every 60 seconds and when players disconnect.

Storage is configured in `plugins/SentryPremades/config.yml`:

```yaml plugins/SentryPremades/config.yml theme={null}
trust-database: yaml:trustlists.yml
```

* **Flatfile (Default):** Stores player trust lists locally in `plugins/SentryPremades/trustlists.yml`.
* **Database Connection:** Supports external database URI strings for cross-server network synchronization.

***

## Messages Configuration

All feedback messages sent to players and administrators are customizable in `plugins/SentryPremades/messages.yml`:

```yaml plugins/SentryPremades/messages.yml theme={null}
no-permission: "&cERROR &7• &fYou do not have permission to do this!"
missing-ability-arg: "&cERROR &7• &fPlease specify an ability!"
non-valid-ability: "&cERROR &7• &fPlease specify a valid ability!"
ability-executed: "&aSUCCESS &7• &fAbility {ability} executed!"
full-reload: "&aSUCCESS &7• &fReload done!"
reloadable-reload: "&aSUCCESS &7• &f{reloadable} has been reloaded!"
player-not-found: "&cERROR &7• &f{player} was not found!"
player-trust-already-added: "&cERROR &7• &f{player} is already trusted!"
player-trust-add: "&aSUCCESS &7• &f{player} is now trusted!"
player-trust-remove: "&aSUCCESS &7• &f{player} is no longer trusted!"
player-only: "&cERROR &7• &fOnly players can use this command!"
command-not-found: "&cERROR &7• &fCommand not found!"
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.