PlaceholderAPI 2.8.7

A resource that allows information from your favorite plugins be shown practically anywhere!

  1. clip
    Tested Minecraft Versions:
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    Source Code:
    https://github.com/PlaceholderAPI/PlaceholderAPI
    Contributors:
    funnycube, Glare, NathanG, LemmoTresto, PiggyPiglet, vk2gpz, and many more
    [​IMG]
    Need help? Have a suggestion?
    Join our Discord

    [​IMG]

    Logo2.png
    PlaceholderAPI is a plugin/library that allows servers the use of placeholders from a wide range of your favorite plugins collectively. Essentials, Factions, LuckPerms, Vault, AutoSell, GriefPrevention, etc.... You can display information from your favorite plugins in any plugin that supports PlaceholderAPI. See a full list of placeholders and supported plugins below. Through the use of the Expansion cloud, PAPI effectively and efficiently allows you to pick and choose which placeholders you want to install. The Expansion cloud allows you to receive new placeholders, updates to existing placeholder expansions, and much more directly from your server without updating the actual plugin. With over 100,000 downloads, PlaceholderAPI is a must have for a server of any type or scale.

    Placeholders2.png
    Click the link below to view placeholders
    Placeholders


    PluginsUsing2.png
    Click the link below to view plugins that hook into PlaceholderAPI
    Plugins


    configs2.png
    config.yml
    The config.yml contains the core plugin customization settings as well as a section specifically for expansions that wish to add configurable options too.

    Any settings an expansion may allow you to change will be added to the config.yml when that specific expansion is loaded.

    Code (YAML):

    # PlaceholderAPI version 2.8.1
    # Created by extended_clip

    check_updates
    : true
    cloud_enabled
    : true
    auto_install_expansions
    : true
    boolean
    :
      'true'
    : 'yes'
      'false'
    : 'no'
    date_format
    : MM/dd/yy HH:mm:ss
    expansions
    :
      pinger
    :
        offline
    : offline
        check_interval
    : 10
        online
    : online
      vault
    :
        formatting
    :
          thousands
    : k
          trillions
    : T
          quadrillions
    : Q
          billions
    : B
          millions
    : M
      bungee
    :
        check_interval
    : 30
      javascript
    :
        engine
    : javascript
     
    javascript_placeholders.yml
    If you have the javascript expansion enabled, the plugin will generate a javascript_placeholders.yml file where you can create your own placeholders.
    There are 2 ways you can create these javascript based placeholders. Either specify the javascript directly in the expression: section for each placeholder, or specify a file that the javascript will be loaded from by setting the expression to the following format -
    expression: 'file: <filename with extension>'


    When an expression starts with the "file: " keyword, a file will be created in the /plugins/PlaceholderAPI/javascripts folder with the name and file format specified if it does not exist.

    These placeholders are reloaded on /placeholderapi reload so no need to restart your server to make changes.
    Code (YAML):
    # javascript_placeholders.yml
    # You can create custom placeholders which utilize javascript to determine the result of the custom placeholder you create.
    # You can specify if the result is based on a boolean or the actual javascript.
    #
    # If you do not specify a type: the placeholder will default to a boolean type
    # A boolean type must contain a true_result: and false_result:
    #
    # A string type only requires the expression: entry
    #
    # Javascript placeholders can contain normal placeholders in the expression, true_result, or false_result
    # These placeholders will be parsed to the correct values before the expression is evaluated.
    #
    # Your javascript placeholders will be identified by: %javascript_<identifier>%
    #
    # Javascript placeholder format:
    #
    #     BOOLEAN TYPE
    # <identifier>:
    #   expression: <expression>
    #   type: 'boolean'
    #   true_result: <result if expression is true>
    #   false_result: <result if expression is false>
    #
    #     STRING TYPE
    # <identifier>:
    #   expression: <expression>
    #   type: 'string'
    #
    #
    #  ==== ADVANCED VARIABLES ====
    # DO NOT USE THESE VARIABLES UNLESS YOU KNOW WHAT YOU ARE DOING!
    #
    # You can access a few Bukkit API classes and methods using certain keywords:
    #
    # Using "BukkitServer" in your javascript will return Bukkit.getServer()
    # You can use any methods inside of the Server class:
    #
    # Example: BukkitServer.getBannedPlayers().size().toFixed()
    # Will return how many players are banned
    #
    # This variable is handy if you want to iterate through all online players.'
    #
    # Using "BukkitPlayer" in your javascript will return the Player object you are setting placeholders for.
    # You can use any methods inside of the Player class:
    #
    # Example: BukkitPlayer.hasPermission("some.permission")
    # Will return if the player has a specific permission
    # This variable is handy if you want to check a players permission node, or access other methods inside of
    # the player class for the specified player.
    #
    # More advanced variables are coming soon! Only use these variables if you know what you are doing!
    #
    #  ==================
    #
    #
    # Javascript placeholder examples:
    #
    # millionaire:
    #   expression: '%vaulteco_balance% >= 1000000'
    #   type: 'boolean'
    #   true_result: '&aMillionaire'
    #   false_result: '&cbroke'
    # is_staff:
    #   expression: '"%vault_group%" == "Moderator" || "%vault_group%" == "Admin" || "%vault_group%" == "Owner"'
    #   type: 'boolean'
    #   true_result: '&bStaff'
    #   false_result: '&ePlayer'
    # health_rounded:
    #   expression: 'Math.round(%player_health%)'
    #   type: 'string'
    # staff_online:
    #   expression: 'var i = 0; for (var p in BukkitServer.getOnlinePlayers()) { if (BukkitServer.getOnlinePlayers()[p].hasPermission("staff.online")) {i = i+1;};} i.toFixed();'
    #   type: 'string'
    #
    #
    # You can optionally specify a file that the javascript expression will be loaded from if your expression
    # is bigger than 1 line. To specify javascript be loaded from a file, follow this format:
    #
    # is_op:
    #   expression: 'file: is_op.js'
    #   type: 'string'
    #
    # The following placeholder will attempt to load javascript from the /plugins/PlaceholderAPI/javascripts/is_op.js file
    # if the folder/file exists. If the folder/file does not exist it will be created.
    # You must specify the file extension with the file name. Any file extension is accepted.

    millionaire
    :
      expression
    : '%vaulteco_balance% >= 1000000'
      type
    : boolean
      true_result
    : '&aMillionaire'
      false_result
    : '&cbroke'
    is_staff
    :
      expression
    : '"%vault_group%" == "Moderator" || "%vault_group%" == "Admin" || "%vault_group%"
        == "Owner"'
      type
    : boolean
      true_result
    : '&bStaff'
      false_result
    : '&ePlayer'
    staff_online
    :
      type
    : string

     


    Permissions2.png
    Code (YAML):
    permissions:
        placeholderapi.admin
    :
            description
    : ability to use admin commands
            default
    : op

    Commands2.png
    [​IMG]


    API_Usage2.png
    click the link below to view how to use this API
    API USAGE



    If you enjoy this completely free and powerful resource,
    please be kind enough to leave a like and review!
    :)

    This plugin utilizes bStats to collect anonymous statistics
    https://bstats.org/plugin/bukkit/PlaceholderAPI

    Images

    1. icon2.png

