✅1.17 - 1.21 UltimateReport ⭐ icon

✅1.17 - 1.21 UltimateReport ⭐ -----

Ultimate Advanced Report for your server minecraft GUI, Discord Support, Multi Proxy Support, etc.



ultimatereportupdate_apiemoji1.4.png

Ultimate Report Plugin

Ultimate Report
is a sleek, modern, and highly configurable player report system for Minecraft servers.
With an intuitive GUI, Velocity/BungeeCord support, and real-time Discord integration, it's the ideal tool for staff to manage player behavior across any network.

Whether you're running a survival world or a PvP server network, Ultimate Report ensures efficient and scalable rule enforcement.

✨ Features
  • Submit player reports with a reason

  • Interactive GUI to review and manage reports

  • Discord webhook integration for real-time alerts

  • SQLite storage (external DB support planned)

  • Customizable messages, GUI elements, and Discord embeds

  • Supports Premium, Cracked, and Bedrock usernames

  • PlaceholderAPI support

  • Proxy support for Velocity and BungeeCord

  • Validated Reports system to track confirmed violations

  • Optimized configuration and database handling

  • Dedicated Proxy Reload Command for Velocity/Bungee setups

  • API integration with Maven dependency on jitpack.io

  • New Web Interface for real-time monitoring
New Web Interface!
Easily view and manage reports (including only valid ones) with a sleek, real-time dashboard.
Stay updated instantly and make smarter decisions faster.

Check out the new web interface: UlmateReportWeb

API Integration Support
Ultimate Report now includes a dedicated API for developers!
You can directly interact with the reporting system to create custom tools like plugins or moderation dashboards.

Adding to pom.xml
Code (Text):
<repositories>
   <repository>
       <id>jitpack.io</id>
       <url>https://jitpack.io</url>
   </repository>
</repositories>
Adding the dependency
Code (Text):
<dependency>
   <groupId>com.github.MonkeyMoon104</groupId>
   <artifactId>UltimateAPIReport</artifactId>
   <version>Tag</version>
</dependency>
Available API Methods
Code (Java):
int createPendingReport ( String reporter, String target, String reason, boolean silent ) ;
int getValidReports ( String playerName ) ;
void incrementValidReports ( String playerName ) ;
void resetValidReports ( String playerName ) ;
void resetAllValidReports ( ) ;
void decrementValidReports ( String playerName, int amount ) ;
int getMaxValidReports ( ) ;
List <ReportData > getAllPendingReports ( ) ;
List <ReportData > getAllReportsFor ( String player ) ;
List <ReportLeaderboardEntry > getValidSentReportsLeaderboard ( int page, int rowsPerPage ) ;
void resetPlayerValidSentReports ( String playerName ) ;
void resetAllValidSentReports ( ) ;

What Can You Do?
  • Create new reports programmatically

  • Check how many valid reports a player has

  • Get the maximum allowed reports before staff action

  • Retrieve all pending reports

  • View full report history for any player

  • Reset/Increment/Decrement valid reports

  • Manage "sent" reports leaderboard
Commands
Code (Text):
/report <player> <reason>        - Submit a report
/reports                         - View your own validated reports
/reportsee <player>              - Open the report management GUI
/ultimatereportreload            - Reload the plugin configuration
/ultimatereportproxyreload       - Reload the proxy-side config
/validreport delete <player> <n> - Delete a specific validated report
/validreport reset <player/all>  - Reset all validated reports
/validreport show <player/all>   - Show validated reports
/validreport sended <player/top> <page> - Show top players by sent valid reports
Permissions
Code (Text):
ultimatereport.use                 - Access to /report and /reports
ultimatereport.reportsee.use       - Use the report management GUI
ultimatereport.staffreport.view    - General staff viewing permission
ultimatereport.validreport         - Access to /validreport commands
ultimatereport.validreport.delete  - Delete a specific validated report
ultimatereport.validreport.reset   - Reset validated reports
ultimatereport.validreport.show    - View validated reports
ultimatereport.validreport.sended  - View top sent valid reports
ultimatereport.reload              - Reload the plugin
ultimatereport.cooldown.bypass     - Bypass report cooldown
ultimatereportproxy.reload         - Reload proxy config
ultimatereportproxy.staffreport.view - Staff permission for proxy-side reports
(Server Operators automatically bypass all restrictions.)

