# Config

The plugin is managed entirely through 4 files: `config.yml` , `messsages.yml,` `gui.yml` and `settings.yml`. Below is an explanation of how to use each config file.

### Example config.yml

```yaml
# =======================================================
# AliienPunishmentGUI - Configuration
# Uses standard LiteBans punishment types, such as: warn, kick, tempmute, mute, tempban, ban, ipban
# =======================================================
punishments:
  spam:
    name: "<yellow><b>Chat Spamming" # Display name in the menu (does not affect the punishment on its own)
    reason: "Spam / Flood" # Punishment reason (will be shown in /hist and to the player, do not use colors here
    material: PAPER # Display material in the menu (does not affect the punishment on its own)
    glow: false # Makes the item glow
    slot: 0 # Slot in the menu (does not affect the punishment on its own)
    page: 1 # Page in the menu (does not affect the punishment on its own)
    lore: # Lore in the menu (does not affect the punishment on its own)
      - "<dark_gray>Chat Offence"
      - ""
      - "<gray>Punishing for sending repetitive,"
      - "<gray>fast, or meaningless messages."
      - ""
      - "  <dark_gray>» <white>1st Offence: <yellow>Warning"
      - "  <dark_gray>» <white>2nd Offence: <gold>30m Mute"
      - "  <dark_gray>» <white>3rd Offence: <red>Permanent Mute"
      - ""
      - "<green>✔ Click to apply punishment"
    ladder: # Ladder/offences
      1: # number of the offence
        type: "warn" # Type of the offence (put these exactly like the LiteBans prefixes, so warn, tempmute, ban, etc)
      2:
        type: "tempmute"
        duration: "30m" # Duration of the punishment (only include for temporary punishments)
      3:
        type: "mute"

# DO NOT under any circumstance touch this unless you are told to by the official support
config-version: 1
```

### Example messages.yml

```yml
# =======================================================
# AliienPunishmentGUI - Messages
# =======================================================
# The prefix of the messages (set as "" if you don't want to use)
prefix: "<dark_red><bold>PUNISH</bold></dark_red> <dark_gray>»</dark_gray> "
# If a player does not have permission to execute a command (does not include LiteBans commands)
no-perm: "<red>You do not have permission to do this!"
# If a player is not found/is not valid/hasn't joined the server before
player-not-found: "<red>Player not found!"
# When punishing the player (placeholders: %target%)
calculating-punishment: "<yellow>Calculating punishment for %target%..."
# If there isn't a next offence (this message should not ever appear as it repeats the last offence one it reaches the end, but just in case)
# So if you see this message in-game please report it to the official support
next-ladder-not-found: "<red>Could not find next offence! (If you are seeing this message, please report this to the official support)"
# If a command is not used correctly
incorrect-cmd-usage: "<red>Incorrect command usage!"
# If a staff member is too silly and tries to punish themselves
no-punish-self: "<red>You cannot punish yourself!"
# When the plugin is successfully reloaded
reload-success: "<green>AliienPunishmentGUI successfully reloaded!"
# When the plugin fails to reload
reload-fail: "<red>Failed to reload configs! Check console."
# If an action is canceled
canceled-action: "<red>Action canceled!"
# Message to tell the staff to type a reason for their punishment removal in the chat
type-reason: "<yellow>Please type the reason in the chat, or 'cancel' to cancel this action."
# If a player is already being punished by someone else
already-being-punished: "<red>This player is already being punished by %staff%!"
# If there is a new version available
new-version: "<green>A new AliienPunishmentGUI version is now available!"

# DO NOT under any circumstance touch this unless you are told to by the official support
config-version: 1
```

### Example gui.yml

