FoundBoxx
FoundBoxx - Ore Finds Announcer (anti-cheat, xray, fullbright)
NOTICE: PLEASE DELETE AND REDO YOUR CONFIGURATIONS FOLDER ALONG WITH FOUNDBOXX TABLES IN DATABASES WHEN UPDATING FROM 1.8 TO 1.9
Multi-threaded optimizations! Flat file (H2) support!
Custom messages and blocks support!
Stats collection: MCStats Lite is included in the latest versions and will just be collecting really basic information (your server's IP address, and other private information will not be collected) about your server. The collection will be used for the public's (mainly mine) knowledge on the popularity of the plugin, you may choose to opt-out in the configurations by changing the "Allow_Usage_Stats_Collection" option to false. For more information please head to http://mcstats.org/learn-more/
Description
Continuation of FoundDiamonds from scratch (Yes, even the MySQL, but 10% of it is from a tutorial). Announces ore finds. Easy to configure. Extra features
Features
- Announcing findings of the different ore by players
- Able to set to use permissions (Look below)
- Able to configure which ore to announce
- Announces number of the same ore nearby
- Announces light level (in percentage, for fullbright hackers)
- Able to set only survival players to then announce
- Saves all nearby ores into a list to prevent players from getting it announced again after 30 seconds unlike FoundDiamonds
- List will be cleared on server restarts or entries removed on removing the blocks
- Random item on mining diamonds
- Able to set to disallow mining at light 0, to help in fullbright hackers
- SQL and flat file (H2) support!
- Using SQL you can also get a player's farmrate!
- Customizable messages!
- Auto-updater
Commands
- /foundboxx or /fb - Main command
Permissions [PermissionBukkit, PEX, bPerms]
foundboxx.* - Everything below (Try to give this to only MAIN server admins) foundboxx.admin - Use ALL /fb commands (Try to give this to only MAIN server admins) foundboxx.notify - Get the notification foundboxx.dark - Allows mining in dark all the time foundboxx.cmd.reload - Allow /fb reload and /fb config (WARNING: GIVE TO ONLY TRUSTED PEOPLE [THEY CAN SEE MYSQL PASSWORD]) foundboxx.cmd.queue - Allow /fb queue foundboxx.cmd.farmrate - Allow /fb farmrate foundboxx.cmd.update - Allow /fb update foundboxx.ignore.* - Ignore for all ore finds foundboxx.ignore.emerald - Ignore emerald finds foundboxx.ignore.diamond - Ignore diamond finds foundboxx.ignore.gold - I don't need to say what this does foundboxx.ignore.iron - I don't need to say what this does foundboxx.ignore.lapis - I don't need to say what this does foundboxx.ignore.redstone - I don't need to say what this does foundboxx.ignore.coal - I don't need to say what this does foundboxx.ignore.allextras - I don't need to say what this does
Configuration Defaults (plus comments)
Auto_Update_On_Plugin_Enable: true #toggle the auto updater running on start because you don't trust me/are lazy. You can still use "/fb update". Notify_On_Updates: true #notify people with the foundboxx.cmd.update permission on updates available (not linked with auto update) Allow_Usage_Stats_Collection: false #allow MCStats data collection Survival_Only: true #only listens to players in survival mode (recommended: true) Use_Nickname: false #when announcing, use the players nick (display name). SQL logging is still original real name Use_Permissions: false #permissions enabled? If no permissions, op will do (PermissionBukkit, PEX, bPerms) Messages: Found_Notification: '%ply found %amt %blk(s) (Visibility: %vis%)' #block found notification (%ply = Player name; %amt = Amount of the block found; %blk = Block name; %vis = Visibility value) Must_Have_Light_To_Mine: Interacting in the dark is dangerous! Put some torches! #warning to display when mining in dark is disallowed and the person mines in the dark Count_Diagonal_Ores: false #should the plugin count diagonal ores EMERALDS: true #announce emeralds. DIAMONDS: true #announce diamonds GOLD: true #announce gold IRON: true #announce iron COAL: false #announce coal LAPIS: true #announce lapis REDSTONE: true #announce redstone Extra_Blocks_IDs: [] #also announce all material names inside the box separated with a comma (Format: [STONE, IRON_BLOCK, DIAMOND_BLOCK]) Percentage_Chance_To_Give_Randoms_Item: 0 #out of 100, chance to give a random item to everyone, leave 0 to disable. Max_Random_Items_To_Give: 3 #max number of the random item to give, 1 to this value Random_Item_To_Give: RAW_CHICKEN #material name of the random item Must_Have_Light_To_Mine: false #disallow fullbrighters to mine in the dark at light 0 (still announces ore finds but without visibility) Ignore_Night_Vision_Mining_In_Dark: false #night vision potions support for mining in the dark SQL_Enabled: false #false = Disable SQL and H2; true = Enable SQL; SQL = Enable SQL; H2 = Enable H2 SQL: #ONLY REQUIRED TO CHANGE USING SQL (H2 ONLY USES PREFIX) IS ON URL: localhost #URL of SQL Port: 3306 #port of SQL Database: minecraft #Database to use Prefix: fb #prefix of all FB database (eg. "fb-log") User: root@localhost #username to log in SQL Pass: '' #password to log in SQL Days_To_Remove: 1 #how long can a log survive before it is able to get deleted on startup. Maximum_Queries: 5000 #how many queries that can be used (To MySQL literate people, it's the maximum LIMIT value) Maximum_Data_Queries_Per_Second: 10 #how many queries to be sent per second (to prevent overload)
Source code: https://gitlab.com/jarylc/FoundBoxx
Everything is ok :D Just there is some funny bug. If you have enabled Must_Have_Light_To_Mine, then in world_the_end and world_nether it will say "put some torches", xD Because then you have to put torches anywhere in end world to get ride of this message.
Can you just remove this in nether and endworld ?
Same error that locks up the server as stated in the other posts. Any fix on this coming soon Running R3 right now.
Very useful plugin but I'm getting an error that froze the server. http://pastebin.com/Mm595Mm9
The error we are getting is identical to the one mentioned by KCZerG, except it starts out differently.
18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126) 18:36:56 [SEVERE] at me.Jaryl.FoundBoxx.Threads.Notify.getAllRelative(Notify.java:126)
Thats no fun... looks like full server lockup
The best plugin a series of anti-xray :D
@dickwick
I'm having the same problem/.
Foudboxx keep lagging my server :( Once a while it overload mysql (on same machine) and TPS goes down to 5-9.
Here is NoLagg examine file http://api.cld.me/Gu2k/download/2012_05_25-16_49_08.exam
When I checked mysql queries, there were one query inserting into foundboxx-placed and foundboxx-log at absolutely insane rate => it causet mysql to slowdown => whole server lag.
@cuddyier
I'm also having this problem. And sometimes the foundboxx log shows incorrect number of blocks.. Example: Player found 632 gold blocks and in reality he has found just 3...
Whats does this error mean? http://pastebin.com/buUd0y4N
My 1 major issue with the detection methods is that it appears to be tracking when ores are discovered and just hit instead of when they are mined up. Which means if a player builds a wall of diamond ore for there house people are being credited every time they punch the wall.
Can you change it so that it only tracks when players break the ore instead of just hit the ore.
Who is the owner of this plugin ? Is same owner as FoundDiamonds or someone else ?
maybe you could change it on the config, so that it doesn't just say "person found coal" it could say "person could be bothered to mine coal" this would be a good feature and could make server's more fun, me and a friend would love this for my server, so could you add this please?
Just a little comment, the random spell feature of FoundDiamonds is amazing, would it be possible to see this happen in foundboxx?
Players are reporting that they can still mine in the dark with the must_have_light_to_mine setting to true. 1.2.4
I'm having a problem on my server. We want it so that only the admins see the announcement, so we don't spam the chat. However, when we have the permissions config set on true, permissions doesn't work. And with it off, everyone can see the message.
Using PermissionsBukkit and CraftBukkit #2036 1.2.3
Found a bug.
- If a player is using a fortune pickaxe, the plugin detects it as more diamonds than actually mined. This makes it highly suspect able of every ore he gets that he is xraying.
Yeah I'm not getting diamond alerts. 1.2.
Can you make it so players can turn it of? For example /fb off so they dont get the messages anymore
Hey nice plugin. Scared most people to not use XRAY.
I would like to be able to customize the message though. So it incorporates better with the look of my chat, to make it less intrusive.
@deleted_7554077
Ditto