️ GUI System
Use /reportsee <player> to open an interactive GUI where staff can:

  • View all reports against a player

  • Mark reports as valid or invalid

  • Track the number of validated reports

  • Customize GUI layout, items, and messages in config
PlaceholderAPI
Code (Text):
%ultimatereport_valid_reports%        - Number of valid reports for a player
%ultimatereport_max_valid_reports%    - Max allowed before staff action
%ultimatereport_leaderboard_<p>_<r>%  - Top valid reports leaderboard
️ Staff Guide
  • Use /reportsee <player> to manage player reports

  • Follow Discord webhook alerts for immediate updates

  • Use /ultimatereportreload and /ultimatereportproxyreload after edits

  • Take action when validated reports exceed set thresholds
Player Guide
To report a player:
/report <player> <reason>
Example: /report Notch Hacking in PvP

To view your reports:
/reports

⚙️ Configuration
  • Fully customizable messages, GUI, and Discord embeds

  • Define how many valid reports trigger staff actions

  • Multi-language and flexible configuration

  • Includes config.yml and proxy config examples
Code (YAML):
messages : #Messages for all function
  general
:
    report_sent
: "&aYou have reported {target} for: {reason}"
    reload_success
: "&aUltimateReport successfully reloaded."
    report_deleted
: "&cReport deleted."
    report_valid
: "&aReport marked as valid. ({count}/{max})"
    player_banned
: "&cPlayer {target} has been banned for {days}."
    report_not_found
: "&cPlayer not have report."
    sended_report_not_found
: "&cPlayer not have valid sended report."
    teleport_success
: "&aTeleported to player &e{target}"
    silent_send
: "&aSilent report sent!"

  permissions_messages
:
    no_permission
: "&cYou don't have permission to execute this command."
    only_op
: "&cOnly OPs can execute this command."

  errors_messages
:
    player_not_found
: "&cPlayer not found."
    ban_error
: "&cFailed to find UUID for player {target}."
    invalid_number
: "&cInvalid number."
    no_valid_reports_found
: "&cNo valid reports found for any player."
    no_valid_reports_sended_found
: "&cNo valid reports sended found for any player."
    valid_reports_not_enough
: "&c{player} has only {current} valid reports. Cannot remove {requested}."
    valid_reports_too_many
: "&cYou cannot remove more than {max} valid reports."
    never_join
: "&cError, &e{player} &cwas never in server!"

  valid_report_messages
:
    delete_success
: "&aValid report deleted."
    delete_fail
: "&cValid report not found."
    reset_success
: "&aAll valid reports have been reset."
    valid_reports_deleted
: "&aRemoved {count} valid reports from player {player}."
    valid_report_player
: "&6Valid reports for &e{player}&6: &a{count}"
    valid_report_sended_player
: "&6Valid reports sended for &e{player}&6: &a{count}"
    template_allreport
:
      header_all_valid_reports
: "&6=== Valid Reports for all players ==="
      valid_report_line
: "&e{player}: &a{count}"
      header_sended_valid_reports
: "&6=== TOP Valid Reports Sended ==="
      valid_report_sended_line
: "&6{position}. &e{player}: &a{count} valid reports sended"


  reportcooldown_messages
:
    report_cooldown
: "&cPlease wait {seconds}s before reporting again."
    report_target_cooldown
: "&cYou have already reported {target}, wait {seconds}s."

  usages_messages
:
    use_report
: "&cUsage: /report <player> <reason>"
    use_reportsee
: "&cUsage: /reportsee <player>"
    validreport_usage
: "&cUsage: /validreport delete <player> <number> | /validreport reset all | /validreport show <all/player>"
    validreport_sended_usage
: "&cUse: /validreport sended <player|top>"



gui
: #The gui configuration
  all
: #The gui to see all reports
    title
: "ALL REPORTS"
    item_name
: "§fReport #{id}" #Need contains to work "Report #"
    item_lore
:
      - "§7Player reported
: {target } "
      - "
§7Reason : {reason } "
      - "
§7Date : {date } "
  title: "
Reports of {player } " #Need contains to work "Report "
  item_name: "
§fReport #{id}" #Need contains to work "Report #"
  item_lore
:
    - "§7Reported by
: {reporter } "
    - "
§7Reason : {reason } "
    - "
§7Date : {date } "
  report_title_gui: "
Report #" #Name of the report gui
  valid_report
: #Valid report gui configuration
    title
: "&8Valid Report Status"
    item_name
: "&eValid Report #"
  items
: #Items of normal gui
    reporter_head
