Enhanced BalTop
v1.6.4.0Amazing Player Balance Boards (where Essentials left off!), multi-board holograms, Variables + more!
v1.6.4.0latestAsync Online / Offline Balance Updating (inc permission node checking)Jun 21, 2017 Guys, After some users complaining of balances not appearing / disappearing due to exclude permission nodes which aren't checked as part of the Balance update process. So, I decided to re-code this and split it into 3 distinct Async. background processes:- · Update Online Balances (Check's exclude permission node for all online users) · Update Offline Balances (Check's exclude pemission node for all offline users) · Sort Balances (If required) Naturally the interval which these are executed is configurable, due to variances in server speed, and user volumes. So once this plugin update is installed and your server is restarted, the following new options will be automatically added to EBaltop's config.yml:- · updateonlinebalinterval: 40 # Default of 2secs or 40ticks · updateofflinebalinterval: 400 # Default of 20secs or 400ticks · sortbalinterval: 100 # Default of 5secs or 100 ticks By all means tune these on your server with caution as not to cause lag, as these can be quite intensive processes depending on the number of online/offline player balances. EnhancedBalTop has numerous algorithms employed to determine whether all balances should be sorted when the Sort Balance process/thread executes and uses a powerful Java 8 (very quick) parallel stream sort method to achieve this. Secondly, I've updated the /baltop exclude add and /baltop exclude remove code so that they aren't case-insensitive if you exclude by player name. They also support adding / removing by UUID as previously available. Finally, I'd appreciate your feedback after trying this out on your own servers and let me know what you think in the Discussions area and don't forget to rate this plugin on the right (Version v1.6.4.0). All The Best -Lozzv1.6.3.1Fix Possible Null Error On Load/Enable with CraftBukkitJun 19, 2017 Apply this mino r update to fix the following error that sometimes appears on CraftBukkit (various versions):- Code (Text): [12:39:20 INFO]: [EnhancedBalTop] Enabling EnhancedBalTop v1.6.3.0 [12:39:20 ERROR]: Error occurred while enabling EnhancedBalTop v1.6.3.0 (Is it up to date?) java.lang.NullPointerException: null at com.lozzsoft.enhancedbaltop.EnhancedBalTop.onEnable(EnhancedBalTop.java:1229) ~[?:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) ~[craftbukkit-1.12.jar:git-Bukkit-ed8c725] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:329) [craftbukkit-1.12.jar:git-Bukkit-ed8c725] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:401) [craftbukkit-1.12.jar:git-Bukkit-ed8c725] at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugin(CraftServer.java:361) [craftbukkit-1.12.jar:git-Bukkit-ed8c725] at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugins(CraftServer.java:323) [craftbukkit-1.12.jar:git-Bukkit-ed8c725] at net.minecraft.server.v1_12_R1.MinecraftServer.t(MinecraftServer.java:411) [craftbukkit-1.12.jar:git-Bukkit-ed8c725] at net.minecraft.server.v1_12_R1.MinecraftServer.l(MinecraftServer.java:372) [craftbukkit-1.12.jar:git-Bukkit-ed8c725] at net.minecraft.server.v1_12_R1.MinecraftServer.a(MinecraftServer.java:327) [craftbukkit-1.12.jar:git-Bukkit-ed8c725] at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:244) [craftbukkit-1.12.jar:git-Bukkit-ed8c725] at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:521) [craftbukkit-1.12.jar:git-Bukkit-ed8c725] at java.lang.Thread.run(Unknown Source) [?:1.8.0_74] - Lozzv1.6.3.0Exclusions & Permissions Node Bug FixesJun 15, 2017 Guys, I've been through the exclude player code, and exclude permission node code, and addressed some bugs discovered there after testing with a large user base (approx 900 user accounts). I've also optimised the sorting code, which now sorts balances in descending order by balance (as previous), then alphabetically by player name. In other words, players with duplicate balances will appear in alphabetical order on the text and hologram boards, subject to them not being excluded by the normal exclusion criteria (config.yml ExcludeDays, ExcludePermNode etc). If you discover any issue's still with this or any others, then let me know in the Discussions area and I will respond as soon as I can. -All The Best Lozzv1.6.2.8Exclude Player Save BugJun 8, 2017 All, This update fixes a nasty bug that crept in, where the exclude player list is not updating config.yml when players are added/removed via /baltop exclude add & /baltop exclude remove commands. You should see now that excludeplayers section is now updated correctly in config.yml Also I've added a new variable by request too, which I forgot to mention previously:- {balancefmt} - Displays player's balance formatted with comma's for 1,000's, 1,000,000's etc. and rounded to number of decimal places specified by decimalplaces config.yml value. -All The Best Lozzv1.6.2.5Improved Hologram Update SpeedMay 1, 2017 All, I've refined the code that updates the hologram lines which is now significantly quicker for those using Holograms Plugin. Also quicker for those using HolographicDisplays, although less noticible ;-) Lozzv1.6.2.0Holograms Plugin Support + Perf. ImprovmentsApr 29, 2017 All, I've now added (automatic) support of Holograms plugin. If you do happen to have both Holographic Displays or Holograms plugins installed it will choose one or the other (depending on which is enabled first). Additionally I've added asynchronous hologram build code to offload alot of the work involved in creating those lovely required hologram text and item line objects that contain your variables, color codes, item stacks etc. Just download and replace the existing EnhancedBalTop-v1.?.?.?.jar file in your plugins directory/folder to seize opportunity of these NEW features! All the best! -Lozzv1.6.0.0Multi-Hologram Board UpdateApr 15, 2017 Guys, I've done some major rework on this version, to structure the code better and of course introduced Multiple Hologram Board Templates and individual Hologram Board TopN values. Hologram Template Files After installing this plugin you'll find a new directory, HologramBoards containing 3 new Hologram Board template files. The most important one is default.yml, which is what is used to convert all your existing hologram boards. Therefore if you wish to keep your current hologram format then transfer holoheader, holodetail and holofooter section lines over to the respective header, detail, footer sections in default.yml You'll also find that there are also two other template files, holoboard1.yml & holoboard2.yml for you to use on new hologram boards you create. You can also create your own custom board templates and place them in the same directory (HologramBoards). NOTE: Don't forget to reload the plugin via /baltop reload for it to pick up any changes/additions to the files in this directory. Create Hologram Board With Specific Hologram Board Template To add a new hologram and specify which hologram board template to use, you use the following (/baltop hologram add .... has been updated): /bt hologram add <hologramname> [interval] [board_filename] e.g.To create a hologram board named lozzboard1 updated every 10s using holoboard1.yml template file:- /bt hologram add lozzboard1 10 holoboard1.yml You'll also notice that /baltop hologram list command now shows the hologram board template file used for each of the holograms that exist. Individual Hologram Board TopN Value Finally, hologram boards can have different Top N players displayed. To alter a hologram board from the default inherited (via /baltop holotopn), use the new command:- /baltop hologram topn <hologram_name> <numberofplayers> e.g. Set hologram board named lozzboard1 TOPN to 10 players:- /baltop hologram topn lozzboard1 10 Note /baltop holotopn <numberofplayers> This existing command now sets the default TopN value to <numerofplayers> initially used when first creating new holographic display boards. I hope you guys enjoy this great new feature to EnhancedBalTop! -Lozz P.S. Don't forget to rate this version and if you feel brave leave a review.v1.5.9.3Minor Update, Performance improvements, new variable, new default config.ymlisFeb 20, 2017 Guys, Just some minor changes/additions:- · Improved the performance (much faster!) of the initial fetch of all offline player information, including balances, when occurs shortly after the plugin is enabled or your server is started. · New variable, which I think should prove useful:- {excludedays} This displays the number of days set in the excludedays key from config.yml. Remember excludedays config option allows you to filter out unwanted old player balances. This still defaults to 30 days (which you can change), meaning players not logged in for over 30 days, offline player data (balance info etc) WILL be filter out/EXCLUDED from all text and holographic balance boards. · New default header for text and hologram balance boards (see updated config.yml on main overview page). · Added two extra (default) command aliases to default config.yml:- 'ebt' & 'bt' (see updated config.yml on main overview page) Let me know if there is anything else you think this plugin needs, and I'll consider them for future updates. Enjoy! -Lozzv1.5.9.2Enable Sub-Cmds + Variable UpdateNov 23, 2016 Guys, Bug fixes and new features in this update as follows:- · New Variables {serverbalonlinetotal}, {serverbalonlinetotalfmt}, {serveronlinetotal} · New permission node: EnhancedBalTop.enablecmds · switches between online/offline player accounts with the same player name based on lastplayed date i.e. which one logged in last Variable Explanation {serverbalonlinetotal} - Total of all Online player balances only roumded to number of decimal places specified by decimalplaces in config.yml. {serverbalonlinetotalfmt} - Total of all Online player balances only rounded to number of decimal {serveronlinetotal} places specified by decimalplaces in config.yml AND formatted to unit denominations, K, M, B, T etc. Permission Node Simply add EnhancedBalTop.enablecmds to individual user or group permissions to limit their access to /baltop <pageno> command only. All parameters ignored except first one is processed/parsed as the Page No parameter only.v1.5.9CRITICAL HOLOGRAM UPDATE BUG FIXAug 15, 2016 Sorry Guys for the volume of updates recently and my multi-legged beasty (BUG) crushing !!! This minor update fixes a critical bug where the last baltop HOLOGRAM page is shorter than the previous pages. If you encounter this bug you will be getting errors such as:- [Server thread/WARN]: [EnhancedBalTop] Task #1597 for EnhancedBalTop v1.5.8 generated an exception java.lang.ClassCastException: com.gmail.filoghost.holographicdisplays.object.line.CraftItemLine cannot be cast to com.gmail.filoghost.holographicdisplays.api.line.TextLine at com.lozzsoft.enhancedbaltop.EnhancedBalTop.updateHologram(EnhancedBalTop.java:938) ~[?:?] at com.lozzsoft.enhancedbaltop.EnhancedBalTop.access$1(EnhancedBalTop.java:809) ~[?:?] at com.lozzsoft.enhancedbaltop.EnhancedBalTop$1.run(EnhancedBalTop.java:760) ~[?:?] at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:71) ~[spigot-1.8.8.jar:git-Spigot-5f38d38-18fbb24] at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350) [spigot-1.8.8.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:723) [spigot-1.8.8.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [spigot-1.8.8.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [spigot-1.8.8.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [spigot-1.8.8.jar:git-Spigot-5f38d38-18fbb24] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_101] Also you may experience missing player balance lines and previous page lines being displayed at the end of where the hologram should finish. So install this update to fix these issues! -Lozzv1.5.8Improved Economy Error HandlingAug 15, 2016 All, EnhancedBaltop now logs a custom message (added to messages.yml) along with a java exception when it fails to fetch a balance via Vault's Economy provider (.e.g. Essentials/EssentialsX etc). This also fixes a potential crash, in the relevent code lines where it calls Vault's getBalance method ;-)v1.5.710.2. compatible + Bug FixesAug 14, 2016 All, This version is CraftBukkit/Spigot v1.10.2 down to v1.7.x compatible (make sure you have latest versions of Essentials, Vault, Holographic Displays plugin relevant to that specific version of CraftBukkit/Spigot!). Bug Fixes ------------- · New players joining are now correctly tracked via UUID instead of player name. · New Players never joined before will now NOT BE excludedays checked (if set to non-zero). i.e. NOT filtered out for old date/time login check.v1.5.6Bug Fixes & Offline Account FilterAug 12, 2016 · Minor Bug Fixes · New config.yml Option excludedays to filter out OLD Offline player accounts. Set to 0 to disable or x number of days, to exclude accounts older than x days. The default config value is 30 days.v1.5.5Interim Bug Fix + New VariablesJul 5, 2016 All, I decided to post this interim release before the next major release version, as I know some of you awaiting new variables and bug fixes. Bug Fixes ======== Fixed ArrayIndexOutOfBounds = 0 Java exception ocurring when ALL players excluded. There is now a new message added in messages.yml (nobalsavail key). New Variables =========== I've kept the related existing variables (where shown), for backward compatibility (saves you having to change your config.yml!). Here are the new variables.... · {servertotal} / { serverbaltotalfmt} Displays sum of all player balances rounded and using unit denomination (i.e. K/M/B etc) · {serverbaltotal} Displays sum of all player balances without using unit denominations but rounded to number of decimal places defined by confDecimalPlaces config option. · {maxplayerbalvaluefmt} / {maxbalvalue} Displays highest player balance rounded and using unit denomination · {maxplayerbalvalue} Displays highest player balance rounded to number of decimal places defined by DecimalPlaces config option. · {minplayerbalvaluefmt} / {minbalvalue} Displays lowest player balance rounded and using unit denomination · {minplayerbalvalue} Displays lowest player balance rounded to number of decimal places defined by DecimalPlaces config option. Enjoy! -Lozzv1.5.0Major 1.5 Update (Hologram Interval Update, hologram teleport & Bug Fixes)May 20, 2016 Guys, I've been busy with this latest v1.5 update, bringing you more features for FREE and bug fixing:- New Features · /baltop hologram tp <holoname> Teleports you next to the specified hologram (player only command) · /baltop hologram add <holoname> [interval] Optional [interval] parameter added, where you can specify in seconds how often the hologram is updated/switches to the next page (if you have more than 1 page of player balances!) If you omit this value it will default to holoupdateinterval: key value in config.yml. Existing holograms will also update as usual via holoupdateinterval: key value in config.yml, as previous to v1.5.0. Bug Fixes · All /baltop sub-commands also display usage help output correctly NOW (LOL) if you get the command wrong. messages.yml (new default/replacement v1.5.0) · messages.yml will be replaced with a default version 1.5 messages.yml. SO you will loose any changes you've made to messages.yml if the plugin determines this file is from an old version (i.e. previous to v1.5.0), otherwise (if messages.yml is version 1.5.0) it is left unchanged! only after you have upgraded to EnhancedBalTop v1.5.0 the plugin will allow you to customise ALL messages (not replace messages.yml) again (useful for foreign language users), P.S. DON'T FORGET TO RATE THIS VERSION OF THE PLUGIN!v1.4.6Reload Bug FixMay 17, 2016 config.yml changes no longer lost upon reload now. configuration is reloaded from config.yml on /baltop reload.v1.4.5Simplified PermissionsMay 16, 2016 · NEW simplfied additional permission nodes:- EnhancedBaltop.baltop EnhancedBalTop.admin EnhancedBalTop.topnbal EnhancedBalTop.holotopn EnhancedBalTop.exclude EnhancedBalTop.hologram Or if you prefer you can use the original permissions. e.g. EnhancedBaltop.baltop.baltop etc. YOU DO NOT NEED TO GRANT BOTH NEW AND ORIGINAL PERMISSION NODES TO THE RELEVANT GROUP OR PLAYER NOW! · Also, permission for plugin reload is now granted correctly via EnhancedBalTop.admin or EnhancedBalTop.baltop.admin nodes.v1.4.1Variable update + minor bug fixingMay 15, 2016 · Variable changes {player} variable Just the player name string with no space padding. (Previous versions padding player name with spaces to 16 chars) · {playerpadr} variable Pads the player name out with spaces after the player name to length of 16 characters. (previous {player} v1.4.1 behaviour) · Bug Fixing Improved config.yml and messages.yml file checking. Missing lines/keys and are automatically added with default values. All lines/key values changed from default are kept / unchanged..v1.4.0PlaceholderAPI 2.4.x SupportMay 15, 2016 EnhancedBalTop now supports all placeholder variables accessible via Clip's PlaceholderAPI:- Note you will need to install his plugin, along with latest version of ProtocolLib, and configure your relevant expansions (see his plugin documentation) EnhancedBaltop will NOT display any Clip's placeholder variables relating to offline players. This is a limitation of that plugin. Clip placeholder variables (in the %variable% format) can be used in text Header, Detail and Footer Lines and only Hologram detail lines defined in config.yml Any invalid or non-resolved placeholder variables (with %....%) will be substituted by the placeholderempty string defined in config.yml.v1.3.5Spigot 1.9.4 compatibilityMay 13, 2016 Now updated for Spigot 1.9.2 and 1.9.4 compatibility....also some minor bug fixing (removing deprecated CraftBukkit class methods etc). I'm investigating using Clip's Placeholder API plugin that he's updated recently, to allow ALOT MORE variables to be used in text and holographic boards!!!!!! This will most likely be available on version 1.4 in the not too distant future, and it also means when this functionality is available and enabled you will need to install his plugin too.... https://www.spigotmc.org/resources/placeholderapi.6245/ Best Regards -Lozzv1.3.0Major 1.3 Update (UUID, custom Messages, new variables + More!)Apr 18, 2016 The Major 1.3 update version is here! Features:- · Player UUID (offline+online) display and command support · All informational and error messages customisable in new messages.yml file · multi-line text and hologram board detail line support (config.yml) · Spigot/CraftBukkit 1.7.x Compatibility · New Variables Note: This version will ignore cmdprefix config option in config.yml, as this has now moved to messages.ymlv1.2.0Improved /baltop cmd performanceMar 31, 2016 I've incorporated a balance caching algorithm for /baltop, which initally extracts all offline player balances from approx 200 ticks (10s) after the plugin is enabled.Offline and online player balances are updated/tracked accordingly thereafter. (Online player balances updated internally once per second... I may make this configurable in a future release should this cause any lag for large server users). /baltop now runs instantly on my server with approx 650 offline player balances, feedback on performance improvement there for large servers would be appreciated ;-) -Lozzv1.1.5Added Command AliasesMar 31, 2016 config.yml example excerpt enable: true checkupdates: true cmdprefix: '&7[&eEnhanced&6BalTop&7] ' cmdaliases: - 'ebaltop' deftopn: 10 pagesize: 10 ..... cmdaliases: Add multiple command override aliases (these should override any existing commands should you pick a command alias that already exists). e.g. 'ebaltop' will override Essentials ebaltop and run /baltop instead!v1.0.5Vastly Reduced Lag Spikes on Hologram UpdateMar 18, 2016 · Hologram Update Performance Improvements..... (Tracks online Player Balances, and only updates offline player balances on displayed hologram pages) · Minor Bug Fixingv1.0.1Reduce Lag on Updating HologramsMar 17, 2016 A few minor bug fixes and perf. improvement (reduce lag) for updating holograms.v1.0.0Initial VersionMar 17, 2016 Lots Hope You Don't Find Too Many Bugs!!!!!
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
26.2MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.9MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
4.7MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta