♛ PlayerListPlus ♛ [1.8 - 1.14.3] TABLIST EDITOR 1.19.14

A Spigot version of BungeeTablistPlus | Tablist Sorting | FakePlayers | Best Tablist Editor Plugin

  1. Septogeddon
    Tested Minecraft Versions:
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    • 1.13
    • 1.14
    Hi there!, found something wrong? pm me!
    plp.png

    ➲ OVERVIEW
    PlayerListPlus plugin allows your server to have fancy tablist design even your server is not a Bungeecord. Comes with features from BungeeTablistPlus, this plugin able to edit the player list/tablist/player slot and the tablist header & footer.

    Has been tested on 1.13.2 server (spigot & paperspigot) , predicted this plugin will working well on 1.8.x - 1.14.2 server. (read the HELP AND SUPPORT section, if this plugin doesnt working well on a server version)



    ➲ FEATURES
    - Edit tablist entry
    - Edit tablist header & footer
    - Tablist sorting by group, worlds, etc
    - No required dependencies, only supported plugins
    - Group players per world, per permission, per world group
    - Color Codes
    - Flexible Complex Configuration for any design of tablist
    - Customizeable (not fully for now)
    - Lightweight
    - Hide vanished players, and shows only to some players that able to see them.
    - Asynchronous packet send (lagless)
    - Support placeholders from Vault & PlaceholderAPI
    - Support server 1.8 - 1.14.2
    - Support 256 characters long
    - Animated Tablist header and footer
    - Animated Tablist items
    - Disable or Enable fancy tablist (toggle between modifed tablist and normal tablist)
    - Customizable Tab Head Skin (online-mode servers)
    - Fake Players (only on Tablist)
    - and more...

    ➲ SUPPORTED PLUGINS
    - Vault (Permission,Economy,Chat plugins)
    - Permission plugin (player permission group)
    - Economy plugin (money balance)
    - Chat plugin (prefix & suffix)
    - PlaceholderAPI (Additional Placeholders)

    if you made an addon you can pm me <3
    ill add it here

    ➲ FAKE PLAYERS FEATURE P.A.Q (Probably Asked Question)
    • How do i add fake player to my tablist?
      • Do /fp add <name> [displayname]
    • How to remove the fake players from my tablist?
      • Do /fp remove <id|name|displayname>
    • What can i do with fake player?
      • You can see it by yourself. Type "/fp" to show the arguments list

    ➲ HELP AND SUPPORT
    You can always PM me on spigot!
    if you love this resource, click the like button below and
    give me 5 stars of ratings. It will support me to keep updating this plugin.


    ➲ WIKI PAGE

    Click here to go to the plugin wiki page


    ➲ OFFICIAL PLUGIN DISTRIBUTION

    Bukkit https://dev.bukkit.org/projects/playerlistplus
    MC-Market https://www.mc-market.org/resources/7151/
    upload_2018-5-6_7-56-8.png

    ➲ THINGS THAT UNSUPPORTED
    - Server 1.7.x or lower
    - Changing tablist size, may add the online player to the tablist
    - BungeeCord, this is only for spigot servers, You can use BungeeTabListPlus for Bungeecord server.

    ➲ AWESOME SERVERS THAT USING THIS PLUGIN
    - teamhermit.net

    ➲ MAYBE-LATER LIST
    - Remove real players from the tablist without vanishing them from other players (seems impossible)
    - add "...and xxx more..." feature
    - Skin feature
    - Editable ping for normal text
    - Perworld tablist design
    - Viewing Permission (only player who have that permission allow to see the player list item)

    ➲ COMMANDS AND PERMISSIONS
    Commands:
    Main command of PlayerListPlus
    permission: "playerlistplus.admin"
    aliases:
    - "plist"
    - "playerl"
    - "plp"
    - "playerlist"
    - "plistp"
    - "plistplus"
    arguments:
    1.) set
    set displayname of a slot. Multiline using space, animated using semicolon ";"
    2.) unset
    unset displayname of a slot
    3.) ping
    set ping of a slot
    4.) unping
    unset ping of a slot
    5.) enable
    enable the tablist
    6.) disable
    disable the tablist
    7.) reload
    reload the configuration
    8.) header
    set the tablist header, use ";" to separate multilines
    9.) unheader
    remove the tablist header
    10.) footer
    set the tablist footer, use ";" to separate multilines
    11.) unfooter
    remove the tablist footer
    12.) gamemode
    set the tablist gamemode
    13.) ungamemode
    unset the tablist gamemode

    Permissions:
    Allows you to access /playerlistplus command
    default: OP players

    ➲ CONFIGURATION
    Bit complex, but yeah, this is complex plugin
    Code (Text):

    #DONT TOUCH THIS >:(
    config-version: 1.17.3

    #The items
    # Can be anything
    # Include ListItems
    # Use PlayerListItemOption to customize the item!
    # Built-in options:
    # - ping : set the item ping latency, value: number (example: "@PING=10;NoLaggingPlayer")
    # - permission : set the permission for viewing this slot, if player doesnt have this permission, the slot will invisible. value: permission
    # (example: "@PERM=server.admin;Only admin can see this" or "@PERMISSION=server.vip;Thanks for donating the server"
    # - alternative : set the alternative slot text if the condition is not possible. (like player doesnt have the viewing permission), value: anything
    # (example: "@PERM=server.not.noob;@ALT=You are noob;You are pro" or "@PERM=server.cool;@ALTERNATIVE=You are ugly;You are cool")
    # - gamemode: set the slot entity gamemode to specific gamemode. value: GameMode (CREATIVE,SURVIVAL,ADVENTURE,SPECTATOR)
    # (example: "@GAMEMODE=SPECTATOR;TextGoesHere"
    # - onlyforgamemode: set the slot only visible for players that has specific gamemode. value: array of game mode (GAMEMODE SEPARATED BY COMMA)
    # (example: "@ONLYFORGAMEMODE=SPECTATOR,CREATIVE;TextGoesHere" or "@OFGM=SPECTATOR;TextGoesHere"
    #
    # HOW TO COMBINE OPTIONS
    # @<THIS IS 1ST OPTION>=<THIS IS 1ST OPTION VALUE>;<MORE VALUE>
    # if the first char or char after ";" is "@", it will defined as
    # Option. If not it will set the text next to it as a normal text,
    # not an option
    #
    # This is wrong
    # usage -> "@PING=1000;this is awesome;@SKIN=Awesomeness"
    # output v
    #   ping -> 1000 & text -> this is awesome;@SKIN=Awesomeness"
    #
    # This is correct
    # usage -> "@PING=10;@SKIN=Noobie;NoLaggYay"
    # output v
    #   ping-> 10 & skin -> Noobie & text -> NoLaggYay
    #
    #
    # Example usages:
    # @OPTION=VALUE;@ANOTHER_OPTION=ANOTHER_VALUE;TextGoesHere
    # or
    # @OPTION=VALUE;TextGoesHere
    #
    # Theres 20 items per columns.
    #
    # Animating:
    # Use ";" to separate between animation frames
    # Do not use @ on the first char! Use "&[email protected]" instead
    # Example
    # global-tablist:
    # - "FIRST FRAME;SECOND FRAME;THIRD FRAME;ETC..."
    # - "@SKIN=krep;@PING=1000;FIRST FRAME AGAIN;ANOTHER SECOND FRAME;End of Thinking Capacity"
    global-tablist:
    - "@SKIN=KREP;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=KREP;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=krep;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=KREP;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=KREP;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=KREP;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=KREP;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=KREP;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=KREP;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=KREP;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=KREP;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=KREP;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=KREP;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=KREP;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=KREP;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=KREP;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=KREP;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=KREP;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=KREP;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=KREP;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=KREP;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=KREP;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=KREP;@PING=1000;<CUSTOMSLOT>"
    - "@SKIN=md_5;&8► &aServer Info &8◄"
    - "@SKIN=KREP;"
    - "@SKIN=KREP;@PERMISSION=playerlistplus.admin;@ALTERNATIVE=&eUnknown Server;&eTPS: &7$tps"
    - "@SKIN=KREP;&eOnline: &7$online/$max"
    - "@SKIN=KREP;"
    - "@SKIN=KREP;@PING=1000;&eVersion: &7$ver"
    - "@SKIN=KREP;@PING=1000;&ePing: &7$ping"
    - "@SKIN=KREP;@PING=1000;&eWorld: &7$world;&eGroup: &7$group"
    - "@SKIN=KREP;@PING=1000;&eName: &7$player;&ePrefix: &7$prefix"
    - "@SKIN=KREP;@PING=1000;&eMoney: &7$money;&eSuffix: &7$suffix"
    - "@SKIN=KREP;"
    - "@SKIN=md_5;&8► &aWorlds &8◄"
    - "@SKIN=KREP;<WORLD_GROUPS>"
    - "@SKIN=KREP;<WORLD_GROUPS>"
    - "@SKIN=KREP;<WORLD_GROUPS>"
    - "@SKIN=KREP;<WORLD_GROUPS>"
    - "@SKIN=KREP;<WORLD_GROUPS>"
    - "@SKIN=KREP;<WORLD_GROUPS>"
    - "@SKIN=KREP;<WORLD_GROUPS>"
    - "@SKIN=KREP;<WORLD_GROUPS>"
    #
    # Disable tablist in specific world
    #
    disabled-world:
    - NoTablistWorld
    - IDontWantAnyTablist
    - GameWorld
    #
    # CUSTOM HEAD TEXTURE
    #
    # head-profiles:
    #   <anyname of profile>:
    #     texture: <TEXTURE HERE>
    #     signature: (OPTIONAL)
    #
    #
    # How to use it on your tablist?
    # Just add Option:
    # "@TEXTURE=<PROFILE NAME>"
    # example
    # @TEXTURE=spidermanexample
    head-profiles:
      spidermanexample:
        texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODhkYWY1NGFjOGMwNjFhODMzMjY5N2ZkMDM4YjlmM2FmOGVjMzhkMTY4NDllNTI3MTI1ZDI5NzNkZTYyZTliIn19fQ=="
    #
    #
    # Change tablist design in specific world
    per-world-tablist:
      GameForFun:
        tablist:
        - "WELCOME TO THE $world"
        header-anim:
        - "Welcome $player"
        footer-anim:
        - "Donate the server!"
      Bedwars:
        footer-anim:
        - "Donate the server and get awesome perks to make your GamePlay more FUN! Donate Now $player!"
     
    countmore:
      enabled: true
      text: "... and {0} more ..."
    # [ EXAMPLES ]
    #slotitems:
    #   <any name>:
    #     format: "the format"
    #     type: THE_TYPE
    #     countmore: true (Enable the countmore feature to selected LIST type)
    #
    # Types:
    # 1. PLAYER_LIST
    #   Useable placeholders:
    #   - $player - get the player name
    #   - $ping - get the player ping
    #   - $displayname - get the player displayname (a.k.a nick or realname)
    #   - $listname - get the player default playerlistname
    #   - $group - get the player group permission (requires Vault)
    #   - $prefix - get the player chat prefix (requires Vault)
    #   - $suffix - get the player chat suffix (requires Vault)
    #   Additional Fields:
    #   "hidevanished", Hide all hidden players on tablist. Input: true | false
    #   "permission", Must-have permission to be on the list. Input: Text
    #   "perworld", Shows only player in same world. Input: true | false
    #   "world", Shows all players in this world (requires "perworld" to be true), optional! Default: Player's World. Input: true | false
    #   "groups", Group the world and shows all player inside the world group (requires "perworld" to be true), optional! Default: empty. Input: Group of worlds
    #   "ping", Set the slot ping latency to the player's ping. Optional. Default: true, Input: boolean <true|false>
    #   "skin", Show player's skin. Optional. Default: true, Input: boolean <true|false>
    #   "gamemodes", Shows only players with specified gamemode
    #
    # 2. WORLD_LIST
    #  Useable placeholders:
    #  - $name - get the world name
    #  - $wonline - size of player online in this world
    #   Additional Fields:
    #   "world", Specify what world to be visible on the tablist, optional! Default: All worlds. Input: List of Worlds
    #   "remove-empty", Set to empty slot if theres no player on that world, Optional, Default: false, Input: Boolean <true|false>
    #
    # 3. WORLD_GROUP_LIST
    #  Useable placeholders:
    #  - $name - get the world name
    #  - $wonline - size of player online in this world
    #   Additional Fields:
    #   "groups", Specify and group what worlds to be visible on the tablist, optional! Default: empty. Input: List of Worlds
    #   "remove-empty", Set to empty slot if theres no player on that world group. Optional, Default: false, Input: Boolean <true|false>
    #
    #  Global Placeholders:
    #   - $player - get the player name
    #   - $ping - get the player ping
    #   - $displayname - get the player displayname (a.k.a nick or realname)
    #   - $listname - get the player default playerlistname
    #   - $group - get the player group permission (requires Vault)
    #   - $prefix - get the player chat prefix (requires Vault)
    #   - $suffix - get the player chat suffix (requires Vault)
    #   - $ver - get the server version
    #   - $tps - get the server tps
    #   - $online - total online players
    #   - $max - max online players
    #   - $world - get the player world name
    #   - And all placeholders from PlaceholderAPI (requires PlaceholderAPI)
    slot-items:
    #   This slot items will shows all players
        PLAYERS:
            format: "$displayname &7$ping"
            type: PLAYER_LIST
            hidevanished: true
            ping: true
            skin: true
    #   This add multiple different slot-items into 1 slot item with dynamic/static size
        CUSTOMSLOT:
            type: DYNAMIC_LIST
            lists:
              example:
                max: 10
                header: "&c&lSTAFFS"
                name: STAFFS
                type: PLAYER_LIST
              example2:
                max: -1
                header: "&e&lPLAYERS"
                name: PLAYERS
                type: PLAYER_LIST
    #   This slot items will shows only players in game mode CREATIVE
        EXAMPLEGMPLAYERS1:
            format: "$displayname &7$ping"
            type: PLAYER_LIST
            hidevanished: true
            ping: true
            gamemodes:
            - "CREATIVE"
           #skin: is optional!
    #   This slot items will shows only players in game mode SURVIVAL & ADVENTURE
        EX_GAMEMODE_2:
            format: "$displayname &7$ping"
            type: PLAYER_LIST
            hidevanished: true
            ping: true
            gamemodes:
            - "SURVIVAL"
            - "ADVENTURE"
            skin: false
    #   This slot items will shows only player that has the permission
        STAFFS:
            format: "&a$group &f$player"
            type: PLAYER_LIST
            hidevanished: true
            permission: playerlistplus.staff
            ping: true
            skin: true
    #   This slot items will shows all "loaded" world listed below, remove world field to put all world
        WORLDS:
            format: "$name &7- &b$wonline"
            type: WORLD_LIST
            worlds:
            - world
            - world_nether
            - world_the_end
            - Bedwars
           # remove-empty: true #(THIS IS OPTIONAL)
    #   This slot items will shows group name of worlds, the player size is added from each world
        WORLD_GROUPS:
            format: "$name &7- &b$wonline"
            type: WORLD_GROUP_LIST
            remove-empty: false;
            groups:
                Lobby:
                - world
                - world_nether
                - world_the_end
                Bedwars:
                - BedwarsLobby
                - Bedwars
                - Bedwars1
                HUB:
                - HUB
                Spawn:
                - Spawn
                Shop:
                - Shop
                Games:
                - Games
                MurderMystery:
                - Murder
                ExampleWorld:
                - Examples
                - Example
                Flat:
                - flat
                Unknown:
                - Unknown
                - Unk
                Limbo:
                - fallback
                - limbo
                - maintenance
    #   This slot items will shows player that online in a world
        WORLD_PLAYERS:
            format: "$displayname &7$ping"
            type: PLAYER_LIST
            hidevanished: true
            perworld: true
            #Add another player from another world based on this group category
            #optional! You can remove this
            groups:
              worldgroup1:
              - world
              - world_nether
              - world_the_end
              worldgroup2:
              - BedwarsLobby
              - Bedwars
              - Bedwars1
            #world: Bedwars . Add this to specify the world , if not the world will setted to the Player's world
            ping: true
    header-anim:
    - |-
      Unknown Server Network
      &ePlay Now
    - |-
      &bUnknown Server Network
      &6P&elay Now
    - |-
      Unknown Server Network
      &eP&6l&eay Now
    - |-
      &bUnknown Server Network
      &ePl&6a&ey Now
    - |-
      Unknown Server Network
      &ePla&6y&e Now
    - |-
      &bUnknown Server Network
      &6Play Now
    footer-anim:
    - "&dDonate to the server! www.unknownserver.com/shop"
    - "&5Donate to the server! www.unknownserver.com/shop"
    #Refresh ticks
    #anim-refresh-ticks: RECOMMENDED 10
    #slot-refresh-ticks: RECOMMENDED 20
    anim-refresh-ticks: 10
    slot-refresh-ticks: 20
     
    Feel free to use it (1.4 only)
    Code (Text):
    #DONT TOUCH THIS >:(
    config-version: 1.4
    #The items
    # Can be anything
    # Include ListItems
    # Use PlayerListItemOption to customize the item!
    # Built-in options:
    # - ping : set the item ping latency, value: number (example: "@PING=10;NoLaggingPlayer")
    # - permission : set the permission for viewing this slot, if player doesnt have this permission, the slot will invisible. value: permission
    # (example: "@PERM=server.admin;Only admin can see this" or "@PERMISSION=server.vip;Thanks for donating the server"
    # - alternative : set the alternative slot text if the condition is not possible. (like player doesnt have the viewing permission), value: anything
    # (example: "@PERM=server.not.noob;@ALT=You are noob;You are pro" or "@PERM=server.cool;@ALTERNATIVE=You are ugly;You are cool")
    # - gamemode: set the slot entity gamemode to specific gamemode. value: GameMode (CREATIVE,SURVIVAL,ADVENTURE,SPECTATOR)
    # (example: "@GAMEMODE=SPECTATOR;TextGoesHere"
    # - onlyforgamemode: set the slot only visible for players that has specific gamemode. value: array of game mode (GAMEMODE SEPARATED BY COMMA)
    # (example: "@ONLYFORGAMEMODE=SPECTATOR,CREATIVE;TextGoesHere" or "@OFGM=SPECTATOR;TextGoesHere"
    #
    # HOW TO COMBINE OPTIONS
    # @<THIS IS 1ST OPTION>=<THIS IS 1ST OPTION VALUE>;<MORE VALUE>
    # if the first char or char after ";" is "@", it will defined as
    # Option. If not it will set the text next to it as a normal text,
    # not an option
    #
    # This is wrong
    # usage -> "@PING=1000;this is awesome;@SKIN=Awesomeness"
    # output v
    #   ping -> 1000 & text -> this is awesome;@SKIN=Awesomeness"
    #
    # This is correct
    # usage -> "@PING=10;@SKIN=Noobie;NoLaggYay"
    # output v
    #   ping-> 10 & skin -> Noobie & text -> NoLaggYay
    #
    #
    # Example usages:
    # @OPTION=VALUE;@ANOTHER_OPTION=ANOTHER_VALUE;TextGoesHere
    # or
    # @OPTION=VALUE;TextGoesHere
    #
    # Theres 20 items per columns.
    #
    # Animating:
    # Use ";" to separate between animation frames
    # Do not use @ on the first char! Use "&[email protected]" instead
    # Example
    # global-tablist:
    # - "FIRST FRAME;SECOND FRAME;THIRD FRAME;ETC..."
    # - "@PING=1000;FIRST FRAME AGAIN;ANOTHER SECOND FRAME;End of Thinking Capacity"
    global-tablist:
    - "&8► &aGlobal Players &8◄"
    - "@PING=1000;<PLAYERS>"
    - "@PING=1000;<PLAYERS>"
    - "@PING=1000;<PLAYERS>"
    - "@PING=1000;<PLAYERS>"
    - "@PING=1000;<PLAYERS>"
    - "@PING=1000;<PLAYERS>"
    - "@PING=1000;<PLAYERS>"
    - "@PING=1000;<PLAYERS>"
    - "@PING=1000;<PLAYERS>"
    - "&8► &aWorld Players &8◄"
    - "@PING=1000;<WORLD_PLAYERS>"
    - "@PING=1000;<WORLD_PLAYERS>"
    - "@PING=1000;<WORLD_PLAYERS>"
    - "@PING=1000;<WORLD_PLAYERS>"
    - "@PING=1000;<WORLD_PLAYERS>"
    - "@PING=1000;<WORLD_PLAYERS>"
    - "@PING=1000;<WORLD_PLAYERS>"
    - "@PING=1000;<WORLD_PLAYERS>"
    - "@PING=1000;<WORLD_PLAYERS>"
    - "&8► &aGlobal Players &8◄"
    - "@PING=1000;<PLAYERS>"
    - "@PING=1000;<PLAYERS>"
    - "@PING=1000;<PLAYERS>"
    - "@PING=1000;<PLAYERS>"
    - "@PING=1000;<PLAYERS>"
    - "@PING=1000;<PLAYERS>"
    - "@PING=1000;<PLAYERS>"
    - "@PING=1000;<PLAYERS>"
    - "@PING=1000;<PLAYERS>"
    - "&8► &aWorld Players &8◄"
    - "@PING=1000;<WORLD_PLAYERS>"
    - "@PING=1000;<WORLD_PLAYERS>"
    - "@PING=1000;<WORLD_PLAYERS>"
    - "@PING=1000;<WORLD_PLAYERS>"
    - "@PING=1000;<WORLD_PLAYERS>"
    - "@PING=1000;<WORLD_PLAYERS>"
    - "@PING=1000;<WORLD_PLAYERS>"
    - "@PING=1000;<WORLD_PLAYERS>"
    - "@PING=1000;<WORLD_PLAYERS>"
    - "&8► &aOnline Staffs &8◄"
    - "@PING=1000;<STAFFS>"
    - "@PING=1000;<STAFFS>"
    - "@PING=1000;<STAFFS>"
    - "@PING=1000;<STAFFS>"
    - "@PING=1000;<STAFFS>"
    - "@PING=1000;<STAFFS>"
    - "@PING=1000;<STAFFS>"
    - "@PING=1000;<STAFFS>"
    - "@PING=1000;<STAFFS>"
    - "@PING=1000;<STAFFS>"
    - "@PING=1000;<STAFFS>"
    - "@PING=1000;<STAFFS>"
    - "@PING=1000;<STAFFS>"
    - "@PING=1000;<STAFFS>"
    - "@PING=1000;<STAFFS>"
    - "@PING=1000;<STAFFS>"
    - "@PING=1000;<STAFFS>"
    - "@PING=1000;<STAFFS>"
    - "@PING=1000;<STAFFS>"
    - "&8► &aServer Info &8◄"
    - ""
    - "@PING=500;@PERMISSION=playerlistplus.admin;@ALTERNATIVE=&eUnknown Server;&eTPS: &7$tps"
    - "@PING=500;&eOnline: &7$online/$max"
    - ""
    - "@PING=1000;&eVersion: &7$ver"
    - "@PING=1000;&ePing: &7$ping"
    - "@PING=1000;&eWorld: &7$world;&eGroup: &7$group"
    - "@PING=1000;&eName: &7$player;&ePrefix: &7$prefix"
    - "@PING=1000;&eMoney: &7$money;&eSuffix: &7$suffix"
    - ""
    - "&8► &aWorlds &8◄"
    - "@PING=1000;<WORLD_GROUPS>"
    - "@PING=1000;<WORLD_GROUPS>"
    - "@PING=1000;<WORLD_GROUPS>"
    - "@PING=1000;<WORLD_GROUPS>"
    - "@PING=1000;<WORLD_GROUPS>"
    - "@PING=1000;<WORLD_GROUPS>"
    - "@PING=1000;<WORLD_GROUPS>"
    - "@PING=1000;<WORLD_GROUPS>"
    per-world-tablist:
      GameForFun:
        tablist:
        - "WELCOME TO THE $world"
        header-anim:
        - "Welcome $player"
        footer-anim:
        - "Donate the server!"
      Bedwars:
        footer-anim:
        - "Donate the server and get awesome perks to make your GamePlay more FUN! Donate Now $player!"
    # [ EXAMPLES ]
    #slotitems:
    #   <any name>:
    #     format: "the format"
    #     type: THE_TYPE
    #     countmore: true (Enable the countmore feature to selected LIST type)
    #
    # Types:
    # 1. PLAYER_LIST
    #   Useable placeholders:
    #   - $player - get the player name
    #   - $ping - get the player ping
    #   - $displayname - get the player displayname (a.k.a nick or realname)
    #   - $listname - get the player default playerlistname
    #   - $group - get the player group permission (requires Vault)
    #   - $prefix - get the player chat prefix (requires Vault)
    #   - $suffix - get the player chat suffix (requires Vault)
    #   Additional Fields:
    #   "hidevanished", Hide all hidden players on tablist. Input: true | false
    #   "permission", Must-have permission to be on the list. Input: Text
    #   "perworld", Shows only player in same world. Input: true | false
    #   "world", Shows all players in this world (requires "perworld" to be true), optional! Default: Player's World. Input: true | false
    #   "groups", Group the world and shows all player inside the world group (requires "perworld" to be true), optional! Default: empty. Input: Group of worlds
    #   "ping", Set the slot ping latency to the player's ping. Optional. Default: true, Input: boolean <true|false>
    #
    # 2. WORLD_LIST
    #  Useable placeholders:
    #  - $name - get the world name
    #  - $wonline - size of player online in this world
    #   Additional Fields:
    #   "world", Specify what world to be visible on the tablist, optional! Default: All worlds. Input: List of Worlds
    #
    # 3. WORLD_GROUP_LIST
    #  Useable placeholders:
    #  - $name - get the world name
    #  - $wonline - size of player online in this world
    #   Additional Fields:
    #   "groups", Specify and group what worlds to be visible on the tablist, optional! Default: empty. Input: List of Worlds
    #
    #  Global Placeholders:
    #   - $player - get the player name
    #   - $ping - get the player ping
    #   - $displayname - get the player displayname (a.k.a nick or realname)
    #   - $listname - get the player default playerlistname
    #   - $group - get the player group permission (requires Vault)
    #   - $prefix - get the player chat prefix (requires Vault)
    #   - $suffix - get the player chat suffix (requires Vault)
    #   - $ver - get the server version
    #   - $tps - get the server tps
    #   - $online - total online players
    #   - $max - max online players
    #   - $world - get the player world name
    #   - And all placeholders from PlaceholderAPI (requires PlaceholderAPI)
    slot-items:
    #   This slot items will shows all players
        PLAYERS:
            format: "$displayname &7$ping"
            type: PLAYER_LIST
            hidevanished: true
            ping: true
    #   This slot items will shows only players in game mode CREATIVE
        EXAMPLEGMPLAYERS1:
            format: "$displayname &7$ping"
            type: PLAYER_LIST
            hidevanished: true
            ping: true
            gamemodes:
            - "CREATIVE"
    #   This slot items will shows only players in game mode SURVIVAL & ADVENTURE
        EX_GAMEMODE_2:
            format: "$displayname &7$ping"
            type: PLAYER_LIST
            hidevanished: true
            ping: true
            gamemodes:
            - "SURVIVAL"
            - "ADVENTURE"
    #   This slot items will shows only player that has the permission
        STAFFS:
            format: "&a$group &f$player"
            type: PLAYER_LIST
            hidevanished: true
            permission: playerlistplus.staff
            ping: true
    #   This slot items will shows all "loaded" world listed below, remove world field to put all world
        WORLDS:
            format: "$name &7- &b$wonline"
            type: WORLD_LIST
            worlds:
            - world
            - world_nether
            - world_the_end
            - Bedwars
    #   This slot items will shows group name of worlds, the player size is added from each world
        WORLD_GROUPS:
            format: "$name &7- &b$wonline"
            type: WORLD_GROUP_LIST
            groups:
                Lobby:
                - world
                - world_nether
                - world_the_end
                Bedwars:
                - BedwarsLobby
                - Bedwars
                - Bedwars1
                SkyBlock:
                - ASkyBlock
                - ASkyBlock_nether
    #   This slot items will shows player that online in a world
        WORLD_PLAYERS:
            format: "$displayname &7$ping"
            type: PLAYER_LIST
            hidevanished: true
            perworld: true
            #Add another player from another world based on this group category
            #optional! You can remove this
            groups:
              worldgroup1:
              - world
              - world_nether
              - world_the_end
              worldgroup2:
              - BedwarsLobby
              - Bedwars
              - Bedwars1
            #world: Bedwars . Add this to specify the world , if not the world will setted to the Player's world
            ping: true
    header-anim:
    - "&7►►►► &3U&bltimate SkyBlock Server &7◄◄◄◄"
    - "&7►►►► &3Ul&btimate SkyBlock Server &7◄◄◄◄"
    - "&7►►►► &bU&3lt&bimate SkyBlock Server &7◄◄◄◄"
    - "&7►►►► &bUl&3ti&bmate SkyBlock Server &7◄◄◄◄"
    - "&7►►►► &bUlt&3im&bate SkyBlock Server &7◄◄◄◄"
    - "&7►►►► &bUlti&3ma&bte SkyBlock Server &7◄◄◄◄"
    - "&7►►►► &bUltim&3at&be SkyBlock Server &7◄◄◄◄"
    - "&7►►►► &bUltimat&3e &bSkyBlock Server &7◄◄◄◄"
    - "&7►►►► &bUltimate&3 S&bkyBlock Server &7◄◄◄◄"
    - "&7►►►► &bUltimate &3Sk&byBlock Server &7◄◄◄◄"
    - "&7►►►► &bUltimate S&3ky&bBlock Server &7◄◄◄◄"
    - "&7►►►► &bUltimate Sk&3yB&block Server &7◄◄◄◄"
    - "&7►►►► &bUltimate Sky&3Bl&bock Server &7◄◄◄◄"
    - "&7►►►► &bUltimate SkyB&3lo&bck Server &7◄◄◄◄"
    - "&7►►►► &bUltimate SkyBl&3oc&bk Server &7◄◄◄◄"
    - "&7►►►► &bUltimate SkyBlo&3ck&b Server &7◄◄◄◄"
    - "&7►►►► &bUltimate SkyBloc&3k &bServer &7◄◄◄◄"
    - "&7►►►► &bUltimate SkyBlock&3 S&berver &7◄◄◄◄"
    - "&7►►►► &bUltimate SkyBlock &3Se&brver &7◄◄◄◄"
    - "&7►►►► &bUltimate SkyBlock S&3er&bver &7◄◄◄◄"
    - "&7►►►► &bUltimate SkyBlock Se&3rv&ber &7◄◄◄◄"
    - "&7►►►► &bUltimate SkyBlock Ser&3ve&br &7◄◄◄◄"
    - "&7►►►► &bUltimate SkyBlock Serv&3er&b &7◄◄◄◄"
    - "&7►►►► &3U&bltimate SkyBlock Serve&3r &7◄◄◄◄"
    footer-anim:
    - "&dDonate to the server! www.ultimateskyblock.com/shop"
    - "&dDonate to the server! www.ultimateskyblock.com/shop"
    - "&dDonate to the server! www.ultimateskyblock.com/shop"
    - "&dDonate to the server! www.ultimateskyblock.com/shop"
    - "&dDonate to the server! www.ultimateskyblock.com/shop"
    - "&dDonate to the server! www.ultimateskyblock.com/shop"
    - "&5Donate to the server! www.ultimateskyblock.com/shop"
    - "&5Donate to the server! www.ultimateskyblock.com/shop"
    - "&5Donate to the server! www.ultimateskyblock.com/shop"
    - "&5Donate to the server! www.ultimateskyblock.com/shop"
    - "&5Donate to the server! www.ultimateskyblock.com/shop"
    - "&5Donate to the server! www.ultimateskyblock.com/shop"
    #Refresh ticks
    #anim-refresh-ticks: RECOMMENDED 10
    #slot-refresh-ticks: RECOMMENDED 20
    anim-refresh-ticks: 2
    slot-refresh-ticks: 20

    ➲ VIDEO
    Thanks to @Maximiliano for the video


    ➲ ADDONS
    Here it is the plugin addon:
    - ASkyBlockListPlus by BlueObsidian
    Add more support to PlayerListPlus from ASkyBlock

    ➲ DOCUMENTATION
    Version 1.0
    2018-04-19_19.53.14.png

    Version 1.2 (more customizable)
    2018-04-21_06.53.39.png

    Example for perworld footer design.
    Perworld features also works on tablist design and header design. 2018-04-21_06.58.26.png
    Animated tablist (the test server bit laggy when i test that, RAM: 499 mb, trust me, this lagg wont happen on your server <3).
    PS+ The header and footer is not a lag, i just set the refresh ticks to 10 :p
    test.gif
    Tablist Head Skins (only visible for Online-mode servers, v1.16 or later)
    [​IMG]

    v1.16 Preview 2018-05-12_23.23.40.png

    Example of TABLIST sorting (per group, v1.16 or later) 2018-05-13_00.17.36.png


    This plugin probably will not exist without the idea of @CodeCrafter47 , this plugin is inspired from its plugin named BungeeTablistPlus.
    All rights are returned to their respective owners.

    Purely coded by myself. Took 2 days for the first version release.


    ➲ Terms of Service (or terms & conditions, whatever)
    By downloading this plugin you agree to the following ToS:
    - You are not allowed to decompile, stealing codes, and claim it as yours.
    - You are not allowed to redistribute to other site without my permission.
    - You are not allowed to claim this plugin as yours
    - You are not allowed to edit this plugin and publish it/share it to other people without my permission.
    - You are not allowed to post a review before use the plugin
    - You are not allowed to use PlugMan to load/unload/reload/restart/enable/disable this plugin.
    - You are not allowed to report issue in review section
    - You are not allowed to asking for help in review section, just start a conversation with me.
    This ToS will changed without any notification.
    You have to believe that KARMA is exists.
    I have right to:
    - Change the ToS whenever i want
    - Report users that violated the ToS
    - Not giving support for users that having problem with PlugMan related to it.
    - Not giving support for users that haven't tried the plugin already
    - Not giving support for older versions


    Let me know if you have objections to the current ToS.

    ➲ PROTIPs
    Thanks for reading the whole page :)
    You can use unique characters from THIS SITE

    or copy some of cool characters here
    ✔★❗►◄➜➲➯➱✉✿✄✈✎✌☆♠♦♣♥♪♫░▒▓✕✖✖❖✚☂☔☁☀⚡❆☾✆☯☯♛♕✏☠♚⓵⓶⓶⓷⓸⓹⓺⓻⓼⓽⓾❛❜❞❝




    Seriously, REVIEW is not a place to:
    - ask for help
    - ask for adding features (suggestions)
    - bugs report (console error, or just saying "the plugin doesn't work")

    You can do these on a Conversation, just start a Conversation/Private Message with me.
    what you must do in review:
    - evaluate the plugin (concept, idea, features, etc)

    A user review refers to a review written by a user or consumer for a product or a service based on her experience as a user of the reviewed product. It talks about performance, reliability, quality defects, if any, and value for money.

    Conclusion:
    REVIEW IS NOT A PLACE TO ASK FOR SOMETHING.

    Images

    1. upload_2019-6-14_22-42-26.png

