MineAlert – Advanced Anti X‑Ray System | MySQL & SQLite Support icon

MineAlert – Advanced Anti X‑Ray System | MySQL & SQLite Support -----

Lightweight and fully asynchronous Anti X‑Ray plugin that detects suspicious mining activity in real



[​IMG]
NOTE: The image above shows the alert displayed when a potential cheater is detected.

⛏️ MINEALERT
The Ultimate Anti-X-Ray Solution


⚡ Immediate Protection. Zero Lag. Maximum Accuracy.

MineAlert is a lightweight and fully customizable Anti-X-Ray plugin that monitors player mining behavior to detect suspicious activity in real time.
Fast, precise, and incredibly efficient — the perfect drop‑in solution to keep your server fair and balanced.


✨ FEATURES

  • Instant X-Ray Detection: Adaptive threshold analysis minimizes false positives.
  • Optimized Performance: Fully asynchronous operations ensure zero TPS impact.
  • Customizable Settings: Easily adjust thresholds, alerts, and messages.
  • Interactive GUI/Menu: Visualize player logs and statistics through a simple graphical interface.
  • Database Support: Compatible with SQLite, MySQL, and MariaDB.
  • Multi-Language Ready: Ships with English and Italian translations.


INVESTIGATION TOOLS

Quickly review any player’s mining statistics and suspicious finds directly in-game using our text logs or the GUI.


[​IMG]
NOTE: The image shows the output of the /minealert checklogs command (GUI view).


COMMANDS

Access all commands and their permissions directly in-game using:
Code (Text):
/minealert ?
Main commands include:
  • Code (Text):
    /minealert checklogs <player>
    – **Opens the interactive GUI** to display a detailed, filterable view of a player's mining stats and infractions.
  • Code (Text):
    /minealert recentlogs <player>
    – Displays a comprehensive **text log** of a player's mining statistics and recorded cheating infractions.
  • Code (Text):
    /minealert reload
    – Instantly reloads the plugin configuration.
  • Code (Text):
    /minealert ?
    – Lists all accessible commands.


⚙️ CONFIGURATION FILES

Below are complete previews of the plugin’s main configuration files.


Code (Text):

# ================================================================
# MineAlert - Main Configuration
# ================================================================
# Supports color codes using '&' and HEX colors using '#RRGGBB'.
# ================================================================


# ------------------------------------------------
# PLUGIN PREFIX
# ------------------------------------------------
prefix: "&8[&cMineAlert&8]&7"

# -------------------------------------------------------------------------------------------------
# We support 'en' and 'it', but if you want to add your own language, create a file in localization/messages_yourlanguage.yml
# -------------------------------------------------------------------------------------------------
Locale: en

# ------------------------------------------------
# BLOCK SETTINGS
# ------------------------------------------------
# Blocks to track when broken by players.
# Use valid Minecraft material names (UPPERCASE).
# ------------------------------------------------
blocks:
  - DIAMOND_ORE
  - DEEPSLATE_DIAMOND_ORE
  - ANCIENT_DEBRIS

# ------------------------------------------------
# ALERT CONDITIONS
# ------------------------------------------------
# max-blocks: number of tracked blocks broken before an alert triggers.
# time-window-ms: time (in milliseconds) in which the player must break
# those blocks to trigger the alert.
# ------------------------------------------------
max-blocks: 10
time-window-ms: 120000

# ------------------------------------------------
# PERMISSIONS
# ------------------------------------------------
alert-permission: "minealert.notify"
bypass-permission: "minealert.bypass"

# ------------------------------------------------
# ALERT MESSAGE
# ------------------------------------------------
# Placeholders:
# %player% - Player name
# %block%  - Block name
# %world%  - World name
# ------------------------------------------------
alert-msg: "&c[ALERT] &6%player% &chas found &6%block% &cin &6%world% &cduring a short period of time&7!"

# ------------------------------------------------
# COMMAND ALIASES
# ------------------------------------------------
command-aliases: [ minealert, mine, ma ]

