# Configuration The config file is at `plugins/PacketTrigger/config.yml`. Run `/pt reload` after making changes. ## Settings section ```yaml settings: log-to-console: true console-log-prefix: "[PacketTrigger]" log-packet-content: false ``` | Field | Default | Description | |---|---|---| | `log-to-console` | `true` | Print a line to console whenever a trigger fires | | `console-log-prefix` | `[PacketTrigger]` | The prefix shown before those console lines | | `log-packet-content` | `false` | Print every intercepted chat packet. Very spammy — only turn on when debugging | You can toggle `log-to-console` and `log-packet-content` live without reloading using `/pt toggle`. ## Full trigger structure ```yaml triggers: my-trigger: enabled: true placeholder: "$tag" delimiter: "!" packet-source: SYSTEM permission: "myserver.sometrigger" cooldown: 5 conditions: - "{1} > 0" - "%player_level% >= 10" actions: - type: SEND_MESSAGE message: "&aHello %player%!" ``` | Field | Required | Default | Description | |---|---|---|---| | `enabled` | No | `true` | Set to `false` to disable this trigger without deleting it | | `placeholder` | **Yes** | — | The string the message must start with | | `delimiter` | No | `!` | The separator between data values in the message | | `packet-source` | No | `SYSTEM` | Which packet type to watch. `SYSTEM`, `PLAYER`, or `BOTH` | | `permission` | No | — | If set, only players with this permission will trigger it | | `cooldown` | No | `0` | Seconds between fires per player. `0` = no cooldown | | `conditions` | No | — | List of conditions that must all pass. See [Conditions](Conditions.md) | | `actions` | **Yes** | — | List of actions to run. See [Actions](Actions.md) |