Configuration
OaklineReports uses a modular configuration system with separate files for different aspects:
Main Configuration (`config.yml`)
Located at `plugins/OaklineReports/config.yml`
Report Reasons
Customize the reasons players can select when reporting:
Code (YAML):
reasons:
CHEATING:
display_name
:
"&3Cheating"
material
:
"DIAMOND_SWORD"
lore
:
-
""
-
"&7Report player for using"
-
"&7cheats, hacks, or exploits"
-
""
-
"&2Click &7to start report"
Important Notes:
- Reason keys (e.g., `CHEATING`, `GRIEFING`) are used internally - don't change them unless you want to break existing reports
- After adding a new reason, you MUST add it to `reason_slots` in `guis/report_gui.yml`
- `display_name` and `material` can be changed freely
- `lore` is optional
Cooldown Settings
Code (YAML):
cooldown:
enabled
: true
# Enable/disable cooldown system
duration_seconds
: 300
# Cooldown duration (300 = 5 minutes)
The cooldown applies per player/reason combination, meaning a player can report different players or use different reasons without waiting.
Notification Settings
Code (YAML):
notifications:
staff:
enabled
: true
# Enable staff notifications
action_bar
: true
# Show notifications in action bar
chat
: true
# Show notifications in chat
bungeecord:
enabled
: false
# Enable cross-server notifications
server_name
:
"lobby"
# Server name for BungeeCord
Reminder Settings
Code (YAML):
reminder:
enabled
: true
# Enable automatic reminders
interval
: 5
# Interval in minutes between reminders
Staff with `report.view` permission will receive reminders about unresolved reports at the configured interval.
Database Settings
Code (YAML):
database:
type
:
"mysql"
# "mysql" or "local"
mysql:
host
:
"localhost"
port
: 3306
database
:
"oakline_reports"
username
:
"root"
password
:
"password"
Storage Options:
-
MySQL: Recommended for production. Automatically creates tables and handles migrations.
-
Local: YAML file storage. Automatically used if MySQL connection fails. Files saved to `reports.yml` and `cooldowns.yml`.
Action Commands
Configure the commands executed when staff takes action:
Code (YAML):
actions:
ban:
times:
"1h":
label
:
"1 Hour"
value
:
"1h"
material
:
"CLOCK"
mute:
times:
"1h":
label
:
"1 Hour"
value
:
"1h"
material
:
"CLOCK"
warn:
default_description
:
"Report: {reason}"
GUI Configuration
All GUI layouts are customizable in the `guis/` folder:
- `report_gui.yml` - Player report GUI
- `reports_gui.yml` - Staff reports list GUI
- `claim_report.yml` - Report claiming GUI
- `report_actions.yml` - Action buttons (ban, mute, warn, resolve, etc.)
- `ban_action.yml` - Ban duration selection GUI
- `mute_action.yml` - Mute duration selection GUI
- `warn_action.yml` - Warning configuration GUI
- `report_history.yml` - Report history GUI
- `report_history_selection.yml` - Report history selection GUI
Each GUI file allows you to customize:
- Titles
- Item materials
- Display names
- Lore text
- Slot positions
- Colors and formatting
Language Configuration
Messages are customizable in the `lang/` folder:
- `en.yml` - English language file (default)
You can:
- Customize all messages
- Change color codes
- Modify placeholders
- Add new languages by creating new files (e.g., `es.yml` for Spanish)
Set the language in `config.yml`:
Code (YAML):
language
:
"en"
# Change to "es" to use lang/es.yml