Enhanced BalTop v1.6.4.0

Amazing Player Balance Boards (where Essentials left off!), multi-board holograms, Variables + more!

  1. Lozz
    Tested Minecraft Versions:
    • 1.7
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    EnhancedBaltopLogo.png

    TESTED ON CraftBukkit/Spigot 1.7 - 1.12

    PLEASE DON'T FORGET TO RATE THIS PLUGIN ! ;)

    Description:

    Fully
    customizable and enchanced /baltop replacement command (continues where Essentials left off!) with holographic balance boards. (Uses Holographic Displays plugin).

    new v1.3 default /baltop output:-
    2016-04-18_19.07.45.png

    v1.0-v1.2
    default /baltop output : (defaults to page 1):-
    baltop_cmd_page1.png

    /baltop 2
    output (Showing you page 2 of 5)
    baltop_cmd_page2.png



    /baltop holograms (Showing you page 1 and page 2 out of Top 30 balances):-

    (Version 1.3 default)
    2016-04-18_13.16.44.png

    (Version 1.2 default or below)
    2016-03-17_00.01.21.png

    2016-03-17_00.01.32.png


    Commands:-

    /baltop [<pageno>]
    Displays text based baltop board, one page at a time. You can list which page number with the optional <pageno> parameter.
    (executable by: console/player)

    /baltop topnbal <numberofplayers>

    Sets the text based baltop board to display Top <numberofplayers> Balances, one page at a time. Pages default to 10 players, but can be changed in the config file.

    Balance Boards are immediately reset to Page 1.
    (executable by: console/player)

    /baltop exclude list
    Lists players added to the permanent exclusion list stored in the config file. If displayuuid is true|yes in config.yml then it will display the player's UUID.
    .(executable by: console/player)

    /baltop exclude add <playername>|<playeruuid>
    Add player <playername> or <playeruuid> to the permanent exclusion list and adds it to the config file.
    (executable by: console/player)

    /baltop exclude remove <playername>|<playeruuid>
    Remove player <playername> or <playeruuid> from the permanent exclusion list and removes it to the config file.
    (executable by: console/player)

    /baltop holotopn <numberofplayers>
    Sets Default TopN value to <numerofplayers> initially used when creating new holographic display boards.
    (executable by: console/player)

    /baltop hologram list
    Lists existing holographic balance board details with their respective location (world/XYZ coords), update interval and board template file used.
    (executable by: console/player)

    /baltop hologram movehere <hologramname>
    Moves/relocates hologram <hologramname> to player's current location.
    (executable by: player)

    /baltop hologram add <hologram_name> [interval] [board_filename]
    Creates permanent hologram balance board <hologramname> at the players current location.
    You can optionally special the interval in seconds on how ofter the board is updated, default interval of 30seconds is used if omiited.
    Also you can optionally specify which balance board template file is used to create the hologram, default.yml is used if this parameter is omitted.

    (executable by: player)

    /baltop hologram remove <hologramname>
    Removes hologram balance board <hologramname> from its current location.
    (executable by: console/player)

    /baltop hologram topn <hologram_name> <top_n_players>
    Set's Top N players for hologram balance board <hologram_name> to <top_n_players>.

    /baltop reload
    Reloads plugin and config - This does not disable/remove any of the existing hologram balance boards.

    Dependancies:-

    Required:
    Vault (For economy and permissions)
    http://dev.bukkit.org/bukkit-plugins/vault/

    Optional:
    Holographic Displays (for holograms)
    http://dev.bukkit.org/bukkit-plugins/holographic-displays/

    Clip's PlaceholderAPI (for external plugin placeholder variables)
    https://www.spigotmc.org/resources/placeholderapi.6245/

    config.yml:-

    Code (Text):
    enable: true
    checkupdates: true
    displayuuid: true
    cmdaliases:
    - 'ebaltop'
    - 'ebt'
    - 'bt'
    deftopn: 100
    pagesize: 10
    excludepermnode: EnhancedBalTop.baltop.excludeplayer
    usemoneydenominations: true
    decimalplaces: 2
    dateformat: dd-MM-yyyy HH:mm
    excludedays: 30
    placeholderempty: ''
    header:
    - '&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e='
    - '&e{servername} &f{date}'
    - '&6Top &a{topnbal} &6Balances For Last &a{excludedays}&6 days'
    - '&6High Bal: &e{maxbalplayer}&e - &a$&f{maxbalvalue}'
    - '&6Low Bal: &e{minbalplayer}&e - &a$&f{minbalvalue}'
    - '&6Offline Players: &a{totalofflineplayers}&6, Online Players: &a{totalonlineplayers}'
    - '&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e='
    detail:
    - '&6{lineno}: &f&l{player} &6has &a$&f{balance}'
    - '&6{lineno}: UUID: &a{uuid}'
    footer:
    - '&e---- Page &6{pageno} &eOf &6{totalpages} &e----'
    holotopn: 100
    holopagesize: 10
    holoupdateinterval: 30
    holoheader:
    - '{icon:DIAMOND}'
    - '&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e='
    - '&e{servername} &f{date}'
    - '&6Top &f{topnbal} &6Balances For Last &a{excludedays}'
    - '&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e='
    holodetail:
    - '&6{lineno}: &f&l{player} &6has &a$&f{balance}'
    holofooter:
    - '&e---- Page &6{pageno} &eOf &6{totalpages} &e----'
    - '&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e='
    - '&6Enhanced&eBalTop &f(C) 2016 &1&lL&2&lO&3&l&lZ&4&lZ&c&lSoft'
    - '&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e=&6-&e='
    - '{icon:DIAMOND}'
    excludedplayers: []

    config.yml Explanation:-

    Whilst some options are self-explanatory, information for the less obvious config options below:-

    displayuuid:
    Enables display of Player UUID's for COMMANDS ONLY such as /baltop exclude....
    If you're using the default config, then UUID's are displayed for player balances in the text based balanced boards via /baltop command. To disable this, remove the following line from config.yml:-
    - '&6{lineno}: UUID: &a{uuid}'


    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!

    deftopn: Sets the total number of player balances displayed for text based /baltop balance boards.

    pagesize
    : Sets the number of players listed per page. Don't set this too high otherwise your text output will scroll for long player lists (if set by deftopn) !

    excludepermnode
    : Custom permission node also used for excluding players in addition to the /baltop exclude based commands.
    This works with most permission plugins (PEX, bPermissions, GroupManager etc) as supported by Vault permissions.

    usemoneydenominations
    : If set to true, balances will use the following denomations/notation:-
    K, M, B, T, Q, QT, S, SP
    Set to false to disable and use normal notation


    decimalplaces: Set number of decimal places balance/money value is rounded to. E.g. default is 2,: If player has balance say $100.268 will be displayed as $100.27.

    dateformat: dd-MM-yyyy HH:mm
    Standard Java date format for header/footer/detail config lines containing {date} variable in config file.

    excludedays: Set number of days to exclude old player balances via their lastloggedin date/time. This defaults to 30 meaning any player balances over 30 days old/not logged in for over 30 days will be excluded.
    Set this to 0 to disable this feature.

    placeholderempty: String to display if placeholderapi string wrapped with % (e.g. %statistic_player_kills%) returns empty string or unresolved. Defaults to ''

    holotopn: Sets the total number of player balances displayed for holographic based /baltop balance boards.

    holopagesize
    : Sets the number of player balances listed per page for holographic based balance boards. Default is 10 players

    holoupdateinterval
    : Sets the update interval in seconds for all the holographic balance boards. If they span across multiple pages, it will cycle through each page, one per update.

    Edit the relevant Header, Detail and Footer keys to customise your Text based /baltop and hologram balance boards....

    Header & Footer (text /baltop and holograms) keys

    The headers and footer config lines for text based /baltop and holographic balance boards can have multiple lines as can be seen by the config,

    They also support single line holographic icons/itemlines (as per holographic displays spec) using the {icon:xx} variable.


    Detail (text /baltop and holograms) keys

    Multiple details line which are normally used to display the player name and their associated balance.


    All color coding and formatting codes support using & prefix.


    messages.yml (v1.3+ only!):-
    Code (Text):
    cmdprefix: "&7[&eEnh&6BalTop&7] "
    hookvaultecon: "&aHooked Successfully Into &f&lVault Economy"
    vaultnf: "&cDependant &f&lVault &cPlugin Not Found!"
    holopluginnf: "&f&lHolographic Displays &cPlugin Not Found, Exiting"
    hookvaultperm: "&aHooked Successfully Into &f&lVault Permissions (&e%0%&a)"
    newversion: "&6New Version: &a%0% &6Is Available. Download from &ahttps://www.spigotmc.org/resources/enhanced-baltop.20168/"
    failcheck: "&cFailed To Check For Update....."
    reloadplugin: "&aReloaded Plugin"
    reloadconfig: "&aReloaded Config"
    #
    hologramfilenf: "&cHologram File &a&%0%&e Not Found, Creating!"
    hologramscr: "&6Creating Initial Holograms From &a%0%"
    holocoordnf: "&cHologram: &a%0% &chas Empty &a%1% Coord. Value In &a%2%"
    holocoordnv: "&cHologram: &a%0% &chas Invalid &a%1% Coord. Value In &a%2%"
    #
    topnbalset: "&eSet No. Player Balances To &a%0%"
    holotopnset: "&eSet Hologram No. Balances To &a%0%"
    excllist: "&6Excluded Players List:-"
    hololist: "&6Hologram List:-"
    #
    getbalinfo: "&6Fetched And Sorted &a%0%&6 OffLine Player Balances"
    holoinfo: "&e%0%. &6Hologram: &f%1%&e, &6World: %2%&f &[email protected] X: &f%3%&6, Y: &f%4%&6, Z: &f%5%"
    holocrinfo: "&6Created Hologram: &f%0%&e, &6In World: %1%&f &[email protected] X: &f%2%&6, Y: &f%3%&6, Z: &f%4%"
    holoreminfo: "&6Removed Hologram: &f%0%&e, &6From World: %1%&f &[email protected] X: &f%2%&6, Y: &f%3%&6, Z: &f%4%"
    holomoveinfo: "&6Moved Hologram: &f%0%&e, &6To World: %1%&f &[email protected] X: &f%2%&6, Y: &f%3%&6, Z: &f%4%"
    excllistinfo1: "&6%0%. &ePlayer: &f&l%1%"
    excllistinfo2: "&6UUID: &a%0%"
    excladdinfo1: "&6Added Player: &a&l%0%"
    excladdinfo2: "&6UUID: &a%0%"
    excladdinfo3: "&6To Excluded Players List"
    exclreminfo1: "&6Removed Player: &a&l%0%"
    exclreminfo2: "&6UUID: &a%0%"
    exclreminfo3: "&6From Excluded Players List"
    #
    usage: "&6Usage: &e&l/%0% &a[pageno]"
    reloadusage: "&6Usage: &e&l/%0% reload"
    topnbalusage: "&6Usage: &e&l/%0% topnbal &a<numberplayers>"
    holotopnusage: "&6Usage: &e&l/%0% holotopn &a<numberplayers>"
    excllistusage: "&6Usage: &e&l/%0% exclude list"
    excladdusage: "&6Usage: &e&l/%0% exclude add &a<player>"
    exclremusage: "&6Usage: &e&l/%0% exclude remove &a<player>"
    hololistusage: "&6Usage: &e&l/%0% hologram list"
    holoaddusage: "&6Usage: &e&l/%0% hologram add &a<holoname>"
    holoremusage: "&6Usage: &e&l/%0% hologram remove &a<holoname>"
    holomoveusage: "&6Usage: &e&l/%0% hologram movehere &a<holoname>"
    #
    baltopperm: "&cYou Don't Have Permission to &a/%0%&c, Exiting"
    topnbalperm: "&cYou Don't Have Permission to &a/%0% topnbal&c, Exiting"
    holotopnperm: "&cYou Don't Have Permission to &a/%0% holotopn&c, Exiting"
    holoperm: "&cYou Don't Have Permission to &a/%0% hologram &ccommands, Exiting"
    exclperm: "&cYou Don't Have Permission to &a/%0% exclude &ccommands, Exiting"
    #
    baltoptp: "&cIncorrect Parameters '&a%0%&c', Exiting!"
    reloadtp: "&cIncorrect Parameters '&a%0%&c', Exiting!"
    topnbalnp: "&cMissing Number Players Parameter, Exiting!"
    topnbaltp: "&cIncorrect Parameters '&a%0%&c', Exiting!"
    topnbalnv: "&cInvalid Number Players Parameter '&a%0%&c', Exiting!"
    holotopnnp: "&cMissing Number Players Parameter, Exiting!"
    holotopntp: "&cIncorrect Parameters '&a%0%&c', Exiting!"
    holotopnnv: "&cInvalid Number Players Parameter '&a%0%&c', Exiting!"
    pagenv: "&cInvalid Page Number: &a%0%&c, Exiting!"
    #
    exclnp: "&cMissing Parameters, Exiting!"
    excltp: "&cIncorrect Parameters: '&a%0%&c', Exiting!"
    excllisttp: "&cIncorrect Parameters: '&a%0%&c', Exiting!"
    excladdnp: "&cMissing Player Parameter, Exiting!"
    excladdtp: "&cIncorrect Parameters: '&a%0%&c', Exiting!"
    excladdnf1: "&cPlayer: &a%0%&c Not Found, Exiting!"
    excladdnf2: "&cUUID: &a%0%&c"
    exclremnp: "&cMissing Player Parameter, Exiting!"
    exclremnf1: "&cPlayer: &a%0%&c Not Excluded, Exiting!"
    exclremnf2: "&cUUID: &a%0%&c"
    exclremnf: "&cPlayer: &a%0%&c Not Excluded, Exiting!"
    exclremtp: "&cIncorrect Parameters: '&a%0%&c', Exiting!"
    #
    holonp: "&cMissing Parameters, Exiting!"
    holotp: "&cIncorrect Parameters: '&a%0%&c', Exiting!"
    hololisttp: "&cIncorrect Parameters: '&a%0%&c', Exiting!"
    holoaddtp: "&cIncorrect Parameters: '&a%0%&c', Exiting!"
    holoaddae: "&cHologram: &a%0%&c Already Exists, Exiting!"
    holoaddnh: "&cMissing Hologram Parameter, Exiting!"
    holoaddcs: "&cCannot Run &a/%0% hologram add &cfrom Console, Exiting!"
    holoremnh: "&cMissing Hologram Parameter, Exiting!"
    holoremtp: "&cIncorrect Parameters: '&a%0%&c', Exiting!"
    holoremnf: "&cHologram: &a%0%&c Not Found, Exiting"
    holomovecs: "&cCannot Run &a/%0% hologram movehere &cfrom Console, Exiting!"
    holomovetp: "&cIncorrect Parameters: '&a%0%&c', Exiting!"
    holomovenh: "&cMissing Hologram Parameter, Exiting!"
    holomovenf: "&cHologram: &a%0%&c Not Found, Exiting"

    Variables:-

    v 1.0+ Header, Footer, Detail Line Variables:-

    {servername} - Current server name.
    {pageno} - Current page number.
    {totalpages} - Total number of pages used for balance board.
    {player} - Player's (Minecraft) full user name.
    {playerpadr} - Player's (Minecraft) full user name padded with
    spaces after the name to make it 16 characters in
    length
    {date} - Current Date/Time formatted as per dateformat in
    config.yml

    v 1.3 + Header, Footer, Detail Line Variables:-

    {uuid} - Player's offline/online UUID
    {totalonlineplayers} - Total number of currently online players.
    {totalofflineplayers} - Total number of offline players that have logged
    onto the server (this include online players count).
    {maxbalvalue} - Maximum offline or online Player balance
    {minbalvalue} - Minimum offline or online Player balance
    {maxbalplayer} - Player's name with maximum offline or online
    balance
    {minbalplayer} - Player's name with minimum offline or online
    balance
    {servertotal} or - Displays sum of all player balances rounded and
    {serverbaltotalfmt} 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 DecimalPlaces
    config option.

    {maxplayerbalvaluefmt}
    - Displays Player Name with highest balance
    rounded and using unit denomination.{maxplayerbalvalue} - Displays Player Name with highest balance
    rounded to number of decimal places defined
    by DecimalPlaces config option.
    Does not use unit denomination.
    {minplayerbalvaluefmt}
    - Displays Player Name with lowest balance
    rounded and using unit denomination.
    {minplayerbalvalue} - Displays Player Name with lowest balance
    rounded to number of decimal places defined
    by DecimalPlaces config option.
    Does not use unit denomination.



    All versions Header and Footer Lines ONLY support:-

    {icon: <materialname>}

    Where the <materialname> is the standard CraftBukkit material name.

    For more info refer to https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html


    Permissions:-

    ( v1.0 - v1.4.1 only
    Add EnhancedBalTop.baltop, root permission )

    then add:-

    EnhancedBalTop.baltop.baltop
    or (v1.4.5+)
    EnhancedBalTop.baltop
    Allows access /baltop command only!
    (player level)

    EnhancedBalTop.baltop.exclude
    or (v1.4.5+)
    EnhancedBalTop.exclude
    Allows access to the /baltop exclude commands
    (admin level)
    (Note: Players can also be excluded via permissions through the custom permission node excludepermnode defined in config.yml).

    EnhancedBalTop.baltop.hologram
    or (v1.4.5+)
    EnhancedBalTop.hologram
    Allows access to all the /baltop hologram ... commands.
    (admin level)

    EnhancedBalTop.baltop.holotopn
    or (v1.4.5+)
    EnhancedBalTop.holotopn
    Allows access to /baltop holotopn command.
    (admin level)

    EnhancedBalTop.baltop.topnbal
    or (v1.4.5+)
    EnhancedBalTop.topnbal
    Allows access to /baltop topnbal command.
    (admin level)

    EnhancedBalTop.baltop.admin

    or (v1.4.5)
    EnhancedBalTop.admin
    Allows access to:-
    /baltop exclude ...
    /baltop topnbal ...

    /baltop holotopn ...
    /baltop hologram ...
    /baltop reload



    Future Ideas/Additions:-

    I have some new ideas in mind, which I will more than likely add to a premium version of this plugin, depending on feedback :)

    These are:-

    • Database Support (SQLITE/MySQL)
    • Individual & Customizable Hologram Boards
    • Commands for adding header/footer and detail lines for both text and holographic balance boards
    • External Plugin Place Holder/variable support

    Let me know if you have any sensible and great ideas with regards to what you'd like to see added to this plugin o_O

    If you like my work please consider donating to me, by clicking donate below.

    MANY THANKS :p
    -Lozz

    Picture of me 4.png btn_donate_LG.gif

