1.0
Compatibility
Changes
🌸 ReportSystem
Advanced report system for Minecraft servers with Discord integration and admin moderation tools
✨ Features
📝 Report System
- Interactive Report Creation - Step-by-step form in Minecraft chat
- Beautiful GUI - View your reports with pagination and status tracking
- Multi-language Support - English and Russian localizations included
- Spring Color Palette - Pleasant gradients for better UX
- Automatic Validation - Checks player existence and prevents self-reports
🎮 Discord Integration
- Real-time Notifications - Reports sent instantly to Discord channel
- Interactive Buttons - Approve, Reject, Check, and Comment directly from Discord
- Punishment System - Modal form for ban/mute/kick/warn with duration
- Player Check Feature - Freeze players and call them to voice channel
- Automatic Commands - Execute punishments automatically
⚙️ Admin Tools
- Report Management - Review, comment, and update report status
- Player Freeze - Freeze violators during verification
- Voice Channel Integration - Call players for checks via Discord
- Statistics - 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
-
Download the latest release from Releases
-
Install the plugin:
cp ReportSystem-1.0.0.jar /path/to/server/plugins/ -
Start your server to generate configuration files
-
Configure Discord Bot:
- Create a bot at Discord Developer Portal
- Enable the following intents:
MESSAGE CONTENTGUILD MESSAGESGUILD VOICE STATES
- Copy the bot token
-
Edit
plugins/ReportSystem/config.yml: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 -
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
# 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
- Type
/reportin chat - Enter violator's nickname
- Enter reason for report
- Add additional details or type 'skip'
- Confirm by clicking
[YES]button
Discord Moderation
Approve with Punishment
- Click
Approvebutton - Fill the modal form:
- Punishment Type:
ban,mute,kick, orwarn - Duration:
30m,7d,1y, orpermanent - Reason: Additional details
- Punishment Type:
- Player is automatically punished
Call for Check
- Join a voice channel in Discord
- Click
Checkbutton - Player is frozen in-game
- Player receives notification with voice channel name
- Conduct verification
- Use
/unfreeze <player>to unfreeze
🌍 Localization
Supported Languages
- 🇬🇧 English (
en-EN) - 🇷🇺 Russian (
ru-RU)
Custom Languages
- Copy
locales/en-EN.ymltolocales/your-lang.yml - Translate all strings
- Set
language: "your-lang"inconfig.yml
Gradient Colors
The plugin uses beautiful spring-themed gradients:
# Cherry Blossom → Peach
prefix: "<gradient:#FFB7C5:#FFDAB9>[Report]</gradient>"
# Mint → Fresh Green
report-success: "<gradient:#98FB98:#7FFF00>Report submitted!</gradient>"
🔧 API Usage
Maven
<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
// 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
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 translationslocales/ru-RU.yml- Russian translations
🎨 Spring Color Palette
The plugin features a beautiful spring-themed color scheme:
- 🌸 Cherry Blossom Pink - Headers and prefixes
- 🍑 Peach - Warnings and timeouts
- 💜 Lavender - Questions and info
- 🌿 Mint Green - Success messages
- ✅ Fresh Green - Approvals
🐛 Troubleshooting
Discord Bot Not Working
- Check bot token in
config.yml - Verify bot has required intents enabled
- Ensure channel ID is correct
- Check bot has permissions in the channel
Player Can't Create Reports
- Check permission:
reportsystem.report - Verify they haven't reached max reports limit
- Check if report system is available (Discord connected)
Voice Check Not Working
- Ensure
GUILD_VOICE_STATESintent is enabled - Admin must be in a voice channel
- Player must be online
- 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.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
📜 License
This project is licensed under the MIT License - see the LICENSE file for details.
💖 Credits
- Author: Lolka12321
- Discord Integration: JDA Library
- Color System: Adventure API
- Inspired by: Community feedback and suggestions
📞 Support
- Discord: Join our server
- Issues: GitHub Issues
- Wiki: Documentation
⭐ Show Your Support
Give a ⭐️ if this project helped you!
Made with 💚 for the Minecraft community
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:CWZTKek0:ZGOYJBdA"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:CWZTKek0:ZGOYJBdA"
}