# ------------------------------------------------
# CHECK LOGS COMMAND SETTINGS
# ------------------------------------------------
# Settings for /minealert recentlogs <player> (Text Output)
# ------------------------------------------------
recent-logs-command:
  logs-to-show: 10

  # Header and footer
  header: "&8&m--------&r &6Logs for %player% &8&m--------"
  footer: "&8&m----------------------------------------"

  # Log entry format
  # Placeholders:
  # %block_type% - Block type (e.g., DIAMOND ORE)
  # %date%       - Date and time (dd/MM/yyyy HH:mm:ss)
  # %world%      - World name
  # %x%, %y%, %z% - Block coordinates
  entry-format: "&7- &f%block_type% &eat &b%date% &ein &7X:&f%x% &7Y:&f%y% &7Z:&f%z% &7(&a%world%&7)"

  # Messages
  no-logs-message: "&cNo logs found for %player%."
  fetching-message: "&eFetching logs for %player%..."

# ------------------------------------------------
# CHECK LOGS MENU SETTINGS
# ------------------------------------------------
# Settings for /minealert checklogs <player> (GUI Output)
# ------------------------------------------------
check-logs-menu:
  title: "&bChecklogs: %player%"

  player-info-item:
    name: "&e%player% &7(%online_status%&7)"
    lore:
      - "&bName: &f%player%"
      - "&bPlaytime: &f%playtime%"
      - ""
      - "Click to teleport"

  statistics-item:
    name: "&eMining Statistics"
    lore-header:
      - "&bFavorite World: &f%favorite_world%"
      - ""
      - "&bTop 3 Blocks Mined:"
    top-block-entry-format: " &f%rank%. &e%block_name% &7(&f%count%&7, &c%percentage%&7)"
    no-data-message: " &7No data available."


# ------------------------------------------------
# DEBUG SETTINGS
# ------------------------------------------------
# Enable specific sections like: Debug: [alerts, tracking]
# Leave empty for normal use.
# ------------------------------------------------
debug: [ ]

# ------------------------------------------------
# CONFIG VERSION, DO NOT MODIFY IT!
# ------------------------------------------------
version: 1
 



Code (Text):

# !-----------------------------------------------------------------------------------------------!
#                              Welcome to the localization file.
# !-----------------------------------------------------------------------------------------------!
#
#
#   1) COLOR CODES are supported with the '&' character.
#      - For usage, see http://minecraftwiki.net/wiki/Formatting_codes
#      - When you use them, place quotes around the message like this: "Hello &cworld."
#       - To use HEX colors, use #123456 syntax: "Hello #123456world."
#
#   2) TO HIDE any message, set it to 'none'.
#
#   3) JSON is supported. Prepend the message with [JSON].
#
#   4) JAVASCRIPT NOTICE: Some of our messages are just-in-time compiled with JavaScript.
#      Those typically have variables such as "self" inside of them. IF YOU CANNOT CODE
#      in JavaScript, be extra careful and do not remove () brackets or the variables!
#
# !-----------------------------------------------------------------------------------------------!