Recent Reviews

  1. SladeHazard
    SladeHazard
    1/5,
    Version: v1.6.4.0
    Where Are The Fucking Permissions?Please Tell Me Fast And I Will Rate It 5 Star
  2. LunaRenzoX
    LunaRenzoX
    3/5,
    Version: v1.6.4.0
    can't disable the uuid of the player, its showing on baltopplss fix it pls pls pls
  3. AyoungCoder
    AyoungCoder
    4/5,
    Version: v1.6.4.0
    Great plugin, easy to use and looks very nice. Definitly going to use this more.
  4. Midnight9746
    Midnight9746
    5/5,
    Version: v1.6.4.0
    I love this plugin and the fact that it can hide all those pesky NPC's that like to show up on it anyways. Love that it's customizable and already in my server's color code... heh
  5. Roy7885
    Roy7885
    5/5,
    Version: v1.6.4.0
    ============================================
    like
    ============================================
  6. juliu123
    juliu123
    3/5,
    Version: v1.6.4.0
    when i type /baltop it will spam on console and stop the server pls fix i will give 5 star if fixed
    /baltop
    /baltop
    /baltop
    /baltop
    /baltop
    /baltop
    /baltop
    /baltop
    /baltop
    /baltop
    /baltop
    /baltop
    /baltop
    /baltop
    /baltop
    /baltop
    Then stop the server :(
    1. Lozz
      Author's Response
      Log this in the Discussions area, and if you'll still having this issue, I'll investigate further.
  7. PowerfulCookie1
    PowerfulCookie1
    5/5,
    Version: v1.6.4.0
    Best BalTop plugin so easy to configure but how do I use the placeholders from the PlaceHolderAPI. It doesn't replace the placeholder with the value of the variable.
    1. Lozz
      Author's Response
      Thanks for the 5* review! Placeholders in the documentation above, but not be easy to spot. Surround your external placeholder variable with % characters, e.g. %statistic_player_kills%
  8. Motorkronicz
    Motorkronicz
    5/5,
    Version: v1.6.4.0
    Outstanding plugin. I added this to my factions server. It was easy to set up, Highly configurable, and makes a nice addition to my spawn. Keep up the good work.

    Suggestion: Can we make a plugin similar to this, but instead of using holograms it uses signs?
    1. Lozz
      Author's Response
      TY kindly for the 5* review! If you want this to be available for signs, then I'll probably add this for a feature for EBalTop Premium edition which will be released soon. :-)
  9. BarrySweetman
    BarrySweetman
    5/5,
    Version: v1.6.4.0
    Enhanced Baltop is fantastic. Easy to setup. Excludes people that don't wish to be on the list. Flexability of the Holograms provide a highly customizable display perfect for any server with an economy. 6 Stars if I could.
    1. Lozz
      Author's Response
      TY BarrySweetman for the v. positive review! Keep your eyes peeled for EnhancedBalTop Premium ;-)
  10. victoret7
    victoret7
    5/5,
    Version: v1.6.2.8
    So far so Good. Thank you for developing this plugin for us. :))))))))))))))))))))))))))))))))))))))
    1. Lozz
      Author's Response
      TYVM for the 5* Review! Let us know if you can think of any features you'd like to see added on a future version.