```yaml
# =======================================================
# AliienPunishmentGUI - GUI
# All the punishment gui placement is handled in the config.yml file
# =======================================================
gui:
  title: "<dark_gray>Punish %target%" # The title of the menu (placeholders: %target%)
  rows: 6 # Number of rows of the menu (1-6)
  offence-format: "[%offence%]" # How the offence will be shown to the player/in /hist (placeholders: %offence%)
  items:
    filler:
      action: "NONE" # Available actions: "NONE", "PREVIOUS_PAGE", "NEXT_PAGE", "UNWARN", "UNMUTE", "UNBAN"
      material: GRAY_STAINED_GLASS_PANE # Display material (make sure it is all in caps)
      glow: false # Set if the item glows or not
      slots: [36, 37, 38, 39, 40, 41, 42, 43, 44] # Slots for the item (can use 1 or multiple slots)
      name: " " # Display name of the item
      lore: [] # Lore of the item

    previous-page:
      action: "PREVIOUS_PAGE"
      material: ARROW
      glow: false
      slots: [45]
      name: "<#ffb347><b>« Previous Page</b>"
      lore: # Placeholders: %target_page%
        - "<dark_gray>▪ <gray>Navigate back to the"
        - "<gray>  previous page of rules."
        - ""
        - "  <dark_gray>» <white>Target:"
        - "    Page %target_page%"
        - ""
        - "<#ffb347>« <yellow>Click to go back!"

    next-page:
      action: "NEXT_PAGE"
      material: ARROW
      glow: false
      slots: [53]
      name: "<#ffb347><b>Next Page »</b>"
      lore: # Placeholders: %target_page%
        - "<dark_gray>▪ <gray>Navigate forward to the"
        - "<gray>  next page of rules."
        - ""
        - "  <dark_gray>» <white>Target:"
        - "    Page %target_page%"
        - ""
        - "<#ffb347>» <yellow>Click to continue!"

    unwarn:
      action: "UNWARN"
      material: GREEN_DYE
      glow: false
      slots: [48]
      name: "<green><b>Pardon Warning</b>"
      lore: # Placeholders: %target%
        - "<dark_gray>▪ <gray>Remove the most recent warning"
        - "<gray>  from <yellow>%target%<gray>."
        - ""
        - "<green>✔ <yellow>Click to pardon!"

    unmute:
      action: "UNMUTE"
      material: YELLOW_DYE
      glow: false
      slots: [49]
      name: "<yellow><b>Unmute Player</b>"
      lore: # Placeholders: %target%
        - "<dark_gray>▪ <gray>Remove the active mute"
        - "<gray>  from <yellow>%target%<gray>."
        - ""
        - "<yellow>✔ Click to unmute!"

    unban:
      action: "UNBAN"
      material: RED_DYE
      glow: false
      slots: [50]
      name: "<red><b>Unban Player</b>"
      lore: # Placeholders: %target%
        - "<dark_gray>▪ <gray>Remove the active ban / IP-ban"
        - "<gray>  from <yellow>%target%<gray>."
        - ""
        - "<red>✔ <yellow>Click to unban!"

confirmation-gui:
  title: "<dark_gray>Confirm Action?" # Placeholders: %target%
  rows: 5
  items: # Available actions: "NONE", "CONFIRM", "CANCEL"
    filler:
      action: "NONE"
      material: GRAY_STAINED_GLASS_PANE
      glow: false
      slots: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 13, 17, 18, 22, 26, 27, 31, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44]
      name: " "
      lore: []

    confirm:
      action: "CONFIRM"
      material: LIME_STAINED_GLASS_PANE
      glow: false
      slots: [10, 11, 12, 19, 20, 21, 28, 29, 30]
      name: "<green><b>Confirm Punishment"
      lore:
        - "<dark_gray>▪ <gray>Click to finalize and"
        - "<gray>  punish <yellow>%target%<gray>."
        - ""
        - "<green>✔ Click to confirm!"

    cancel:
      action: "CANCEL"
      material: RED_STAINED_GLASS_PANE
      glow: false
      slots: [14, 15, 16, 23, 24, 25, 32, 33, 34]
      name: "<red><b>Cancel & Go Back"
      lore:
        - "<dark_gray>▪ <gray>Click to abort and"
        - "<gray>  return to the main menu."
        - ""
        - "<red>✖ Click to cancel!"

# DO NOT under any circumstance touch this unless you are told to by the official support
config-version: 1
```

### Example settings.yml

```yaml
# =======================================================
# AliienPunishmentGUI - Settings
# =======================================================

# Should the plugin check/notify for new updates?
# Requires a reboot
check-for-updates: true

# Should the confirmation GUI be enabled?
# If true, clicking a punishment opens a Yes/No confirmation menu.
# If false, clicking a punishment will immediately execute the command.
use-confirmation-gui: true

# DO NOT under any circumstance touch this unless you are told to by the official support
config-version: 1
```


---

# 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://aliien.gitbook.io/aliien-docs/aliienpunishmentgui/config.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.