# -------------------------------------------------------------------------------------------------
# Messages related to commands
# -------------------------------------------------------------------------------------------------
Commands:
  Error: "&4&lOups! &cThe command failed :( Check the console and report the error."
  Header_No_Subcommands: "&cThere are no arguments for this command."
  Header_No_Subcommands_Permission: "&cYou don't have permissions to view any subcommands."
  Header_Color: GOLD
  Header_Secondary_Color: RED
  Header_Format: "&r\n{theme_color}&m<center>&r{theme_color} {title} &m\n&r"
  # Must be exactly one letter
  Header_Center_Letter: "-"
  Header_Center_Padding: 120
  Reloading: "reloading"
  Disabled: "disabled"
  Use_While_Null: "&cCannot use this command while the plugin is {state}."
  Cannot_Autodetect_World: "Only living players can use ~ for their world!"
  Incompatible: "This command requires Minecraft {0} or greater."
  Toggled_Plugin_Part: "'&7You are ' + (ignoring ? '&2no longer' : '&cnow') + ' &7ignoring {0}.'"
  Use_Alternative_Header: false
  Alternative_Header: "&c{plugin_name}: &7Type '/{0} ?' to see all commands."
  No_Console: "&cYou may only use this command as a player."
  No_BungeeCord: "You need BungeeCord enabled use this feature."
  Console_Missing_Player_Name: "When running from console, specify player name."
  Cooldown_Wait: "&cWait {duration} second(s) before using this command again."
  Invalid_Argument: "&cInvalid argument. Run &6/{label} ? &cfor help."
  Invalid_Sub_Argument: "&cInvalid argument. Run '/{label} {0}' for help."
  Invalid_Argument_Multiline: "&cInvalid argument. Usage:"
  Invalid_Time: "Expected time such as '3 hours' or '15 minutes', got: '{input}'"
  Invalid_Number: "The number must be a whole or a decimal number. Got: '{input}'"
  Invalid_String: "&cInvalid string. Got: '{input}&c'"
  Invalid_World: "Invalid world '{world}'. Available: {available}"
  Label_Authors: "Made by"
  Label_Description: "&c&lDescription:"
  Label_Optional_Args: "optional arguments"
  Label_Required_Args: "required arguments"
  Label_Usage: "&c&lUsage:"
  Label_Help_For: "Help for /{label}"
  Label_Subcommand_Description: " &f/{label} {sublabel} {usage+}{dash+}{description}"
  Help_Tooltip_Description: "&7Description: &f{description}"
  Help_Tooltip_Permission: "&7Permission: &f{permission}"
  Help_Tooltip_Usage: "&7Usage: &f"
  Reload_Description: "Reload the configuration."
  Reload_Started: "Reloading plugin's data, please wait.."
  Reload_Success: "&6{plugin_name} {plugin_version} has been reloaded."
  Reload_Fail: "&4Oups, &creloading failed! See the console for more information. Error: {error}"
  Reload_File_Load_Error: "&4Oups, &cthere was a problem loading files from your disk! See the console for more information. {plugin_name} has not been reloaded."
  Debug_Description: "ZIP your settings for reporting bugs."
  Debug_Preparing: "&6Preparing debug log..."
  Debug_Success: "&2Successfuly copied {amount} file(s) to debug.zip. Your sensitive MySQL information has been removed from yml files. Please upload it via ufile.io and send it to us for review."
  Debug_Copy_Fail: "&cCopying files failed on file {file} and it was stopped. See console for more information."
  Debug_Zip_Fail: "&cCreating a ZIP of your files failed, see console for more information. Please ZIP debug/ folder and send it to us via ufile.io manually."
  Perms_Description: "List all permissions the plugin has."
  Perms_Usage:
  Perms_Header: "Listing All Plugin Permissions"
  Perms_Main: "Main"
  Perms_Permissions: "Permissions:"
  Perms_True_By_Default: "&7[true by default]"
  Perms_Info: "&7Info: &f"
  Perms_Default: "&7Default? "
  Perms_Applied: "&7Do you have it? "
  Perms_Yes: "&2yes"
  Perms_No: "&cno"
  Region_Set_Primary: "Set the primary region point."
  Region_Set_Secondary: "Set the secondary region point."

# -------------------------------------------------------------------------------------------------
# Messages related to paginator splitting command help into multiple pages
# -------------------------------------------------------------------------------------------------
Pages:
  No_Page_Number: "&cPlease specify the page number for this command."
  No_Pages: "&cYou do not have any pages saved to show."
  No_Page: "Pages do not contain the given page number."
  Invalid_Page: "&cYour input '{input}' is not a valid number."
  Go_To_Page: "&7Go to page {page}"
  Go_To_First_Page: "&7Go to the first page"
  Tooltip:
  - "&7You can also navigate using the"
  - "&7hidden '/#flp <page> command.'"
 
# -------------------------------------------------------------------------------------------------
# Messages related to players
# -------------------------------------------------------------------------------------------------
Player:
  Not_Online: "&cPlayer {player} &cis not online on this server."
  Not_Played_Before: "&cPlayer {player} &chas not played before or we could not locate his disk data."
  Invalid_UUID: "&cCould not find a player from UUID {uuid}."
 