Recent Updates

  1. Small Fix
  2. NPE fix for asynchronous entity add
  3. NPE fix on join

Recent Reviews

  1. Superdarco
    Superdarco
    5/5,
    Version: 1.19.14
    This plugin is very good, thanks, regards

    ---------------------------------------------------
  2. minimac
    minimac
    5/5,
    Version: 1.19.13
    Very nice plugin
    I had errors on the previous version, but everything is fine on the new version
  3. crispyklown81
    crispyklown81
    5/5,
    Version: 1.19.8
    This plugin has been my favorite tablist plugin since back when my server was 1.12.2, still works great in 1.13.2, so many options when customizing the tablist its insane, awesome job, so glad your still working on it and providing newer updates, if you want to add my server to the list of servers using this plugin my ip is play.crispycraftmc.com. I highly recommend this plugin if you have a single server running multiverse, it's fantastic.
  4. GameTigerrr
    GameTigerrr
    5/5,
    Version: 1.17.7
    This creator has not life but has also the best because he created the best plugin ever!!! I was looking for one just like this for days and days and FINALLY found one that works and is getting updates everyday. All those other ones are abandoned and are crap. I love the long description and something I think you should do is setup a donation button(you might have one but I did not see it because I just skimmed through the whole page)! Amazing plugin keep up the great work!!!

    If you want an example of mine just join my server!

    Ip: Awakened.mcpro.io
    1. Septogeddon
      Author's Response
      aw <3 thanks. That means a lot to me.
      Thank you for your kind review.
  5. Hakim987
    Hakim987
    5/5,
    Version: 1.8
    Such a godly plugin atm.
    Just requesting 1 thing 1.7 please :pray:
    Then it would be extra extra godly for HCF servers, Practice (cus tablist is a bitch in 1.7)
    Also would you mind creating a discord server for support and you know just general chatting would be nice.
    Looking forward to the future of this plugin.
    1. Septogeddon
      Author's Response
      edit:
      seems impossible to do :(
      indeed 1.7 tablist is freakin shit.
      theres no way to do this.
      upgrading your server to 1.8 maybe a good choice, since 1.7 is 4 years old.
  6. Sitieno14
    Sitieno14
    5/5,
    Version: 1.8
    Still updating, still awesome
    Best tablist plugin in the world :o
    New description is so nice *-*
    1. Septogeddon
      Author's Response
      thanks :D
  7. Killer123451
    Killer123451
    5/5,
    Version: 1.8
    Hi , i saw this Resource today and i would like to ask is it support per world tablist ? If players in world name ( Pubg ) they can see the players only in the world pubg in tablist + can you add tag system? ( i can disable it on certain worlds like bedwars ( bec Its have a tag team it will be broken .. ) ^^__^^ pls add these things and i will 100% use your plugin! Good luck < i have a pubg server with other games i want to add Good things to the server ^^ >>
    1. Septogeddon
      Author's Response
      yes you can separate the design for each world,
      take a look at the config. for disabling per world its not possible yet, i count that as a suggestion :) . PS+ good luck with your server :D
  8. Sitieno14
    Sitieno14
    5/5,
    Version: 1.5
    Epic update,
    You removed Herobrine, my server is a lot safer now
    Also an epic title, I'm really proud of your update!
    GG
    1. Septogeddon
      Author's Response
      thanks man ✌
  9. Fighter2000
    Fighter2000
    5/5,
    Version: 1.5
    WOW! It's really love! i don't say any :D best tablist plugin in spigot thanks...

    Easy configuration, no lag, animations, animated header & footer
    no bugs, no depends :D if you resource is premium then i bought this.
    1. Septogeddon
      Author's Response
      thanks for your review <3
      this resource will always free :)
  10. XxDawnsusxX
    XxDawnsusxX
    5/5,
    Version: 1.5
    Absolutely loving this plugin, a Spigot version of BungeeTablistPlus what all spigot servers would love to have and not needing Bungee for this plugin to work!
    1. Septogeddon
      Author's Response
      thank you for the review