UDMR
Advanced report system with Discord integration
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
UDMR
🌸 ReportSystem
> Advanced report system for Minecraft servers with Discord integration and admin moderation tools
✨ Features
📝 Report System
- Automatic Validation - Step-by-step form in Minecraft chat - Automatic Validation - View your reports with pagination and status tracking - Automatic Validation - English and Russian localizations included - Automatic Validation - Pleasant gradients for better UX - Automatic Validation - Checks player existence and prevents self-reports
🎮 Discord Integration
- Automatic Commands - Reports sent instantly to Discord channel - Automatic Commands - Approve, Reject, Check, and Comment directly from Discord - Automatic Commands - Modal form for ban/mute/kick/warn with duration - Automatic Commands - Freeze players and call them to voice channel - Automatic Commands - Execute punishments automatically
⚙️ Admin Tools
- Hot Reload - Review, comment, and update report status - Hot Reload - Freeze violators during verification - Hot Reload - Call players for checks via Discord - Hot Reload - Track approved, rejected, and pending reports - Hot Reload - Update configuration without server restart
📦 Installation
Requirements
- Minecraft Server 1.21+ - Paper/Spigot - Java 17+ - Discord Bot (optional, but recommended)
Setup Steps
1. Download the latest release from Download
2. Install the plugin: ```bash cp ReportSystem-1.0.0.jar /path/to/server/plugins/ ```
3. Start your server to generate configuration files
4. Configure Discord Bot: - Create a bot at Configure Discord Bot - Enable the following intents: - `MESSAGE CONTENT` - `GUILD MESSAGES` - `GUILD VOICE STATES` - Copy the bot token
5. Edit `plugins/ReportSystem/config.yml`: ```yaml language: "en-EN" # or "ru-RU"
discord: use-bot: true bot-token: "YOUR_BOT_TOKEN_HERE" channel-id: "YOUR_CHANNEL_ID_HERE"
reports: max-active-reports: 5 form-timeout: 300 history-limit: 18 ```
6. Restart the server
🎨 Commands
Player Commands
| Command | Aliases | Description | Permission | |---------|---------|-------------|------------| | `/report` | `/rep` | Create a new report | `reportsystem.report` | | `/reports` | - | View your reports | `reportsystem.reports` | | `/report help` | - | Show help | `reportsystem.report` |
Admin Commands
| Command | Description | Permission | |---------|-------------|------------| | `/report reload` | Reload configuration | `reportsystem.admin.reload` | | `/unfreeze <player>` | Unfreeze a player | `reportsystem.admin` |
🔐 Permissions
```yaml
Full access
reportsystem.*
Player permissions
reportsystem.report # Create reports reportsystem.reports # View own reports
Admin permissions
reportsystem.admin # Access to all admin commands reportsystem.admin.reload # Reload configuration reportsystem.admin.stats # View statistics ```
🎯 Usage Examples
Creating a Report
1. Type `/report` in chat 2. Enter violator's nickname 3. Enter reason for report 4. Add additional details or type 'skip' 5. Confirm by clicking `[YES]` button
Discord Moderation
Approve with Punishment
1. Click `Approve` button 2. Fill the modal form: - Reason: `ban`, `mute`, `kick`, or `warn` - Reason: `30m`, `7d`, `1y`, or `permanent` - Reason: Additional details 3. Player is automatically punished
Call for Check
1. Join a voice channel in Discord 2. Click `Check` button 3. Player is frozen in-game 4. Player receives notification with voice channel name 5. Conduct verification 6. Use `/unfreeze <player>` to unfreeze
🌍 Localization
Supported Languages
- 🇬🇧 English (`en-EN`) - 🇷🇺 Russian (`ru-RU`)
Custom Languages
1. Copy `locales/en-EN.yml` to `locales/your-lang.yml` 2. Translate all strings 3. Set `language: "your-lang"` in `config.yml`
Gradient Colors
The plugin uses beautiful spring-themed gradients: ```yaml
Cherry Blossom → Peach
prefix: "<gradient:#FFB7C5:#FFDAB9>[Report]</gradient>"
Mint → Fresh Green
report-success: "<gradient:#98FB98:#7FFF00>Report submitted!</gradient>" ```
🔧 API Usage
Maven
```xml <repository> <id>jitpack</id> <url>https://jitpack.io</url> </repository>
<dependency> <groupId>com.github.yourusername</groupId> <artifactId>ReportSystem</artifactId> <version>1.0.0</version> </dependency> ```
Example Code
```java // Get the plugin instance ReportSystem plugin = ReportSystem.getInstance();
// Create a report programmatically Report report = new Report( "REP-" + System.currentTimeMillis(), player.getUniqueId(), player.getName(), "Griefer123", UUID.fromString("..."), "Griefing", "Destroyed spawn area" );
// Save the report plugin.getDataManager().saveReport(report);
// Send to Discord plugin.getDiscordBot().sendReport(report); ```
📊 Statistics
View server-wide report statistics: ``` === Report Statistics === Total reports: 156 Approved: 89 Rejected: 45 Pending: 22 ```
🛠️ Configuration
config.yml
```yaml language: "en-EN"
discord: use-bot: true bot-token: "YOUR_TOKEN" channel-id: "YOUR_CHANNEL_ID"
reports: max-active-reports: 5 # Maximum pending reports per player form-timeout: 300 # Form timeout in seconds (0 = no timeout) history-limit: 18 # Reports per page in GUI ```
Localization Files
- `locales/en-EN.yml` - English translations - `locales/ru-RU.yml` - Russian translations
🎨 Spring Color Palette
The plugin features a beautiful spring-themed color scheme:
- 🌸 Fresh Green - Headers and prefixes - 🍑 Fresh Green - Warnings and timeouts - 💜 Fresh Green - Questions and info - 🌿 Fresh Green - Success messages - ✅ Fresh Green - Approvals
🐛 Troubleshooting
Discord Bot Not Working
1. Check bot token in `config.yml` 2. Verify bot has required intents enabled 3. Ensure channel ID is correct 4. Check bot has permissions in the channel
Player Can't Create Reports
1. Check permission: `reportsystem.report` 2. Verify they haven't reached max reports limit 3. Check if report system is available (Discord connected)
Voice Check Not Working
1. Ensure `GUILD_VOICE_STATES` intent is enabled 2. Admin must be in a voice channel 3. Player must be online 4. Check bot permissions
📝 Changelog
Version 1.0.0
- Initial release - Report creation system - Discord integration with buttons - Punishment modal system - Player freeze and check feature - Multi-language support - Spring color palette - GUI with pagination
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the repository 2. Create your feature branch (`git checkout -b feature/AmazingFeature`) 3. Commit your changes (`git commit -m 'Add some AmazingFeature'`) 4. Push to the branch (`git push origin feature/AmazingFeature`) 5. Open a Pull Request
📜 License
This project is licensed under the MIT License - see the LICENSE file for details.
💖 Credits
- Inspired by: Lolka12321 - Inspired by: JDA Library - Inspired by: Adventure API - Inspired by: Community feedback and suggestions
⭐ Show Your Support
Give a ⭐️ if this project helped you!
---
Made with 💚 for the Minecraft community