# TextWhitelist Documentation & Guide
Welcome to the official documentation for the TextWhitelist plugin. This guide covers installation, configuration, all available commands, and permissions.
---
## Installation
1. Download the latest `.jar` file from the [**Releases**](
https://github.com/Cowboy-original/TextWhitelist/releases) page on GitHub.
2. Place the downloaded `.jar` file into your server's `plugins` directory.
3. Restart your server. The plugin will automatically generate a `TextWhitelist` folder inside your `plugins` directory, containing `config.yml`, `players.txt`, and `admins.txt`.
## Configuration Files
The plugin is managed via three files inside the `plugins/TextWhitelist/` folder.
- **`config.yml`**: Contains the master switch for the plugin.
- `whitelist-enabled: true` - The plugin is active.
- `whitelist-enabled: false` - The plugin does nothing and allows all players to pass through.
- **`players.txt`**: The main whitelist file. Add one player name per line. This is used when the plugin is in `PLAYERS` mode.
- **`admins.txt`**: The maintenance whitelist file. Add one admin/staff name per line. This is used when the plugin is in `ADMINS` mode.
## Commands & Usage
The base command is `/whitelistxt` (alias: `/wltxt`). All subcommands require the `textwhitelist.admin` permission.
### **Status & Help**
- `/wltxt`
- *Shows the current status (enabled/disabled) and active mode (PLAYERS/ADMINS).*
- `/wltxt help`
- *Displays a list of all available commands.*
### **Plugin Control**
- `/wltxt enable` & `/wltxt disable`
- *Toggles the master switch for the plugin. This setting is saved to `config.yml` and persists after restarts.*
- `/wltxt reload`
- *Reloads both `players.txt` and `admins.txt` from the disk into memory. Also enforces the new list on all currently online players.*
### **Mode Management**
- `/wltxt change <players|admins>`
- *Switches the active mode. If you switch to `ADMINS` mode, any online players not in `admins.txt` will be kicked with a maintenance message.*
- *Example: `/wltxt change admins`*
### **List Management**
- `/wltxt add <player|admin> <PlayerName>`
- *Adds a player to the specified list (`players.txt` or `admins.txt`).*
- *Example: `/wltxt add player Notch`*
- `/wltxt remove <player|admin> <PlayerName>`
- *Removes a player from the specified list. If the player is online and is removed from the currently **active** list, they will be kicked.*
- *Example: `/wltxt remove player Notch`*
## Permissions
- **`textwhitelist.admin`**: Grants access to all `/wltxt` commands. This permission is given to server operators (OPs) by default.