Recent Reviews

  1. kohlerpop1
    kohlerpop1
    5/5,
    Version: 2.8.7
    Great plugin and I love your placeholders. Maybe you could add some for SuperVanish plugin? That would be lit. Anyway great plugin. <3
  2. chikicanalYT
    chikicanalYT
    3/5,
    Version: 2.8.6
    i need help!!


    [18:50:51 INFO]: Chiki_Canal_YT issued server command: /placeholderapi enablecloud
    [18:50:51 ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'placeholderapi' in plugin PlaceholderAPI v2.8.6
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot-1.8.jar:git-Spigot-550ebac-7019900]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[spigot-1.8.jar:git-Spigot-550ebac-7019900]
    at org.bukkit.craftbukkit.v1_8_R1.CraftServer.dispatchCommand(CraftServer.java:646) ~[spigot-1.8.jar:git-Spigot-550ebac-7019900]
    at net.minecraft.server.v1_8_R1.PlayerConnection.handleCommand(PlayerConnection.java:1115) [spigot-1.8.jar:git-Spigot-550ebac-7019900]
    at net.minecraft.server.v1_8_R1.PlayerConnection.a(PlayerConnection.java:950) [spigot-1.8.jar:git-Spigot-550ebac-7019900]
    at net.minecraft.server.v1_8_R1.PacketPlayInChat.a(PacketPlayInChat.java:26) [spigot-1.8.jar:git-Spigot-550ebac-7019900]
    at net.minecraft.server.v1_8_R1.PacketPlayInChat.a(PacketPlayInChat.java:53) [spigot-1.8.jar:git-Spigot-550ebac-7019900]
    at net.minecraft.server.v1_8_R1.PacketHandleTask.run(SourceFile:13) [spigot-1.8.jar:git-Spigot-550ebac-7019900]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_172]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_172]
    at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:696) [spigot-1.8.jar:git-Spigot-550ebac-7019900]
    at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [spigot-1.8.jar:git-Spigot-550ebac-7019900]
    at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:634) [spigot-1.8.jar:git-Spigot-550ebac-7019900]
    at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:537) [spigot-1.8.jar:git-Spigot-550ebac-7019900]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_172]
    Caused by: java.lang.NoClassDefFoundError: com/google/gson/Gson
    at me.clip.placeholderapi.expansion.cloud.ExpansionCloudManager.<init>(ExpansionCloudManager.java:54) ~[?:?]
    at me.clip.placeholderapi.PlaceholderAPIPlugin.enableCloud(PlaceholderAPIPlugin.java:182) ~[?:?]
    at me.clip.placeholderapi.commands.PlaceholderAPICommands.onCommand(PlaceholderAPICommands.java:110) ~[?:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot-1.8.jar:git-Spigot-550ebac-7019900]
    ... 14 more



    how i can solve this ( sorry for my bad english )
  3. Grandmasnider
    Grandmasnider
    5/5,
    Version: 2.8.6
    thank you for this, without it none of my other plugins would work..I am a new server owner and this has become the most used plugin i have, i just wanted to pop in and say thanks
    5*
  4. ToFonikoRizogalo
    ToFonikoRizogalo
    5/5,
    Version: 2.8.6
    A must have plugin, just make sure you download the expansions you need in order to have the placeholders, very easy, very fast.
    Great work and thanks for giving us this plugin...!
  5. DavidHaxx
    DavidHaxx
    5/5,
    Version: 2.8.6
    Amazing! has everything I could ever want!

    except one thing.. %player_rotationx/y/z%
    add that, and I'd be the happiest person ever! Besides that, I feel that this is a must-have for every server owner!
  6. Mr_lonely132
    Mr_lonely132
    5/5,
    Version: 2.8.6
    Amazing plugin. I use this more then any plugin i have. Makes everything so much easier
  7. Taylor-PH
    Taylor-PH
    5/5,
    Version: 2.8.6
    Note: The review section is not a help section or bug report section due to your own failure, so stop being dumb and go to the discussion section. Thanks.

    As always, amazing updates on such a phenomenal plugin that's one of the biggest core plugins for most of any modern server to date. Keep it up! :D
  8. NeptunePlayzMc
    NeptunePlayzMc
    5/5,
    Version: 2.8.5
    Really good, but in the next update, can you add support for the plugin Duels.

    Resource Page: https://www.spigotmc.org/resources/duels.20171/

    And a random player from the server like a placeholder %online_randomplayer% or something like that.
  9. Tomcatchriss
    Tomcatchriss
    5/5,
    Version: 2.8.5
    Good work. Manu Plugins supportet. Wish for some more plugins, like luckperms support.
  10. Syanko
    Syanko
    4/5,
    Version: 2.8.5
    good plugin but need shared worlds example: %server_online_world_world_nether% need show 2 world total online sorry for bad english