diff --git a/config/headers/jsonmessage.txt b/config/headers/jsonmessage.txt index ec15330..9fddec6 100644 --- a/config/headers/jsonmessage.txt +++ b/config/headers/jsonmessage.txt @@ -1,4 +1,4 @@ -Copyright (c) 2018-2020 Peter Blood +Copyright (c) 2018-2021 Peter Blood Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: diff --git a/src/main/java/me/clip/placeholderapi/PlaceholderAPI.java b/src/main/java/me/clip/placeholderapi/PlaceholderAPI.java index e162d09..a694371 100644 --- a/src/main/java/me/clip/placeholderapi/PlaceholderAPI.java +++ b/src/main/java/me/clip/placeholderapi/PlaceholderAPI.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -140,11 +140,27 @@ public final class PlaceholderAPI { return text.stream().map(line -> setBracketPlaceholders(player, line)) .collect(Collectors.toList()); } - + + /** + * Translates all placeholders into their corresponding values. + *
The pattern of a valid placeholder is {@literal {_}}. + * + * @param player Player to parse the placeholders against + * @param text Text to set the placeholder values in + * @return String containing all translated placeholders + */ public static String setBracketPlaceholders(Player player, String text) { return setBracketPlaceholders((OfflinePlayer) player, text); } - + + /** + * Translates all placeholders into their corresponding values. + *
The pattern of a valid placeholder is {@literal {_}}. + * + * @param player Player to parse the placeholders against + * @param text List of Strings to set the placeholder values in + * @return String containing all translated placeholders + */ public static List setBracketPlaceholders(Player player, List text) { return setPlaceholders((OfflinePlayer) player, text); } @@ -216,7 +232,7 @@ public final class PlaceholderAPI { /** * Get all registered placeholder identifiers * - * @return All registered placeholder identifiers + * @return A Set of type String containing the identifiers of all registered expansions. */ @NotNull public static Set getRegisteredIdentifiers() { @@ -226,8 +242,8 @@ public final class PlaceholderAPI { /** * Get the normal placeholder pattern. - * - * @return The default Placeholder Pattern + * + * @return Regex Pattern of {@literal [%]([^%]+)[%]} */ public static Pattern getPlaceholderPattern() { return PLACEHOLDER_PATTERN; @@ -235,8 +251,8 @@ public final class PlaceholderAPI { /** * Get the bracket placeholder pattern. - * - * @return the Bracket Placeholder Pattern + * + * @return Regex Pattern of {@literal [{]([^{}]+)[}]} */ public static Pattern getBracketPlaceholderPattern() { return BRACKET_PLACEHOLDER_PATTERN; @@ -244,8 +260,8 @@ public final class PlaceholderAPI { /** * Get the relational placeholder pattern. - * - * @return The Relational Placeholder Pattern + * + * @return Regex Pattern of {@literal [%](rel_)([^%]+)[%]} */ public static Pattern getRelationalPlaceholderPattern() { return RELATIONAL_PLACEHOLDER_PATTERN; diff --git a/src/main/java/me/clip/placeholderapi/PlaceholderAPIPlugin.java b/src/main/java/me/clip/placeholderapi/PlaceholderAPIPlugin.java index fe07931..b0828bb 100644 --- a/src/main/java/me/clip/placeholderapi/PlaceholderAPIPlugin.java +++ b/src/main/java/me/clip/placeholderapi/PlaceholderAPIPlugin.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/PlaceholderHook.java b/src/main/java/me/clip/placeholderapi/PlaceholderHook.java index 0087590..24d9e7c 100644 --- a/src/main/java/me/clip/placeholderapi/PlaceholderHook.java +++ b/src/main/java/me/clip/placeholderapi/PlaceholderHook.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/commands/PlaceholderCommand.java b/src/main/java/me/clip/placeholderapi/commands/PlaceholderCommand.java index 016a37c..db5f496 100644 --- a/src/main/java/me/clip/placeholderapi/commands/PlaceholderCommand.java +++ b/src/main/java/me/clip/placeholderapi/commands/PlaceholderCommand.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/commands/PlaceholderCommandRouter.java b/src/main/java/me/clip/placeholderapi/commands/PlaceholderCommandRouter.java index 3c32314..de0c459 100644 --- a/src/main/java/me/clip/placeholderapi/commands/PlaceholderCommandRouter.java +++ b/src/main/java/me/clip/placeholderapi/commands/PlaceholderCommandRouter.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloud.java b/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloud.java index 7a89a34..22bc053 100644 --- a/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloud.java +++ b/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloud.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudClear.java b/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudClear.java index 251ae43..6d6121c 100644 --- a/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudClear.java +++ b/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudClear.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudDownload.java b/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudDownload.java index 7bbb872..5717447 100644 --- a/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudDownload.java +++ b/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudDownload.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudExpansionInfo.java b/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudExpansionInfo.java index 569c0ce..7e0c5b2 100644 --- a/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudExpansionInfo.java +++ b/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudExpansionInfo.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudExpansionList.java b/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudExpansionList.java index e4cb193..299da7b 100644 --- a/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudExpansionList.java +++ b/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudExpansionList.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudExpansionPlaceholders.java b/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudExpansionPlaceholders.java index 9d51966..e1def67 100644 --- a/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudExpansionPlaceholders.java +++ b/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudExpansionPlaceholders.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudRefresh.java b/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudRefresh.java index 2185d88..fb11086 100644 --- a/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudRefresh.java +++ b/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudRefresh.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudStatus.java b/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudStatus.java index 47aafa6..a264703 100644 --- a/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudStatus.java +++ b/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudStatus.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudToggle.java b/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudToggle.java index 5cbd754..85f1fff 100644 --- a/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudToggle.java +++ b/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudToggle.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudUpdate.java b/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudUpdate.java index 6b4d21a..b2d6405 100644 --- a/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudUpdate.java +++ b/src/main/java/me/clip/placeholderapi/commands/impl/cloud/CommandECloudUpdate.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandDump.java b/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandDump.java index d3c3637..c67bc6f 100644 --- a/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandDump.java +++ b/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandDump.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandExpansionRegister.java b/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandExpansionRegister.java index 84cf1bf..c6085b6 100644 --- a/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandExpansionRegister.java +++ b/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandExpansionRegister.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandExpansionUnregister.java b/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandExpansionUnregister.java index 4b59fac..bf0861b 100644 --- a/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandExpansionUnregister.java +++ b/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandExpansionUnregister.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandHelp.java b/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandHelp.java index d43e2fe..f1a24bd 100644 --- a/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandHelp.java +++ b/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandHelp.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandInfo.java b/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandInfo.java index ca0903a..3d98b61 100644 --- a/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandInfo.java +++ b/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandInfo.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandList.java b/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandList.java index f401e7f..6d8506b 100644 --- a/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandList.java +++ b/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandList.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandParse.java b/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandParse.java index 3bd8bc2..b077d57 100644 --- a/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandParse.java +++ b/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandParse.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandReload.java b/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandReload.java index 5bb6d97..ca48275 100644 --- a/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandReload.java +++ b/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandReload.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandVersion.java b/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandVersion.java index 6804f1c..0c7a285 100644 --- a/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandVersion.java +++ b/src/main/java/me/clip/placeholderapi/commands/impl/local/CommandVersion.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/configuration/ExpansionSort.java b/src/main/java/me/clip/placeholderapi/configuration/ExpansionSort.java index c663f47..ed4211d 100644 --- a/src/main/java/me/clip/placeholderapi/configuration/ExpansionSort.java +++ b/src/main/java/me/clip/placeholderapi/configuration/ExpansionSort.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/configuration/PlaceholderAPIConfig.java b/src/main/java/me/clip/placeholderapi/configuration/PlaceholderAPIConfig.java index 78b728e..e10733e 100644 --- a/src/main/java/me/clip/placeholderapi/configuration/PlaceholderAPIConfig.java +++ b/src/main/java/me/clip/placeholderapi/configuration/PlaceholderAPIConfig.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/events/ExpansionRegisterEvent.java b/src/main/java/me/clip/placeholderapi/events/ExpansionRegisterEvent.java index e1e556f..a57c705 100644 --- a/src/main/java/me/clip/placeholderapi/events/ExpansionRegisterEvent.java +++ b/src/main/java/me/clip/placeholderapi/events/ExpansionRegisterEvent.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -26,6 +26,10 @@ import org.bukkit.event.Event; import org.bukkit.event.HandlerList; import org.jetbrains.annotations.NotNull; +/** + * Indicates that a {@link PlaceholderExpansion} has been registered by + * PlaceholderAPI. + */ public final class ExpansionRegisterEvent extends Event implements Cancellable { @NotNull @@ -42,7 +46,12 @@ public final class ExpansionRegisterEvent extends Event implements Cancellable { public static HandlerList getHandlerList() { return HANDLERS; } - + + /** + * The {@link PlaceholderExpansion expansion} that was registered. + * + * @return The {@link PlaceholderExpansion} instance. + */ @NotNull public PlaceholderExpansion getExpansion() { return expansion; diff --git a/src/main/java/me/clip/placeholderapi/events/ExpansionUnregisterEvent.java b/src/main/java/me/clip/placeholderapi/events/ExpansionUnregisterEvent.java index b9bebac..f4bef93 100644 --- a/src/main/java/me/clip/placeholderapi/events/ExpansionUnregisterEvent.java +++ b/src/main/java/me/clip/placeholderapi/events/ExpansionUnregisterEvent.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -25,6 +25,10 @@ import org.bukkit.event.Event; import org.bukkit.event.HandlerList; import org.jetbrains.annotations.NotNull; +/** + * Indicates that a {@link PlaceholderExpansion} had been unregistered by + * PlaceholderAPI. + */ public final class ExpansionUnregisterEvent extends Event { @NotNull @@ -42,7 +46,12 @@ public final class ExpansionUnregisterEvent extends Event { public static HandlerList getHandlerList() { return HANDLERS; } - + + /** + * The {@link PlaceholderExpansion expansion} that was unregistered. + * + * @return The {@link PlaceholderExpansion} instance. + */ @NotNull public PlaceholderExpansion getExpansion() { return expansion; diff --git a/src/main/java/me/clip/placeholderapi/events/ExpansionsLoadedEvent.java b/src/main/java/me/clip/placeholderapi/events/ExpansionsLoadedEvent.java index 157b0a0..e54b26a 100644 --- a/src/main/java/me/clip/placeholderapi/events/ExpansionsLoadedEvent.java +++ b/src/main/java/me/clip/placeholderapi/events/ExpansionsLoadedEvent.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -26,7 +26,10 @@ import org.bukkit.event.HandlerList; import org.jetbrains.annotations.NotNull; /** - * This event is called when all expansions are loaded (when reloading config, on plugin start and on server load). + * Indicates that all {@link PlaceholderExpansion PlayceholderExpansions} + * have been loaded. + *
This event is fired on Server load and when reloading the + * confiuration. */ public class ExpansionsLoadedEvent extends Event { diff --git a/src/main/java/me/clip/placeholderapi/events/PlaceholderHookUnloadEvent.java b/src/main/java/me/clip/placeholderapi/events/PlaceholderHookUnloadEvent.java index 0452d29..48d2edf 100644 --- a/src/main/java/me/clip/placeholderapi/events/PlaceholderHookUnloadEvent.java +++ b/src/main/java/me/clip/placeholderapi/events/PlaceholderHookUnloadEvent.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/exceptions/NoDefaultCommandException.java b/src/main/java/me/clip/placeholderapi/exceptions/NoDefaultCommandException.java index 8ba6a9f..203c48e 100644 --- a/src/main/java/me/clip/placeholderapi/exceptions/NoDefaultCommandException.java +++ b/src/main/java/me/clip/placeholderapi/exceptions/NoDefaultCommandException.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/expansion/Cacheable.java b/src/main/java/me/clip/placeholderapi/expansion/Cacheable.java index e002c44..7c22ca2 100644 --- a/src/main/java/me/clip/placeholderapi/expansion/Cacheable.java +++ b/src/main/java/me/clip/placeholderapi/expansion/Cacheable.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/expansion/Cleanable.java b/src/main/java/me/clip/placeholderapi/expansion/Cleanable.java index e08f0d6..e582230 100644 --- a/src/main/java/me/clip/placeholderapi/expansion/Cleanable.java +++ b/src/main/java/me/clip/placeholderapi/expansion/Cleanable.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/expansion/Configurable.java b/src/main/java/me/clip/placeholderapi/expansion/Configurable.java index 5660f64..af8bc25 100644 --- a/src/main/java/me/clip/placeholderapi/expansion/Configurable.java +++ b/src/main/java/me/clip/placeholderapi/expansion/Configurable.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -24,7 +24,7 @@ import java.util.Map; /** * Any {@link PlaceholderExpansion} class which implements configurable will have any options listed - * in the getDefaults map automatically added to the PlaceholderAPI config.yml file + * in the {@link #getDefaults()} map automatically added to the PlaceholderAPI config.yml file * * @author Ryan McCarthy */ diff --git a/src/main/java/me/clip/placeholderapi/expansion/NMSVersion.java b/src/main/java/me/clip/placeholderapi/expansion/NMSVersion.java index acd7e0d..f64011b 100644 --- a/src/main/java/me/clip/placeholderapi/expansion/NMSVersion.java +++ b/src/main/java/me/clip/placeholderapi/expansion/NMSVersion.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/expansion/PlaceholderExpansion.java b/src/main/java/me/clip/placeholderapi/expansion/PlaceholderExpansion.java index 84e50e3..f19da06 100644 --- a/src/main/java/me/clip/placeholderapi/expansion/PlaceholderExpansion.java +++ b/src/main/java/me/clip/placeholderapi/expansion/PlaceholderExpansion.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -32,10 +32,17 @@ import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +/** + * Any class extending this will be able to get registered as a PlaceholderExpansion. + *
The registration either happens automatically when the jar file containing a + * class extending this one is located under the {@code PlaceholderAPI/expansions} + * directory or when the {@link #register()} method is called by said class. + */ public abstract class PlaceholderExpansion extends PlaceholderHook { /** - * The placeholder identifier of this expansion + * The placeholder identifier of this expansion. May not contain {@literal %}, + * {@literal {}} or _ * * @return placeholder identifier that is associated with this expansion */ @@ -153,64 +160,153 @@ public abstract class PlaceholderExpansion extends PlaceholderHook { } // === Configuration === - + + /** + * Gets the ConfigurationSection of the expansion located in the config.yml of PlaceholderAPI or + * null when not specified. + *
You may use the {@link Configurable} interface to define default values set + * + * @return ConfigurationSection that this epxpansion has. + */ @Nullable public final ConfigurationSection getConfigSection() { return getPlaceholderAPI().getConfig().getConfigurationSection("expansions." + getIdentifier()); } - + + /** + * Gets the ConfigurationSection relative to the {@link #getConfigSection() default one} set + * by the expansion or null when the default ConfigurationSection is null + * + * @param path The path to get the ConfigurationSection from. This is relative to the default section + * @return ConfigurationSection relative to the default section + */ @Nullable public final ConfigurationSection getConfigSection(@NotNull final String path) { final ConfigurationSection section = getConfigSection(); return section == null ? null : section.getConfigurationSection(path); } - + + /** + * Gets the Object relative to the {@link #getConfigSection() default ConfigurationSection} set + * by the expansion or the provided Default Object, when the default ConfigurationSection is null + * + * @param path The path to get the Object from. This is relative to the default section + * @param def The default Object to return when the ConfigurationSection returns null + * @return Object from the provided path or the default one provided + */ @Nullable @Contract("_, !null -> !null") public final Object get(@NotNull final String path, final Object def) { final ConfigurationSection section = getConfigSection(); return section == null ? def : section.get(path, def); } - + + /** + * Gets the int relative to the {@link #getConfigSection() default ConfigurationSection} set + * by the expansion or the provided Default int, when the default ConfigurationSection is null + * + * @param path The path to get the int from. This is relative to the default section + * @param def The default int to return when the ConfigurationSection returns null + * @return int from the provided path or the default one provided + */ public final int getInt(@NotNull final String path, final int def) { final ConfigurationSection section = getConfigSection(); return section == null ? def : section.getInt(path, def); } - + + /** + * Gets the long relative to the {@link #getConfigSection() default ConfigurationSection} set + * by the expansion or the provided Default long, when the default ConfigurationSection is null + * + * @param path The path to get the long from. This is relative to the default section + * @param def The default long to return when the ConfigurationSection returns null + * @return long from the provided path or the default one provided + */ public final long getLong(@NotNull final String path, final long def) { final ConfigurationSection section = getConfigSection(); return section == null ? def : section.getLong(path, def); } - + + /** + * Gets the double relative to the {@link #getConfigSection() default ConfigurationSection} set + * by the expansion or the provided Default double, when the default ConfigurationSection is null + * + * @param path The path to get the double from. This is relative to the default section + * @param def The default double to return when the ConfigurationSection returns null + * @return double from the provided path or the default one provided + */ public final double getDouble(@NotNull final String path, final double def) { final ConfigurationSection section = getConfigSection(); return section == null ? def : section.getDouble(path, def); } - + + /** + * Gets the String relative to the {@link #getConfigSection() default ConfigurationSection} set + * by the expansion or the provided Default String, when the default ConfigurationSection is null + * + * @param path The path to get the String from. This is relative to the default section + * @param def The default String to return when the ConfigurationSection returns null. Can be null + * @return String from the provided path or the default one provided + */ @Nullable @Contract("_, !null -> !null") public final String getString(@NotNull final String path, @Nullable final String def) { final ConfigurationSection section = getConfigSection(); return section == null ? def : section.getString(path, def); } - + + /** + * Gets a String List relative to the {@link #getConfigSection() default ConfigurationSection} set + * by the expansion or an empty List, when the default ConfigurationSection is null + * + * @param path The path to get the String list from. This is relative to the default section + * @return String list from the provided path or an empty list + */ @NotNull public final List getStringList(@NotNull final String path) { final ConfigurationSection section = getConfigSection(); return section == null ? Collections.emptyList() : section.getStringList(path); } + /** + * Gets the boolean relative to the {@link #getConfigSection() default ConfigurationSection} set + * by the expansion or the default boolean, when the default ConfigurationSection is null + * + * @param path The path to get the boolean from. This is relative to the default section + * @param def The default boolean to return when the ConfigurationSection is null + * @return boolean from the provided path or the default one provided + */ @NotNull public final boolean getBoolean(@NotNull final String path, final boolean def) { final ConfigurationSection section = getConfigSection(); return section == null ? def : section.getBoolean(path, def); } + /** + * Whether the {@link #getConfigSection() default ConfigurationSection} contains the provided path + * or not. This will return {@code false} when either the default section is null, or doesn't + * contain the provided path + * + * @param path The path to check + * @return true when the default ConfigurationSection is not null and contains the path, false otherwise + */ public final boolean configurationContains(@NotNull final String path) { final ConfigurationSection section = getConfigSection(); return section != null && section.contains(path); } - + + /** + * Whether the provided Object is an instance of this PlaceholderExpansion. + *
This method will perform the following checks in order: + *
    + *
  • Checks if Object equals the class. Returns true when equal and continues otherwise
  • + *
  • Checks if the Object is an instance of a PlaceholderExpansion. Returns false if not
  • + *
  • Checks if the Object's Identifier, Author and version equal the one of this class
  • + *
+ * + * @param o The Object to check + * @return true or false depending on the above mentioned checks + */ @Override public final boolean equals(final Object o) { if (this == o) { @@ -226,7 +322,12 @@ public abstract class PlaceholderExpansion extends PlaceholderHook { getAuthor().equals(expansion.getAuthor()) && getVersion().equals(expansion.getVersion()); } - + + /** + * Returns a String containing the Expansion's name, author and version + * + * @return String containing name, author and version of the expansion + */ @Override public final String toString() { return String.format("PlaceholderExpansion[name: '%s', author: '%s', version: '%s']", getName(), diff --git a/src/main/java/me/clip/placeholderapi/expansion/Relational.java b/src/main/java/me/clip/placeholderapi/expansion/Relational.java index ca80f6e..5b315c6 100644 --- a/src/main/java/me/clip/placeholderapi/expansion/Relational.java +++ b/src/main/java/me/clip/placeholderapi/expansion/Relational.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/expansion/Taskable.java b/src/main/java/me/clip/placeholderapi/expansion/Taskable.java index f32a6a9..cedbb47 100644 --- a/src/main/java/me/clip/placeholderapi/expansion/Taskable.java +++ b/src/main/java/me/clip/placeholderapi/expansion/Taskable.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/expansion/Version.java b/src/main/java/me/clip/placeholderapi/expansion/Version.java index e789243..4cbb1ab 100644 --- a/src/main/java/me/clip/placeholderapi/expansion/Version.java +++ b/src/main/java/me/clip/placeholderapi/expansion/Version.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/expansion/VersionSpecific.java b/src/main/java/me/clip/placeholderapi/expansion/VersionSpecific.java index 84d28ba..97ddf42 100644 --- a/src/main/java/me/clip/placeholderapi/expansion/VersionSpecific.java +++ b/src/main/java/me/clip/placeholderapi/expansion/VersionSpecific.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/expansion/cloud/CloudExpansion.java b/src/main/java/me/clip/placeholderapi/expansion/cloud/CloudExpansion.java index b6516b9..492b980 100644 --- a/src/main/java/me/clip/placeholderapi/expansion/cloud/CloudExpansion.java +++ b/src/main/java/me/clip/placeholderapi/expansion/cloud/CloudExpansion.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/expansion/manager/CloudExpansionManager.java b/src/main/java/me/clip/placeholderapi/expansion/manager/CloudExpansionManager.java index 36603e9..4ad0406 100644 --- a/src/main/java/me/clip/placeholderapi/expansion/manager/CloudExpansionManager.java +++ b/src/main/java/me/clip/placeholderapi/expansion/manager/CloudExpansionManager.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/expansion/manager/LocalExpansionManager.java b/src/main/java/me/clip/placeholderapi/expansion/manager/LocalExpansionManager.java index 2557ae2..8a86fc8 100644 --- a/src/main/java/me/clip/placeholderapi/expansion/manager/LocalExpansionManager.java +++ b/src/main/java/me/clip/placeholderapi/expansion/manager/LocalExpansionManager.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/libs/JSONMessage.java b/src/main/java/me/clip/placeholderapi/libs/JSONMessage.java index b07a31c..07c100d 100644 --- a/src/main/java/me/clip/placeholderapi/libs/JSONMessage.java +++ b/src/main/java/me/clip/placeholderapi/libs/JSONMessage.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018-2020 Peter Blood + * Copyright (c) 2018-2021 Peter Blood * * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: * diff --git a/src/main/java/me/clip/placeholderapi/listeners/ServerLoadEventListener.java b/src/main/java/me/clip/placeholderapi/listeners/ServerLoadEventListener.java index b76d2ef..b3e8c46 100644 --- a/src/main/java/me/clip/placeholderapi/listeners/ServerLoadEventListener.java +++ b/src/main/java/me/clip/placeholderapi/listeners/ServerLoadEventListener.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/replacer/CharsReplacer.java b/src/main/java/me/clip/placeholderapi/replacer/CharsReplacer.java index 98ff409..eaa2bf8 100644 --- a/src/main/java/me/clip/placeholderapi/replacer/CharsReplacer.java +++ b/src/main/java/me/clip/placeholderapi/replacer/CharsReplacer.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/replacer/RegexReplacer.java b/src/main/java/me/clip/placeholderapi/replacer/RegexReplacer.java index 3e3bee5..b9e1261 100644 --- a/src/main/java/me/clip/placeholderapi/replacer/RegexReplacer.java +++ b/src/main/java/me/clip/placeholderapi/replacer/RegexReplacer.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/replacer/Replacer.java b/src/main/java/me/clip/placeholderapi/replacer/Replacer.java index d25402e..b96140a 100644 --- a/src/main/java/me/clip/placeholderapi/replacer/Replacer.java +++ b/src/main/java/me/clip/placeholderapi/replacer/Replacer.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/main/java/me/clip/placeholderapi/updatechecker/UpdateChecker.java b/src/main/java/me/clip/placeholderapi/updatechecker/UpdateChecker.java index 206dcd1..f914e69 100644 --- a/src/main/java/me/clip/placeholderapi/updatechecker/UpdateChecker.java +++ b/src/main/java/me/clip/placeholderapi/updatechecker/UpdateChecker.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/test/java/me/clip/placeholderapi/Values.java b/src/test/java/me/clip/placeholderapi/Values.java index 73d26bc..da23a34 100644 --- a/src/test/java/me/clip/placeholderapi/Values.java +++ b/src/test/java/me/clip/placeholderapi/Values.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/test/java/me/clip/placeholderapi/replacer/ReplacerBenchmarks.java b/src/test/java/me/clip/placeholderapi/replacer/ReplacerBenchmarks.java index 2afc016..cec02bf 100644 --- a/src/test/java/me/clip/placeholderapi/replacer/ReplacerBenchmarks.java +++ b/src/test/java/me/clip/placeholderapi/replacer/ReplacerBenchmarks.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/test/java/me/clip/placeholderapi/replacer/ReplacerUnitTester.java b/src/test/java/me/clip/placeholderapi/replacer/ReplacerUnitTester.java index 09524f3..7ff36bc 100644 --- a/src/test/java/me/clip/placeholderapi/replacer/ReplacerUnitTester.java +++ b/src/test/java/me/clip/placeholderapi/replacer/ReplacerUnitTester.java @@ -2,7 +2,7 @@ * This file is part of PlaceholderAPI * * PlaceholderAPI - * Copyright (c) 2015 - 2020 PlaceholderAPI Team + * Copyright (c) 2015 - 2021 PlaceholderAPI Team * * PlaceholderAPI free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/wiki/FAQ.md b/wiki/FAQ.md index 5fef6e1..86a0cc2 100644 --- a/wiki/FAQ.md +++ b/wiki/FAQ.md @@ -1,16 +1,30 @@ +[readme]: https://github.com/PlaceholderAPI/PlaceholderAPI/blob/docs/wiki/wiki/README.md + Here are frequently asked questions about stuff related to PlaceholderAPI. -## It only shows %placeholder% and not the variable -Make sure, that you've tried the following steps: -- PlaceholderAPI is installed and running (Shows green in `/pl` and responds to the `/papi` command) -- You downloaded the expansion with `/papi ecloud download [expansion]` -A list of available expansions and their placeholders can be found [[here|Placeholders]]! -Also note that not all placeholders are in a seperate expansion. Some are "hardcoded" into a plugin. -- You reloaded PlaceholderAPI with `/papi reload` after downloading an expansion. -- Any possible dependency for the expansion (Plugin) is installed and running. -- The placeholder doesn't contain any typos. -- The plugin that should use the placeholder actually supports PlaceholderAPI. -For a list of plugins supporting PlaceholderAPI go [[here|Plugins-using-PlaceholderAPI]]. +## It only shows `%placeholder%` and not the variable +When a plugin or `/papi parse me %placeholder%` only returns the placeholder itself and no value should you check for the following things: + +### The expansion is actually installed. +In many cases is the cause that the expansion of the placeholder is missing. +Just execute `/papi ecloud download ` followed by `/papi reload` to activate it. You can find a list of Expansions and their Placeholders [[on this page|Placeholders]]. + +**NOTE!** +Not all placeholders come in their own expansion. Some plugins *hardcode* them in and load them on startup, when hooking into PlaceholderAPI. + +### Plugin actualls supports PlaceholderAPI +It can happen that the plugin you use to display the placeholder in doesn't support PlaceholderAPI. In such a case check, if the parse command returns the actual value of a placeholder. +If that is the case while the plugin is still displaying the placeholder, can this be an indicator of the plugin not supporting PlaceholderAPI. + +You can find a list of plugins supporting PlaceholderAPI [[here|Plugins-using-PlaceholderAPI]]. +Just make sure that "Supports placeholders" has a check mark in front of it. + +### No typo in the placeholder +Double-check that the placeholder you set doesn't contain a typo. You can use `/papi ecloud placeholders ` (replace `` 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. + +### Plugin is enabled +If an expansion depends on a plugin, make sure you have the plugin installed and that it is enabled (Shows green in `/pl`). ## I can't download the expansion Make sure, that the connection to the cloud (https://api.extendedclip.com) isn't blocked by a firewall or similar. @@ -19,4 +33,23 @@ Next step would be to check if the expansion actually exists on the cloud. Not a If both checks failed, go to the cloud-page and download the jar manually. Put it then in the `expansions` folder of PlaceholderAPI (`/plugins/PlaceholderAPI/expansions`) ## How can other plugins use my placeholders with PlaceholderAPI? -A tutorial can be found [[here|Hook into PlaceholderAPI]]! \ No newline at end of file +A tutorial can be found [[here|Hook into PlaceholderAPI]]! + +## Can I help on this wiki? +You sure can! +We welcome contributions to our wiki by everyone. If you found a typo or want to improve this wiki in another way, head over to the [Wiki's readme file][readme] to find out about how you can contribute towards this wiki. + +## PlaceholderAPI is posting an error about an outdated expansion? +``` +[00:00:01 ERROR]: [PlaceholderAPI] Failed to load Expansion class (Is a dependency missing?) +[00:00:01 ERROR]: [PlaceholderAPI] Cause: NoClassDefFoundError +``` + +If you receive the above error, try to do the following steps: + +- Make sure any required dependency of the mentioned expansion (e.g. a plugin) is installed. +- Make sure you use the latest version supported for the server version you use. +- If you downloaded the jar from the ecloud, make sure it isn't malformed/corrupted. + +If the issue persists after you've done those checks, report it to the author of the expansion. +In most cases is the issue that either a dependency is missing or that the expansion tries to use outdated methods from PlaceholderAPI. diff --git a/wiki/Home.md b/wiki/Home.md index 6d1ff10..1c5588b 100644 --- a/wiki/Home.md +++ b/wiki/Home.md @@ -1,5 +1,5 @@

- PlaceholderAPI + PlaceholderAPI

This wiki gives you information on how to create placeholders in your plugin that can be used in other plugins, how to use other placeholders inside your plugin, or how to make an expansion. It also has a list with all available placeholders (Work in progress). diff --git a/wiki/Hook-into-PlaceholderAPI.md b/wiki/Hook-into-PlaceholderAPI.md index b05d047..d50e61e 100644 --- a/wiki/Hook-into-PlaceholderAPI.md +++ b/wiki/Hook-into-PlaceholderAPI.md @@ -1,4 +1,4 @@ -[APIBadge]: https://img.shields.io/nexus/r/http/repo.extendedclip.com/me.clip/placeholderapi.svg?label=API-Version +[APIBadge]: https://img.shields.io/nexus/placeholderapi/me.clip/placeholderapi?server=https%3A%2F%2Frepo.extendedclip.com&label=API%20Version [SpigotBadge]: https://img.shields.io/spiget/version/6245?label=Spigot [Spigot]: https://spigotmc.org/resources/6245 @@ -136,7 +136,7 @@ public class JoinExample extends JavaPlugin implements Listener { */ joinText = PlaceholderAPI.setPlaceholders(event.getPlayer(), joinText); - event.setJoinMessage(withPlaceholdersSet); + event.setJoinMessage(joinText); } } ``` diff --git a/wiki/PlaceholderExpansion.md b/wiki/PlaceholderExpansion.md index 8daabab..a9d785b 100644 --- a/wiki/PlaceholderExpansion.md +++ b/wiki/PlaceholderExpansion.md @@ -69,7 +69,7 @@ public class SomeExpansion extends PlaceholderExpansion { *
This is what tells PlaceholderAPI to call our onRequest * method to obtain a value if a placeholder starts with our * identifier. - *
This must be unique and can not contain % or _ + *
The identifier has to be lowercase and can't contain _ or % * * @return The identifier in {@code %_%} as String. */ @@ -148,7 +148,7 @@ import at.helpch.placeholderapi.example.SomePlugin; * {@code /plugins/PlaceholderAPI/expansions} on your server. *
*
If you create such a class inside your own plugin, you have to - * register it manually in your plugins {@code onEbale()} by using + * register it manually in your plugins {@code onEnable()} by using * {@code new YourExpansionClass().register();} */ public class SomeExpansion extends PlaceholderExpansion { @@ -182,7 +182,7 @@ public class SomeExpansion extends PlaceholderExpansion { *
This is what tells PlaceholderAPI to call our onRequest * method to obtain a value if a placeholder starts with our * identifier. - *
This must be unique and can not contain % or _ + *
The identifier has to be lowercase and can't contain _ or % * * @return The identifier in {@code %_%} as String. */ @@ -329,7 +329,7 @@ public class SomeExpansion extends PlaceholderExpansion { *
This is what tells PlaceholderAPI to call our onRequest * method to obtain a value if a placeholder starts with our * identifier. - *
This must be unique and can not contain % or _ + *
The identifier has to be lowercase and can't contain _ or % * * @return The identifier in {@code %_%} as String. */ @@ -408,4 +408,4 @@ public class SomePlugin extends JavaPlugin{ } } } -``` \ No newline at end of file +``` diff --git a/wiki/Placeholders.md b/wiki/Placeholders.md index 4c2f9bf..e3e7aa8 100644 --- a/wiki/Placeholders.md +++ b/wiki/Placeholders.md @@ -5,8 +5,9 @@ If the command itself isn't there and `NO DOWNLOAD COMMAND` instead is shown, th > ## Notes (Please read) > We only add and/or update placeholders on request. > We aren't responsible, to keep the placeholders of your plugin(s) up to date. -> If you changed, removed or added placeholders, or made your plugin(s) and/or expansion(s) no longer available and want us to update this page, [create an issue](/PlaceholderAPI/PlaceholderAPI/issues/new?template=change_request_wiki.md) and let us know. -> This is also the case for when you want your plugin to be added to the list. +> If anything about your expansion/plugin has changed, consider [making a Pull request](https://github.com/PlaceholderAPI/PlaceholderAPI/pulls) to commit the changes yourself. +> +> You can find a comprehensive guide on how to do this on the [Wiki's README file](https://github.com/PlaceholderAPI/PlaceholderAPI/blob/docs/wiki/wiki/README.md). ## [PAPI-placeholders](#papi-placeholders-1) @@ -31,12 +32,14 @@ If the command itself isn't there and `NO DOWNLOAD COMMAND` instead is shown, th - **[PlayerList](#playerlist)** - **[Plugin](#plugin)** - **[Progress](#progress)** -- **[RainbowColor](#RainbowColor)** -- **[RandomColor](#RandomColor)** +- **[RainbowColor](#rainbowcolor)** +- **[RandomColor](#randomcolor)** - **[RedisBungee](#redisbungee)** - **[RelCon](#relcon)** +- **[RNG](#rng)** - **[ScoreboardObjectives](#scoreboardobjectives)** - **[Server](#server)** +- **[Shortcut](#shortcut)** - **[Sound](#sound)** - **[Spectators](#spectators)** - **[SpeedPerSec](#speedpersec)** @@ -56,7 +59,9 @@ If the command itself isn't there and `NO DOWNLOAD COMMAND` instead is shown, th - **[AdvancedCustomMenu+](#advancedcustommenu)** - **[AdvancedLottery](#advancedlottery)** - **[AdvancedModReq](#advancedmodreq)** +- **[ajLeaderboards](#ajleaderboards)** - **[ajParkour](#ajparkour)** +- **[AlonsoLevels](#alonsolevels)** - **[Animated Menu](#animated-menu)** - **[AParkour](#aparkour)** - **[ASkyBlock](#askyblock)** @@ -70,10 +75,13 @@ If the command itself isn't there and `NO DOWNLOAD COMMAND` instead is shown, th - **[BeautyQuests](#beautyquests)** - **[BedWars1058](#bedwars1058)** - **[BentoBox](#bentobox)** +- **[BetonQuest](#betonquest)** - **[BlockParty](#blockparty)** -- **[BlockQuests](#blockquests)** +- **[BlockQuest](#blockquest)** +- **[Boxing](#boxing)** - **[BuildBattlePro](#buildbattlepro)** - **[BungeePerms](#bungeeperms)** +- **[BuyCraft](#buycraft)** ## **C** - **[CarlTheCreeper](#carlthecreeper)** @@ -82,8 +90,9 @@ If the command itself isn't there and `NO DOWNLOAD COMMAND` instead is shown, th - **[ChatReaction](#chatreaction)** - **[CheckNameHistory](#checknamehistory)** - **[Clans](#clans)** -- **[Clans](#clans-1)** +- **[ClansFree](#clansfree)** - **[Clans-API for Spigot/Clan tag in chat](#clans-api-for-spigotclan-tag-in-chat)** +- **[ClansPro](#clanspro)** - **[ClanSystem](#clansystem)** - **[CombatLogX](#combatlogx)** - **[Compassance](#compassance)** @@ -98,9 +107,10 @@ If the command itself isn't there and `NO DOWNLOAD COMMAND` instead is shown, th - **[DeliveryMan](#deliveryman)** - **[DeluxeChat](#deluxechat)** - **[DeluxeCombat](#deluxecombat)** +- **[DeluxeMenus](#deluxemenus)** - **[DeluxePM](#deluxepm)** - **[DeluxeTags](#deluxetags)** -- **[Denize](#denize)** +- **[Denizen](#denizen)** - **[DiscordSRV](#discordsrv)** - **[Disease](#disease)** - **[DonateParty](#donateparty)** @@ -143,7 +153,8 @@ If the command itself isn't there and `NO DOWNLOAD COMMAND` instead is shown, th - **[Hugs](#hugs)** ## **I** -- **[interactionvisualizer](#interactionvisualizer)** +- **[InteractionVisualizer](#interactionvisualizer)** +- **[InteractiveChat](#interactivechat)** - **[Island Border (ASkyblock / BentoBox / uSkyBlock / AcidIsland)](#island-border-askyblock--bentobox--uskyblock--acidisland)** - **[IslandRate (ASkyBlock Addon)](#islandrate-askyblock-addon)** - **[IslandRate (AcidIsland Addon)](#islandrate-acidisland-addon)** @@ -156,7 +167,7 @@ If the command itself isn't there and `NO DOWNLOAD COMMAND` instead is shown, th - **[Karma](#karma)** - **[KillStats](#killstats)** - **[KitPvP](#kitpvp)** -- **[Kingdoms+](#kindoms)** +- **[Kingdoms+](#kingdoms)** - **[KP-PVP](#kp-pvp)** ## **L** @@ -173,7 +184,6 @@ If the command itself isn't there and `NO DOWNLOAD COMMAND` instead is shown, th - **[Marriage (Reloaded)](#marriage-reloaded)** - **[MarriageMaster](#marriagemaster)** - **[McInfected](#mcinfected)** -- **[McInfected-Ranks](#mcinfected-ranks)** - **[McJobs](#mcjobs)** - **[McMMO](#mcmmo)** - **[MineChess](#minechess)** @@ -189,6 +199,7 @@ If the command itself isn't there and `NO DOWNLOAD COMMAND` instead is shown, th ## **N** - **[Nameless Plugin](#nameless-plugin)** +- **[NameMC-API-ServersMC Plugin](#namemc-api-serversmc)** - **[Nicknamer](#nicknamer)** - **[NickReloaded](#nickreloaded)** - **[Nicky](#nicky)** @@ -213,6 +224,7 @@ If the command itself isn't there and `NO DOWNLOAD COMMAND` instead is shown, th - **[PointsAPI](#pointsapi)** - **[PowerRanks](#powerranks)** - **[PremiumVanish](#premiumvanish)** +- **[Prison](#prison)** - **[PrisonMines](#prisonmines)** - **[PrisonRanksX](#prisonranksx)** - **[ProCosmetics](#procosmetics)** @@ -232,22 +244,27 @@ If the command itself isn't there and `NO DOWNLOAD COMMAND` instead is shown, th - **[RabbitsVSPenguins](#rabbitsvspenguins)** - **[RageMode](#ragemode)** - **[Rankup](#rankup)** +- **[RealisticWorldGenerator](#realisticworldgenerator)** - **[RedProtect](#redprotect)** - **[ReferralSystem](#referralsystem)** - **[RestrictedDimensions](#restricteddimensions)** +- **[RocketPlaceholders](#rocketplaceholders)** - **[RogueParkour](#rogueparkour)** - **[RoyalCommands](#royalcommands)** - **[RPGInventory](#rpginventory)** ## **S** +- **[Seasons](#seasons)** - **[SellAll](#sellall)** - **[SignLink](#signlink)** - **[SimpleClans](#simpleclans)** +- **[SimpleCoins](#simplecoins)** - **[SimpleCoinsAPI](#simplecoinsapi)** - **[SimpleKillTracker](#simplekilltracker)** - **[SimplePrefix](#simpleprefix)** - **[Simple Suffix](#simple-suffix)** - **[SkillAPI](#skillapi)** +- **[SkinsRestorer](#skinsrestorer)** - **[Skript](#skript)** - **[Skywars](#skywars)** - **[Skywars X](#skywars-x)** @@ -257,6 +274,7 @@ If the command itself isn't there and `NO DOWNLOAD COMMAND` instead is shown, th - **[SQLTokens](#sqltokens)** - **[Staff Facilities](#staff-facilities)** - **[Statz](#statz)** +- **[Streaming Drops](#streaming-drops)** - **[StrikePractice 2](#strikepractice-2)** - **[stTitles](#sttitles)** - **[SubServers](#subservers)** @@ -268,7 +286,9 @@ If the command itself isn't there and `NO DOWNLOAD COMMAND` instead is shown, th - **[The Time](#the-time)** - **[ThemePark](#themepark)** - **[Thirst](#thirst)** +- **[TicketGUI](#ticketgui)** - **[Timed Rewards](#timed-rewards)** +- **[TimeManager](#timemanager)** - **[Time Tokens](#time-tokens)** - **[TNTRun_Reloaded](#tntrun_reloaded)** - **[TokenEnchant](#tokenenchant)** @@ -276,7 +296,7 @@ If the command itself isn't there and `NO DOWNLOAD COMMAND` instead is shown, th - **[Tokens](#tokens)** - **[Towny](#towny)** - **[TownyChat](#townychat)** -- **[TransmuteIt](#transmuteIt)** +- **[TransmuteIt](#transmuteit)** - **[Treasures](#treasures)** - **[Trey's Double Jump](#treys-double-jump)** - **[TrickOrTreat](#trickortreat)** @@ -292,6 +312,7 @@ If the command itself isn't there and `NO DOWNLOAD COMMAND` instead is shown, th - [Economy](#economy) - [Permissions](#permissions) - **[ViaVersion](#viaversion)** +- **[VKAutoPickup](#vkautopickup)** - **[VoteParty](#voteparty)** - **[VoteRoulette](#voteroulette)** - **[VotingPlugin](#votingplugin)** @@ -311,12 +332,17 @@ These placeholders are from PlaceholderAPI and don't require any additional plug - ### **Advancements** > /papi ecloud download Advancements +More info about this expansion can be found on the [GitHub-Repository](https://github.com/matahombres/Advancements). ``` %Advancements_% %Advancements_player_;% %Advancements_playerList_% %Advancements_playerList_,% %Advancements_playerListFormat_% +%Advancements_completedAmount_% +%Advancements_completedAmount_,% +%Advancements_remainingAmount_% +%Advancements_remainingAmount_,% ``` ---- @@ -386,6 +412,7 @@ Allows you to check the inventory of a player for a certain item. - `%checkitem_,,<...>%` - Returns if user has the item - `%checkitem_amount_,,<...>%` - Returns amount of items the user has - `%checkitem_remove_,,<...>%` - Removes the items from the players inventory - Can be used with amount, it just has to be after. (Ex. `%checkitem_amount_remove_<...>%`) Please be careful as it does REMOVE ITEMS FOR GOOD +- `%checkitem_give_,,<...>%` - Gives the player items. Returns true if successful, returns the number of items NOT given if unsuccessful. (When unsuccessful items can still be given, it just might not be all of them) ``` **Modifiers** @@ -393,16 +420,20 @@ You can combine different modifiers to check for different values. Available modifiers are: - `namecontains:` - Checks if the item's display name contains ``* \*\* - `namestartswith:` - Checks if the item's display name starts with ``* \*\* -- `nameequals:` - Checks if the item's display name equals ``* \*\* -- `mat:` - Checks if the item is `` (For example: `STONE`) -- `amt:` - Checks if the player has `` of items +- `nameequals:` - Checks if the item's display name equals ``* \*\* ^ +- `mat:` - Checks if the item is `` (For example: `STONE`) ^ +- `amt:` - Checks if the player has `` of items ^ - `data:` - Checks if the item has data `` (Example: Red wool has `14` as data (`WOOL:14`)). -This is only for 1.12 and older! -- `custommodeldata:` - Checks if the item has CustomModelData `` This is only for 1.14 and newer! +This is only for 1.12 and older! ^ +- `custommodeldata:` - Checks if the item has CustomModelData `` This is only for 1.14 and newer! ^ - `lorecontains:` - Checks if the item's lore contains ``* +- `loreequals:` - Checks if the item's lore equals `` Lines are separated by `|` ^ - `matcontains:` - Checks if the item's material contains ``* -- `enchantments:;` (`=lvl` is optional) (Uses vanilla minecraft enchantment names) +- `enchantments:;` (`=lvl` is optional) (Uses vanilla minecraft enchantment names) ^ - `enchanted` - Checks if the item is enchanted (with anything) +- `potiontype:` - Checks if the item has the potiontype ([Click here for potion types](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/potion/PotionType.html)) ^ +- `potionextended:` - Checks if a potion is extended ^ +- `potionupgraded:` - Checks if a potion is upgraded ^ - `strict` - Requires `mat:` modifier. Strictly checks the name and lore for an item. (If a Stone named `Test` is in your inventory, and you're using `%checkitem_mat:stone,strict%`, it will return false) - `inhand` - Check if the item is in the player's hand (Also checks off-hand) @@ -410,6 +441,10 @@ This is only for 1.12 and older! **Only one can be used +^Supported by the `give` placeholder + +To use Commas in strings you must escape them using `\` (Ex: `loreequals:Milk\, Eggs\, Bread`) + **Placeholders are supported, but they need to be in brackets! (Ex: `%player_name%` would be `{player_name}`** ---- @@ -441,18 +476,23 @@ More info about this expansion can be found on the [GitHub-Repository](https://g More info about this expansion can be found on the [GitHub-Repository](https://github.com/Andre601/Formatter-Expansion). ``` -%formatter_number_format_[_]% -%formatter_number_time_% +%formatter_number_format_% +%formatter_number_format_[locale]:[format]_% +%formatter_number_time_% +%formatter_number_time_seconds_% # Handles number as seconds +%formatter_number_time_secs_% # Handles number as seconds +%formatter_number_time_minutes_% # Handles number as minutes +%formatter_number_time_mins_% # Handles number as minutes +%formatter_number_time_hours_% # Handles number as hours +%formatter_number_time_hrs_% # Handles number as hours + +%formatter_replace___% %formatter_text_substring__% %formatter_text_uppercase_% %formatter_text_lowercase_% ``` -Available options: -- `format:()` - The actual format, using Java's DecimalFormat system. -- `locale:()` - The locale to use. Formats can be different depending on the locale. - ---- - ### **Javascript** @@ -495,13 +535,14 @@ Lists players with a certain permission or in a certain world... 'nuf said. > /papi ecloud download Math Lets you make simple or advanced calculations. -Placeholders are supported (You have to use `{}` instead of `%`). -Supports all calculations you can do with [EvalEx](https://github.com/uklimaschewski/EvalEx) with the exception of `%`. -You have to use `[prc]` for using the `%` symbol. -You can use `[precision:]` in the placeholder, to set, how many digits after the `.` are shown. +Placeholders are supported (You have to use `{}` instead of `%`). + +Supports all calculations you can do with [EvalEx](https://github.com/uklimaschewski/EvalEx). +Note that the `%` can't be used within the placeholder and that you have to to use `[prc]` instead. ``` %math_% +%math_[precision]:[rounding]_% ``` ---- @@ -548,9 +589,10 @@ Lets you get placeholders for other players. (Not the one that triggers the acti Lets you parse any placeholder for the closest player. Will return blank if no player is found. -* `%parsenear_%` - Parses placeholder for closest player -* `%parsenear__%` - Parses placeholder for closest player in a radius - +``` +%parsenear_% # Parses placeholder for closest player +%parsenear__% # Parses placeholder for closest player in a radius +``` ---- - ### **ParseOther** @@ -670,36 +712,45 @@ Gives you various placeholders for the player, that triggers the action. Returns the player list matching the specified syntax -`%playerlist_,,,,%` - The `yes/no` is to include/exclude the player. +``` +%playerlist_,,,,% +``` -**Types:** -* `all` - Matches all players -* `online` - Matches online players -* `offline` - Matches offline players +**Type:** +- `all` - Matches all players +- `online` - Matches online players +- `offline` - Matches offline players -**Output Types:** -* `list` - Returns a list of players separated by `, `. You can also change the separator with `list-`.* -* `amount` - Returns amount of players matched -* `` - Returns the player at the specified index +**Subtypes:** +- `normal` - Matches all players. Requires no `` +- `perm` - Matches all players that match the permission defined by ``. Supports multiple permissions separated by `+` (`perm.1+perm.2`) +- `world` - Matches all players in the world defined by ``. Supports multiple worlds separated by `+` (`world+world_nether`) +- `nearby` - Matches all players in a certain radius defined by `` + +**Include:** +- `yes` - Include the player +- `no` - Exclude the player + +**Output:** +- `list` - Returns a list of players separated by `, `. You can also change the separator with `list-`.* +- `amount` - Returns amount of players matched +- `` - Returns the player at the specified index -**SubTypes:** -* `normal` - Matches all players - Requires no `` -* `perm` - Matches all players that match the permission defined by `` - Supports multiple separated by `+` (Ex: `perm1+perm2`) -* `world` - Matches all player in the world defined by `` - Supports multiple separated by `+` (Ex: `world1+world2`) -* `nearby` - Matches all players in a certain radius defined by `` **Examples:** -* `%playerlist_all,normal,yes,list%` - `Tanguygab, cj89898, funnycube, clip, Frcsty, GabyTM, ItsMeGlare` -* `%playerlist_online,perm,yes,amount,staff.admin%` - `2` -* `%playerlist_online,world,yes,2,buildingworld+spawnworld%` - `cj89898, funnycube` -* `%playerlist_online,nearby,yes,list,5%` - `Tanguygab, cj89898, clip` -* `%playerlist_online,nearby,no,list,5%` - `Tanguygab, clip` -* `%playerlist_online,nearby,no,list--,20%` - `Tanguygab-clip-Terfs` +``` +%playerlist_all,normal,yes,list% # Tanguygab, cj89898, funnycube, clip, Frcsty, GabyTM, ItsMeGlare +%playerlist_online,perm,yes,amount,staff.admin% # 2 +%playerlist_online,world,yes,2,buildingworld+spawnworld%` # cj89898, funnycube +%playerlist_online,nearby,yes,list,5% # Tanguygab, cj89898, clip +%playerlist_online,nearby,no,list,5% # Tanguygab, clip +%playerlist_online,nearby,no,list--,20% # Tanguygab-clip-Terfs +``` *You can also use `[placeholder]` for papi placeholders in addition to the javascript `{placeholder}`* *Note: `Offline` and `All` only support the `Normal` subtype.* -**Since `,` is used to separate the different parts of the placeholder, use `\.` instead if you want to display a `,`.* +**Since `,` is used to separate the different parts of the placeholder, use `\.` instead if you want to display a `,`.** ---- @@ -754,8 +805,8 @@ More info about the expansion can be found on the [GitHub-Repository](https://gi ``` %randomcolor_all% %randomcolor_color% -%randomcolor_format% %randomcolor_combined% +%randomcolor_format% %randomcolor_selected_% ``` ---- @@ -784,6 +835,17 @@ More info about the expansion can be found on the [GitHub-Repository](https://gi ``` ---- +- ### **RNG** +> /papi ecloud download RNG + +More info about the expansion can be found on the [GitHub-Repository](https://github.com/Kqliber/Expansion-RNG). + +``` +%rng_random% +%rng_,% +``` +---- + - ### **ScoreboardObjectives** > /papi ecloud download ScoreboardObjectives @@ -846,6 +908,19 @@ More info can be found here: http://docs.oracle.com/javase/7/docs/api/java/text/ ---- +- ### **Shortcut** +> /papi ecloud download Shortcut + +Allows the parsing of large text with placeholders by having them in TXT files stored. + +``` +%shortcut_% +``` + +The file needs to be a TXT and has to be inside the `PlaceholderAPI/shortcuts` directory. + +---- + - ### **Sound** > /papi ecloud download Sound @@ -912,10 +987,10 @@ Other statistics %statistic_hours_played% %statistic_days_played% %statistic_time_played% -%statistic_seconds_played_remaining% -%statistic_minutes_played_remaining% -%statistic_hours_played_remaining% -%statistic_days_played_remaining% +%statistic_time_played:seconds% +%statistic_time_played:minutes% +%statistic_time_played:hours% +%statistic_time_played:days% %statistic_animals_bred% %statistic_armor_cleaned% %statistic_banner_cleaned% @@ -986,25 +1061,28 @@ Other statistics For the totalBalance placeholder, you must have a service provider plugin (eg. EssentialsX) ``` -%world_#_biome% -%world_#_nearbyEntities_% -%world__name% -%world__seed% -%world__time% -%world__canPvP% -%world__animalAllowed% -%world__monsterAllowed% -%world__difficulty% -%world__players% -%world__players_% -%world__difficulty% -%world__playerExist% -%world__gamerule_% -%world__recentjoin% -%world__recentquit% -%world__totalBalance% +%world_animalAllowed_% +%world_biome% +%world_canPvP_% +%world_difficulty_% +%world_isgamerule__% +%world_monsterAllowed_% +%world_name_% +%world_nearbyEntities_% +%world_playerexist_% +%world_players_% +%world_players__% +%world_recentjoin_% +%world_recentquit_% +%world_sealevel_% +%world_seed_% +%world_thunder_% +%world_time_% +%world_total% +%world_totalbalance_% ``` -*** +---- + ## Plugin-placeholders These placeholders require the corresponding plugin to work. **The developer of the plugin is responsible for the placeholders to work!** @@ -1134,14 +1212,64 @@ All information about these placeholders can be found [here](https://gitlab.com/ ``` ---- +- ### **[ajLeaderboards](https://www.spigotmc.org/resources/85548/)** +> NO DOWNLOAD COMMAND + +Description of placeholders: https://wiki.ajg0702.us/ajleaderboards/setup/placeholders + +**(<> = required)** +``` +%ajleaderboards_board___name% +%ajleaderboards_board___value% +%ajleaderboards_position_% +%ajleaderboards_board___prefix% +%ajleaderboards_board___suffix% +%ajleaderboards_board___color% +``` +---- + - ### **[ajParkour](https://www.spigotmc.org/resources/60909/)** > NO DOWNLOAD COMMAND +Description of placeholders: https://wiki.ajg0702.us/ajparkour/setup/placeholders + +**(<> = required)** ``` -%ajpk_current% -%ajpk_stats_top_name_% -%ajpk_stats_top_score_% +%ajpk_stats_top_name_% +%ajpk_stats_top_name__% +%ajpk_stats_top_score_% +%ajpk_stats_top_score__% +%ajpk_stats_top_time_% %ajpk_stats_highscore% +%ajpk_stats_highscore_% +%ajpk_current% +%ajpk_jumping% +``` +---- + +- ### **[AlonsoLevels](https://www.spigotmc.org/resources/83380/)** +> NO DOWNLOAD COMMAND + +``` +%alonsolevels_developer% +%alonsolevels_empty_progress_bar% +%alonsolevels_experience% +%alonsolevels_experience_format% +%alonsolevels_experience_in_current_level% +%alonsolevels_experience_to_level_up% +%alonsolevels_experience_to_level_up_format% +%alonsolevels_level% +%alonsolevels_level_format% +%alonsolevels_progress% +%alonsolevels_progress_bar% +%alonsolevels_progress_bar_format% +%alonsolevels_progress_format% +%alonsolevels_progress_stripped% +%alonsolevels_progress_stripped_format% +%alonsolevels_progress_percent% +%alonsolevels_progress_percent_format% +%alonsolevels_reqiored_experience_in_current_level% +%alonsolevels_version% ``` ---- @@ -1197,6 +1325,15 @@ All information about these placeholders can be found [here](https://gitlab.com/ ``` ---- +- ### **[Ath](https://www.spigotmc.org/resources/87124/)** +> NO DOWNLOAD COMMAND + +``` +%ath_date% +%ath_count% +``` +---- + - ### **[AutoRank](https://www.spigotmc.org/resources/3239/)** > /papi ecloud download AutoRank @@ -1317,30 +1454,40 @@ All information about these placeholders can be found [here](https://gitlab.com/ - ### **[BentoBox](https://github.com/BentoBoxWorld/BentoBox)** > NO DOWNLOAD COMMAND -Check out [BentoBox placeholders wiki](https://github.com/BentoBoxWorld/BentoBox/wiki/Placeholders) for more information. +Check out [BentoBox placeholders docs](https://docs.bentobox.world/en/latest/BentoBox/Placeholders/) for more placeholders. Available gamemodes: -`acidisland`, `bskyblock`, `caveblock` and `skygrid`. +`acidisland`, `bskyblock`, `caveblock`, `skygrid` and `aoneblock`. ``` -%bentobox_[gamemode]-world-friendlyname% -%bentobox_[gamemode]-island-distance% -%bentobox_[gamemode]-island-protection-range% -%bentobox_[gamemode]-island-owner% -%bentobox_[gamemode]-island-creation-date% -%bentobox_[gamemode]-island-spawnpoint% -%bentobox_[gamemode]-island-name% +%[gamemode]_world_friendly_name% +%[gamemode]_island_distance% +%[gamemode]_island_protection_range% +%[gamemode]_island_owner% +%[gamemode]_island_creation_date% +%[gamemode]_island_center% +%[gamemode]_island_name% ``` **Level add-on** Available gamemodes: -`acidisland`, `bskyblock`, and `caveblock`. +`acidisland`, `bskyblock`, `caveblock`, `skygrid` and `aoneblock`. ``` -%level_[gamemode]-island-level% -%level_[gamemode]-island-level-top-value-#% -%level_[gamemode]-island-level-top-name-#% +%Level_[gamemode]_island_level% +%Level_[gamemode]_top_value_#RANK#% +%Level_[gamemode]_top_name_#RANK#% +``` +---- + +- ### **[BetonQuest](https://www.spigotmc.org/resources/2117/)** +> NO DOWNLOAD COMMAND + +Please refer to the [official documentation](https://betonquest.github.io/BetonQuest/versions/dev/User-Documentation/Compatibility/#placeholderapi) for more info. +``` +%betonquest_% +%betonquest_:% ``` ---- @@ -1364,6 +1511,16 @@ Available gamemodes: ``` ---- +- ### **[Boxing](https://www.spigotmc.org/resources/83879/)** +> NO DOWNLOAD COMMAND + +``` +%boxing_losses% +%boxing_times_played% +%boxing_wins% +``` +---- + - ### **[BuildBattlePro](https://www.spigotmc.org/resources/49587/)** > /papi ecloud download BuildBattlePro @@ -1393,6 +1550,21 @@ Available gamemodes: ``` ---- +- ### **[BuyCraft](https://www.spigotmc.org/resources/82261/)** +> NO DOWNLOAD COMMAND + +Note: You have to download the jar from the linked Spigot page. + +``` +%buycraftAPI_recent_currency_% +%buycraftAPI_recent_name_% +%buycraftAPI_recent_price_% +%buycraftapi_top_donator_currency% +%buycraftapi_top_donator_name% +%buycraftapi_top_donator_price% +``` +---- + - ### **[CarlTheCreeper](https://www.spigotmc.org/resources/18008/)** > NO DOWNLOAD COMMAND @@ -1433,12 +1605,17 @@ Available gamemodes: ``` %chatreaction_wins% - Chat reaction wins (Requires MySQL) +%chatreaction_wins_% - Chat reactions wins for a certain player (Requires MySQL) +%chatreaction_top_player_% - Returns the player at the placement inputted from the leaderboard (Requires MySQL) +%chatreaction_top_wins_% - Returns the amount of wins a player has at that placement (Requires MySQL) %chatreaction_type% - Type of reaction (Reaction or Scramble) %chatreaction_active_round% - Is a round currently active %chatreaction_display_word% - The scrambled word %chatreaction_reaction_word% - The actual solution word %chatreaction_start_time% - Time when the round started %chatreaction_latest_winner% - Last recorded winner +%chatreaction_start_time_in_seconds% - Returns the time (in seconds) since the chat reaction started +%chatreaction_time_remaining% - returns the time (in seconds) when the chat reaction event will expire ``` ---- @@ -1460,7 +1637,7 @@ Available gamemodes: ``` ---- -- ### **[Clans](https://www.spigotmc.org/resources/78415/)** +- ### **[ClansFree](https://www.spigotmc.org/resources/78415/)** > NO DOWNLOAD COMMAND ``` @@ -1479,6 +1656,23 @@ Available gamemodes: ``` ---- +- ### **[ClansPro](https://www.spigotmc.org/resources/87515/)** +> NO DOWNLOAD COMMAND + +``` +%clanspro_clan_name% +%clanspro_clan_description% +%clanspro_clan_color% +%clanspro_clan_pvp_mode% +%clanspro_clan_balance% +%clanspro_clan_power% +%clanspro_clan_members_online% +%clanspro_member_rank% +%clanspro_member_bio% +%clanspro_raidshield_status% +``` +---- + - ### **[ClanSystem](https://www.spigotmc.org/resources/34696/)** > NO DOWNLOAD COMMAND @@ -1644,6 +1838,19 @@ This can be used in plugins, that require an integer. (e.g. DeluxeMenus) ---- +- ### **[DeluxeMenus](https://www.spigotmc.org/resources/11734/)** +> NO DOWNLOAD COMMAND + +``` +%deluxemenus_meta___% +``` + +- Key: The key of the meta you want to check +- Data Type: Can be `STRING`, `BOOLEAN`, `DOUBLE`, `LONG`, or `INTEGER`. *If the given key has a different data type, an error will occur.* +- Default Value: The value returned if nothing is found. + +---- + - ### **[DeluxePM](https://www.spigotmc.org/resources/52599/)** > /papi ecloud download DeluxePM @@ -1675,9 +1882,9 @@ This can be used in plugins, that require an integer. (e.g. DeluxeMenus) ---- - ### **[DiscordSRV](https://www.spigotmc.org/resources/18494/)** -> /papi ecloud download DiscordSRV +> NO DOWNLOAD COMMAND -You can find an up-to-date list of the placeholders in [their wiki](https://github.com/DiscordSRV/DiscordSRV-PlaceholderAPI-Expansion#placeholders). +You can find an up-to-date list of the placeholders in [their wiki](https://github.com/DiscordSRV/DiscordSRV/wiki/PAPI-Placeholders#placeholders). ---- @@ -2036,6 +2243,7 @@ You can find an up-to-date list of the placeholders in [their wiki](https://fact %griefprevention_claims% %griefprevention_claims_formatted% %griefprevention_bonusclaims% +%griefprevention_bonusclaims_formatted% %griefprevention_accruedclaims% %griefprevention_accruedclaims_formatted% %griefprevention_remainingclaims% @@ -2164,6 +2372,14 @@ You can find an up-to-date list of the placeholders in [their wiki](https://fact ``` ---- +- ### **[InteractiveChat](https://www.spigotmc.org/resources/75870/)** +> NO DOWNLOAD COMMAND + +``` +%interactivechat_mentiontoggle% +``` +---- + - ### **[Island Border (ASkyblock / BentoBox / uSkyBlock / AcidIsland)](https://www.spigotmc.org/resources/56320/)** > NO DOWNLOAD COMMAND @@ -2396,30 +2612,8 @@ More info about these placeholders can be found [here](https://panoply.tech/lead - ### **[LuckPerms](https://www.spigotmc.org/resources/28140/)** > /papi ecloud download LuckPerms -``` -%luckperms_groups% -%luckperms_primary_group_name% -%luckperms_group_expiry_time_% -%luckperms_in_group_% -%luckperms_has_groups_on_track_% -%luckperms_first_group_on_tracks_% -%luckperms_last_group_on_tracks_% -%luckperms_lowest_group_by_weight% -%luckperms_highest_group_by_weight% -%luckperms_prefix% -%luckperms_prefix_element_% -%luckperms_suffix% -%luckperms_suffix_element_% -%luckperms_context_% -%luckperms_has_permission_% -%luckperms_inherits_permission_% -%luckperms_check_permission_% -%luckperms_expiry_time_% -%luckperms_inherits_group_% -%luckperms_on_track_% -%luckperms_inherited_expiry_time_% -%luckperms_meta_% -``` +You can find an up-to-date list of placeholders on the [LuckPerms wiki](https://luckperms.net/wiki/Placeholders). + ---- - ### **LWC** @@ -2543,22 +2737,14 @@ Available if multiple partners are allowed on the server: > NO DOWNLOAD COMMAND ``` -%mcinfected_score% -%mcinfected_kills% -%mcinfected_deaths% -%mcinfected_wins% -%mcinfected_losses% +%mcinfected_lobby_name% +%mcinfected_lobby_time% +%mcinfected_lobby_arena_name% +%mcinfected_lobby_state% +%mcinfected_kit_human% +%mcinfected_kit_infected% +%mcinfected_team% %mcinfected_killstreak% -%mcinfected_time% -``` ----- - -- ### **[McInfected-Ranks](https://www.spigotmc.org/resources/2826/)** -> NO DOWNLOAD COMMAND - -``` -%mcinfected-ranks_rank% -%mcinfected-ranks_prefix% ``` ---- @@ -2751,6 +2937,19 @@ Available if multiple partners are allowed on the server: ``` ---- +- ### **[NameMC-API-ServersMC](https://www.spigotmc.org/resources/88871/)** +> NO DOWNLOAD COMMAND + +``` +%namemcapi_prefix% +%namemcapi_namemcweb% +%namemcapi_ip% +%namemcapi_player% +``` +You can find more information on the [Wiki!](https://github.com/HappyRogelio7/NameMC-API-ServersMC/wiki) + +---- + - ### **[Nicknamer](https://www.spigotmc.org/resources/5341/)** > /papi ecloud download Nicknamer @@ -2845,31 +3044,50 @@ You can find an up-to-date list of the placeholders in [their wiki](https://ales ---- - ### **[Parkour](https://www.spigotmc.org/resources/23685/)** -> /papi ecloud download Parkour +> NO DOWNLOAD COMMAND ``` -%parkour_last_played% -%parkour_last_completed% -%parkour_level% -%parkour_rank% -%parkour_parkoins% -%parkour_course_record_% -%parkour_course_record_deaths_% -%parkour_personal_best_% -%parkour_personal_best_deaths_% -%parkour_leader_% -%parkour_current_course% -%parkour_current_course_record% +%parkour_course_completed_% +%parkour_course_completions_% +%parkour_course_record__deaths% +%parkour_course_record__milliseconds% +%parkour_course_record__player% +%parkour_course_record__time% +%parkour_course_views% +%parkour_current_checkpoint% +%parkour_current_course_checkpoints% +%parkour_current_course_completed% +%parkour_current_course_deaths% +%parkour_current_course_name% +%parkour_current_course_personal_best_deaths% +%parkour_current_course_personal_best_milliseconds% +%parkour_current_course_personal_best_player% +%parkour_current_course_personal_best_time% %parkour_current_course_record_deaths% -%parkour_current_personal_best% -%parkour_current_personal_best_deaths% -%parkour_current_course_leader% +%parkour_current_course_record_milliseconds% +%parkour_current_course_record_player% +%parkour_current_course_record_time% %parkour_current_course_timer% -%parkour_course_count% -%parkour_player_count% -%parkour_version% +%parkour_global_course_count% +%parkour_global_player_count% +%parkour_global_version% +%parkour_leaderboard___deaths% +%parkour_leaderboard___milliseconds% +%parkour_leaderboard___player% +%parkour_leaderboard___time% +%parkour_player_courses_completed% +%parkour_player_courses_uncompleted% +%parkour_player_last_completed% +%parkour_player_last_joined% +%parkour_player_level% +%parkour_player_parkoins% +%parkour_player_personal_best__deaths% +%parkour_player_personal_best__milliseconds% +%parkour_player_personal_best__player% +%parkour_player_personal_best__time% +%parkour_player_prize_delay_% +%parkour_player_rank% %parkour_topten__% -%parkour_toptenxcc__% ``` ---- @@ -2947,8 +3165,8 @@ Check [Plan Wiki](https://github.com/plan-player-analytics/Plan/wiki/Placeholder ``` ---- -- ### **[PlotSquared](https://www.spigotmc.org/resources/1177/)** -> /papi ecloud download PlotSquared +- ### **[PlotSquared](https://www.spigotmc.org/resources/77506/)** +> NO DOWNLOAD COMMAND ``` %plotsquared_currentplot_alias% @@ -2957,18 +3175,20 @@ Check [Plan Wiki](https://github.com/plan-player-analytics/Plan/wiki/Placeholder %plotsquared_currentplot_members_added% %plotsquared_currentplot_members_trusted% %plotsquared_currentplot_members_denied% -%plotsquared_currentplot_world% +%plotsquared_world_name% +%plotsquared_has_plot_% %plotsquared_currentplot_x% %plotsquared_currentplot_y% %plotsquared_currentplot_xy% %plotsquared_currentplot_rating% %plotsquared_currentplot_biome% %plotsquared_has_plot% -%plotsquared_has_plot_% %plotsquared_has_build_rights% %plotsquared_plot_count% -%plotsquared_plot_count_% +%plotsquared_plot_count_% %plotsquared_allowed_plot_count% +%plotsquared_currentplot_localflag_% +%plotsquared_currentplot_flag_% ``` ---- @@ -2991,6 +3211,9 @@ Check [Plan Wiki](https://github.com/plan-player-analytics/Plan/wiki/Placeholder %powerranks_subranksuffix% %powerranks_chatcolor% %powerranks_namecolor% +%powerranks_usertag% +%powerranks_world% +%powerranks_playtime% ``` ---- @@ -3001,13 +3224,148 @@ Check [Plan Wiki](https://github.com/plan-player-analytics/Plan/wiki/Placeholder %premiumvanish_isvanished% %premiumvanish_vanishedplayers% %premiumvanish_playercount% +%premiumvanish_playercountwithoutshowintab% %premiumvanish_bungeeplayercount% %premiumvanish_bungeeplayercount@% +%premiumvanish_target% +%premiumvanish_uselevel% +%premiumvanish_seelevel% ``` `` is the name of the server it should show the playercount of. ---- +- ### **[Prison](https://www.spigotmc.org/resources/1223/)** +> NO DOWNLOAD COMMAND + +Each placeholder has a shorter alias, which follows the primary placeholder below. + +**Player rank placeholders:** Must be used directly with a player, such as with player chat prefixes. +These placeholders can return zero, one, or more rank related values depending upon how many ladders the player is on. + +``` +%prison_rank% +%prison_r% +%prison_rank_tag% +%prison_rt% +%prison_rankup_cost% +%prison_rc% +%prison_rankup_cost_formatted% +%prison_rcf% +%prison_rankup_cost_percent% +%prison_rcp% +%prison_rankup_cost_bar% +%prison_rcb% +%prison_rankup_cost_remaining% +%prison_rcr% +%prison_rankup_cost_remaining_formatted% +%prison_rcrf% +%prison_rankup_rank% +%prison_rr% +%prison_rankup_rank_tag% +%prison_rrt% +``` + +**Player rank placeholders for individual ladders:** Must be used directly with a player. +Use the ladder name, all lowercase, in place of ``, and it will return zero or one rank related values. + +``` +%prison_rank_% +%prison_r_% +%prison_rank_tag_% +%prison_rt_% +%prison_rankup_cost_% +%prison_rc_% +%prison_rankup_cost_formatted_% +%prison_rcf_% +%prison_rankup_cost_percent_% +%prison_rcp_% +%prison_rankup_cost_bar_% +%prison_rcb_% +%prison_rankup_cost_remaining_% +%prison_rcr_% +%prison_rankup_cost_remaining_formatted_% +%prison_rcrf_% +%prison_rankup_rank_% +%prison_rr_% +%prison_rankup_rank_tag_% +%prison_rrt_% +%prison_player_balance% +%prison_pb% +%prison_player_balance_% +%prison_pb_% +``` + +**Mine relate placeholders:** +Use the mine name, all lowercase, in place of ``. + +``` +%prison_mines_name_% +%prison_mn_% +%prison_mines_tag_% +%prison_mt_% +%prison_mines_interval_% +%prison_mi_% +%prison_mines_interval_formatted_% +%prison_mif_% +%prison_mines_timeleft_% +%prison_mtl_% +%prison_mines_timeleft_bar_% +%prison_mtlb_% +%prison_mines_timeleft_formatted_% +%prison_mtlf_% +%prison_mines_size_% +%prison_ms_% +%prison_mines_remaining_% +%prison_mr_% +%prison_mines_remaining_bar_% +%prison_mrb_% +%prison_mines_percent_% +%prison_mp_% +%prison_mines_player_count_% +%prison_mpc_% +%prison_mines_blocks_mined_% +%prison_mbm_% +%prison_mines_reset_count_% +%prison_mrc_% +``` + +**Player-mine related placeholders:** Must be used with a player. +These placeholders will only return non-blank values when the player is in a mine and the results will be for that mine. + +``` +%prison_mines_name_playermines% +%prison_mn_pm% +%prison_mines_tag_playermines% +%prison_mt_pm% +%prison_mines_interval_playermines% +%prison_mi_pm% +%prison_mines_interval_formatted_playermines% +%prison_mif_pm% +%prison_mines_timeleft_playermines% +%prison_mtl_pm% +%prison_mines_timeleft_bar_playermines% +%prison_mtlb_pm% +%prison_mines_timeleft_formatted_playermines% +%prison_mtlf_pm% +%prison_mines_size_playermines% +%prison_ms_pm% +%prison_mines_remaining_playermines% +%prison_mr_pm% +%prison_mines_remaining_bar_playermines% +%prison_mrb_pm% +%prison_mines_percent_playermines% +%prison_mp_pm% +%prison_mines_player_count_playermines% +%prison_mpc_pm% +%prison_mines_blocks_mined_playermines% +%prison_mbm_pm% +%prison_mines_reset_count_playermines% +%prison_mrc_pm% +``` + +---- + - ### **[PrisonMines](https://www.spigotmc.org/resources/4046/)** > /papi ecloud download PrisonMines @@ -3252,6 +3610,18 @@ You can find an up-to-date list of the placeholders in [their wiki](https://gith ``` ---- +- ### **[RealisticWorldGenerator](https://www.spigotmc.org/resources/15905/)** +> NO DOWNLOAD COMMAND + +``` +%rwg_schematicAmount% +%rwg_schematics% +%rwg_biome% +%rwg_position1% +%rwg_position2% +``` +---- + - ### **[RedProtect](http://otmc.org/resources/15841/)** > NO DOWNLOAD COMMAND @@ -3282,8 +3652,20 @@ You can find an up-to-date list of the placeholders in [their wiki](https://gith ``` ---- +- ### **[RocketPlaceholders](https://www.spigotmc.org/resources/82678/)** +> NO DOWNLOAD COMMAND + +``` +%rp_% +``` + +`` is the name you configured in the config.yml of this plugin. +[Read More](https://lorenzo0111.gitbook.io/rocekt-plugins/rocketplaceholders/configure) + +---- + - ### **[RogueParkour](https://www.spigotmc.org/resources/26563/)** -> Download manually from [here](https://api.extendedclip.com/expansions/rogueparkour-temporary/) +> /papi ecloud download rogueparkour-temporary ``` %RogueParkour-temporary_top_;% @@ -3314,6 +3696,23 @@ You can find an up-to-date list of the placeholders in [their wiki](https://gith ``` ---- +- ### **[Seasons](https://www.spigotmc.org/resources/39298/)** +> NO DOWNLOAD COMMAND + +``` +%seasons_season% +%seasons_season_[world]% +%seasons_weather% +%seasons_weather_[world]% +%seasons_day% +%seasons_day_[world]% +``` +Replace `[world]` with the name of a loaded world. +*Placeholders ending in a `[world]` will retrieve information from the specified world +instead of the player's current world.* + +---- + - ### **[SellAll](https://www.spigotmc.org/resources/1221/)** > NO DOWNLOAD COMMAND @@ -3333,73 +3732,20 @@ Replace `[variable name]` with the name of the signlink variable ---- -- ### **[SimpleClans](https://www.spigotmc.org/resources/5269/)** +- ### **[SimpleClans](https://www.spigotmc.org/resources/71242/)** +> NO DOWNLOAD COMMAND + +You can find an up-to-date list of the placeholders in [their wiki](https://simpleclans.gitbook.io/simpleclans/other/placeholderapi-support). + +---- + +- ### **[SimpleCoins](https://dev.bukkit.org/projects/simplecoins) > NO DOWNLOAD COMMAND ``` -%simpleclans_neutral_kills% -%simpleclans_rival_kills% -%simpleclans_civilian_kills% -%simpleclans_total_kills% -%simpleclans_weighted_kills% -%simpleclans_deaths% -%simpleclans_kdr% -%simpleclans_in_clan% -%simpleclans_is_leader% -%simpleclans_is_trusted% -%simpleclans_is_member% -%simpleclans_is_bb_enabled% -%simpleclans_is_usechatshortcut% -%simpleclans_is_allychat% -%simpleclans_is_clanchat% -%simpleclans_is_globalchat% -%simpleclans_is_cape_enabled% -%simpleclans_is_tag_enabled% -%simpleclans_is_friendlyfire_on% -%simpleclans_is_muted% -%simpleclans_is_mutedally% -%simpleclans_join_date% -%simpleclans_inactive_days% -%simpleclans_lastseen% -%simpleclans_lastseendays% -%simpleclans_tag% -%simpleclans_tag_label% -%simpleclans_rank% -%simpleclans_clan_total_neutral% -%simpleclans_clan_total_civilian% -%simpleclans_clan_total_rival% -%simpleclans_clan_total_kills% -%simpleclans_clan_total_deaths% -%simpleclans_clan_total_kdr% -%simpleclans_clan_average_wk% -%simpleclans_clan_leader_size% -%simpleclans_clan_balance% -%simpleclans_clan_allow_withdraw% -%simpleclans_clan_allow_deposit% -%simpleclans_clan_size% -%simpleclans_clan_name% -%simpleclans_clan_color_tag% -%simpleclans_clan_tag% -%simpleclans_clan_founded% -%simpleclans_clan_friendly_fire% -%simpleclans_clan_is_unrivable% -%simpleclans_clan_is_anyonline% -%simpleclans_clan_is_verified% -%simpleclans_clan_capeurl% -%simpleclans_clan_inactivedays% -%simpleclans_clan_onlinemembers_count% -%simpleclans_clan_allies_count% -%simpleclans_clan_rivals_count% -%simpleclans_clanchat_player_color% -%simpleclans_allychat_player_color% -%simpleclans_rank_displayname% -%simpleclans_topclans__color_tag% -%simpleclans_topclans__kdr% -%simpleclans_topclans__total_kills% +%simplecoins_balane% +%simplecoins_currency_name% ``` - -- `` - The top rank position you want. - ---- - ### **[SimpleCoinsAPI](https://www.spigotmc.org/resources/1432/)** @@ -3455,7 +3801,7 @@ Replace `[variable name]` with the name of the signlink variable %skillapi_skill_req_% ``` -The following placeholders are the same as above but instead of specifying the skillName, you can specify a number from 1 to pretty much infinity which will show the information related to the players 1st, 2nd, 3rd skill and so on... +The following placeholders are the same as above but instead of specifying the skillName, you can specify a number from 1 to pretty much infinity (amount of skills a player has) which will show the information related to the players 1st, 2nd, 3rd skill and so on... ``` %skillapi_player_skill_points_<#>% %skillapi_player_skill_level_<#>% @@ -3469,6 +3815,14 @@ The following placeholders are the same as above but instead of specifying the s ``` ---- +- ### **[SkinsRestorer](https://www.spigotmc.org/resources/2124/)** +> /papi ecloud download SkinsRestorer + +``` +%skinsrestorer_getSkinName% +``` +---- + - ### **[Skript](https://github.com/bensku/Skript)** > /papi ecloud download skript @@ -3659,6 +4013,21 @@ The following placeholders are the same as above but instead of specifying the s ``` ---- +- ### **[Streaming Drops](https://www.spigotmc.org/resources/76996/)** +> NO DOWNLOAD COMMAND + +``` +%streamingdrops_dropsamount% +%streamingdrops_generaldropsamount% +%streamingdrops_globallivetag% +%streamingdrops_nextdroptime% +%streamingdrops_senddrops% +%streamingdrops_streamerlivetag% +%streamingdrops_topdropsprefix% +%streamingdrops_twitch% +``` +---- + - ### **[StrikePractice 2](https://www.spigotmc.org/resources/46906/)** > NO DOWNLOAD COMMAND @@ -3884,11 +4253,13 @@ Per Player/Event placeholders: ---- - ### **[ThemePark](https://www.spigotmc.org/resources/48648/)** -> NO DOWNLOAD COMMAND +> /papi ecloud download ThemePark ``` %tp_name:% %tp_status:% +%tp_ridecount% +%tp_ridecount:% ``` ---- @@ -3900,6 +4271,17 @@ Per Player/Event placeholders: ``` ---- +- ### **[TicketGUI](https://www.spigotmc.org/resources/68968/)** +> NO DOWNLOAD COMMAND + +``` +%ticketgui_blacklist_points_current% +%ticketgui_blacklist_points_max% +%ticketgui_tickets_handled% +%ticketgui_tickets_sent% +``` +---- + - ### **[Timed Rewards](https://www.spigotmc.org/resources/34008/)** > NO DOWNLOAD COMMANDS @@ -3910,6 +4292,23 @@ Per Player/Event placeholders: ``` ---- +- ### **[TimeManager](https://www.spigotmc.org/resources/44344/)** +> NO DOWNLOAD COMMANDS + +``` +%tm_currentday% +%tm_daypart% +%tm_dd% +%tm_elapseddays% +%tm_mm% +%tm_monthname% +%tm_time% +%tm_yearweek% +%tm_yy% +%tm_yyyy% +``` +---- + - ### **[Time Tokens](https://www.spigotmc.org/resources/75441/)** > NO DOWNLOAD COMMANDS @@ -3929,13 +4328,31 @@ Per Player/Event placeholders: > NO DOWNLOAD COMMANDS ``` -%tntrun_played% -%tntrun_wins% -%tntrun_losses% -%tntrun_version% +%tntrun_allplayers_% %tntrun_arena_count% +%tntrun_currency_% +%tntrun_current_arena% +%tntrun_doublejumps% +%tntrun_joinfee_% +%tntrun_leaderboard_losses_player_% +%tntrun_leaderboard_losses_score_% +%tntrun_leaderboard_played_player_% +%tntrun_leaderboard_played_score_% +%tntrun_leaderboard_wins_player_% +%tntrun_leaderboard_wins_score_% +%tntrun_losses% +%tntrun_nopvp_arena_count% +%tntrun_nopvp_player_count% +%tntrun_played% +%tntrun_players_% %tntrun_player_count% -%tntrun_leaderboard_% +%tntrun_player_count_% +%tntrun_pvp_arena_count% +%tntrun_pvp_player_count% +%tntrun_spectators_% +%tntrun_status_% +%tntrun_version% +%tntrun_wins% ``` ---- @@ -4181,6 +4598,16 @@ Replace `XXX` with the enchantment. ``` ---- +- ### **[VKAutoPickup](https://polymart.org/resource/vkautopickup.153)** +> /papi ecloud download VKAutoPickup + +``` +%vkautopickup_pickup% +%vkautopickup_autosell% +%vkautopickup_autoplanting% +``` +---- + - ### **[VoteParty](https://www.spigotmc.org/resources/987/)** > NO DOWNLOAD COMMAND diff --git a/wiki/Plugins-using-PlaceholderAPI.md b/wiki/Plugins-using-PlaceholderAPI.md index 544888a..0447951 100644 --- a/wiki/Plugins-using-PlaceholderAPI.md +++ b/wiki/Plugins-using-PlaceholderAPI.md @@ -62,6 +62,9 @@ If your plugin isn't shown here and you want it to be added, [open an issue](/Pl - **[ajParkour](https://www.spigotmc.org/resources/60909/)** - [x] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#ajparkour]]**] +- **[AlonsoLevels](https://www.spigotmc.org/resources/83380/)** + - [ ] Supports placeholders. + - [x] Provides own placeholders. [**[[Link|Placeholders#alonsolevels]]**] - **[AnimatedBoard](https://www.spigotmc.org/resources/13632/)** - [x] Supports placeholders. - [ ] Provides own placeholders. [Link] @@ -86,6 +89,9 @@ If your plugin isn't shown here and you want it to be added, [open an issue](/Pl - **[AsyncKeepAlive](https://www.spigotmc.org/resources/64676/)** - [ ] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#asynckeepalive]]**] +- **[Ath](https://www.spigotmc.org/resources/87124/)** + - [ ] Supports placeholders. + - [x] Provides own placeholders. [**[[Link|Placeholders#ath]]**] - **[AutoCommandsPlus](https://www.spigotmc.org/resources/11083/)** - [x] Supports placeholders. - [ ] Provides own placeholders. [Link] @@ -116,6 +122,9 @@ If your plugin isn't shown here and you want it to be added, [open an issue](/Pl - **[BentoBox](https://github.com/BentoBoxWorld/BentoBox)** - [x] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#bentobox]]**] +- **[BetonQuest](https://www.spigotmc.org/resources/2117/) + - [x] Supports placeholders. + - [x] Provides own placeholders. [**[[Link|Placeholders#betonquest]]**] - **[Big Doors Opener](https://www.spigotmc.org/resources/80805/)** - [x] Supports placeholders. - [ ] Provides own placeholders. [Link] @@ -134,6 +143,9 @@ If your plugin isn't shown here and you want it to be added, [open an issue](/Pl - **[BossVote](https://www.spigotmc.org/resources/16497/)** - [x] Supports placeholders. - [ ] Provides own placeholders. [Link] +- **[Boxing](https://www.spigotmc.org/resources/83879/)** + - [ ] Supports placeholders. + - [x] Provides own placeholders. [**[[Link|Placeholders#boxing]]**] - **[Broadcaster Plugin](https://dev.bukkit.org/projects/broadcaster-plugin)** - [x] Supports placeholders. - [ ] Provides own placeholders. [Link] @@ -188,9 +200,12 @@ If your plugin isn't shown here and you want it to be added, [open an issue](/Pl - **[Clans](https://www.spigotmc.org/resources/34696/)** - [ ] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#clans]]**] -- **[Clans](https://www.spigotmc.org/resources/78415/)** +- **[ClansFree](https://www.spigotmc.org/resources/78415/)** - [ ] Supports placeholders. - - [x] Provides own placeholders. [**[[Link|Placeholders#clans-1]]**] + - [x] Provides own placeholders. [**[[Link|Placeholders#clansfree]]**] +- **[ClansPro](https://www.spigotmc.org/resources/87515/)** + - [x] Supports placeholders. + - [x] Provides own placeholders. [**[[Link|Placeholders#clanspro]]**] - **[ClicksPerSecond](https://www.spigotmc.org/resources/57214/)** - [x] Supports placeholders. - [ ] Provides own placeholders. [Link] @@ -259,7 +274,7 @@ If your plugin isn't shown here and you want it to be added, [open an issue](/Pl - [ ] Provides own placeholders. [Link] - **[DeluxeMenus](https://www.spigotmc.org/resources/11734/)** - [x] Supports placeholders. - - [ ] Provides own placeholders. [Link] + - [x] Provides own placeholders. [**[[Link|Placeholder#deluxemenus]]**] - **[DeluxeTags](https://www.spigotmc.org/resources/4390/)** - [x] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#deluxetags]]**] @@ -389,6 +404,9 @@ If your plugin isn't shown here and you want it to be added, [open an issue](/Pl - **[HoloBlock](https://www.spigotmc.org/resources/43192/)** - [ ] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#holoblock]]**] +- **[HoloMobHealth](https://www.spigotmc.org/resources/75975/)** + - [x] Supports placeholders. + - [ ] Provides own placeholders. [Link] - **[HPWizard](https://www.spigotmc.org/resources/26821/)** - [ ] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#hpwizard]]**] @@ -401,6 +419,9 @@ If your plugin isn't shown here and you want it to be added, [open an issue](/Pl - **[InteractionVisualizer](https://www.spigotmc.org/resources/77050/)** - [ ] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#interactionvisualizer]]**] +- **[InteractiveChat](https://www.spigotmc.org/resources/75870/)** + - [x] Supports placeholders. + - [x] Provides own placeholders. [**[[Link|Placeholders#interactivechat]]**] - **[IslandRate (ASkyBlock Addon)](https://www.spigotmc.org/resources/53519/)** - [ ] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#islandrate-askyblock-addon]]**] @@ -536,6 +557,9 @@ If your plugin isn't shown here and you want it to be added, [open an issue](/Pl - **[Nameless Plugin](https://www.spigotmc.org/resources/59032/)** - [ ] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#nameless-plugin]]**] +- **[NameMC-API-ServersMC](https://www.spigotmc.org/resources/88871/)** + - [x] Supports placeholders. + - [x] Provides own placeholders. [**[[Link|Placeholders##namemc-api-serversmc]]**] - **[Nicknamer](https://www.spigotmc.org/resources/5341/)** - [ ] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#nicknamer]]**] @@ -606,11 +630,14 @@ If your plugin isn't shown here and you want it to be added, [open an issue](/Pl - [x] Supports placeholders. - [ ] Provides own placeholders. [Link] - **[PowerRanks](https://www.spigotmc.org/resources/64696/)** - - [ ] Supports placeholders. + - [x] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#powerranks]]**] - **[PremiumVanish](https://www.spigotmc.org/resources/14404/)** - [ ] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#premiumvanish]]**] +- **[Prison](https://www.spigotmc.org/resources/1223/)** + - [ ] Supports placeholders. + - [x] Provides own placeholders. [**[[Link|Placeholders#prison]]**] - **[PrisonMines](https://www.spigotmc.org/resources/4046/)** - [ ] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#prisonmines]]**] @@ -675,12 +702,18 @@ If your plugin isn't shown here and you want it to be added, [open an issue](/Pl - **[RankedHelp](https://www.spigotmc.org/resources/61919/)** - [x] Supports placeholders. - [ ] Provides own placeholders. [Link] +- **[RankJoin](https://www.spigotmc.org/resources/67551/)** + - [x] Supports placeholders. + - [ ] Provides own placeholders. [Link] - **[Rankup](https://www.spigotmc.org/resources/17933/)** - [ ] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#rankup]]**] - **[RawMSG](https://www.spigotmc.org/resources/35864/)** - [x] Supports placeholders. - [ ] Provides own placeholders. +- **[RealisticWorldGenerator](https://www.spigotmc.org/resources/15905/)** + - [ ] Supports placeholders. + - [x] Provides own placeholders. [**[[Link|Placeholders#realisticworldgenerator]]**] - **[RecentFind (Treasures Add-on)](https://www.spigotmc.org/resources/33366/)** - [ ] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#recentfind]]**] @@ -693,6 +726,12 @@ If your plugin isn't shown here and you want it to be added, [open an issue](/Pl - **[RestrictedDimensions](http://spigotmc.org/resources/80574/)** - [ ] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#restricteddimensions]]**] +- **[RocketJoin](https://www.spigotmc.org/resources/82520/)** + - [x] Supports placeholders. + - [ ] Provides own placeholders. [Link] +- **[RocketPlaceholders](https://www.spigotmc.org/resources/82678/)** + - [ ] Supports placeholders. + - [x] Provides own placeholders. [**[[Link|Placeholders#rocketplaceholders]]**] - **[RogueParkour](https://www.spigotmc.org/resources/26563/)** - [ ] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#rogueparkour]]**] @@ -720,6 +759,9 @@ If your plugin isn't shown here and you want it to be added, [open an issue](/Pl - **[Skellett (Skript Add-on)](https://forums.skunity.com/resources/24/)** - [x] Supports placeholders. - [ ] Provides own placeholders. [Link] +- **[Seasons](https://www.spigotmc.org/resources/39298/)** + - [ ] Supports placeholders. + - [x] Provides own placeholders. [**[[Link|Placeholders#seasons]]**] - **[SellAll](https://www.spigotmc.org/resources/1221/)** - [ ] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#sellall]]**] @@ -738,6 +780,9 @@ If your plugin isn't shown here and you want it to be added, [open an issue](/Pl - **[SimpleClans](https://www.spigotmc.org/resources/5269/)** - [ ] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#simpleclans]]**] +- **[SimpleCoins](https://dev.bukkit.org/projects/simplecoins)** + - [ ] Supports placeholders. + - [x] Provides own placeholders. [**[[Link|Placeholders#simplecoins]]**] - **[SimpleCoinsAPI](https://www.spigotmc.org/resources/1432/)** - [ ] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#simplecoinsapi]]**] @@ -753,6 +798,9 @@ If your plugin isn't shown here and you want it to be added, [open an issue](/Pl - **[SkillAPI](https://www.spigotmc.org/resources/4824/)** - [ ] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#skillapi]]**] +- **[SkinsRestorer](https://www.spigotmc.org/resources/2124/)** + - [ ] Supports placeholders. + - [x] Provides own placeholders. [**[[Link|Placeholders#skinsrestorer]]**] - **[Skript](https://github.com/bensku/Skript)** - [ ] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#skript]]**] @@ -789,6 +837,9 @@ If your plugin isn't shown here and you want it to be added, [open an issue](/Pl - **[Statz](https://www.spigotmc.org/resources/25969/)** - [ ] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#statz]]**] +- **[Streaming Drops](https://www.spigotmc.org/resources/76996/)** + - [ ] Supports placeholders. + - [x] Provides own placeholders. [**[[Link|Placeholders#streaming-drops]]**] - **[StrikePractice 2](https://www.spigotmc.org/resources/46906/)** - [x] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#strikepractice-2]]**] @@ -825,9 +876,15 @@ If your plugin isn't shown here and you want it to be added, [open an issue](/Pl - **[Thirst](https://www.spigotmc.org/resources/3316/)** - [ ] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#thirst]]**] +- **[TicketGUI](https://www.spigotmc.org/resources/68968/)** + - [ ] Supports placeholders. + - [x] Provides own placeholders. [**[[Link|Placeholders#ticketgui]]**] - **[Timed Rewards](https://www.spigotmc.org/resources/34008/)** - [ ] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#timed-rewards]]**] +- **[TimeManager](https://www.spigotmc.org/resources/44344/)** + - [ ] Supports placeholders. + - [x] Provides own placeholders. [**[[Link|Placeholders#timemanager]]**] - **[Time Tokens](https://www.spigotmc.org/resources/75441/)** - [ ] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#time-tokens]]**] @@ -849,6 +906,9 @@ If your plugin isn't shown here and you want it to be added, [open an issue](/Pl - **[TownyChat](https://github.com/TownyAdvanced/TownyChat)** - [x] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#townychat]]**] +- **[TpLogin](https://www.spigotmc.org/resources/21692/)** + - [x] Supports placeholders. + - [ ] Provides own placeholders. [Link] - **[TransmuteIt](https://www.spigotmc.org/resources/76287/)** - [ ] Supports placeholders. - [x] Provides own placeholders. [**[[Link|Placeholders#transmuteIt]]**] diff --git a/wiki/README.md b/wiki/README.md index 6d67df5..8ec782a 100644 --- a/wiki/README.md +++ b/wiki/README.md @@ -13,35 +13,38 @@ The wiki is handled on a separate branch called `docs/wiki`. When making a Pull request, make sure to target this specific branch. Any PR not targeting this branch may either be closed or the target changed. ## Adding your resource(s) -If you have one or multiple resources that support PlaceholderAPI (being it by just supporting placeholders from other plugins, or providing your own) can you add them to the wiki in the following ways. +When you either have a plugin, which adds and/or uses placeholders or an expansion and you want to add it to the wiki should you follow the below steps. + +- [Plugins using PlaceholderAPI](#plugins-using-placeholderapi) +- [Placeholders](#placeholders) ### [Plugins using PlaceholderAPI] -You should always add your resource to this page, no matter if it only supports placeholders or also provides its own. +This is only required for plugins. +If your plugin supports placeholders of other plugins and/or provides own placeholders through PlaceholderAPI should you always add it the the `Plugins using PlaceholderAPI` page. -The format of a plugin is always as follows: -```md +Each entry on this page follows a specific format that you need to follow: +```markdown - **[:name](:url)** - [?] Supports placeholders. - [?] Provides own placeholders. [:link] ``` -A quick summary over the different parts: - -- `:name` is the name of your resource. The resources are ordered by alphabet and if yours has the same name as another one listed, add it __below__ the other resource. -- `:url` should be replaced with a URL to your resource page (Spigot, dev.bukkit, etc.). If you use Spigot, make sure to remove any text after the `/resources/` and only leave the ID. For example will https://www.spigotmc.org/resources/placeholderapi.6245/ become https://www.spigotmc.org/resources/6245/. -If you don't have your resource on any resource page can you either ommit the URL (Just provide the name) or provide a link to its source, if available. -- `?` should be replaced with either an `x` or a space depending on wether your plugin supports the option or not. So the `[?]` becomes either `[x]` or `[ ]` -- `:link` depends on wether your plugin provides own placeholders or not. If it doesn't, then you can just give `Link`. If it does provide placeholders, make sure to provide `[[Link|Placeholders#:name]]` where `:name` would be the name of your resource in the [Placeholders] page. +| Key | Description | +| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:name` | The name of the Plugin. Plugins are ordered by alphabet and if your plugin shares the same name as another one will you need to add it **below** the other resource. | +| `:url` | The URL to your plugin. Spigot URLs should only contain the ID. E.g. https://www.spigotmc.org/resources/placeholderapi.6245/ becomes https://www.spigotmc.org/resources/6245/ | +| `?` | Should be replaced with either an `x` or a space, depending on if the option is supported. So the result is either `[x]` or `[ ]` | +| `:link` | If your plugin also provides own placeholders should you add it to the [Placeholders] page. In such a case should you use `[**[[Link\|Placeholders#:name]]**]` otherwhise just `[Link]` | ### [Placeholders] -If your plugin provides its own placeholders through an extension is it recommendet to add this extension to the [Placeholders] page. +This step is required if you either have a plugin or an expansion that provides their own placeholders. You should add your resource to the Placeholders page of the wiki. This page is split up into two sections: PAPI Placeholders and Plugin Placeholders. PAPI Placeholders are extensions that don't require an external plugin or other dependency to function normally. Common examples are the Player or Server extensions. The Plugin Placeholders are extensions that require a plugin or other dependency to function. They are often used to provide values from one pluging (e.g. Vault) to another plugin through the help of PlaceholderAPI. -The overall structure of an entry is always the same: -````md +The syntax used for each entry is the same: +````markdown - ### **[:name](:url)** > :command @@ -51,36 +54,51 @@ The overall structure of an entry is always the same: ---- ```` -- `:name` is the name of your resource. The resources are ordered by alphabet and if yours has the same name as another one listed, add it __below__ the other resource. -- `:url` should be replaced with a URL to your resource page (Spigot, dev.bukkit, etc.). If you use Spigot, make sure to remove any text after the `/resources/` and only leave the ID. For example will https://www.spigotmc.org/resources/placeholderapi.6245/ become https://www.spigotmc.org/resources/6245/. -If you don't have your resource on any resource page can you either ommit the URL (Just provide the name) or provide a link to its source, if available. -- `:command` depends on if your extension is available on the eCloud or is build into your resource. If you have it on the eCloud should you provide `/papi ecloud download :name` where `:name` is the name your expansion has on the eCloud. -If your extension is build into your resource can you just set `NO DOWNLOAD COMMAND` instead. -- `:placeholders` would be a list of all placeholders that your extension offers (Sorted by alphabet). If your placeholders support multiple variables like item names, should you use either `` or `[text]` depending on if it is required or optional. +| Key | Description | +| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `:name` | The name of the resource. Resources are ordered by alphabet and if your plugin shares the same name as another one will you need to add it **below** the other resource. | +| `:url` | The URL to your plugin. Spigot URLs should only contain the ID. E.g. https://www.spigotmc.org/resources/placeholderapi.6245/ becomes https://www.spigotmc.org/resources/6245/ | +| `:command` | The download command. When your resource is an expansion on the ecloud would you need to add `/papi ecloud download :name`. If it isn't an expansion should you put `NO DOWNLOAD COMMAND` instead. | +| `:placeholders` | List of placeholders your plugin/expansion offers. The list should stay in alphabetical order. You can use `<>` and `[]` to indicate required and optional variables. | -Always keep an empty line in between the `----` and the next entry below it. -If your extension is at the very bottom of the page can you ommit the `----`. +#### Extra notes -You will also need to add your extension's name to the list at the very top in the format `- **[:name](#:name)**` where `:name` is the extension name. +- If your entry has another one below it will you need to add an empty line, followed by for hypthons (`----`) at the bottom of your entry to separate it. +- You are allowed to add a description between the `> :command` and the placeholder list. Keep in mind to keep an empty line after the command line to prevent wrong formatting. A description is only useful/required if your expansion/plugin offers specific placeholder values and/or features. +- Always add your entry's name to the list at the top of the page in the format `- [:name](#:name)`. Note that if your entry shares the same name as another one on the page and you added it below it, that you will need to append a `-1`, `-2`, ... to the name in the brackets, depending on how many entries with the same name there are. +---- ## Other Wiki pages Please follow these general guidelines when editing any other pages. -### Linking -Linking should always be done through either the reference option or through the Wiki link option. -When the link leads to a page on the wiki should you use either `[[:page]]` or `[[:name|:page]]` where `:page` would be the name of the Wiki page (Case sensitive) and `:name` the text that would be displayed instead. -When linking to a section within a Wiki page should you link to it using a hashtag (`#`). For example would linking to the player extension result in `[[Placeholders#player]]` (Always have the section lowercase. -However, when you link to a section in the same wiki page should you do it in the format `[:name](#:section)` where `:name` is the text to display and `:section` is the name of the section. +### Links +The wiki uses 3 types of links: +- [Reference Links](#reference-links) +- [Wiki Links](#wiki-links) +- [Header Links](#header-links) -When you link to an external page that isn't part of the wiki should you do it as a reference link (Exception is the above mentioned cases for resources and extensions). -You do this by adding `[:name]: :url` at the top of the page where `:name` is the reference name to use and `:url` is the url to link to. +#### Reference Links +Reference Links are in the format `[:text]: :url` where `:text` is the name to use as reference and `:url` is the url. +These types of links are usually put at the top of the page and allow us easier updating of these links, by just altering the URL without the need to replace them in the entire file. -You can then just use either `[:name]` or `[:display_text][:name]` to link to the url you set (`:display_text` could be any text (including spaces) to display). -Reference links are case-insensitive. +To use a reference link, either use `[:text]` or `[:displayed_text][:text]` to link with a differently shown text. -This system allows us to easly maintain the links without the need to update a URL on several places within the page. +For example: With `[wiki]: https://github.com/PlaceholderAPI/PlaceholderAPI/wiki` will `[wiki]` become [wiki] and `[to the wiki][wiki]` becomes [to the wiki][wiki]. +Always use reference links for URLs that point outside of the Wiki. Only exceptions are Links in the [Placeholders] and [Plugins using PlaceholderAPI] page (See above for details). + +#### Wiki Links +Wiki links are used to link to other pages on the wiki. +These types of links are in the format `[[:pagename]]` or `[[:text|:pagename]]` to display a different text. `:pagename` is case-sensitive. + +If you want to link to a header in another wiki page can you use `[[:text|:pagename#:header]]`. + +#### Header Links +Header links are used to link to a section within the same wiki page. +The format is `[:text](#:header)`. The header name is case-insensitive but it's recommended to keep it lowercase. + +---- ### Lists Lists should always be started with a hyphen (`-`) to better distinguish it from other formatting characters like the asterisk (`*`) used for bold or italic text. diff --git a/wiki/_Footer.md b/wiki/_Footer.md index c9c4849..96d43e8 100644 --- a/wiki/_Footer.md +++ b/wiki/_Footer.md @@ -1,16 +1,23 @@ +[papi]: https://placeholderapi.com + [discordImg]: https://img.shields.io/discord/164280494874165248.svg?logo=discord&label=Discord&colorB=7289DA [discord]: https://helpch.at/discord + [jenkinsImg]: https://img.shields.io/badge/Download%20from-Jenkins-brightgreen.svg [jenkins]: http://ci.extendedclip.com/job/PlaceholderAPI/ + [licenseImg]: https://img.shields.io/github/license/PlaceholderAPI/PlaceholderAPI.svg [license]: https://github.com/PlaceholderAPI/PlaceholderAPI/blob/master/LICENSE + [issuesImg]: https://img.shields.io/github/issues-raw/PlaceholderAPI/PlaceholderAPI.svg?logo=github&logoColor=white [issues]: https://github.com/PlaceholderAPI/PlaceholderAPI/issues -[versionImg]: https://img.shields.io/nexus/r/http/repo.extendedclip.com/me.clip/placeholderapi.svg?label=API-Version + +[versionImg]: https://img.shields.io/nexus/placeholderapi/me.clip/placeholderapi?server=https%3A%2F%2Frepo.extendedclip.com&label=API%20Version [plugin-page]: https://spigotmc.org/resources/6245 +> © 2015 - 2021 [PlaceholderAPI Team][papi] > Thanks for using PlaceholderAPI. > > **[Plugin-page]** | **[[Placeholders]]** | **[[Plugins using PlaceholderAPI]]** | **[[Hook into PlaceholderAPI]]** - -![versionImg] [![jenkinsImg]][jenkins] [![licenseImg]][license] [![issuesImg]][issues] [![discordImg]][discord] \ No newline at end of file +> +> ![versionImg] [![jenkinsImg]][jenkins] [![licenseImg]][license] [![issuesImg]][issues] [![discordImg]][discord] diff --git a/wiki/_Sidebar.md b/wiki/_Sidebar.md index cf0cdab..0df7de5 100644 --- a/wiki/_Sidebar.md +++ b/wiki/_Sidebar.md @@ -1,5 +1,5 @@

- PlaceholderAPI + PlaceholderAPI

**[[Main page|Home]]** @@ -49,7 +49,10 @@ - [[Server|Placeholders#server]] - [[Sound|Placeholders#sound]] - [[Spectators|Placeholders#spectators]] + - [[SpeedPerSec|Placeholders#speedpersec]] - [[Statistic|Placeholders#statistic]] + - [[Team|Placeholders#team]] + - [[World|Placeholders#world]] - [[Plugin-placeholders|Placeholders#plugin-placeholders-1]] - [[A|Placeholders#a]] diff --git a/wiki/img/icon.png b/wiki/img/icon.png new file mode 100644 index 0000000..750505d Binary files /dev/null and b/wiki/img/icon.png differ diff --git a/wiki/img/logo.png b/wiki/img/logo.png new file mode 100644 index 0000000..95e21cf Binary files /dev/null and b/wiki/img/logo.png differ