mirror of
https://github.com/PlaceholderAPI/PlaceholderAPI
synced 2026-02-06 12:17:13 +01:00
Compare commits
81 Commits
feat/wiki-
...
feat/wiki-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
45d52d124f | ||
|
|
85665f1089 | ||
|
|
8c69b02fca | ||
|
|
9a96b7bb2d | ||
|
|
b2cb1447ce | ||
|
|
72110cacb3 | ||
|
|
48780dedbb | ||
|
|
8313755aa0 | ||
|
|
7538080806 | ||
|
|
bc00425d68 | ||
|
|
8673466ad0 | ||
|
|
39769506c2 | ||
|
|
5bc6f17ab5 | ||
|
|
b0e02d4755 | ||
|
|
13d1ae8336 | ||
|
|
d654cce5c1 | ||
|
|
6b78ec0da2 | ||
|
|
447ccd925c | ||
|
|
b3825b5c45 | ||
|
|
431e0234c2 | ||
|
|
589135a9f4 | ||
|
|
a32c6e4df0 | ||
|
|
bd6928414d | ||
|
|
27cee54915 | ||
|
|
51ea1b05c2 | ||
|
|
edea6c4e57 | ||
|
|
e9b682b723 | ||
|
|
a0c852bb91 | ||
|
|
913a305f8d | ||
|
|
b57dff68ac | ||
|
|
9341a10908 | ||
|
|
6e4da916ad | ||
|
|
ae237b27da | ||
|
|
db129a6fe3 | ||
|
|
46e4c54edb | ||
|
|
ce978189cd | ||
|
|
fabaf75c7b | ||
|
|
f6cafd8891 | ||
|
|
b7e19c200c | ||
|
|
14b89c12ad | ||
|
|
c399a82a74 | ||
|
|
d5e1c748be | ||
|
|
9604455d85 | ||
|
|
15df112cc3 | ||
|
|
ccc7a817f9 | ||
|
|
e3dd0b8978 | ||
|
|
46111c5ee2 | ||
|
|
66975ef0c6 | ||
|
|
bfda9d60ca | ||
|
|
d5746c80ea | ||
|
|
3a2ed3ba94 | ||
|
|
0103722292 | ||
|
|
f537bdd727 | ||
|
|
a480fa3292 | ||
|
|
b6a05c35f5 | ||
|
|
9b2eb78024 | ||
|
|
f703056080 | ||
|
|
846485bff3 | ||
|
|
7828df0d82 | ||
|
|
a591dbb0be | ||
|
|
1f7737511b | ||
|
|
c2ae367090 | ||
|
|
79b7bb4a4d | ||
|
|
794b09438d | ||
|
|
7e4271ddf2 | ||
|
|
b3a098ff6d | ||
|
|
a41cfc023c | ||
|
|
46ad4a3cf2 | ||
|
|
995be880ea | ||
|
|
f13391f317 | ||
|
|
3cf78290fe | ||
|
|
74a590ca1e | ||
|
|
e560cfb4ae | ||
|
|
1208c9ef4c | ||
|
|
f491963b85 | ||
|
|
ab718b3eb8 | ||
|
|
a084b207a6 | ||
|
|
d2b896f4de | ||
|
|
0eaaa6eb08 | ||
|
|
0c4d592ec5 | ||
|
|
27f3ce2254 |
@@ -1,6 +1,6 @@
|
||||
<div class="md-copyright">
|
||||
<div class="md-copyright__highlight">
|
||||
© 2015 - 2024 PlaceholderAPI Team and Contributors.<br>
|
||||
© 2015 - 2025 PlaceholderAPI Team and Contributors.<br>
|
||||
All content is licensed under
|
||||
<a href="https://github.com/PlaceholderAPI/PlaceholderAPI/blob/master/LICENSE" target="_blank" rel="noopener">
|
||||
<span class="twemoji">{% include ".icons/octicons/law-16.svg" %}</span> GNU GPL v3.0
|
||||
|
||||
@@ -2,20 +2,27 @@ document$.subscribe(async => {
|
||||
const api_code = document.querySelectorAll('[data-md-component="api-version"]');
|
||||
|
||||
function loadAPIInfo(data) {
|
||||
const version = data["version"];
|
||||
const versionToken = "{version}";
|
||||
const mcVersion = data["mcVersion"];
|
||||
const hyVersion = data["hyVersion"];
|
||||
|
||||
const mcVersionToken = "{papiVersion}";
|
||||
const hyVersionToken = "{papiHytaleVersion}"
|
||||
for (const codeBlock of api_code) {
|
||||
codeBlock.innerHTML = codeBlock.innerHTML.replace(new RegExp(versionToken, 'g'), version);
|
||||
codeBlock.innerHTML = codeBlock.innerHTML
|
||||
.replace(new RegExp(mcVersionToken, 'g'), mcVersion)
|
||||
.replace(new RegExp(hyVersionToken, 'g'), hyVersion);
|
||||
}
|
||||
}
|
||||
|
||||
async function fetchAPIInfo() {
|
||||
const release = await fetch("https://repo.extendedclip.com/api/maven/latest/version/releases/me/clip/placeholderapi").then(_ => _.json());
|
||||
|
||||
console.log(release)
|
||||
const [mcRelease, hyRelease] = await Promise.all([
|
||||
fetch("https://repo.extendedclip.com/api/maven/latest/version/releases/me/clip/placeholderapi").then(_ => _.json()),
|
||||
fetch("https://repo.helpch.at/api/maven/latest/version/releases/at/helpch/placeholderapi-hytale").then(_ => _.json())
|
||||
])
|
||||
|
||||
const data = {
|
||||
"version": release.version
|
||||
"mcVersion": mcRelease.version,
|
||||
"hyVersion": hyRelease.version
|
||||
}
|
||||
|
||||
__md_set("__api_tag", data, sessionStorage);
|
||||
@@ -24,7 +31,7 @@ document$.subscribe(async => {
|
||||
|
||||
if(location.href.includes("/developers/using-placeholderapi")) {
|
||||
const cachedApi = __md_get("__api_tag", sessionStorage);
|
||||
if ((cachedApi != null) && (cachedApi["version"])) {
|
||||
if ((cachedApi != null) && (cachedApi["mcVersion"])) {
|
||||
loadAPIInfo(cachedApi);
|
||||
} else {
|
||||
fetchAPIInfo();
|
||||
|
||||
@@ -4,6 +4,13 @@ description: Comprehensive guide on how to create a PlaceholderExpansion for oth
|
||||
|
||||
# Creating a PlaceholderExpansion
|
||||
|
||||
/// warning | Important
|
||||
These pages cover the creation of a PlaceholderExpansion for both Spigot/Paper-based and Hytale Servers!
|
||||
|
||||
Unless mentioned otherwise the provided code examples function for both platform types.
|
||||
Please always check code blocks for :material-plus-circle: Icons with additional info!
|
||||
///
|
||||
|
||||
This page will cover how you can create your own [`PlaceholderExpansion`][placeholderexpansion] which you can either integrate into your own plugin (Recommended) or [upload to the eCloud](expansion-cloud.md).
|
||||
|
||||
It's worth noting that PlaceholderAPI relies on expansions being installed. PlaceholderAPI only acts as the core replacing utility while the expansions allow other plugins to use any installed placeholder in their own messages.
|
||||
@@ -37,7 +44,7 @@ In order to not repeat the same basic info for each method throughout this page,
|
||||
Tab the :material-plus-circle: icons in the code block below for additional information.
|
||||
///
|
||||
|
||||
```{ .java .annotate title="SomeExpansion.java" }
|
||||
```java { .annotate title="SomeExpansion.java" }
|
||||
package at.helpch.placeholderapi.example.expansion;
|
||||
|
||||
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
|
||||
@@ -45,52 +52,86 @@ import me.clip.placeholderapi.expansion.PlaceholderExpansion;
|
||||
public class SomeExpansion extends PlaceholderExpansion {
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public String getAuthor() {
|
||||
return "Author"; // (1)
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public String getIdentifier() {
|
||||
return "example"; // (2)
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public String getVersion() {
|
||||
return "1.0.0"; // (3)
|
||||
}
|
||||
|
||||
// These methods aren't overriden by default.
|
||||
// You have to override one of them.
|
||||
|
||||
@Override
|
||||
public String onRequest(OfflinePlayer player, @NotNull String params) {
|
||||
// (4)
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onPlaceholderRequest(Player player, @NotNull String params) {
|
||||
// (5)
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onPlaceholderRequest(PlayerRef player, @NotNull String params) {
|
||||
// (6)
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
1. This method allows you to set the name of the expansion's author.
|
||||
1. This method allows you to set the name of the expansion's author. May not be null.
|
||||
|
||||
2. The identifier is the part in the placeholder that is between the first `%` (or `{` if bracket placeholders are used) and the first `_`.
|
||||
The identifier may not contain `%`, `{`, `}` or `_`.
|
||||
2. The identifier is the part in the placeholder that is between the first `%` (or `{` for bracket placeholders) and the first `_`.
|
||||
The identifier may not be null nor contain `%`, `{`, `}` or `_`.
|
||||
|
||||
If you still want to use them in your expansion name, override the `getName()` method.
|
||||
|
||||
3. This method returns the version of the expansion.
|
||||
3. This method returns the version of the expansion. May not be null.
|
||||
Due to it being a string are you not limited to numbers alone, but it is recommended to stick with a number pattern.
|
||||
|
||||
PlaceholderAPI uses this String to compare with the latest version on the eCloud (if uploaded to it) to see if a new version is available.
|
||||
If your expansion is included in a plugin, this does not matter.
|
||||
|
||||
You must also choose between one of these two methods for handling the actual parsing of placeholders (Exception being expansions providing [relational placeholders](#making-a-relational-expansion)):
|
||||
|
||||
- `onRequest(OfflinePlayer, String)`
|
||||
The first parameter is the player that the placeholders are parsed against, given as an OfflinePlayer instance. This can be null.
|
||||
The second parameter is the content of the placeholder after the first `_` and before the closing `%` (or `}` if bracket placeholders are used). This String is never null.
|
||||
4. Called by PlaceholderAPI to have placeholder values parsed.
|
||||
When not overriden will call `onPlaceholderRequest(Player, String)`, converting the OfflinePlayer to a Player if possible or else providing `null`.
|
||||
|
||||
If not explicity overriden, this will automatically call `onPlaceholderRequest(Player, String)`, passing the parameters as-is to it.
|
||||
This method is recommended as it allows the usage of offline players, meaning the player does not need to be online to obtain certain certain data from them such as name or UUID.
|
||||
|
||||
- `onPlaceholderRequest(Player, String)`
|
||||
The first parameter is the player that the placeholders are parsed against, given as a Player instance. This can be null.
|
||||
The second parameter is the content of the placeholder after the first `_` and before the closing `%` (or `}` if bracket placeholders are used). This String is never null.
|
||||
Using this method is recommended for the usage of the OfflinePlayer, allowing to use data from a player without their presence being required.
|
||||
|
||||
If not set, this method will return `null` which PlaceholderAPI sees as an invalid placeholder.
|
||||
**Parameters**:
|
||||
|
||||
- `player` - Nullable OfflinePlayer instance to parse placeholders against.
|
||||
- `params` - Non-null String representing the part of the placeholder after the first `_` and before the closing `%` (or `}` for bracket placeholders).
|
||||
|
||||
5. Called by PlaceholderAPI through `onRequest(OfflinePlayer, String)` to have placeholder values parsed.
|
||||
When not overriden will return `null`, which PlaceholderAPI will understand as an invalid Placeholder.
|
||||
|
||||
**Parameters**:
|
||||
|
||||
- `player` - Nullable Player instance to parse placeholders against.
|
||||
- `params` - Non-null String representing the part of the placeholder after the first `_` and before the closing `%` (or `}` for bracket placeholders).
|
||||
|
||||
6. **Note:** Only exists for the Hytale Version of PlaceholderAPI!
|
||||
|
||||
Called by PlaceholderAPI through `onPlaceholderRequest(PlayerRef, String)` to have placeholder values parsed.
|
||||
When `null` is returned will PlaceholderAPI treat it as invalid placeholder and return it unchanged.
|
||||
|
||||
**Parameters:**
|
||||
|
||||
- `player` - PlayerRef instance to parse placeholders against.
|
||||
- `params` - Non-null String representing the part of the placeholder after the first `_` and before the closing `%` (or `}` for bracket placeholders).
|
||||
|
||||
/// note
|
||||
PlaceholderAPI always calls `onRequest(Player, String)` in a PlaceholderExpansion.
|
||||
Overriding `onRequest(OfflinePlayer, String)` or `onPlaceholderRequest(Player, String)` is not required if you [create relational placeholders](#making-a-relational-expansion).
|
||||
///
|
||||
|
||||
----
|
||||
@@ -114,16 +155,18 @@ You are also required to override and set `persist()` to `true`. This tells Plac
|
||||
attrs: { id: full-example-internal }
|
||||
type: example
|
||||
|
||||
//// note |
|
||||
Please see the [Basic PlaceholderExpansion Structure](#basic-placeholderexpansion-structure) section for an explanation of all common methods in this example.
|
||||
//// note | Important Notes
|
||||
- Please see the [Basic PlaceholderExpansion Structure](#basic-placeholderexpansion-structure) section for an explanation of all common methods in this example.
|
||||
- The below example is for a Spigot/Paper-based setup.
|
||||
For a Hytale server, replace `me.clip` imports with `at.helpch` and replace `OfflinePlayer` with `PlayerRef` (Including the import).
|
||||
|
||||
Tab the :material-plus-circle: icons in the code block below for additional information.
|
||||
////
|
||||
|
||||
```{ .java .annotate title="SomeExpansion.java" }
|
||||
package at.helpch.placeholderapi.example.expansion;
|
||||
```java { .annotate title="SomeExpansion.java" }
|
||||
package com.example.plugin.expansion;
|
||||
|
||||
import at.helpch.placeholderapi.example.SomePlugin;
|
||||
import com.example.plugin.SomePlugin;
|
||||
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -187,19 +230,20 @@ public class SomeExpansion extends PlaceholderExpansion {
|
||||
6. Example of accessing data of the plugin's `config.yml` file.
|
||||
|
||||
7. Reaching this means that an invalid params String was given, so we return `null` to tell PlaceholderAPI that the placeholder was invalid.
|
||||
|
||||
///
|
||||
|
||||
### Register your Expansion
|
||||
|
||||
Due to the PlaceholderExpansion being internal, PlaceholderAPI does not load it automatically, we'll need to do it manually.
|
||||
This is being done by creating a new instance of your PlaceholderExpansion class and calling the `register()` method of it.
|
||||
This is being done by creating a new instance of your PlaceholderExpansion class and calling the `register()` method of it:
|
||||
|
||||
Here is a quick example:
|
||||
/// tab | Spigot, Paper, ...
|
||||
|
||||
```{ .java .annotate title="SomePlugin.java" }
|
||||
package at.helpch.placeholderapi.example;
|
||||
```java { .annotate title="SomePlugin.java" }
|
||||
package com.example.plugin;
|
||||
|
||||
import at.helpch.placeholderapi.example.expansion.SomeExpansion;
|
||||
import com.example.plugin.expansion.SomeExpansion;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
@@ -219,6 +263,37 @@ public class SomePlugin extends JavaPlugin {
|
||||
|
||||
2. This registers our expansion in PlaceholderAPI. It also gives the Plugin class as dependency injection to the Expansion class, so that we can use it.
|
||||
|
||||
///
|
||||
|
||||
/// tab | Hytale
|
||||
|
||||
```java { .annotate title="SomePlugin.java" }
|
||||
package com.example.plugin;
|
||||
|
||||
import com.example.plugin.expansion.SomeExpansion;
|
||||
import com.hypixel.hytale.server.core.plugin.JavaPlugin;
|
||||
import com.hypixel.hytale.server.core.plugin.JavaPluginInit;
|
||||
import com.hypixel.hytale.common.plugin.PluginIdentifier;
|
||||
import com.hypixel.hytale.server.core.HytaleServer;
|
||||
|
||||
|
||||
public class SomePlugin extends JavaPlugin {
|
||||
|
||||
public SomePlugin(JavaPluginInit init) {
|
||||
super(init)
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void start() {
|
||||
if (HytaleServer.get().getPluginManager().getPlugin(PluginIdentifier.fromString("HelpChat:PlaceholderAPI")) != null) {
|
||||
new SomeExpansion(this).register();
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
///
|
||||
|
||||
----
|
||||
|
||||
## Making an External Expansion
|
||||
@@ -238,16 +313,18 @@ Downsides include a more tedious setup in terms of checking for a required plugi
|
||||
attrs: { id: full-example-external-no-dependency }
|
||||
type: example
|
||||
|
||||
//// note |
|
||||
Please see the [Basic PlaceholderExpansion Structure](#basic-placeholderexpansion-structure) section for an explanation of all common methods in this example.
|
||||
//// note | Important Notes
|
||||
- Please see the [Basic PlaceholderExpansion Structure](#basic-placeholderexpansion-structure) section for an explanation of all common methods in this example.
|
||||
- The below example is for a Spigot/Paper-based setup.
|
||||
For a Hytale server, replace `me.clip` imports with `at.helpch` and replace `OfflinePlayer` with `PlayerRef` (Including the import).
|
||||
|
||||
Tab the :material-plus-circle: icons in the code block below for additional information.
|
||||
////
|
||||
|
||||
This is an example expansion without any plugin dependency.
|
||||
|
||||
```{ .java .annotate title="SomeExpansion.java" }
|
||||
package at.helpch.placeholderapi.example.expansion;
|
||||
```java { .annotate title="SomeExpansion.java" }
|
||||
package com.example.expansion;
|
||||
|
||||
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
@@ -295,18 +372,20 @@ public class SomeExpansion extends PlaceholderExpansion {
|
||||
attrs: { id: full-example-external-dependency }
|
||||
type: example
|
||||
|
||||
//// note |
|
||||
Please see the [Basic PlaceholderExpansion Structure](#basic-placeholderexpansion-structure) section for an explanation of all common methods in this example.
|
||||
//// note | Important Notes
|
||||
- Please see the [Basic PlaceholderExpansion Structure](#basic-placeholderexpansion-structure) section for an explanation of all common methods in this example.
|
||||
- The below example is for a Spigot/Paper-based setup.
|
||||
For a Hytale server, replace `me.clip` imports with `at.helpch` and replace `OfflinePlayer` with `PlayerRef` (Including the import).
|
||||
|
||||
Tab the :material-plus-circle: icons in the code block below for additional information.
|
||||
////
|
||||
|
||||
This is an example expansion with a plugin dependency.
|
||||
|
||||
```{ .java .annotate title="SomeExpansion.java" }
|
||||
package at.helpch.placeholderapi.example.expansion;
|
||||
```java { .annotate title="SomeExpansion.java" }
|
||||
package com.example.expansion;
|
||||
|
||||
import at.helpch.placeholderapi.example.SomePlugin;
|
||||
import com.example.plugin.SomePlugin;
|
||||
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
@@ -364,7 +443,9 @@ public class SomeExpansion extends PlaceholderExpansion {
|
||||
2. The name of the plugin this expansion depends on.
|
||||
It is recommended to set this, as it would result in PlaceholderAPI reporting any missing plugin for your expansion.
|
||||
|
||||
3. This does two things:
|
||||
3. **Note:** This only works on a Spigot/Paper-based server. A equivalent for Hytale servers is not yet known.
|
||||
|
||||
This does two things:
|
||||
|
||||
1. It sets the `plugin` instance to `SomePlugin` using Bukkit's PluginManager to retrieve a JavaPlugin instance that is cast to `SomePlugin`.
|
||||
2. It checks if the retrieved instance is not null. If it is will this result in `canRegister()` returning false, resulting in PlaceholderAPI not loading our expansion.
|
||||
@@ -380,8 +461,9 @@ public class SomeExpansion extends PlaceholderExpansion {
|
||||
|
||||
## Making a relational Expansion
|
||||
|
||||
/// note
|
||||
Relational Placeholders always start with `rel_` to properly identify them. This means that if you make a relational placeholder called `friends_is_friend` would the full placeholder be `%rel_friends_is_friend%`.
|
||||
/// note | Notes
|
||||
- Relational Placeholders always start with `rel_` to properly identify them. This means that if you make a relational placeholder called `friends_is_friend` would the full placeholder be `%rel_friends_is_friend%`.
|
||||
- For Hytale, replace any mention of `Player` with `PlayerRef` and update any Imports in the code to `at.helpch` and related Hytale ones.
|
||||
///
|
||||
|
||||
Relational PlaceholderExpansions are special in that they take two players as input, allowing you to give outputs based on their relation to each other.
|
||||
|
||||
@@ -8,7 +8,7 @@ description: Information about PlaceholderAPI's expansion cloud, including how t
|
||||
|
||||
PlaceholderAPI uses an expansion-cloud (A website that has all kinds of expansions stored), to download jar files, that contain the placeholders for it to use.
|
||||
|
||||
The expansion-cloud can be seen under https://api.extendedclip.com/home
|
||||
The expansion-cloud can be seen under https://ecloud.placeholderapi.com
|
||||
|
||||
## How it works
|
||||
|
||||
@@ -28,7 +28,7 @@ In order to do that, you have to follow those steps:
|
||||
|
||||
1. Make sure you have created a seperate jar file as described in the [Creating a PlaceholderExpansion](creating-a-placeholderexpansion.md) page.
|
||||
2. Create an account on the site, or log in, if you already have one.
|
||||
3. Click on `Expansions` and then on [`Upload New`](https://api.extendedclip.com/manage/add/).
|
||||
3. Click on `Expansions` and then on [`Upload New`](https://ecloud.placeholderapi.com/expansions/new/).
|
||||
4. Fill out the required information. `Source URL` and `Dependency URL` are optional and would link to the source code and any dependency (plugin) of your expansion respectively.
|
||||
5. Click on the button that says `Choose an file...` and select the jar of your expansion.
|
||||
|
||||
@@ -54,7 +54,7 @@ This feature exists since version 2.11.4 of PlaceholderAPI.
|
||||
Before you update, please note the following:
|
||||
Updating your expansion will automatically make it unverified, requiring a site moderator to verify it again. This was made to combat malware from being uploaded and distributed.
|
||||
|
||||
To update your expansion, you first have to go to the list of [your expansions](https://api.extendedclip.com/manage/).
|
||||
To update your expansion, you first have to go to the list of [your expansions](https://ecloud.placeholderapi.com/expansions/manage/).
|
||||
For that click on `Expansions` and select `Your Expansions`.
|
||||
After that, follow those steps:
|
||||
|
||||
|
||||
@@ -6,33 +6,35 @@ description: Guide on how to use PlaceholderAPI in your own plugin.
|
||||
|
||||
This page is about using PlaceholderAPI in your own plugin, to either let other plugins use your plugin, or just use placeholders from other plugins in your own.
|
||||
|
||||
Please note, that the examples in this page are only available for **PlaceholderAPI 2.10.0 or higher**!
|
||||
Please note, that the examples in this page are only available for **PlaceholderAPI 2.10.0 (1.0.0 for Hytale version) or newer**!
|
||||
|
||||
## First steps
|
||||
|
||||
Before you can actually make use of PlaceholderAPI, you first have to import it into your project.
|
||||
Use the below code example matching your dependency manager.
|
||||
### Add PlaceholderAPI to your Project
|
||||
|
||||
/// tab | :simple-apachemaven: Maven
|
||||
Before you can actually make use of PlaceholderAPI, you first have to import it into your project.
|
||||
Use the below code example matching your project type and dependency manager.
|
||||
|
||||
/// tab | Minecraft (Spigot, Paper, ...)
|
||||
//// tab | :simple-apachemaven: Maven
|
||||
```{ .xml title="pom.xml" data-md-component="api-version" }
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>placeholderapi</id>
|
||||
<url>https://repo.extendedclip.com/releases/</url>
|
||||
<url>https://repo.helpch.at/releases/</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>me.clip</groupId>
|
||||
<artifactId>placeholderapi</artifactId>
|
||||
<version>{version}</version>
|
||||
<scope>provided</scope>
|
||||
<groupId>me.clip</groupId>
|
||||
<artifactId>placeholderapi</artifactId>
|
||||
<version>{papiVersion}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
```
|
||||
///
|
||||
////
|
||||
|
||||
/// tab | :simple-gradle: Gradle
|
||||
//// tab | :simple-gradle: Gradle
|
||||
```{ .groovy title="build.gradle" data-md-component="api-version" }
|
||||
repositories {
|
||||
maven {
|
||||
@@ -41,15 +43,68 @@ repositories {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compileOnly 'me.clip:placeholderapi:{version}'
|
||||
compileOnly 'me.clip:placeholderapi:{papiVersion}'
|
||||
|
||||
// Optional: Component support on Paper Servers (Since 2.12.0)
|
||||
compileOnly 'me.clip:placeholderapi-paper:{papiVersion}'
|
||||
}
|
||||
```
|
||||
////
|
||||
///
|
||||
|
||||
/// details | What is `{version}`?
|
||||
/// tab | Hytale
|
||||
//// tab | :simple-apachemaven: Maven
|
||||
```{ .xml title="pom.xml" data-md-component="api-version" }
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>hytale</id>
|
||||
<url>https://repo.codemc.io/repository/hytale/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>placeholderapi</id>
|
||||
<url>https://repo.helpch.at/releases/</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<!-- Replace {hytaleVersion} with the version you need -->
|
||||
<groupId>com.hypixel.hytale</groupId>
|
||||
<artifactId>Server</artifactId>
|
||||
<version>{hytaleVersion}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>at.helpch</groupId>
|
||||
<artifactId>placeholderapi-hytale</artifactId>
|
||||
<version>{papiHytaleVersion}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
```
|
||||
////
|
||||
|
||||
//// tab | :simple-gradle: Gradle
|
||||
```{ .groovy title="build.gradle" data-md-component="api-version" }
|
||||
repositories {
|
||||
maven {
|
||||
url = 'https://repo.codemc.io/repository/hytale/'
|
||||
url = 'https://repo.helpch.at/releases/'
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// Replace {hytaleVersion} with the version you need.
|
||||
compileOnly 'com.hypixel.hytale:Server:{hytaleVersion}'
|
||||
compileOnly 'at.helpch:placeholderapi-hytale:{papiHytaleVersion}'
|
||||
}
|
||||
```
|
||||
////
|
||||
///
|
||||
|
||||
/// details | What is `{papiVersion}`/`{papiHytaleVersion}`?
|
||||
type: question
|
||||
|
||||
Using Javascript, `{version}` is replaced with the latest available API version of PlaceholderAPI.
|
||||
Using Javascript, `{papiVersion}` and `{papiHytaleVersion}` is replaced with the latest available API version of PlaceholderAPI for Minecraft and Hytale respectively.
|
||||
Should you see the placeholder as-is does it mean that you either block Javascript, or that the version couldn't be obtained in time during page load.
|
||||
|
||||
You can always find the latest version matching the API version on the [releases tab](https://github.com/PlaceholderAPI/PlaceholderAPI/releases) of the GitHub Repository.
|
||||
@@ -71,7 +126,7 @@ Tab the :material-plus-circle: icons in the code block below for additional info
|
||||
name: ExamplePlugin
|
||||
version: 1.0
|
||||
author: author
|
||||
main: your.main.path.Here
|
||||
main: com.example.plugin.ExamplePlugin
|
||||
|
||||
softdepend: ["PlaceholderAPI"] # (1)
|
||||
```
|
||||
@@ -89,7 +144,7 @@ Tab the :material-plus-circle: icons in the code block below for additional info
|
||||
name: ExamplePlugin
|
||||
version: 1.0
|
||||
author: author
|
||||
main: your.main.path.Here
|
||||
main: com.example.plugin.ExamplePlugin
|
||||
|
||||
depend: ["PlaceholderAPI"] # (1)
|
||||
```
|
||||
@@ -111,7 +166,7 @@ Tab the :material-plus-circle: icons in the code block below for additional info
|
||||
name: ExamplePlugin
|
||||
version: 1.0
|
||||
author: author
|
||||
main: your.main.path.Here
|
||||
main: com.example.plugin.ExamplePlugin
|
||||
|
||||
dependencies:
|
||||
server:
|
||||
@@ -134,7 +189,7 @@ Tab the :material-plus-circle: icons in the code block below for additional info
|
||||
name: ExamplePlugin
|
||||
version: 1.0
|
||||
author: author
|
||||
main: your.main.path.Here
|
||||
main: com.example.plugin.ExamplePlugin
|
||||
|
||||
dependencies:
|
||||
server:
|
||||
@@ -149,6 +204,42 @@ dependencies:
|
||||
|
||||
///
|
||||
|
||||
/// tab | manifest.json (Hytale)
|
||||
|
||||
//// tab | Optional dependency
|
||||
|
||||
```{ .json .annotate title="manifest.json" }
|
||||
{
|
||||
"Group": "com.example",
|
||||
"Name": "ExamplePlugin",
|
||||
"Version": "1.0",
|
||||
"Main": "com.example.plugin.ExamplePlugin",
|
||||
"OptionalDependencies": {
|
||||
"HelpChat:PlaceholderAPI": ">= 1.0.2"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
////
|
||||
|
||||
//// tab | Required dependency
|
||||
|
||||
```{ .json .annotate title="manifest.json" }
|
||||
{
|
||||
"Group": "com.example",
|
||||
"Name": "ExamplePlugin",
|
||||
"Version": "1.0",
|
||||
"Main": "com.example.plugin.ExamplePlugin",
|
||||
"Dependencies": {
|
||||
"HelpChat:PlaceholderAPI": ">= 1.0.2"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
////
|
||||
|
||||
///
|
||||
|
||||
## Adding placeholders to PlaceholderAPI
|
||||
|
||||
A full guide on how to create expansions can be found on the [Creating a PlaceholderExpansion](creating-a-placeholderexpansion.md) page.
|
||||
@@ -156,15 +247,23 @@ A full guide on how to create expansions can be found on the [Creating a Placeho
|
||||
## Setting placeholders in your plugin
|
||||
|
||||
PlaceholderAPI offers the ability, to automatically parse placeholders from other plugins within your own plugin, giving the ability for your plugin to support thousands of other placeholders without depending on each plugin individually.
|
||||
To use placeholders from other plugins in our own plugin, we simply have to [(soft)depend on PlaceholderAPI](#set-placeholderapi-as-softdepend) and use the `setPlaceholders` method.
|
||||
To use placeholders from other plugins in your own plugin, you simply have to [(soft)depend on PlaceholderAPI](#set-placeholderapi-as-softdepend) and use the `setPlaceholders` method.
|
||||
|
||||
It is also important to point out, that any required plugin/dependency for an expansion has to be on the server and enabled, or the `setPlaceholders` method will just return the placeholder itself (do nothing).
|
||||
|
||||
/// details | Example
|
||||
type: example
|
||||
/// info | New since 2.12.0
|
||||
Starting with version 2.12.0 is it now possible to provide Components from the Adventure library to have placeholders parsed in.
|
||||
|
||||
Let's assume we want to send a custom join message that shows the primary group a player has.
|
||||
To achieve this, we can do the following:
|
||||
In order to use this new feature are the following things required to be true:
|
||||
|
||||
- You depend on `placeholderapi-paper` and not just `placeholderapi`
|
||||
- Your plugin runs on a Paper-based Server. Spigot-based servers will not work!
|
||||
- You use `PAPIComponent` instead of `PlaceholderAPI` to parse Components.
|
||||
///
|
||||
|
||||
/// tab | Spigot, Paper, ...
|
||||
|
||||
The following is an example plugin that sends `%player_name% joined the server! They are rank %vault_rank%` as the Join message, having the placeholders be replaced by PlaceholderAPI.
|
||||
|
||||
//// note |
|
||||
The below example assumes a **soft dependency** on PlaceholderAPI to handle PlaceholderAPI not being present more decently.
|
||||
@@ -173,7 +272,7 @@ Tab the :material-plus-circle: icons in the code block below for additional info
|
||||
////
|
||||
|
||||
```{ .java .annotate title="JoinExample.java" }
|
||||
package at.helpch.placeholderapi;
|
||||
package com.example.plugin;
|
||||
|
||||
import me.clip.placeholderapi.PlaceholderAPI;
|
||||
|
||||
@@ -215,4 +314,51 @@ public class JoinExample extends JavaPlugin implements Listener {
|
||||
In our example are we providing a text containing `%player_name%` and `%vault_rank%` to be parsed, which require the Player and Vault expansion respectively.
|
||||
|
||||
Example output: `Notch joined the server! They are rank Admin`
|
||||
|
||||
//// info | New since 2.12.0
|
||||
Using `placeholderapi-papi` and `PAPIComponents` instead of `PlaceholderAPI` allows you to parse placeholders inside Adventure Components.
|
||||
////
|
||||
///
|
||||
|
||||
/// tab | Hytale
|
||||
|
||||
The following is an example plugin that sends `Welcome %player_name%!` as the Join message, having the placeholders be replaced by PlaceholderAPI.
|
||||
Keeping in mind the [Hytale Player Expansion](https://ecloud.placeholderapi.com/expansions/player-hytale/) needs to be installed to make use of `%player_<identifier>%` placeholders.
|
||||
|
||||
``` { .java .annotate title="JoinExample.java" }
|
||||
packate com.example.plugin;
|
||||
|
||||
import at.helpch.placeholderapi.PlaceholderAPI;
|
||||
|
||||
import com.hypixel.hytale.server.core.event.events.player.PlayerReadyEvent;
|
||||
import com.hypixel.hytale.server.core.Message;
|
||||
import com.hypixel.hytale.server.core.plugin.JavaPlugin;
|
||||
import com.hypixel.hytale.server.core.plugin.JavaPluginInit;
|
||||
import com.hypixel.hytale.server.core.universe.Universe;
|
||||
|
||||
public class JoinExample extends JavaPlugin {
|
||||
|
||||
public JoinExample(JavaPluginInit init) {
|
||||
super(init)
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setup() {
|
||||
// (1)
|
||||
Universe.get().getWorlds().keySet().forEach(name -> getEventRegistry().register(PlayerReadyEvent.class, name, this::onPlayerReady));
|
||||
}
|
||||
|
||||
public void onPlayerReady(PlayerReadyEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
// (2)
|
||||
player.sendMessage(PlaceholderAPI.setPlaceholders(player.getPlayerRef(), Message.raw("Welcome %player_name%!")))
|
||||
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
1. We tell the server to call `onPlayerReady` whenever a `PlayerReadyEvent` fires.
|
||||
2. PlaceholderAPI offers multiple `setPlaceholders` methods that can either return a `String` or a `Message` object, depending on your needs.
|
||||
Note that these methods require input of the same type: `setPlaceholders(PlayerRef, String)` for String and `setPlaceholders(PlayerRef, Message)` for Messages.
|
||||
|
||||
///
|
||||
|
||||
@@ -22,7 +22,7 @@ When a plugin or [`/papi parse me %placeholder%`](users/commands.md#papi-parse)
|
||||
Some expansions may not be integrated into a plugin or don't even have a plugin to depend on, meaning that they may be their own separate jar file that you have to download.
|
||||
Such expansions can usually be found on the eCloud of PlaceholderAPI and be downloaded using the [`/papi ecloud download <expansion>`](users/commands.md#papi-ecloud-download) command.
|
||||
|
||||
Whether an expansion is available on the eCloud or not can be found out in the [Placeholder List](users/placeholder-list.md) with any expansion displaying a papi command being downlodable.
|
||||
Whether an expansion is available on the eCloud or not can be found out in the [Placeholder List](users/placeholder-list/index.md) with any expansion displaying a papi command being downlodable.
|
||||
|
||||
- ### Plugin actually supports PlaceholderAPI
|
||||
|
||||
@@ -37,7 +37,7 @@ When a plugin or [`/papi parse me %placeholder%`](users/commands.md#papi-parse)
|
||||
Double-check that the placeholder you set doesn't contain a typo. You can use [`/papi ecloud placeholders <expansion>`](users/commands.md#papi-ecloud-placeholders) (replace `<expansion>` with the name of the expansion) to get a list of all the placeholders the expansion may have.
|
||||
Keep in mind that this only works for separate expansions on the eCloud and not for those that are loaded by plugins.
|
||||
|
||||
Additionally can the placeholder list from the eCloud be outdated. It is recommended to check the [Placeholder List](users/placeholder-list.md) or see if there is any documentation for the placeholders you want to use.
|
||||
Additionally can the placeholder list from the eCloud be outdated. It is recommended to check the [Placeholder List](users/placeholder-list/index.md) or see if there is any documentation for the placeholders you want to use.
|
||||
|
||||
- ### Plugin is enabled
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ It also has a community-curated list of all available Placeholder expansions and
|
||||
|
||||
- [:octicons-chevron-right-16: Commands](users/commands.md)
|
||||
- [:octicons-chevron-right-16: Using Placeholders](users/using-placeholders.md)
|
||||
- [:octicons-chevron-right-16: Placeholder List](users/placeholder-list.md)
|
||||
- [:octicons-chevron-right-16: Placeholder List](users/placeholder-list/index.md)
|
||||
- [:octicons-chevron-right-16: Plugins using PlaceholderAPI](users/plugins-using-placeholderapi.md)
|
||||
|
||||
- ### :material-file-code: Dev Guides
|
||||
@@ -40,7 +40,8 @@ It also has a community-curated list of all available Placeholder expansions and
|
||||
|
||||
Common problems you may face while using PlaceholderAPI, and how to solve them.
|
||||
|
||||
- [:octicons-chevron-right-16: Go to Page](common-issues.md)
|
||||
- [:octicons-chevron-right-16: Common Issues](issues/index.md)
|
||||
- [:octicons-chevron-right-16: eCloud connection blocked](issues/ecloud-block.md)
|
||||
|
||||
- ### :material-chat-question: FAQ
|
||||
|
||||
|
||||
74
docs/issues/ecloud-block.md
Normal file
74
docs/issues/ecloud-block.md
Normal file
@@ -0,0 +1,74 @@
|
||||
---
|
||||
description: Fixing blocked connections to the PlaceholderAPI Expansion Cloud (eCloud).
|
||||
---
|
||||
|
||||
# eCloud connection blocked
|
||||
|
||||
If you cannot download expansions via PlaceholderAPI, your server may be unable to reach the PlaceholderAPI Expansion Cloud (eCloud). This is usually caused by a network restriction by your host, firewall, or ISP.
|
||||
|
||||
## Symptoms
|
||||
|
||||
Common signs include:
|
||||
|
||||
- You were directed to this page via an in-game message.
|
||||
- `/papi ecloud download/update <expansion>` fails (timeouts, errors, connection refused, or similar).
|
||||
|
||||
## Why it happens
|
||||
|
||||
The download command requires outbound HTTPS access from your server to PlaceholderAPI’s eCloud API. Connections can be blocked by:
|
||||
|
||||
- Your server host’s firewall / security policy
|
||||
- A local firewall on the machine
|
||||
- A network firewall (datacenter, router)
|
||||
- DNS filtering or an ISP block
|
||||
|
||||
## Domains PlaceholderAPI uses
|
||||
|
||||
Allow outbound HTTPS (TCP 443) to these domains:
|
||||
|
||||
- PlaceholderAPI **< 2.12.0** uses `api.extendedclip.com`
|
||||
- PlaceholderAPI **>= 2.12.0** uses `*.placeholderapi.com`
|
||||
|
||||
## Fix options
|
||||
|
||||
### 1) Ask your host to unblock the eCloud
|
||||
|
||||
If you use shared hosting or a managed host, you may not be able to change firewall rules yourself. Contact your host and ask them to allow outbound HTTPS requests to the domains listed above.
|
||||
|
||||
### 2) Check firewalls / filters you control
|
||||
|
||||
If you manage your own server, check any outbound filtering:
|
||||
|
||||
- OS firewall rules (Windows Firewall / `ufw` / `iptables`)
|
||||
- Router/datacenter firewall rules
|
||||
- DNS filtering
|
||||
|
||||
### 3) Manually install expansions (works even if the eCloud is blocked)
|
||||
|
||||
If unblocking is not an option, you can download expansions manually:
|
||||
|
||||
1. Go to https://ecloud.placeholderapi.com/
|
||||
2. Open the expansion you want.
|
||||
3. Download the `.jar`.
|
||||
4. Put it into your server’s `plugins/PlaceholderAPI/expansions/` folder.
|
||||
5. Run [`/papi reload`](../users/commands.md#papi-reload) (or restart the server).
|
||||
|
||||
## Quick connectivity checks (optional)
|
||||
|
||||
If you have access to the machine running the server, these checks from a terminal or command prompt can help confirm a block.
|
||||
|
||||
```bash
|
||||
curl -I https://ecloud.placeholderapi.com/api/v3/
|
||||
curl -I https://api.extendedclip.com/v2/
|
||||
```
|
||||
|
||||
If these commands fail on the server but work on your own PC/network, the server host or datacenter network is most likely blocking outbound connections.
|
||||
|
||||
## Still stuck?
|
||||
|
||||
If you need help, join the [Discord Server](https://discord.gg/helpchat) and share:
|
||||
|
||||
- What you've tried
|
||||
- The full console error from the download attempt
|
||||
- The link provided by `/papi dump`
|
||||
|
||||
@@ -8,6 +8,12 @@ This page lists common issues you may encounter with PlaceholderAPI and how you
|
||||
|
||||
If you have more questions, feel free to join the [Discord Server](https://discord.gg/helpchat).
|
||||
|
||||
## eCloud download fails / blocked connection
|
||||
|
||||
If your host or network blocks outgoing connections to the Expansion Cloud (eCloud), PlaceholderAPI will be unable to download expansions.
|
||||
|
||||
See: [eCloud connection blocked](ecloud-block.md)
|
||||
|
||||
## `java.lang.NoClassDefFoundError: com/google/gson/Gson`
|
||||
|
||||
If you encounter an issue such as
|
||||
@@ -9,10 +9,10 @@ This page shows all commands, including with a detailed description of what ever
|
||||
## Overview
|
||||
|
||||
- **[Parse Commands](#parse-commands)**
|
||||
- [`/papi bcparse <player|me|--null> <string>`](#papi-bcparse)
|
||||
- [`/papi cmdparse <player|me|--null> <string>`](#papi-cmdparse)
|
||||
- [`/papi parse <player|me|--null> <string>`](#papi-parse)
|
||||
- [`/papi parserel <player> <player> <string>`](#papi-parserel)
|
||||
- [`/papi bcparse <player|me|--null> <text>`](#papi-bcparse)
|
||||
- [`/papi cmdparse <player|me|--null> <text>`](#papi-cmdparse)
|
||||
- [`/papi parse <player|me|--null> <text>`](#papi-parse)
|
||||
- [`/papi parserel <player|me> <player|me> <text>`](#papi-parserel)
|
||||
|
||||
- **[eCloud Commands](#ecloud-commands)**
|
||||
- [`/papi ecloud clear`](#papi-ecloud-clear)
|
||||
@@ -52,7 +52,7 @@ Parses placeholders of a String and broadcasts the result to all players.
|
||||
**Arguments**:
|
||||
|
||||
- `<player|me|--null>` - The Player to parse values of the placeholder (Use `me` for yourself and `--null` to force a null player (Useful for consoles)).
|
||||
- `<Text with placeholders>` - The text to parse.
|
||||
- `<text>` - Text with placeholders to parse.
|
||||
|
||||
**Example**:
|
||||
```
|
||||
@@ -69,7 +69,7 @@ Parses placeholders of a String and executes it as a command.
|
||||
**Arguments**:
|
||||
|
||||
- `<player|me|--null>` - The Player to parse values of the placeholder (Use `me` for yourself and `--null` to force a null player (Useful for consoles)).
|
||||
- `<Command with placeholders>` - The Text to parse and execute as command. Please leave away the `/` of the command.
|
||||
- `<text>` - Text with placeholders to parse and execute as command (Don't include the `/` for the command).
|
||||
|
||||
**Example**:
|
||||
```
|
||||
@@ -86,7 +86,7 @@ Parses the placeholders in a given text and shows the result.
|
||||
**Arguments**:
|
||||
|
||||
- `<player|me|--null>` - The Player to parse values of the placeholder (Use `me` for yourself and `--null` to force a null player (Useful for consoles)).
|
||||
- `<Text with placeholders>` - The text to parse.
|
||||
- `<text>` - Text with placeholders to parse.
|
||||
|
||||
**Example**:
|
||||
```
|
||||
@@ -102,9 +102,9 @@ Parses a relational placeholder.
|
||||
|
||||
**Arguments**:
|
||||
|
||||
- `<player1>` - The first player.
|
||||
- `<player2>` - the second player to compare with.
|
||||
- `<Text with placeholders>` - The actual placeholder to parse.
|
||||
- `<player1|me>` - The first player (Use `me` for yourself).
|
||||
- `<player2|me>` - the second player to compare with (Use `me` for yourself).
|
||||
- `<text>` - Text with placeholders to parse.
|
||||
|
||||
**Example**:
|
||||
```
|
||||
@@ -116,7 +116,8 @@ Parses a relational placeholder.
|
||||
|
||||
### eCloud Commands
|
||||
|
||||
These commands all start with `/papi ecloud` and are used for things related about the [Expansion Cloud](../developers/expansion-cloud.md).
|
||||
These commands all start with `/papi ecloud` and are used for things related about the [Expansion Cloud](../developers/expansion-cloud.md).
|
||||
Only executing `/papi ecloud` without any arguments will list all commands available for it.
|
||||
|
||||
#### `/papi ecloud clear`
|
||||
|
||||
@@ -250,7 +251,7 @@ Gives you information about the specified Expansion.
|
||||
/// info |
|
||||
**Description**:
|
||||
Lists all active/registered expansions.
|
||||
This is different to [/papi ecloud list installed](#papi-ecloud-list) in the fact, that it also includes expansions that were installed through a plugin (That aren't a separate jar-file) and it also > doesn't show which one have updates available.
|
||||
This is different to [/papi ecloud list installed](#papi-ecloud-list) in the fact, that it also includes expansions that were installed through a plugin (That aren't a separate jar-file) and it also doesn't show which one have updates available.
|
||||
///
|
||||
|
||||
#### `/papi register`
|
||||
|
||||
@@ -30,9 +30,9 @@ The pages listed under this section are meant for server owners who want to use
|
||||
|
||||
----
|
||||
|
||||
Community-curated list of available PlaceholderExpansions and their placeholders.
|
||||
Community-curated lists of available Placeholder Expansions and their placeholders for the Minecraft and Hytale versions of PlaceholderAPI.
|
||||
|
||||
- [:octicons-chevron-right-16: Go to Page](placeholder-list.md)
|
||||
- [:octicons-chevron-right-16: Go to Page](placeholder-list/index.md)
|
||||
|
||||
- ### Plugins using PlaceholderAPI
|
||||
|
||||
@@ -42,4 +42,4 @@ The pages listed under this section are meant for server owners who want to use
|
||||
|
||||
- [:octicons-chevron-right-16: Go to Page](plugins-using-placeholderapi.md)
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
283
docs/users/placeholder-list/hytale.md
Normal file
283
docs/users/placeholder-list/hytale.md
Normal file
@@ -0,0 +1,283 @@
|
||||
# Hytale
|
||||
|
||||
This is a list of all available placeholders for the Hytale version of PlaceholderAPI.
|
||||
For the Minecraft version, visit [this page](minecraft.md).
|
||||
|
||||
A download-command may be found in the infobox located below the title of the Expansion.
|
||||
Should `Built into Plugin` be displayed is the Expansion included in the Plugin it depends on. Should a URL be shown does it mean you have to download it manually and add it to the `expansions` folder yourself.
|
||||
|
||||
/// note
|
||||
This placeholder list is provided "as-is" without any guarantee of being accurate and/or up-to-date.
|
||||
|
||||
Page is only updated on request. We recommend contributing to this list by [making a Pull request](https://github.com/PlaceholderAPI/PlaceholderAPI/pulls).
|
||||
Further details on how to contribute to this list or the wiki as a whole can be found on the [README file of the Wiki](https://github.com/PlaceholderAPI/PlaceholderAPI/blob/wiki/README.md).
|
||||
///
|
||||
|
||||
- [Standalone](#standalone)
|
||||
- **A**
|
||||
- *No Expansions*
|
||||
- **B**
|
||||
- *No Expansions*
|
||||
- **C**
|
||||
- *No Expansions*
|
||||
- **D**
|
||||
- *No Expansions*
|
||||
- **E**
|
||||
- *No Expansions*
|
||||
- **F**
|
||||
- *No Expansions*
|
||||
- **G**
|
||||
- *No Expansions*
|
||||
- **H**
|
||||
- *No Expansions*
|
||||
- **I**
|
||||
- *No Expansions*
|
||||
- **J**
|
||||
- *No Expansions*
|
||||
- **K**
|
||||
- *No Expansions*
|
||||
- **L**
|
||||
- *No Expansions*
|
||||
- **M**
|
||||
- *No Expansions*
|
||||
- **N**
|
||||
- *No Expansions*
|
||||
- **O**
|
||||
- *No Expansions*
|
||||
- **P**
|
||||
- **[Player](#player)**
|
||||
- **Q**
|
||||
- *No Expansions*
|
||||
- **R**
|
||||
- *No Expansions*
|
||||
- **S**
|
||||
- **[Server](#server)**
|
||||
- **T**
|
||||
- *No Expansions*
|
||||
- **U**
|
||||
- *No Expansions*
|
||||
- **V**
|
||||
- *No Expansions*
|
||||
- **W**
|
||||
- **[World](#world)**
|
||||
- **X**
|
||||
- *No Expansions*
|
||||
- **Y**
|
||||
- *No Expansions*
|
||||
- **Z**
|
||||
- *No Expansions*
|
||||
|
||||
----
|
||||
|
||||
- [Plugin-placeholders](#plugin-placeholders)
|
||||
- **A**
|
||||
- *No Expansions*
|
||||
- **B**
|
||||
- *No Expansions*
|
||||
- **C**
|
||||
- *No Expansions*
|
||||
- **D**
|
||||
- *No Expansions*
|
||||
- **E**
|
||||
- *No Expansions*
|
||||
- **F**
|
||||
- *No Expansions*
|
||||
- **G**
|
||||
- *No Expansions*
|
||||
- **H**
|
||||
- *No Expansions*
|
||||
- **I**
|
||||
- *No Expansions*
|
||||
- **J**
|
||||
- *No Expansions*
|
||||
- **K**
|
||||
- *No Expansions*
|
||||
- **L**
|
||||
- **[LuckPerms](#luckperms)**
|
||||
- **M**
|
||||
- *No Expansions*
|
||||
- **N**
|
||||
- *No Expansions*
|
||||
- **O**
|
||||
- *No Expansions*
|
||||
- **P**
|
||||
- *No Expansions*
|
||||
- **Q**
|
||||
- *No Expansions*
|
||||
- **R**
|
||||
- *No Expansions*
|
||||
- **S**
|
||||
- *No Expansions*
|
||||
- **T**
|
||||
- *No Expansions*
|
||||
- **U**
|
||||
- *No Expansions*
|
||||
- **V**
|
||||
- *No Expansions*
|
||||
- **W**
|
||||
- *No Expansions*
|
||||
- **X**
|
||||
- *No Expansions*
|
||||
- **Y**
|
||||
- *No Expansions*
|
||||
- **Z**
|
||||
- *No Expansions*
|
||||
|
||||
----
|
||||
|
||||
## Standalone
|
||||
|
||||
Expansions listed here don't need any plugin/mod or extra library to function properly, unless mentioned otherwise.
|
||||
A majority of these Expansions are maintained by the PlaceholderAPI team and can be considered *official*.
|
||||
|
||||
### **Player**
|
||||
/// command | papi ecloud download Player
|
||||
///
|
||||
|
||||
```
|
||||
%player_uuid%
|
||||
%player_username%
|
||||
%player_language%
|
||||
%player_world_uuid%
|
||||
%player_x%
|
||||
%player_y%
|
||||
%player_z%
|
||||
%player_yaw%
|
||||
%player_pitch%
|
||||
%player_has_played_before%
|
||||
%player_name%
|
||||
%player_gamemode%
|
||||
%player_world%
|
||||
%player_biome%
|
||||
%player_item_in_hand%
|
||||
%player_item_in_hand_quantity%
|
||||
%player_item_in_hand_durability%
|
||||
%player_item_in_hand_broken%
|
||||
%player_item_in_hand_unbreakable%
|
||||
%player_current_fall_distance%
|
||||
%player_view_radius%
|
||||
%player_client_view_radius%
|
||||
%player_since_last_spawn_nanos%
|
||||
%player_mount_entity_id%
|
||||
%player_is_collidable%
|
||||
%player_health%
|
||||
%player_health_max%
|
||||
%player_health_min%
|
||||
%player_ammo%
|
||||
%player_ammo_max%
|
||||
%player_ammo_min%
|
||||
%player_stamina%
|
||||
%player_stamina_max%
|
||||
%player_stamina_min%
|
||||
%player_mana%
|
||||
%player_mana_max%
|
||||
%player_mana_min%
|
||||
%player_oxygen%
|
||||
%player_oxygen_max%
|
||||
%player_oxygen_min%
|
||||
%player_signature_energy%
|
||||
%player_signature_energy_max%
|
||||
%player_signature_energy_min%
|
||||
%player_has_permission_<permission>%
|
||||
```
|
||||
|
||||
----
|
||||
|
||||
### **Server**
|
||||
/// command | papi ecloud download Server
|
||||
///
|
||||
|
||||
```
|
||||
%server_name%
|
||||
%server_online%
|
||||
%server_worlds%
|
||||
%server_max_players%
|
||||
%server_max_view_radius%
|
||||
%server_motd%
|
||||
%server_default_gamemode%
|
||||
%server_default_world%
|
||||
%server_rate_limit_enabled%
|
||||
%server_rate_limit_packets_per_second%
|
||||
%server_rate_limit_burst_capacity%
|
||||
%server_is_booting%
|
||||
%server_is_shutting_down%
|
||||
%server_boot_timestamp%
|
||||
%server_uptime_millis%
|
||||
%server_uptime_seconds%
|
||||
%server_uptime%
|
||||
%server_plugin_count%
|
||||
```
|
||||
|
||||
----
|
||||
|
||||
### **World**
|
||||
/// command | papi ecloud download World
|
||||
///
|
||||
|
||||
```
|
||||
%world_total%
|
||||
%world_biome%
|
||||
%world_time%
|
||||
%world_timein12%
|
||||
%world_fulltime%
|
||||
%world_dayprogress%
|
||||
%world_moonphase%
|
||||
%world_sunlightfactor%
|
||||
%world_date%
|
||||
%world_sunddirection_x%
|
||||
%world_sunddirection_y%
|
||||
%world_sunddirection_z%
|
||||
%world_name_<world>%
|
||||
%world_uuid_<world>%
|
||||
%world_seed_<world>%
|
||||
%world_canpvp_<world>%
|
||||
%world_spawnnpc_<world>%
|
||||
%world_npcfrozen_<world>%
|
||||
%world_falldamage_<world>%
|
||||
%world_objectivemarkers_<world>%
|
||||
%world_entities_<world>%
|
||||
%world_players_<world>%
|
||||
%world_players_<world>_<group>%
|
||||
%world_haspermission_<world>_<permission>%
|
||||
%world_playerexist_<world>_<playername>%
|
||||
%world_recentjoin_<world>%
|
||||
%world_recentquit_<world>%
|
||||
```
|
||||
|
||||
----
|
||||
|
||||
## Plugin-placeholders
|
||||
|
||||
Expansions listed here require the linked resource (plugin/mod) to work properly.
|
||||
|
||||
Most of the listed Expansions are NOT made and maintained by the PlaceholderAPI team.
|
||||
Please see ?510 for a list of all expansions officially maintained by the PlaceholderAPI team.
|
||||
|
||||
### **[LuckPerms](https://www.spigotmc.org/resources/28140/)**
|
||||
/// command | papi ecloud download LuckPerms
|
||||
///
|
||||
|
||||
```
|
||||
%luckperms_prefix%
|
||||
%luckperms_suffix%
|
||||
%luckperms_meta_<metakey>%
|
||||
%luckperms_prefix_element_<element>%
|
||||
%luckperms_suffix_element_<element>%
|
||||
%luckperms_context_<contextkey>%
|
||||
%luckperms_groups%
|
||||
%luckperms_primary_group_name%
|
||||
%luckperms_has_permission_<permission>%
|
||||
%luckperms_inherits_permission_<permission>%
|
||||
%luckperms_check_permission_<permission>%
|
||||
%luckperms_in_group_<group>%
|
||||
%luckperms_inherits_group_<group>%
|
||||
%luckperms_on_track_<track>%
|
||||
%luckperms_has_groups_on_track_<track>%
|
||||
%luckperms_highest_group_by_weight%
|
||||
%luckperms_lowest_group_by_weight%
|
||||
%luckperms_first_group_on_tracks_<tracks>%
|
||||
%luckperms_last_group_on_tracks_<tracks>%
|
||||
%luckperms_expiry_time_<permission>%
|
||||
%luckperms_inherited_expiry_time_<permission>%
|
||||
%luckperms_group_expiry_time_<groupname>%
|
||||
```
|
||||
20
docs/users/placeholder-list/index.md
Normal file
20
docs/users/placeholder-list/index.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# Placeholder List
|
||||
|
||||
PlaceholderAPI is home of countless community-made Placeholder Expansions.
|
||||
To help you find the expansion you need, we are providing official placeholder lists that include available PlaceholderAPI expansions and their placeholders for both Minecraft (Spigot, Paper, etc.) and Hytale.
|
||||
|
||||
<div class="grid cards" markdown>
|
||||
|
||||
- ## [Minecraft](minecraft.md)
|
||||
|
||||
----
|
||||
|
||||
Placeholder list for the Minecraft version of PlaceholderAPI.
|
||||
|
||||
- ## [Hytale](hytale.md)
|
||||
|
||||
----
|
||||
|
||||
Placeholder list for the Hytale version of PlaceholderAPI.
|
||||
|
||||
</div>
|
||||
@@ -2,9 +2,10 @@
|
||||
description: Community-curated list of available PlaceholderExpansions and their placeholders.
|
||||
---
|
||||
|
||||
# Placeholder List
|
||||
# Minecraft
|
||||
|
||||
This is a list of all available placeholders.
|
||||
This is a list of all available placeholders for the Minecraft version of PlaceholderAPI.
|
||||
For the Hytale version, visit [this page](hytale.md).
|
||||
|
||||
A download-command may be found in the infobox located below the title of the Expansion.
|
||||
Should `Built into Plugin` be displayed is the Expansion included in the Plugin it depends on. Should a URL be shown does it mean you have to download it manually and add it to the `expansions` folder yourself.
|
||||
@@ -34,7 +35,7 @@ Further details on how to contribute to this list or the wiki as a whole can be
|
||||
- **[CooldownBar](#cooldownbar)**
|
||||
|
||||
- **D**
|
||||
- *No Expansions*
|
||||
- *[Distance](#distance)*
|
||||
|
||||
- **E**
|
||||
- **[Enchantment](#enchantment)**
|
||||
@@ -81,6 +82,7 @@ Further details on how to contribute to this list or the wiki as a whole can be
|
||||
- **[PlayerList](#playerlist)**
|
||||
- **[Plugin](#plugin)**
|
||||
- **[Progress](#progress)**
|
||||
- **[PronounDB](#pronoundb)**
|
||||
|
||||
- **Q**
|
||||
- *No Expansions*
|
||||
@@ -92,6 +94,7 @@ Further details on how to contribute to this list or the wiki as a whole can be
|
||||
- **[RedisBungee](#redisbungee)**
|
||||
- **[RelCon](#relcon)**
|
||||
- **[RNG](#rng)**
|
||||
- **[Reparser](#reparser)**
|
||||
|
||||
- **S**
|
||||
- **[ScoreboardObjectives](#scoreboardobjectives)**
|
||||
@@ -108,6 +111,7 @@ Further details on how to contribute to this list or the wiki as a whole can be
|
||||
|
||||
- **U**
|
||||
- **[Unicode](#unicode)**
|
||||
- **[UnixTime](#unixtime)**
|
||||
|
||||
- **V**
|
||||
- *No Expansions*
|
||||
@@ -176,9 +180,8 @@ Further details on how to contribute to this list or the wiki as a whole can be
|
||||
- **[CheckNameHistory](#checknamehistory)**
|
||||
- **[ClaimChunk](#claimchunk)**
|
||||
- **[Clans](#clans)**
|
||||
- **[ClansFree](#clansfree)**
|
||||
- **[Clans](#clans)**
|
||||
- **[Clans-API for Spigot/Clan tag in chat](#clans-api-for-spigotclan-tag-in-chat)**
|
||||
- **[ClansPro](#clanspro)**
|
||||
- **[ClanSystem](#clansystem)**
|
||||
- **[CombatLogX](#combatlogx)**
|
||||
- **[Compassance](#compassance)**
|
||||
@@ -225,7 +228,6 @@ Further details on how to contribute to this list or the wiki as a whole can be
|
||||
- **[Factions MCore](#factions-mcore)**
|
||||
- **[FactionsUUID](#factionsuuid)**
|
||||
- **[Factions relation placeholders](#factions-relation-placeholders)**
|
||||
- **[FunnyGuilds](#funnyguilds)**
|
||||
|
||||
- **G**
|
||||
- **[GAListener](#galistener)**
|
||||
@@ -233,6 +235,7 @@ Further details on how to contribute to this list or the wiki as a whole can be
|
||||
- **[GemsEconomy](#gemseconomy)**
|
||||
- **[GriefDefender](#griefdefender)**
|
||||
- **[GriefPrevention](#griefprevention)**
|
||||
- **[GrimAC](#grimac)**
|
||||
- **[Guilds](#guilds)**
|
||||
- **[GuiRedeemMCMMO](#guiredeemmcmmo)**
|
||||
|
||||
@@ -247,6 +250,7 @@ Further details on how to contribute to this list or the wiki as a whole can be
|
||||
- **[HyacinthHello](#hyacinthhello)**
|
||||
|
||||
- **I**
|
||||
- **[ImageFrame](#imageframe)**
|
||||
- **[InteractionVisualizer](#interactionvisualizer)**
|
||||
- **[InteractiveChat](#interactivechat)**
|
||||
- **[Island Border (ASkyblock / BentoBox / uSkyBlock / AcidIsland)](#island-border)**
|
||||
@@ -294,6 +298,7 @@ Further details on how to contribute to this list or the wiki as a whole can be
|
||||
- **[MyPrefixSystem](#myprefixsystem)**
|
||||
|
||||
- **N**
|
||||
- **[NameColor](#namecolor)**
|
||||
- **[Nameless Plugin](#nameless-plugin)**
|
||||
- **[NameMC-API-ServersMC Plugin](#namemc-api-serversmc)**
|
||||
- **[Nicknamer](#nicknamer)**
|
||||
@@ -322,6 +327,7 @@ Further details on how to contribute to this list or the wiki as a whole can be
|
||||
- **[Plan](#plan)**
|
||||
- **[PlayerStats](#playerstats)**
|
||||
- **[PlayTime](#playtime)**
|
||||
- **[PlayTimeManager](#playtimemanager)**
|
||||
- **[PlaytimeRewards](#playtimerewards)**
|
||||
- **[PlayerPoints](#playerpoints)**
|
||||
- **[PlotSquared](#plotsquared)**
|
||||
@@ -366,6 +372,7 @@ Further details on how to contribute to this list or the wiki as a whole can be
|
||||
|
||||
- **S**
|
||||
- **[Sack](#sack)**
|
||||
- **[ScreamingBedWars](#screamingbedwars)**
|
||||
- **[Seasons](#seasons)**
|
||||
- **[SellAll](#sellall)**
|
||||
- **[SignLink](#signlink)**
|
||||
@@ -418,6 +425,7 @@ Further details on how to contribute to this list or the wiki as a whole can be
|
||||
- **[Two Factor Authentication](#two-factor-authentication)**
|
||||
|
||||
- **U**
|
||||
- **[UJobs](#ujobs)**
|
||||
- **[UltimateChat](#ultimatechat)**
|
||||
- **[UltimateClaims](#ultimateclaims)**
|
||||
- **[UltimateServerManager](#ultimateservermanager)**
|
||||
@@ -724,6 +732,27 @@ More info about this expansion can be found on the [GitHub-Repository](https://g
|
||||
|
||||
----
|
||||
|
||||
### **Distance**
|
||||
/// command | papi ecloud download Distance
|
||||
///
|
||||
|
||||
This expansion provides placeholders to calculate the distance between two locations.
|
||||
|
||||
Supports placeholder inside placeholder, use `{}` instead of `%` for inner placeholders.
|
||||
|
||||
More info about this expansion can be found on the [GitHub-Repository](https://github.com/Clexus/DistanceExpansion).
|
||||
|
||||
`[]` is optional
|
||||
|
||||
```
|
||||
%distance_x1,y1,z1[,x2,y2,z2][,decimals]%
|
||||
%distance_player1[,player2][,decimals]%
|
||||
%distance_player[,x,y,z][,decimals]%
|
||||
%distance_UUID1[,UUID2][,decimals]%
|
||||
```
|
||||
|
||||
----
|
||||
|
||||
### **Enchantment**
|
||||
/// download | https://github.com/TeamVK/PAPI-Enchantment/releases
|
||||
///
|
||||
@@ -759,10 +788,12 @@ Use `{{u}}` for underscores and `{{prc}}` for percent symbols.
|
||||
%formatter_number_round_<number>%
|
||||
%formatter_number_round_[precision]:[roundingmode]_<number>%
|
||||
%formatter_number_shorten_<number>%
|
||||
%formatter_number_shorten_<rounding_mode>_<number>%
|
||||
%formatter_number_time_<number>%
|
||||
%formatter_number_time_<timeunit>_<number>% # Handles number as <timeunit>
|
||||
|
||||
%formatter_text_capitalize_<text>%
|
||||
%formatter_text_capitalize_<option>_<text>%
|
||||
%formatter_text_length_<text>%
|
||||
%formatter_text_lowercase_<text>%
|
||||
%formatter_text_replace_[target]_[replacement]_<text>%
|
||||
@@ -1158,6 +1189,18 @@ More info about this expansion can be found on the [GitHub-Repository](https://g
|
||||
|
||||
----
|
||||
|
||||
### **PronounDB**
|
||||
/// download | https://github.com/JasperLorelai/Expansion-PronounDB/releases
|
||||
///
|
||||
|
||||
Shows the pronouns of a Minecraft player with a linked account on https://pronoundb.org/
|
||||
|
||||
```
|
||||
%pronoundb%
|
||||
```
|
||||
|
||||
----
|
||||
|
||||
### **RainbowColor**
|
||||
/// command | papi ecloud download RainbowColor
|
||||
///
|
||||
@@ -1248,6 +1291,18 @@ More info about the expansion can be found on the [GitHub-Repository](https://gi
|
||||
|
||||
----
|
||||
|
||||
### **Reparser**
|
||||
/// command | papi ecloud download reparser
|
||||
///
|
||||
|
||||
Parses a provided input twice.
|
||||
|
||||
```
|
||||
%reparser_<text>%
|
||||
```
|
||||
|
||||
----
|
||||
|
||||
### **ScoreboardObjectives**
|
||||
/// command | papi ecloud download ScoreboardObjectives
|
||||
///
|
||||
@@ -1510,6 +1565,18 @@ Example: `%unicode_1000%` would show `က`
|
||||
|
||||
----
|
||||
|
||||
### **UnixTime**
|
||||
/// download | https://api.extendedclip.com/expansions/unixtime/
|
||||
///
|
||||
|
||||
```
|
||||
%unixtime_[UNIX]_[DateTimeFormat]%
|
||||
```
|
||||
|
||||
Example: `%unixtime_1750277249389_dd.MM.yyyy-HH:mm:ss%` would show `18.06.2025 20:07:29`
|
||||
|
||||
----
|
||||
|
||||
### **World**
|
||||
/// command | papi ecloud download world
|
||||
///
|
||||
@@ -1837,8 +1904,11 @@ For more info, visit the [wiki](https://asl.andre601.ch/placeholderapi/#own-plac
|
||||
%asl_favicon%
|
||||
%asl_motd%
|
||||
%asl_playercount_extraplayers%
|
||||
%asl_playercount_hideplayers%
|
||||
%asl_playercount_hideplayershover%
|
||||
%asl_playercount_hover%
|
||||
%asl_playercount_maxplayers%
|
||||
%asl_playercount_onlineplayers%
|
||||
%asl_playercount_text%
|
||||
%asl_server_playersmax%
|
||||
```
|
||||
@@ -2135,11 +2205,19 @@ Find examples of how the placeholders can be used on [signs](https://github.com/
|
||||
/// integrated | Built into Plugin
|
||||
///
|
||||
|
||||
Find an up-to-date list on the [SpigotMC page](https://www.spigotmc.org/resources/beautyquests.39255/field?field=documentation).
|
||||
|
||||
```
|
||||
%beautyquests_total_amount%
|
||||
%beautyquests_player_inprogress_amount%
|
||||
%beautyquests_player_finished_amount%
|
||||
%beautyquests_total_amount%
|
||||
%beautyquests_advancement_ID%
|
||||
%beautyquests_player_finished_total_amount%
|
||||
%beautyquests_started_ordered%
|
||||
%beautyquests_started_ordered_X%
|
||||
%beautyquests_advancement_X%
|
||||
%beautyquests_advancement_X_raw%
|
||||
%beautyquests_player_quest_finished_X%
|
||||
%beautyquests_started_id_list%
|
||||
```
|
||||
|
||||
----
|
||||
@@ -2424,14 +2502,32 @@ Please check the [wiki](https://github.com/booksaw/PlaceholderAPI) for more info
|
||||
|
||||
----
|
||||
|
||||
### **[ClansFree](https://www.spigotmc.org/resources/78415/)**
|
||||
### **[Clans](https://www.spigotmc.org/resources/87515/)**
|
||||
/// integrated | Built into Plugin
|
||||
///
|
||||
|
||||
```
|
||||
%clans_name%
|
||||
%clans_raidshield%
|
||||
%clans_rank%
|
||||
%clans_land_status% - Get the relation status with the current claim youre in
|
||||
%clans_land_chunk_map_line#% - Get relative claim map data in placeholder form replacing # with a number 1-5 for a 5x5 grid.
|
||||
%clans_clan_name% - Get the name of the clan of the player
|
||||
%clans_clan_description% - Get the description of the clan of the player
|
||||
%clans_clan_color% - Get the color of the clan of the player
|
||||
%clans_clan_pvp_mode% - Get the pvp mode of the clan of the player
|
||||
%clans_clan_balance% - Get the money balance of the clan of the player
|
||||
%clans_clan_power% - Get the amount of power points the clan of the player has.
|
||||
%clans_clan_top_slot_#% - Get the name of the clan within the specified placement replacing # with the desired ranking.
|
||||
%clans_clan_top_slot_#_power% - Get the name of the clan within the specified placement based on clan power replacing # with the desired ranking.
|
||||
%clans_clan_top_slot_#_color% - Get the name of the clan within the specified placement but colored with their clan color repalcing # with the desired ranking.
|
||||
%clans_clan_war_active% - Get the current active arena status of the player.
|
||||
%clans_clan_war_score% - Get the current arena score of the clan for the player.
|
||||
%clans_clan_war_hours% - Get how long the players clan has been at battle in the current arena.
|
||||
%clans_clan_war_minutes% - Get how long the players clan has been at battle in the current arena.
|
||||
%clans_clan_war_seconds% - Get how long the players clan has been at battle in the current arena.
|
||||
%clans_clan_members_online% - Get the count of online clan members for the player
|
||||
%clans_member_rank% - Get the name of the rank the player currently resides in within their clan
|
||||
%clans_member_rank_short% - Get the symbol for the rank the player currently resides in within their clan.
|
||||
%clans_member_bio% - Get the players bio for their clan.
|
||||
%clans_raidshield_status% - Get the current raidshield status
|
||||
```
|
||||
|
||||
----
|
||||
@@ -2447,34 +2543,6 @@ Please check the [wiki](https://github.com/booksaw/PlaceholderAPI) for more info
|
||||
|
||||
----
|
||||
|
||||
### **[ClansPro](https://www.spigotmc.org/resources/87515/)**
|
||||
/// integrated | Built into Plugin
|
||||
///
|
||||
|
||||
```
|
||||
%clanspro_clan_name%
|
||||
%clanspro_clan_description%
|
||||
%clanspro_clan_color%
|
||||
%clanspro_clan_pvp_mode%
|
||||
%clanspro_clan_balance%
|
||||
%clanspro_clan_power%
|
||||
%clanspro_clan_top_slot_#%
|
||||
%clanspro_clan_top_slot_#_power%
|
||||
%clanspro_clan_top_slot_#_color%
|
||||
%clanspro_clan_war_active%
|
||||
%clanspro_clan_war_score%
|
||||
%clanspro_clan_war_hours%
|
||||
%clanspro_clan_war_minutes%
|
||||
%clanspro_clan_war_seconds%
|
||||
%clanspro_clan_members_online%
|
||||
%clanspro_member_rank%
|
||||
%clanspro_member_rank_short%
|
||||
%clanspro_member_bio%
|
||||
%clanspro_raidshield_status%
|
||||
```
|
||||
|
||||
----
|
||||
|
||||
### **[ClanSystem](https://www.spigotmc.org/resources/34696/)**
|
||||
/// integrated | Built into Plugin
|
||||
///
|
||||
@@ -3102,42 +3170,6 @@ These placeholders work with FactionsUUID and MCore all you need is downloading
|
||||
|
||||
----
|
||||
|
||||
### **[FunnyGuilds](https://github.com/FunnyGuilds/FunnyGuilds)**
|
||||
/// integrated | Built into Plugin
|
||||
///
|
||||
|
||||
```
|
||||
%funnyguilds_guilds%
|
||||
%funnyguilds_users%
|
||||
%funnyguilds_deaths%
|
||||
%funnyguilds_kdr%
|
||||
%funnyguilds_kills%
|
||||
%funnyguilds_points-format%
|
||||
%funnyguilds_points%
|
||||
%funnyguilds_position%
|
||||
%funnyguilds_g-allies%
|
||||
%funnyguilds_g-deaths%
|
||||
%funnyguilds_g-deputies%
|
||||
%funnyguilds_g-deputy%
|
||||
%funnyguilds_g-kdr%
|
||||
%funnyguilds_g-kills%
|
||||
%funnyguilds_g-lives%
|
||||
%funnyguilds_g-members-all%
|
||||
%funnyguilds_g-members-online%
|
||||
%funnyguilds_g-name%
|
||||
%funnyguilds_g-owner%
|
||||
%funnyguilds_g-points-format%
|
||||
%funnyguilds_g-points%
|
||||
%funnyguilds_g-position%
|
||||
%funnyguilds_g-region-size%
|
||||
%funnyguilds_g-tag%
|
||||
%funnyguilds_g-validity%
|
||||
%funnyguilds_gtop-x%
|
||||
%funnyguilds_ptop-x%
|
||||
```
|
||||
|
||||
----
|
||||
|
||||
### **GAListener**
|
||||
/// integrated | Built into Plugin
|
||||
///
|
||||
@@ -3231,6 +3263,26 @@ These placeholders work with FactionsUUID and MCore all you need is downloading
|
||||
|
||||
----
|
||||
|
||||
### **[GrimAC](https://modrinth.com/plugin/grimac/)**
|
||||
/// integrated | Built into Plugin
|
||||
///
|
||||
|
||||
```
|
||||
%grim_player%
|
||||
%grim_player_uuid%
|
||||
%grim_player_ping%
|
||||
%grim_player_brand%
|
||||
%grim_player_h_sensitivity%
|
||||
%grim_player_v_sensitivity%
|
||||
%grim_player_fast_math%
|
||||
%grim_player_tps%
|
||||
%grim_player_version%
|
||||
%grim_prefix%
|
||||
%grim_version%
|
||||
```
|
||||
|
||||
----
|
||||
|
||||
### **[Guilds](https://www.spigotmc.org/resources/48920/)**
|
||||
/// integrated | Built into Plugin
|
||||
///
|
||||
@@ -3388,6 +3440,20 @@ You can find an up-to-date list of placeholders in the [HyacinthHello wiki](http
|
||||
|
||||
----
|
||||
|
||||
### **[ImageFrame](https://www.spigotmc.org/resources/106031/)**
|
||||
/// integrated | Built into Plugin
|
||||
///
|
||||
|
||||
```
|
||||
%imageframe_imagemap_"<player>:<imagemap>"_playback_bar_<length>_[character]_[current_section_prefix]_[remaining_section_prefix]%
|
||||
%imageframe_imagemap_"<player>:<imagemap>"_playback_current%
|
||||
%imageframe_imagemap_"<player>:<imagemap>"_playback_total%
|
||||
%imageframe_imagemap_"<player>:<imagemap>"_playback_pause%
|
||||
%imageframe_player_preference_<preference>%
|
||||
```
|
||||
|
||||
----
|
||||
|
||||
### **[InteractionVisualizer](https://www.spigotmc.org/resources/77050/)**
|
||||
/// integrated | Built into Plugin
|
||||
///
|
||||
@@ -3578,7 +3644,7 @@ You can find an up-to-date list of placeholders on the [KingdomsX wiki](https://
|
||||
/// integrated | Built into Plugin
|
||||
///
|
||||
|
||||
A Description of the placeholders can be found on the [Lands Wiki](https://github.com/Angeschossen/Lands/wiki/PlaceholderAPI-Placeholders#placeholders).
|
||||
A Description of the placeholders can be found on the [Lands Wiki](https://wiki.incredibleplugins.com/Lands/configuration/placeholderapi-placeholders).
|
||||
|
||||
```
|
||||
# General
|
||||
@@ -3718,7 +3784,7 @@ More info about these placeholders can be found [here](https://panoply.tech/lead
|
||||
----
|
||||
|
||||
### **[LevelUp](https://polymart.org/resource/457/)**
|
||||
/// command | papi ecloud download LevelUp
|
||||
/// integrated | Built into Plugin
|
||||
///
|
||||
|
||||
```
|
||||
@@ -4143,12 +4209,13 @@ Miscellaneous placeholders:
|
||||
----
|
||||
|
||||
### **[MineResetLite](https://polymart.org/resource/137/)**
|
||||
/// command | papi ecloud download MineResetLite
|
||||
/// integrated | Built into Plugin
|
||||
///
|
||||
|
||||
```
|
||||
%mineresetlite_<mine>_time%
|
||||
%mineresetlite_<mine>_time_remaining%
|
||||
%mineresetlite_<mine>_time_remaining_seconds%
|
||||
%mineresetlite_<mine>_precentage%
|
||||
%mineresetlite_<mine>_blocks_mined%
|
||||
%mineresetlite_<mine>_percentage_mined%
|
||||
@@ -4172,10 +4239,46 @@ Miscellaneous placeholders:
|
||||
|
||||
----
|
||||
|
||||
### **[Multiverse-Core](https://www.spigotmc.org/resources/390/)**
|
||||
/// command | papi ecloud download multiverse
|
||||
### **[Multiverse-Core](https://modrinth.com/plugin/multiverse-core)**
|
||||
/// tab | Multiverse-Core v5
|
||||
//// integrated | Built into Plugin
|
||||
////
|
||||
|
||||
//// warning | The below Placeholders are only for Multiverse-Core v5!
|
||||
////
|
||||
|
||||
All placeholders allow a `_<world>` to be added with `<world>` being the name of a Multiverse-loaded World.
|
||||
Example: `%multiverse-core_alias_myworld%`
|
||||
|
||||
```
|
||||
%multiverse-core_alias%
|
||||
%multiverse-core_animalspawn%
|
||||
%multiverse-core_autoheal%
|
||||
%multiverse-core_blacklist%
|
||||
%multiverse-core_currency%
|
||||
%multiverse-core_difficulty%
|
||||
%multiverse-core_entryfee%
|
||||
%multiverse-core_environment%
|
||||
%multiverse-core_flight%
|
||||
%multiverse-core_gamemode%
|
||||
%multiverse-core_generator%
|
||||
%multiverse-core_hunger%
|
||||
%multiverse-core_monstersspawn%
|
||||
%multiverse-core_name%
|
||||
%multiverse-core_playerlimit%
|
||||
%multiverse-core_price%
|
||||
%multiverse-core_pvp%
|
||||
%multiverse-core_seed%
|
||||
%multiverse-core_time%
|
||||
%multiverse-core_type%
|
||||
%multiverse-core_weather%
|
||||
```
|
||||
///
|
||||
|
||||
/// tab | Multiverse-Core v4
|
||||
//// command | papi ecloud download multiverse
|
||||
////
|
||||
|
||||
```
|
||||
%multiverse_world_alias%
|
||||
%multiverse_world_all_property_names%
|
||||
@@ -4204,6 +4307,7 @@ Miscellaneous placeholders:
|
||||
%multiverse_world_style%
|
||||
%multiverse_world_type%
|
||||
```
|
||||
///
|
||||
|
||||
----
|
||||
|
||||
@@ -4252,6 +4356,16 @@ Miscellaneous placeholders:
|
||||
|
||||
----
|
||||
|
||||
### **[NameColor](https://modrinth.com/plugin/namecolor)**
|
||||
/// integrated | Built into Plugin
|
||||
///
|
||||
|
||||
```
|
||||
%namecolor_display_name%
|
||||
```
|
||||
|
||||
----
|
||||
|
||||
### **[Nameless Plugin](https://www.spigotmc.org/resources/59032/)**
|
||||
/// integrated | Built into Plugin
|
||||
///
|
||||
@@ -4585,7 +4699,7 @@ Replace `[Type]` with the top type. Supported values: `DAILY, WEEKLY, MONTHLY, Y
|
||||
----
|
||||
|
||||
### **[PermissionTimer](https://www.mc-market.org/resources/14050/)**
|
||||
/// command | papi ecloud download PermissionTimer
|
||||
/// integrated | Built into Plugin
|
||||
///
|
||||
|
||||
```
|
||||
@@ -4671,6 +4785,40 @@ For more information and usage examples, see the [PlayerStatsExpansion GitHub](h
|
||||
|
||||
----
|
||||
|
||||
### **[PlayTimeManager](https://modrinth.com/plugin/playtimemanager)**
|
||||
/// integrated | Built into Plugin
|
||||
///
|
||||
For a detailed explanation of how to use PlayTimeManager's placeholders, you can take a look at the [PlayTimeManager Wiki](https://github.com/TheGaBr0/PlayTimeManager/wiki/Placeholders).
|
||||
|
||||
```
|
||||
%PTM_playtime%
|
||||
%PTM_afk_playtime%
|
||||
%PTM_playtime_#%
|
||||
%PTM_afk_playtime_#%
|
||||
%PTM_playtime_<nickname>%
|
||||
%PTM_afk_playtime_<nickname>%
|
||||
%PTM_playtime_#_<nickname>%
|
||||
%PTM_afk_playtime_#_<nickname>%
|
||||
%PTM_firstjoin%
|
||||
%PTM_firstjoin_<nickname>%
|
||||
%PTM_lastseen_<nickname>%
|
||||
%PTM_lastseen_elapsed_<nickname>%
|
||||
%PTM_lastseen_elapsed_#_<nickname>%
|
||||
%PTM_playtime_top_<rank>%
|
||||
%PTM_playtime_top_#_<rank>%
|
||||
%PTM_nickname_top_<rank>%
|
||||
%PTM_lastseen_top_<rank>%
|
||||
%PTM_lastseen_elapsed_top_<rank>%
|
||||
%PTM_lastseen_elapsed_top_#_<rank>%
|
||||
%PTM_rank%
|
||||
%PTM_rank_<nickname>%
|
||||
%PTM_lp_prefix_top_<rank>%
|
||||
%PTM_joinstreak%
|
||||
%PTM_joinstreak_<nickname>%
|
||||
```
|
||||
|
||||
----
|
||||
|
||||
### **[PlaytimeRewards](https://www.spigotmc.org/resources/100231/)**
|
||||
/// integrated | Built into Plugin
|
||||
///
|
||||
@@ -5706,7 +5854,7 @@ For a description of the placeholders please read the [PvPManager Wiki](https://
|
||||
----
|
||||
|
||||
### **[Sack](https://polymart.org/resource/493/)**
|
||||
/// command | papi ecloud download Sack
|
||||
/// integrated | Built into Plugin
|
||||
///
|
||||
|
||||
```
|
||||
@@ -5718,7 +5866,119 @@ For a description of the placeholders please read the [PvPManager Wiki](https://
|
||||
%sack_total_slots% : the total number of slots for all sacks in your inventory.
|
||||
%sack_total_item_count% : the total number of items held in all sacks in your inventory.
|
||||
```
|
||||
|
||||
|
||||
----
|
||||
|
||||
### **[ScreamingBedWars](https://hangar.papermc.io/ScreamingSandals/ScreamingBedWars)**
|
||||
/// integrated | Built into Plugin
|
||||
///
|
||||
|
||||
You can find an up-to-date list of placeholders with detailed information and examples in the [ScreamingBedWars Documentation](https://docs.screamingsandals.org/BedWars/latest/placeholderapi/).
|
||||
|
||||
```
|
||||
# Global placeholders
|
||||
%bedwars_all_games_players%
|
||||
%bedwars_all_games_maxplayers%
|
||||
%bedwars_all_games_anyrunning%
|
||||
%bedwars_all_games_anywaiting%
|
||||
|
||||
# Placeholders for the current game the player is in
|
||||
%bedwars_current_game%
|
||||
%bedwars_current_game_players%
|
||||
%bedwars_current_game_minplayers%
|
||||
%bedwars_current_game_maxplayers%
|
||||
%bedwars_current_game_world%
|
||||
%bedwars_current_game_state%
|
||||
%bedwars_current_game_time%
|
||||
%bedwars_current_game_timeformat%
|
||||
%bedwars_current_game_elapsedtime%
|
||||
%bedwars_current_game_elapsedtimeformat%
|
||||
%bedwars_current_game_running%
|
||||
%bedwars_current_game_waiting%
|
||||
%bedwars_current_available_teams%
|
||||
%bedwars_current_connected_teams%
|
||||
%bedwars_current_teamchests%
|
||||
|
||||
# Placeholders related to the player's team in the current game
|
||||
%bedwars_current_team%
|
||||
%bedwars_current_team_color%
|
||||
%bedwars_current_team_colored%
|
||||
%bedwars_current_team_players%
|
||||
%bedwars_current_team_maxplayers%
|
||||
%bedwars_current_team_bed%
|
||||
%bedwars_current_team_teamchests%
|
||||
%bedwars_current_team_bedsymbol%
|
||||
|
||||
# Placeholders for a specific team within the current game
|
||||
%bedwars_current_game_team_<team_name>_colored%
|
||||
%bedwars_current_game_team_<team_name>_color%
|
||||
%bedwars_current_game_team_<team_name>_ingame%
|
||||
%bedwars_current_game_team_<team_name>_players%
|
||||
%bedwars_current_game_team_<team_name>_maxplayers%
|
||||
%bedwars_current_game_team_<team_name>_bed%
|
||||
%bedwars_current_game_team_<team_name>_bedsymbol%
|
||||
%bedwars_current_game_team_<team_name>_teamchests%
|
||||
|
||||
# Placeholders related to a specific game
|
||||
%bedwars_game_<game>_name%
|
||||
%bedwars_game_<game>_players%
|
||||
%bedwars_game_<game>_minplayers%
|
||||
%bedwars_game_<game>_maxplayers%
|
||||
%bedwars_game_<game>_world%
|
||||
%bedwars_game_<game>_state%
|
||||
%bedwars_game_<game>_available_teams%
|
||||
%bedwars_game_<game>_connected_teams%
|
||||
%bedwars_game_<game>_teamchests%
|
||||
%bedwars_game_<game>_time%
|
||||
%bedwars_game_<game>_timeformat%
|
||||
%bedwars_game_<game>_elapsedtime%
|
||||
%bedwars_game_<game>_elapsedtimeformat%
|
||||
%bedwars_game_<game>_running%
|
||||
%bedwars_game_<game>_waiting%
|
||||
|
||||
# Placeholders related to a specific team in a specific game
|
||||
%bedwars_game_<game>_team_<team_name>_colored%
|
||||
%bedwars_game_<game>_team_<team_name>_color%
|
||||
%bedwars_game_<game>_team_<team_name>_ingame%
|
||||
%bedwars_game_<game>_team_<team_name>_players%
|
||||
%bedwars_game_<game>_team_<team_name>_maxplayers%
|
||||
%bedwars_game_<game>_team_<team_name>_bed%
|
||||
%bedwars_game_<game>_team_<team_name>_bedsymbol%
|
||||
%bedwars_game_<game>_team_<team_name>_teamchests%
|
||||
|
||||
# Player statistics
|
||||
%bedwars_stats_deaths%
|
||||
%bedwars_stats_destroyed_beds%
|
||||
%bedwars_stats_kills%
|
||||
%bedwars_stats_loses%
|
||||
%bedwars_stats_score%
|
||||
%bedwars_stats_wins%
|
||||
%bedwars_stats_games%
|
||||
%bedwars_stats_kd%
|
||||
|
||||
# Statistics of a specific player
|
||||
%bedwars_otherstats_<player>_deaths%
|
||||
%bedwars_otherstats_<player>_destroyed_beds%
|
||||
%bedwars_otherstats_<player>_kills%
|
||||
%bedwars_otherstats_<player>_loses%
|
||||
%bedwars_otherstats_<player>_score%
|
||||
%bedwars_otherstats_<player>_wins%
|
||||
%bedwars_otherstats_<player>_games%
|
||||
%bedwars_otherstats_<player>_kd%
|
||||
|
||||
# Leaderboard information (<position> is the desired ranking spot, starting with 1)
|
||||
%bedwars_leaderboard_score_<position>_name%
|
||||
%bedwars_leaderboard_score_<position>_uuid%
|
||||
%bedwars_leaderboard_score_<position>_deaths%
|
||||
%bedwars_leaderboard_score_<position>_destroyed_beds%
|
||||
%bedwars_leaderboard_score_<position>_kills%
|
||||
%bedwars_leaderboard_score_<position>_loses%
|
||||
%bedwars_leaderboard_score_<position>_score%
|
||||
%bedwars_leaderboard_score_<position>_wins%
|
||||
%bedwars_leaderboard_score_<position>_games%
|
||||
%bedwars_leaderboard_score_<position>_kd%
|
||||
```
|
||||
|
||||
----
|
||||
|
||||
### **[Seasons](https://www.spigotmc.org/resources/39298/)**
|
||||
@@ -6521,8 +6781,8 @@ If you add ```_long``` to the cost related placeholder, it will returne a number
|
||||
%tokenenchant_<enchantment>_version%
|
||||
%tokenenchant_<enchantment>_fullrefund%
|
||||
%tokenenchant_<enchantment>_fullrefund_long% : Deprecated. (For formatting, use NumberFormat placeholder %nf_%.)
|
||||
%tokenenchnat_<enchantment>_refund_Y%
|
||||
%tokenenchnat_<enchantment>_refund_Y_long% : Deprecated. (For formatting, use NumberFormat placeholder %nf_%.)
|
||||
%tokenenchant_<enchantment>_refund_Y%
|
||||
%tokenenchant_<enchantment>_refund_Y_long% : Deprecated. (For formatting, use NumberFormat placeholder %nf_%.)
|
||||
%tokenenchant_<enchantment>_alias%
|
||||
%tokenenchant_tokenmultiplier%
|
||||
%tokenenchant_<enchantment>_occurrencemultiplier%
|
||||
@@ -6690,6 +6950,28 @@ You can find an up-to-date list of placeholders in the [Towny wiki](https://gith
|
||||
|
||||
----
|
||||
|
||||
### **[UJobs](https://modrinth.com/plugin/ujobs)**
|
||||
/// integrated | Built into Plugin
|
||||
///
|
||||
|
||||
Detailed explanation and example outputs of placeholders are listed on [modrinth](https://modrinth.com/plugin/ujobs).
|
||||
|
||||
```
|
||||
ujobs_job_name_<job>
|
||||
ujobs_job_displayname_<job>
|
||||
ujobs_job_legacydisplayname_<job>
|
||||
|
||||
ujobs_player_level_<job>
|
||||
ujobs_player_exp_<job>
|
||||
ujobs_player_position_<job>
|
||||
ujobs_player_totalmoney_<job>
|
||||
|
||||
ujobs_leaderboard_name_<job>_<position>
|
||||
ujobs_leaderboard_level_<job>_<position>
|
||||
```
|
||||
|
||||
----
|
||||
|
||||
### **[USkyBlock](https://www.spigotmc.org/resources/2280/)**
|
||||
/// command | papi ecloud download uSkyBlock
|
||||
///
|
||||
File diff suppressed because it is too large
Load Diff
@@ -39,7 +39,7 @@ This feature exists since version 2.11.4 of PlaceholderAPI
|
||||
The way PlaceholderAPI's system works, allows a Placeholder Expansion and its corresponding placeholders to either be included within a plugin (If placeholder requires said plugin) or to be available as a separate jar file on the eCloud of PlaceholderAPI.
|
||||
Depending on what type you have, will you need to do some extra steps to use the placeholder from the Placeholder Expansion.
|
||||
|
||||
One way to find out, if an Expansion is included or separate, is to check the [Placeholder List](placeholder-list.md) page for any entry of it.
|
||||
One way to find out, if an Expansion is included or separate, is to check the [Placeholder List](placeholder-list/index.md) page for any entry of it.
|
||||
If it exists on the page, can you check the infobox right below the title of the Expansion for one of the following cases:
|
||||
|
||||
- `papi ecloud download <expansion>`: The expansion is on the ecloud and needs to be downloaded using the [`/papi ecloud download` command](commands.md#papi-ecloud-download).
|
||||
|
||||
12
mkdocs.yml
12
mkdocs.yml
@@ -63,6 +63,8 @@ extra:
|
||||
- reject
|
||||
- manage
|
||||
social:
|
||||
- icon: simple/modrinth
|
||||
link: https://modrinth.com/plugin/placeholderapi
|
||||
- icon: fontawesome/regular/paper-plane
|
||||
link: https://hangar.papermc.io/HelpChat/PlaceholderAPI
|
||||
- icon: simple/spigotmc
|
||||
@@ -76,14 +78,19 @@ nav:
|
||||
- users/index.md
|
||||
- users/commands.md
|
||||
- users/using-placeholders.md
|
||||
- users/placeholder-list.md
|
||||
- Placeholder List:
|
||||
- users/placeholder-list/index.md
|
||||
- users/placeholder-list/minecraft.md
|
||||
- users/placeholder-list/hytale.md
|
||||
- users/plugins-using-placeholderapi.md
|
||||
- Dev Guides:
|
||||
- developers/index.md
|
||||
- developers/using-placeholderapi.md
|
||||
- developers/creating-a-placeholderexpansion.md
|
||||
- developers/expansion-cloud.md
|
||||
- common-issues.md
|
||||
- Common Issues:
|
||||
- issues/index.md
|
||||
- issues/ecloud-block.md
|
||||
- faq.md
|
||||
- Discord: https://discord.gg/helpchat
|
||||
|
||||
@@ -133,4 +140,5 @@ markdown_extensions:
|
||||
- pymdownx.blocks.details
|
||||
- pymdownx.blocks.tab:
|
||||
alternate_style: true
|
||||
slugify: !!python/object/apply:pymdownx.slugs.slugify {kwds: {case: lower}}
|
||||
- pymdownx.tasklist
|
||||
|
||||
Reference in New Issue
Block a user