# -------------------------------------------------------------------------------------------------
# Messages related to menus
# -------------------------------------------------------------------------------------------------
Menu:
  Cannot_Open_During_Conversation: "&cType 'exit' to quit your conversation before opening menu."
  Item_Deleted: "&2The {item} has been deleted."
  Error: "&cOups! There was a problem with this menu! Please contact the administrator to review the console for details."
  Page_Previous: "&8<< &fPage {page}"
  Page_Next: "Page {page} &8>>"
  Page_First: "&7First Page"
  Page_Last: "&7Last Page"
  Title_Tools: "Tools Menu"
  Tooltip_Info: "&fMenu Information"
  Button_Return_Title: "&4&lReturn"
  Button_Return_Lore:
  - ""
  - "Return back."

# -------------------------------------------------------------------------------------------------
# Messages related to player conversation where server is waiting for his chat input
# -------------------------------------------------------------------------------------------------
Conversation:
  Not_Conversing: "&cYou can only use this command when you are asked to type something in the chat."
  Requires_Player: "Only players may enter this conversation."
  Error: "&cOups! There was a problem in this conversation! Please contact the administrator to review the console for details."
  Conversation_Cancelled: "Your pending chat answer has been canceled."
  Conversation_Cancelled_Inactive: "Your pending chat answer has been canceled because you were inactive."

# -------------------------------------------------------------------------------------------------
# Messages related to tools
# -------------------------------------------------------------------------------------------------
Tool:
  Error: "&cOups! There was a problem with this tool! Please contact the administrator to review the console for details."

# -------------------------------------------------------------------------------------------------
# Words for both singular and plural form. Separate these two forms with ", "
# -------------------------------------------------------------------------------------------------
Cases:
  Second: second, seconds
  Minute: minute, minutes
  Hour: hour, hours
  Day: day, days
  Week: week, weeks
  Month: month, months
  Year: year, years

# -------------------------------------------------------------------------------------------------
# Different prefixes you can use by calling {prefix_<type>} such as {prefix_info}
# -------------------------------------------------------------------------------------------------
Prefix:
  Info: "&8&l[&9&li&8&l]&7"
  Success: "&8&l[&2&l!&8&l]&7"
  Warn: "&8&l[&6&l!&8&l]&6"
  Error: "&8&l[&4&lX&8&l]&c"
  Question: "&8&l[&a&l?&8&l]&7"
  Announce: "&8&l[&5&l!&8&l]&d"

# -------------------------------------------------------------------------------------------------
# Miscellaneous
# -------------------------------------------------------------------------------------------------
None: "None"
Server_Prefix: "[Server]"
Console_Name: "Console"

# -------------------------------------------------------------------------------------------------
# Database related messages
# -------------------------------------------------------------------------------------------------
Data_Missing: "&c{name} lacks database information! Please only create {type} in-game! Skipping.."
Data_Loading: "Database is currently loading data, please wait..."

# -------------------------------------------------------------------------------------------------
# Messages shown when player runs a command he lacks permission for
# -------------------------------------------------------------------------------------------------
No_Permission: "&cNo permission: {permission}"

# -------------------------------------------------------------------------------------------------
# Internal versioning number
# -------------------------------------------------------------------------------------------------
Version: 1
 


Code (Text):

# ------------------------------------------------------------------------------------------------------------
# Database Settings
# ------------------------------------------------------------------------------------------------------------
# Enable or disable the database connection.
enabled: true

# Database type. Supported: 'mysql', 'mariadb', 'sqlite'.
type: 'sqlite'

# The database server address.
host: '127.0.0.1'

# The database server port (usually 3306 for MySQL/MariaDB).
port: 3306

# The name of the database to connect to.
database: 'minealert'

# The username for database access.
user: 'root'

# The password for database access.
password: 'pass'

# Optional settings for the JDBC driver.
Options:
  # Set this to true if you are connecting to MySQL 8+ and get a "Public Key Retrieval is not allowed" error.
  # For most local or trusted database connections, this is safe to enable.
  Allow_Public_Key_Retrieval: true
 



SUPPORT

For help, feedback, or reporting issues,
you can contact me directly on Discord: isi123


Keep your server fair, fast, and cheat‑free — with MineAlert!
Resource Information
Author:
----------
Total Downloads: 27
First Release: Oct 12, 2025
Last Update: Oct 18, 2025
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings