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 @@
-
+
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_