Table of contents



  • Fixed error with alert count in Bungeecord


  • Support for 1.20
  • Improved logging system
  • Improved configuration system
  • Improved Bungeecord sync
  • Fixed library relocations
  • Fixed possible error when loading database libraries
  • Updated libraries


  • Support for 1.18
  • Improved API javadoc
  • Fixed tnt alert trigger even if alerts are disabled
  • Fixed whitelist remove command
  • Fixed debug command for console
  • Fixed wrong placeholders in debug player
  • Updated libraries


  • Added placeholder %player_display_name% for display name
  • Stop to advance count blocks that haven't count settings
  • Support for ItemMods 2
  • Updated libraries


  • Improved alert comments in messages.yml
  • Fixed alert error


  • Support for 1.17
  • API Changes
    • Switched nullness library from checkerframework to jetbrains annotations
    • Improved nullness annotations
    • New events API
  • New placeholders
    • Added a lot of placeholders for top players
    • Added total stats placeholders
    • Added player placeholders
    • More info here
  • New variants system
    • Add variants to specific block
  • New height level system
    • Specify maximum height for a block
  • New libraries system
    • Support for Java 8-16
  • New BungeeCord system
  • Added new debug command for alerts
    • Test normal and advanced alerts
  • Improved alerts
    • Added placeholder for player world
  • Improved command system
  • Improved debug
  • Improved logging system
  • Fixed unknown player name in /oa top
  • External library changes
    • Removed reflections, configurate
    • Updated supported plugins
    • Fixed DiscordSRV support



  • Fixed error with SQLite database


  • Now names in commands are case insensitive
  • Fixed LastLoginAPI support
  • Fixed error with MySQL database


  • Added custom item support
  • Auto command execution
    • Now you can auto-execute a command on block destroy/found
    • Decide to execute commands as console or player
    • You can bypass it with permission
  • Support for PlaceholderAPI 2.10.7+
  • Now you won't see vanished players tab complete
  • Fixed empty DiscordSRV embeds (Thanks to SRLCore)
  • Updated SQLite library



  • Fixed error on TNT destroy
  • Fixed console syntax for /oa stats
  • Fixed error with JSON messages with CraftBukkit 1.16
  • Code improvements to commands


  • Improved H2 and SQLite loading
  • Fixed uncommon startup errors
  • Updated DiscordSRV library to 1.19.1


  • Compiled with MC 1.16.1
  • Added support to DiscordSRV
    • You can setup it with all three types of alerts
    • Choose which channel use to send user and admin alerts
    • Both text and embed messages are supported
  • Added Add/edit/remove block documentation page
    • I added a block example for the new material NETHERITE_BLOCK, just paste it into your blocks.yml if you wanna enable it!
  • Added support to HEX colors (only 1.16+)
    • You can use 2 ways to generate an hex color: &#ff0000 or &x&f&f&0&0&0&0
  • Removed deprecated APIs
  • Changed API repository to repo.alessiodp.com
  • Improved permissions handling
  • Improved config debug with outdated configurations
  • Improved FAQ page
  • By default silk touch bypass is disabled
  • Fixed error on TNT destroy if the player is unknown
  • Updated libraries



  • Added light level placeholder in alerts
  • Fixed large time format of advanced count system, changed h into H
  • Fixed wrong time elapsed on advanced count


  • Fixed database MySQL


  • New color system
    • Independent system for BungeeCord/Bukkit servers
    • Now you can use color codes in display-color field (examples: red, &c)
    • Now it supports both color and style, together! (example: &c&m)
  • New database system (again)
    • Some servers have problems with the previous database system so I changed it again
    • By default the storage is H2! Why? Because SQLite only works with recent server versions
  • Now you can choose to show /oa stats for destroy or found type
    • New optional permissions: oreannouncer.user.stats.destroy and oreannouncer.user.stats.found
  • Now you can choose to show /oa top for destroy or found order
    • New optional permissions: oreannouncer.user.top.destroy and oreannouncer.user.top.found
  • New debug command, useful to check for problems
    • New permission: oreannouncer.admin.debug
    • Three type of sub commands: block <block/all>, config and player [player]
  • Improved code of alerts command
  • Improved json messages
    • Now are easily to read due to color codes usage
  • Dropped JavaFX dependency, now the plugin will work with OpenJDK
  • Code improvements


  • Added option to disable block filtering with /oa top
  • Improved time format for count messages
    • Now you can set a specific format based on days, hours and minutes
  • API Changes
    • Deprecated time format methods
  • Code improvements


  • Added new server placeholders and permissions (BungeeCord)
    • Give a name to each server and use it as placeholder
    • Server based permission to see alerts
    • Placeholder: %server%
    • Permissions: oreannouncer.user.alerts.see.server.SERVERID and oreannouncer.admin.alerts.see.server.SERVERID
  • Added the new H2 storage
  • API Changes
    • Deprecated PlayerDataBlock and all its related methods
    • Deprecated updatePlayer(...) method, useless now
    • Added OABlockDestroy
    • Added new methods to OAPlayer to edit destroyed blocks data
    • Added getBlock(...) and makeBlockDestroy(...) methods
  • Reworked destroy blocks count system
    • Now it works on BungeeCord
  • Improved database updates
  • Improved commands handling and syntaxes
  • Fixed BungeeCord support
    • Tons of improvements/fixes for BungeeCord
  • Fixed start database error in BungeeCord 1.14+
  • Fixed debug logs
  • Fixed errors with display-name in /oa log


  • Reworked database system
    • Removed all tables names
    • Removed varchar-size option
    • Added table prefix option
    • Moved charset option into gen eral-sql-settings
    • New migration system
  • Reworked commands system
    • Added an option to order commands
    • Improved auto complete
    • New way to print help pages and syntax
  • Reworked /oa top command
    • Now you can choose the order: destroy/found
    • Now you can choose the block
    • New syntax: /oa top [order] [block] [page]
  • Reworked placeholders
    • Removed old ones
    • See full list here
    • Added destroy, found and found in X time placeholders
  • Reworked library system
    • New folder lib
    • Added a checksum check for each download
  • Added /oa log command
    • Block based: See all recently found blocks
    • Player based: See all recently found blocks by player
  • Added 4 new permissions
    • oreannouncer.admin.bypass.alerts to bypass alerts when mining
    • oreannouncer.admin.bypass.destroy to bypass destroy count when mining
    • oreannouncer.admin.bypass.found to bypass found count when mining
    • oreannouncer.admin.log to use log command
  • Added display name and display to blocks
  • Added priority to blocks
    • Order /oa stats by priority or value
  • Improved stats command output
    • Now you don't have to list each block in messages.yml
    • Filter them with blacklist
  • Improved blacklist blocks
    • 3 different blacklists for log, stats and top
  • Improved messages
  • Changed command /oa into /oab for BungeeCord servers (still editable)
  • API Changes:
    • Deprecated getTopPlayers(...) for new top methods
    • Added 4 new methods getTopPlayersByDestroy(...)
    • Added 4 new methods getTopPlayersByFound(...)
    • Added 5 new methods getLogBlocks(...)
    • Added methods addBlock(material) and removeBlock(block)
    • Added OABlockFound interface
    • Updated OABlock with new methods
  • Fixed json messages print on console
  • Fixed empty console messages
  • Fixed wrong number of blocks counted by tnt destroy (only advanced count system)



  • Fixed error with blocks.yml save
  • Updated SpigotMC version check


  • Fixed configuration charset, now you can use special characters (utf-8)
  • Updated libraries


  • Fixed player-bypass-blocks option


  • Fixed config warnings on BungeeCord
  • Fixed database error on BungeeCord


  • Fixed advanced count messages (now the number of blocks is displayed correctly)
  • Code cleanup


  • Fixed logging to file
  • Added gold color to tnt message
  • Added blocks blacklisting for counting
    • Hide ores count from /oa top


  • Compiled with MC 1.15
  • New configuration system
    • Now blocks settings are in a separate file, blocks.yml
    • Improved config comments and options
    • Now its separated from the server
  • Improved sound system, now you can set a default sound
  • Rewritten near blocks system, now the server won't crash on popular blocks like stone/dirt/sand/etc..
  • Added "Advanced count mode"
    • Do you wanna receive an alert only after TOT blocks? This is the mode for you!
    • A better way to save statistics, now you will know when a player has found blocks
    • Used to make a week/day/hour based data
    • Alerts based on how many blocks has been found in X time
  • New way to order /oa top: by destroy or found
  • Added TNT mining support
    • Due to Bukkit system, its not possible take who ignites the TNT indirectly
    • Two types of messages: known player and unknown
    • If the player is known, count it as block destroy
  • New APIs
    • Added enabled, count-number, count-time, count-time-format, count-messages and tnt getter/setters
    • Deprecated getTopPlayers(int) for getTopPlayersByDestroy and getTopPlayersByFound
  • Update libraries
    • LastLoginAPI 1.3.0 > 1.3.5
    • PlaceholderAPI 2.0.2 > 2.0.4



  • Fixed usage of PlaceholderAPI placeholders on alert messages


  • Fixed block break error on MC 1.8
  • Updated libraries:
    • LastLoginAPI 1.2.0 > 1.3.0


  • Improved API
    • Added custom messages methods on OAPlayer
    • Added a method to get top players
  • Improved block messages
    • Now you can give a custom message for each block, or use the global one
    • You will be able to color the message as you wish
  • Added warnings on login
    • Send a warning on plugin update or configuration outdated
  • Changed default command to teleport from coordinates tp into player tp
  • Fixed wrong permission message on version command
  • Updated libraries:
    • LastLoginAPI 1.1.1 > 1.2.0


  • Support for 1.14
  • Added sound alerts
    • You can choose any MC sound for each block
    • Sound and pitch globally configurable
    • BungeeCord does not support sounds
  • Now you will be able to create a message that execute a command
    • You have to use a JSON message, admin message is an example
    • You can even teleport to player coordinates
  • Reworked coordinates system
    • In favour of JSON messages the placeholder %coordinates% does not exist anymore
    • You have to use %x%, %y% and %z%
    • Custom format for normal text or json text
    • Improved obfuscation with custom character and length
  • API changes
    • Added getSound/setSound in OABlock
  • Reworked JSON system
    • Now you will be able to use JSON messages almost everywhere
  • Improved command system
  • Improved database upgrade system
  • Now the option bypass-player-blocks is set on false by default
  • Removed unused blocks configuration in BungeeCord config.yml
  • Fixed stats command auto complete on/off instead of player names
  • Code cleanup
  • Updated libraries:
    • bStats 1.4 > 1.5
    • configurate 2.0.0 > 2.0.2
    • LastLoginAPI 1.1.0 > 1.1.1
    • PAPI 2.9.2 > 2.10.3


  • Added support for BungeeCord
    • If you install OreAnnouncer on BungeeCord you will be able to have commands and data into one place
    • If you wanna handle blocks alerts/stats you have to install into each Spigot server the plugin and enable BungeeCord option into config.yml
  • Added support for LastLoginAPI
    • This is my new plugin that I wanna use into my others one
    • Thanks to that I will be able to store username and login date of every player, so username will not be stored by OreAnnouncer anymore (free space) and I will be able to add more related features easily
    • If you don't install it, you will be able to use this plugin but it won't support offline players!
    • More info about LastLoginAPI here!
  • Now version command will shows the server platform
  • Added FAQ page
  • Fixed invalid command and reload messages



  • Removed unsupported 'none' database
  • Fixed empty block list if configuration node not found
  • Code cleanup


  • Improved jar output
  • Fixed plugin description
  • Fixed metrics


  • OreAnnouncer has been reworked, code and features are completely changed
  • Support 1.13
  • Added language packs, see how contribute!
  • Announces are now different for users/admins/console, they are called alerts
  • Start to store information about mined blocks with stats system
  • Coordinates system different for users/admins/console
  • A lot of new features, read the full list on the homepage


  • OreAnnouncer is now open source!
  • The plugin has been completely rewritten
  • The configuration is more easy
  • Due to plugin rewrite, the plugin is performing better and some little bugs are fixed
  • Better permissions
  • New file for messages: messages.yml
  • Commands are now configurable


  • Added log system
  • Improved statistics system
  • Fixed prevent announce on placed blocks


  • Added light control system
    • Alert only when a player mines with a low light level
    • It's configurable
  • New obfuscator system
    • You can obfuscate coordinates that are printed next to the &k (player exploit)
  • Improved updater system
    • It starts when the server finishes to load (better performance, no impact on server boot time)
  • New stats system (removed Hidendra one)
  • Code cleanups



  • Fixed spam in console


  • Commands now works
  • New permission to see messages
    • Default for op, give oreannouncer.see


  • Added Gravity Updater
  • New option to prevent announce placed blocks
  • New permission to bypass prevention of placed blocks (oreannouncer.place)
  • Fixed configuration problem