: "&bReporter: {reporter}"
    target_head
: "&bTarget: {target}"
    reason
: "&eReason: {reason}"
    date
: "&aDate: {date}"
    back
: "&6Back"
    exit
: "&cExit"
    delete
: "&4Delete Report"
    valid
: "&aMark as Valid"
    invalid
: "&cMark as Invalid"
    arrow_previous_name
: "&cPrevious Page"
    arrow_next_name
: "&aNext Page"
    page_viewer
: "&6Page {page}"



report_broadcast
: #Local broadcast for all staffer
  title
: "&eNEW REPORT"
  lines
:
   - ''
    - 'Player
: &e{target}'
    - 'Reported by
: &e{reporter}'
    - 'Reason
: &a{reason}'
    - ''



max_valid_report
: 3 #Maximum of report valid, when a player reaches the max he is automatically banned: configure ban_reports



ban_reports
: #Ban configuration for valid report reach
  general
: #The general information provide for external plugin or not external plugin
    duration
: "3d" #Duration can be in seconds/hours/days: example. 3s/3h/3d. if wrong input is entered, the plugin will send an error to the console
    reason
: "Maximum number of valid reports reached."
    proxy_ban_command
: "tempban {player} {duration} {reason}" #Work only if proxy.enabled is set to true

  external_plugin_inserver
: #Like advancedban, LiteBans etc.
    present
: false
    command_execute
: "tempban {player} {duration} {reason}"



cooldown
: #Cooldown configuration, the numbers entered respect the values only in seconds
  report_cooldown_seconds
: 30
  report_target_cooldown_seconds
: 60



discord
: #Discord configuration!
  enabled
: false
  webhook
: "https://discord.com/api/webhooks/xxxx/xxxx"
  username
: "UltimateReport"
  embed
:
    footer
: "UltimateReport Bot"
    titles
:
      title_created
: " New Report Created"
      title_deleted
: "️ Report Deleted"
      title_banned
: "⛔ Player Banned"
      title_valid
: "✅ Report Marked as Valid"
      title_invalid
: "❌ Report Marked as Invalid"
    colors
: #The colors will use for embed, only HEX color!
      color_created
: "1abc9c"
      color_deleted
: "e74c3c"
      color_banned
: "992d22"
      color_valid
: "2ecc71"
      color_invalid
: "e74c3c"
  messages
:
    report_created
: " New Report Created\n**Player:** {target}\n**Reported by:** {reporter}\n**Reason:** {reason}\n**Report ID:** #{reportId}"
    report_deleted
: "️ Report Deleted\nReport #{reportId} for player **{target}** has been deleted."
    player_banned
: "⛔ Player Banned\n**Player:** {target}\n**Duration:** {duration}\n**Reason:** {reason}"
    report_valid
: "✅ Report Marked as Valid\nReport for player **{target}** has been marked as valid.\nValid reports: {validCount}/{maxValid}"
    report_invalid
: "❌ Report Marked as Invalid\nReport #{reportId} for player **{target}** has been marked as invalid."



mysql
: #MySQL configuration
  enabled
: false
  options
:
    host
: ""
    port
:
    database
: ""
    username
: ""
    password
: ""



proxy
: #Enable only if you proxy network!
  enabled
: false


 

Code (YAML):
messages:
  report_sent
: "&aYou have reported {target} for: {reason}"
  no_permission
: "&cYou don't have permission to execute this command."
  player_not_found
: "&cPlayer not found."
  reload_success
: "&aUltimateReportProxy successfully reloaded."
  only_op
: "&cOnly OPs can execute this command."
  report_deleted
: "&cReport deleted."
  report_valid
: "&aReport marked as valid. ({count}/{max})"
  ban_error
: "&cFailed to find UUID for player {target}."
  report_not_found
: "&cReport not found."
  server_not_found
: "&cServer not found."
  server_textcomponent
: "&a[Click to teleport to player]"
  ban_message
: "&cYou have been banned for {reason}"
  connect_failed
: "&cFailed to connect to server"

report_proxy_broadcast
:
  title
: "&eNEW REPORT PROXY"
  lines
:
   - ''
    - 'Player
: &e{target}'
    - 'Reported by
: &e{reporter}'
    - 'Reason
: &a{reason}'
    - 'Server
: &6{server}'
    - ''
 
Resource Information
Author:
----------
Total Downloads: 2
First Release: Aug 9, 2025
Last Update: Aug 9, 2025
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings