#placeholder-api
1 messages ยท Page 14 of 1
bet
getting a test dummy on to punch rn
one moment
ok adding it on
didnt work
ok maybe it does work
i think the placeholder issue
is done
not its a matter of getting it to work on my armor set
so
thank you
๐
Why i dont see vault baltop placeholders? Theres so many tuts on youtube and its working for them
Baltop placeholders were moved to the essentials expansion since it is not a function provided by vault, but essentials
i have problem with papi and deluxemenus cause when i want to execute a command with %player_name% it dont works, this placeholder is even in example menu config, and the command dont work, because it says 'cannot find player named %player_name%' what can i do with it
?
make sure you have the player placeholder pack installed
can you try to update the server expansion to the latest version (2.6.2)?
Hi there, rather confused as to what is happening. This may seem very straight forward to some but after taking a massive break from the spigot library and java, i am so lost. This has only started happening recently.
Every time i use placeholderApi.setPlaceholders I get a NullPointerException. Here is an example code snippet:
@EventHandler // Listens for an event
public void onPlayerJoin(PlayerJoinEvent event) { // Runs when player joins the server
Player player = event.getPlayer();
String newChatMessage = PlaceholderAPI.setPlaceholders(player, "%luckperms_prefix%%player_name%" + ChatColor.GOLD + " has joined the server.");
ChatColor.translateAlternateColorCodes('&', newChatMessage);
event.setJoinMessage(newChatMessage); // Line 17
}```
It gives me this in my console:
```Caused by: java.lang.NullPointerException
at me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:72) ~[?:?]
at me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:99) ~[?:?]
at com.fluxx.welcomemessages.Event.onPlayerJoin(Event.java:17) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_361]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_361]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_361]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_361]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot-1.16.5.jar:3096a-Spigot-9fb885e-af1a232]
... 14 more
I have all my dependencies setup and the events hooked into the main class. However unsure as to what the cause is directly. Many thanks.
do you use implementation() by any chance?
Not that im aware of. I havent put that anywhere in the plugin.
no I mean in your build.gradle
or if you use maven, make sure the scope of the dependency is set to provided
Sorry but im unsure what you mean, I use Intellij "Build Fragments" to do my building. Sorry for my lack of understanding but could you help me locate that?
ah, good luck with the built-in tool
Oh is it not ideal to use that? I just dont understand as it was working fine earlier, and from what i can tell, i havent touched any other file other than the relevant classes
It's a very very outdated way. You should look into Maven / Gradle. If you also want to add this IntelliJ plugin, https://plugins.jetbrains.com/plugin/8327-minecraft-development, it makes it very easy to startup a new project.
ok great ill look further, many thanks
btw
newChatMessage = ChatColor.translateAlternateColorCodes('&', newChatMessage);
Hello There,
i need help i use a Plugin that Dev told me i need the PAPI that the Plugin can work but idk what PAPI is and how it works i am new in Coding so i haven't much experience and with the Wiki of Papi i can't realy find out what to do can anyone help?
Do you just need the plugin on the server?
If so, just download it from here https://www.spigotmc.org/resources/placeholderapi.6245/ and add it like any other plugin ๐
am i not needet to config it? is it config from self?
What do you even need?
i got a code from another Plugin and the Dev told me i need to use PAPI but the Dev won't help me there because he say it's not his Plugin so he just gave me the link of the Plugin i would show you the code i got but i can't post Pictures here can i Post a link here?
You won't be able to upload images here directly to avoid spam, so please use https://imgur.com/upload or similar service to upload images/screenshots.

and the command with %player% is not working
is placeholderAPI have a permission to use command ? I want my staff can using /papi parse to check some placeholder
dependency 'me.clip.placeholderapi:2.11.2' not found
Please respect the rules, be patient and don't ping staff members!
how to change this iron_ingot to this iron ingot ?
Hello! I have just updated the PlayerStats expansion, could someone verify it for me again? ๐
This makes no sense.
I dont think there any permissions for placeholderAPI. If you want your staff to do /papi parse they will need OP.
Thank you ! I maybe try to make a item execute command then
i got one problem
everything was fine then i did /papi ecloud download quests and now it doesnt work anymore
as i u can see there it says player biome not biome name and vault rank same think
suddenly those two thinks just broke pls someone help im almost done nothing works
remove the quest expansion ๐
how
when something breaks after you change something, revert the change
manually, from plugins/placeholderapi/expansions
omg lol
thanks
why would it not work
om one more think if u could know can u tell me pls how to add beautyquest that shows u the advance for example how many u killed or mined and much more u need
I guess the expansion is no longer needed for the new versions of the quest plugin
@patent merlin do you have a newer version of the expansion that works with the latest version of the plugin?
Caused by: java.lang.NoClassDefFoundError: me/blackvein/quests/quests/IQuest
I see you have https://github.com/PikaMug/PlaceholderExpansion-Quests which looks more updated, can you post it on the ecloud?
please help
papi error's on startup once every 4-5 days
and breaks every single placeholder
get good
Hey ๐ Someone knows if I can rename an item with checkitem expansion?
im currently using velocity and i have my lobby set on 1.19.3 and my uhc server on 1.8, and I need to check if the server has a motd; how would i do that?
with placeholder api
[20:17:06 WARN]: [PlaceholderAPI] Task #2315 for PlaceholderAPI v2.11.2 generated an exception
org.bukkit.plugin.messaging.ChannelNotRegisteredException: Attempted to send a plugin message through the unregistered channel `BungeeCord'.
at org.bukkit.plugin.messaging.StandardMessenger.validatePluginMessage(StandardMessenger.java:482) ~[server.jar:git-Spigot-21fe707-741a1bd]
at org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer.sendPluginMessage(CraftPlayer.java:1039) ~[server.jar:git-Spigot-21fe707-741a1bd]
at com.extendedclip.papi.bungeeexpansion.BungeeCordExpansion.getPlayers(BungeeCordExpansion.java:120) ~[?:?]
at com.extendedclip.papi.bungeeexpansion.BungeeCordExpansion.access$200(BungeeCordExpansion.java:45) ~[?:?]
at com.extendedclip.papi.bungeeexpansion.BungeeCordExpansion$1.run(BungeeCordExpansion.java:207) ~[?:?]
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:71) ~[server.jar:git-Spigot-21fe707-741a1bd]
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350) [server.jar:git-Spigot-21fe707-741a1bd]
at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:723) [server.jar:git-Spigot-21fe707-741a1bd]
at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [server.jar:git-Spigot-21fe707-741a1bd]
at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [server.jar:git-Spigot-21fe707-741a1bd]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [server.jar:git-Spigot-21fe707-741a1bd]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_312]
Multiple bungee expansions loaded.
Go to plugins/PlaceholderAPI/expansions and delete all the BungeeExpansions, then execute a /papi reload. After that redownload the expansion using /papi ecloud download bungee then /papi reload.
is there a way i can get a server motd not the current server im on but another server?
how do i make a math addition with a placeholder inside command and a changeoutput command where it changes that value to 0 if it says the number. (nested)
i need an example of it
That error would imply you're using an older version of Quests (or the wrong Quests plugin).
Please respect the rules, be patient and don't ping staff members!
I can verify when I get the chance soon, just curious why keep it external vs. internal?
Yes because people download the latest plugin from spigot and then the outdated version of the expansion from ecloud
https://prnt.sc/MK2_d-bT6vVm
What's the problem? My placeholders don't want to work.
Version: 1.19.2.
Core: Purpur
PS: The placeholders are loaded, if anything.
Thanks a lot!
And honestly, I didn't know a lot when I first made the expansion and wasn't aware of the hassle it would be to maintain it as external. I had read the placeholderAPI wiki, which said internal and external were both valid choices, and I wanted to challenge myself, so I made an API for my plugin (also a first for me) and used that to create an external expansion. I'm quite proud of how it turned out, but I have come to see now why the first thing I was told in this discord is "oh we actually recommend making it internal" (which I found out after I made the whole thing ๐)
Long story short, I put quite a lot of effort into the expansion, and maintaining what I currently have seemed easier than moving it to inside my own plugin. I'd be open to make it internal in the future though, if that wouldn't impact the people currently using it too much.
does placeholder work with velocity
It does not go on the proxy itself
java.util.concurrent.CompletionException: java.lang.NoClassDefFoundError: me/blackvein/quests/quests/IQuest
at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?]
at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770) ~[?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760) ~[?:?]
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?]
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?]
at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?]
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?]
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?]
Caused by: java.lang.NoClassDefFoundError: me/blackvein/quests/quests/IQuest
at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?]
at java.lang.Class.privateGetDeclaredMethods(Class.java:3402) ~[?:?]
at java.lang.Class.getDeclaredMethods(Class.java:2504) ~[?:?]
at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.lambda$findExpansionInFile$7(LocalExpansionManager.java:413) ~[PlaceholderAPI-2.11.3-DEV-165.jar:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
... 6 more
Caused by: java.lang.ClassNotFoundException: me.blackvein.quests.quests.IQuest
at java.net.URLClassLoader.findClass(URLClassLoader.java:445) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:587) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?]
at java.lang.Class.privateGetDeclaredMethods(Class.java:3402) ~[?:?]
at java.lang.Class.getDeclaredMethods(Class.java:2504) ~[?:?]
at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.lambda$findExpansionInFile$7(LocalExpansionManager.java:413) ~[PlaceholderAPI-2.11.3-DEV-165.jar:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
... 6 more```
how do i fix this piece of shit
it just randomly started doing this
i updated to dev ver
useless
remove the quests expansion or install the quests plugin
i dont have a quests expansion
execute /papi dump and send the generated link here
also have you tried restarting the server?
a full restart, not a reload or anything like that
restarting it fixes it
i dont reload my server
the issue is, one out of ever 5 reboots, it breaks
send this
delete
okok lemme try that, ty
simple way to get placeholder ui registered?
what? @sharp glacier
if you need the expansion, get it from here @covert yarrow https://www.spigotmc.org/resources/placeholderexpansion-quests.69357/
im trying to create placeholders for a plugin and im not sure how to do it
Heya, what are the slot ID's of the crafting slots for CheckItem?
Darn :/
yep, looks like it's only accessible via click/drag events
isn't like you can put items there anyways
Yeah but I need to disable those slots because it creates an exploit in my server
what?
nah that's for the click event probably
oh he wants to use them with checkitem? no idea if that's possible
It allows people to craft in a certain section where they shouldnโt be able to, thatโs all
Iโm using a plug-in to disable moving items to those slots, but it doesnโt disable DRAGGING items across those slots
So people can still work around crafting, and for whatever reason I canโt cancel the craft
Expansion version 1.6 should be fully compatible with the latest Quests. It seems more likely to be user error. For example, that Lunar fellow earlier today was trying to use my expansion with LMBishop's plugin of the same name.
Please respect the rules, be patient and don't ping staff members!
You get player open inventory, get top inventory, check type, and you have access to slots
Makes sense, the slots don't exist unless the inventory is open
hence why you won't be able to check them
or... I'll do some testing
wording is always weird with spigot docs
@NotNull
InventoryView getOpenInventory()
Gets the inventory view the player is currently viewing. If they do not have an inventory window open, it returns their internal crafting view.
i will test and see, but slot numbers will be different so i'll have to consider that
What i mention works at least to remove items from crafting grid to prevent duplications
Hey, I need help. I am new to papi but i looked at examples and tried making my own expansion, i also put new PAPIExpansion().register(); in main already
but, when doing /papi list it does not show up
public class PAPIExpansion extends PlaceholderExpansion {
@Override
public boolean canRegister() {
return true;
}
@Override
public String getIdentifier() {
return "ffa";
}
@Override
public String getAuthor() {
return "apuppy";
}
@Override
public String getVersion() {
return "1.0";
}
@Override
public String onPlaceholderRequest(Player p, String identifier) {
if (identifier.equals("kills")) {
return String.valueOf(getKills(p.getName()));
}
else if (identifier.equals("deaths")) {
return String.valueOf(getDeaths(p.getName()));
}
else if (identifier.equals("KD")) {
if (getDeaths(p.getName()) == 0) {
return String.valueOf(getKills(p.getName()));
} else {
DecimalFormat df = new DecimalFormat("#.##");
double KD = (double) getKills(p.getName()) / getDeaths(p.getName());
KD = Double.parseDouble(df.format(KD));
return String.valueOf(KD);
}
}
return null;
}
}
me?
Yes
Yes
You should use uuid btw
Hey guys I need help.
I installed a tabline.js and it used to work, Now it no longer doesn't after updating.
I registered it again but still nothing? what can I do?
[02:15:12 WARN]: [PlaceholderAPI] File: example.js for javascript placeholder: example is empty
[02:15:12 WARN]: [PlaceholderAPI] Failed to set ScriptEngine for javascript placeholder: tabline
Is there any placeholder that allows me to get a string after or before a certain character?
no D:
Please respect the rules, be patient and don't ping staff members!
i forgot to turn off reply mention mb
%string_substring_<startIndex>_<string>% and %string_substring_<startIndex>,<endIndex>_<string>%
try to update your Javascript expansion's version
try to override persist and set it to true
if it doesn't work, can you send your class where you register the expansion?
can you send the second part of the error?
thats the whole part, i fixed it myself
Well, what was the problem?
Ah, classic
happens like everytime
@junior musk I remember seeing a "substring before" placeholder somewhere, hmm
substring with 0 and string charAt combined with nested?
Uh
Welp, cant find it
It was probably a method xD
%nested_string_substring_0,{string_indexOf_<someChar_<string>}_<string>%
should probably do the job
may not even needed Nested actually
but yeah
public void onEnable() {
plugin = this;
this.registerEvents();
new PAPIExpansion().register();
}
try to override persist and set it to true
sorry but I dont understand D:
name: PuppyFFA
author: aPuppy
main: puppy.a.puppyffa.Main
version: 1.0
api-version: 1.8
alr
add depend: [PlaceholderAPI]
๐
Hey everyone, my papi is version 2.11.2 and almost all https://prnt.sc/T5uDVCfsmi7f placeholders aren't working; does anyone have an idea why they dont work?
Do you have the expansions installed? /papi list installed
they used to work just fine
but now they dont at all? i also restarted the server and tried /papi reload
parse?
i tried /papi parse me %pronouns_pronouns% but it gave me the ''an internal error occurred'' message
Check console
Alright thanks, working again!
I asked this a while ago and kind of forgot about it but is there any way to parse as someone who isn't online? I know cj89898 said no but perhaps with a plugin to fake pllayers?
it's specific to each placeholder fyi
more details for others -> #placeholder-api message
%team_color% was the placeholder in question
Oh alright my bad
I might be asking for a lot but do you think that could come in the future for %team_color%?
ok so um were do i ask for help
ยป Give the helpers some details
ยป Ask suitable questions
ยป Be polite
ยป Wait
That only works with numbers, no?
Yeah it doesn't let you use a character
hello i have a problem with deluxemenus, when in the menu i put "'[console] give %player_name% ITEM'" this doesn't work but if i put "'[console] give Antodirector ITEM'" (Antodirector is my nick) it works. I also tried with %player% %player_uuid% but nenache with them goes, this is the error in console: [22:24:19 INFO]: Invalid name or UUID
[22:24:19 INFO]: clear %player_name% minecraft:gold_block 1<--[HERE]. How come ?
i use placeholder-api
Player placeholder not working? If you are using a plugin which supports PlaceholderAPI, and the %player% placeholder doesn't work, then change it to %player_name% and download the player expansion.
Commands:
/papi ecloud download player
/papi reload
uhhh what happened to %vault_prefix_color%
It doesn't work in game, just parses as %vault_prefix_color% and I can't find it in tab completion or on the wiki anymore
Looks like: #ecloud-updates message
ah shoot, welp, just gotta downgrade
https://api.extendedclip.com/expansions/fetch/
https://github.com/Toshimichi0915/fetch/pull/1
Can anyone please reverify my expansion?
Going to leave it for the time being. Need to talk with the team about the concept of this expansion.
If you have difficulty re-verifying this expansion please ping me after talking to the team
Is Placeholders still broken in the latest paper update?
Yup placeholders is still broken
Hmm, I don't think I've seen anybody else mention it yet, not sure if @trim mist has seen anything or not
Last I see, he couldn't reproduce your issue
I just updated a server tonight to the latest build that has like 21 hooks and all worked fine ๐
%combatlogx_in_combat%
in this placeholder instead of just yes or no
its saying <red>No</red>
try the beta maybe @austere hawk https://jenkins.sirblobman.xyz/job/SirBlobman/job/CombatLogX/job/main/
I see 11.2.0.0 most recent github commit
Fix placeholder issues with new language system from BlueSlimeCore.
ok
That's weird... maybe AuriliumSkills placeholders doesnt work with latest paper update
any errors in your log?
besides the one you linked originally Caused byjava.lang.IllegalArgumentException: %aureliumskills_power% is not a PlaceholderAPI placeholder!
?startuplog
Startup Log Location
Your latest startup log can be found in the logs folder of your
server directory, labeled as latest.log.
Please copy the contents and paste them to a paste service.
Type ?paste for more information.
some expansions have native support, for others you need to use an expansion like nested
I looked up into nested I don't know how it exaclt works though, as the examples in the readme doesn't give too much info
Let's say I have %ecopets_pet% and I want it inserted inside <id> of this placeholder %ecopets_<id>_current_xp%
would it be something like this? %nested_{ecopets_{ecopets_pet}_current_xp}%
you don't need the extra {} around the first placeholder, but yes, that's how it works
i am sorry for that reply but the plugin isnt getting loaded by my server
Please respect the rules, be patient and don't ping staff members!
sry for the ping
is there a placeholder that shows how many potion effects a player has in an integer?
%math_2_0/0% = error ๐
should be 0 
uh
no...
you don't know maths lol
that's like, one of the most basic things you learn in school
0/0 = everything
i know it
or... well... error
%math_2_{statistic_player_kills}/{statistic_deaths}% 
that is a better explanation
I had the same idea x)
or well
you could do that inside math
just min the value
or, max
max(1, {statistic_deaths}) maybe
maybe also MAX, not sure, we used it before tho
if you cant divide 0 by something then technically 0 divided by said thing can be done 0 times which means the answer is 0
but ion know
%math_2_{statistic_player_kills}/MAX(1, {statistic_deaths})% nice, its work
lol
i will not argue
stupid shit
A resource that allows information from your favorite plugins be shown practically anywhere!
โข Spigot
โข Wiki
โข Placeholder-List
โข GitHub
โข eCloud
so if its not on those it doesnt exist
not exactly, but most are on there
also all the work we did with the changeoutput nestedx10000 placeholder was for zilch because the dev messed up an event activator
if it's provided by another plugin, might not be on there
;-;
we are gonna pretend that solution doesnt exist
line 1, characters 5805
might be easiest to #1080586241810124911 lol
I will dm u and explain what the change output thing was for if you are interested
oh i just read back what we did, that sucks
damn devs smh
that was a long-ass placeholder
support
?
19:16:01] [Server thread/INFO]: [PlaceholderAPI] Placeholder expansion registration initializing...
[19:16:01] [Server thread/INFO]: [PlaceholderAPI] Fetching available expansion information...
[19:16:01] [Server thread/ERROR]: [PlaceholderAPI] failed to load class files of expansions
java.util.concurrent.CompletionException: java.lang.NullPointerException
at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.lambda$findExpansionInFile$7(LocalExpansionManager.java:412) ~[PlaceholderAPI.jar:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760) ~[?:?]
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?]
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?]
at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?]
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?]
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?]
Caused by: java.lang.NullPointerException
Please respect the rules, be patient and don't ping staff members!
Is there anything that regulates the update of %essentials_baltop_balance_formatted_<rank>%
I have this setup to display the top 5 balances on my server but for some reason the amounts are not updating to reflect the proper amounts on the player
PING ME with reply please, so i go to do /papi ecloud download player, it works then tells me to do /papi reload... i do that... and the issue is... after doing the reload part it doesn't save the install of the plugin/hook
@brazen path try to parse the placeholder in chat, if the value is different than the one on your hologram or where you have it displayed, check that plugin's update interval
So I am getting the same result, but its incorrect for sure
Please respect the rules, be patient and don't ping staff members!
(not sure if the other message still sent due to alert) So I am getting the same result (between the parse and display), but its incorrect for sure
Is there a placeholder for a number 0 through 10, but the greater an input, the higher the chance of getting a higher number?
so for example if I parsed it, theres a super high chance to get 0, slightly less to get 1, slightly less to get 2, and so on. But if I parse it with an input of 20, it has a higher chance of getting higher numbers
I'm assuming I use javascript for this
I feel max + random maybe
EvalEx is pretty powerful
Whats the MAX thing
Use a log effect on the output maybe
max might not be useful here actually
Iโm not a math genius lol sorry for the ping ๐
whooo? berry?
no placeholder for weather is hindering me rn pls tell me I am missing it
cj come clutch up
The messages.yml file in deluxetags doesn't undertand placeholders in the Tags. Any tips?
I think papi support was added only for the tags, not the messages
Good evening have I done something wrong? because with me the item is no longer displayed
Do not understand why the item is not displayed have the so also again in the False format
wrong channel
Hey, I was wondering if you've had a chance to look at my expansion yet (no rush, I'm just wondering what I can expect)
Expansion in question: https://api.extendedclip.com/expansions/playerstatsexpansion/
PING ME with reply please, so i go to do /papi ecloud download player, it works then tells me to do /papi reload... i do that... and the issue is... after doing the reload part it doesn't save the install of the plugin/hook
Is it possible to put a placeholder inside a placeholder? I would love to do %otherplayer_locx_%player%% or something similar
try { }
the plugin i'm using doesn't parse that
will I need to edit the plugin to do that or is there another way?
Hmm, how would you do that? I could also like manually put in a list of quotes and fun facts myself, and just have the placeholder randomly return one of them if possible.
Isn't that what you need?
Hi, i'm trying to use the expansion "Server", which I downloaded from the ecloud command.
It's now in the expansions folder, but when it loads, it fails to load with this error:
java.lang.NullPointerException: The expansion version is null!```
I don't understand this expansion can be invalid since it's an official and common expansion.
Can somebody help ?
hmm what do you mean? I don't know how I would do it
Hey, just a question out of curiosity:
how are you guys handling placeholders for offline players? Currently using placeholders in a ban command, but the offlineplayers name is always null if the person hasnt played before
well, what do you expect?
still havent gotten a reply
Hey, im having an issue with the plugin not hooking to any placeholders after a restart. But when i load the plugin everything hooks/works
https://paste.helpch.at/iqevenayok this is my dumpfile
I'll verify, but still curious about my question
yeah that's what i ended up using. thanks!
Does anyone know a placeholder were I can separate a string into multiple via a character?
For example:
%string_separate_\u_1_WOODEN_SWORD > WOODEN
%string_separate_\u_2_WOODEN_SWORD > SWORD
\u stands for _ in this example
Seems like something that would have to be made with the JS expansion but it's worth asking xD
I don't think so, but I also think an actual expansion would perform better than using JS for that.
Ah, I see
Check the placeholders there
Yeah, I actually use string already, sadly it doesn't have this feature
It has %string_substring_<startIndex>,<endIndex>_<string>% which is the closest thing, but sadly won't work for automation since it uses integers and not strings to "split" it
%string_indexOf_<string>_<match>%
How does that work?
hello indexof ell is 1
also %string_lastIndexOf_<string>_<match>%
should be easy to add i feel
a split
Ah yeah
Please respect the rules, be patient and don't ping staff members!
hello
can anyone tell me balancetop of offline and online players placeholder for leaderboards ?
Anyone knows why this keeps happening? https://prnt.sc/M_ecshBR08zg
i restarted the server, the placeholders are downloaded
i got the right papi version
it used to work just fine until a week ago
I don't remember, do they work on /papi parse?
what's weird is that one of them works
ok and whats the error?
Paste Services
When asking for help with a config/menu/code issue please use our paste bin:
(we prefer it over pastebin.com)
โข HelpChat Paste - How To Use
actually, it might load before an exception and the others aren't loaded
Startup Log Location
Your latest startup log can be found in the logs folder of your
server directory, labeled as latest.log.
Please copy the contents and paste them to a paste service.
Type ?paste for more information.
oh
my guess is this pronouns expansions breaks the loading of the other expansions
thats a thing?
how can i turn it off to test?
actually, try to remove the pronouns placeholder from your chat format for a test
great, report the problem to the author then
https://prnt.sc/0NrMKeWSi-gY thank u so much
np
when a placeholder doesn't work somewhere, try it in chat as well
idk why it didn't throw an exception when you talk, it is probably supressed
@mint fable
Sorry for the ping, but I already responded to your question ๐
And thanks for the verification!
Please respect the rules, be patient and don't ping staff members!
Please respect the rules, be patient and don't ping staff members!
PING ME with reply please, so i go to do /papi ecloud download player, it works then tells me to do /papi reload... i do that... and the issue is... after doing the reload part it doesn't save the install of the plugin/hook
https://paste.helpch.at/iqevenayok this is my dumpfile
Have you tried installing it manually?
Putting this inside your expansions folder
Iโll try
Hi guys, I have this Motd plugin https://modrinth.com/plugin/advancedserverlist and use this expansion https://api.extendedclip.com/expansions/worldborder/ to get the world size and put it in motd, and the problem is that it is only visible while players are online, is it possible to fix this ? I'm using the plugin for the first time, sorry for possibly stupid questions
@arctic loom I've tried to check the code but I CBA to dig that deep
Ah, I see. Makes sense. IMO I think you missed the mark with 2.0 to transfer it to internal ๐
Also there's no guarantee I'll see a message unless pinged lol
Nothing my plugin handles.
It just gets an OfflinePlayer based on cached player UUID and gives that to PAPI.
So it's probs the placeholder not accepting offline players (or it being null... idk). @vivid sparrow @minor crystal
@minor crystal what placeholder are you using?
%worldborder_size%
yeah that placeholder requires a player to be online
because it will get the size from player's world
Hm, Ok I understand
%worldborder_fromWorld_{world name here}_size% - the { } are required
Ok, thanks, I will try later
typo, it is fromWorld not fromName*
What papi ecloud extension would i have to install for decent holograms?
A resource that allows information from your favorite plugins be shown practically anywhere!
โข Spigot
โข Wiki
โข Placeholder-List
โข GitHub
โข eCloud
list here 
hey i installed this expansion: https://api.extendedclip.com/expansions/parseother/
now i tried: Rang: %parseother_{PanetiX}_{luckperms_prefix}%
But it shows only "Rang: " with now information after it
is the other user offline?
If so, the luckperms placeholder probably won't work for offline players, and there is no way to "fix" this.
Also, glad to know people use my plugin.
Have you tried without the {} for the username?
Not sure if they are actually required
they are
That's an.... interesting choice
So I have the placeholder %menoliamarket.market1% put when I tried the common command /papi parse me %menoliamarket.market1% it resend me %menoliamarket.market1% So if someone know why? tell me please !!! (PING ME ! ||@nova turret ||)
A member of staff has requested I move your message to a paste,
Most likely because it contains a config/error/code snippet.
A member of staff has requested I move your message to a paste,
Most likely because it contains a config/error/code snippet.
You formatted it with javascript? 
A member of staff has requested I move your message to a paste,
Most likely because it contains a config/error/code snippet.
You need to use %menoliamarket_.market1%
but, it looks to me like you coded it for %menoliamarket_market.1% where 1 is the market name
try that
Probably a really dumb question to ask, but here it goes. Why and when did Papi switch from {Example_Placeholder} to %Example_Placeholder%. Reason why I'm asking - I tried to use the placeholders from my 1.16 FB config on 1.19 (They no longer work) and now I cannot find 1:1's of the old {Example_Placeholder} in the new format.
Placeholderapi never switched the format. Previously, FB had its own placeholderapi version and then max switched to ours. @dreamy drift
Ah, thank you! FB has been making me want to rip my hair out๐
D:
Yes it's required. It worked now but as I see some Placeholders works only when the Player is online :/
thanks you for good plugin, I like it
Oh yeah thx !
Please respect the rules, be patient and don't ping staff members!
I couldn't find a resource with the name or id of Deluxe menu
any way to reset statistic playtime and kills ?
clear player data
how do i do that ...
going to world file, this is world map
then going to playerdata
if you clear that
ok thanks ๐
you will clear all player data like kills, deaths, inventory, ender chest, etc
Pretty sure you have to delete the stats folder
im not sure, im not doing it before, just delete playerdata
new knowledge has been acquired
I've always deleted the stats folder too when I've had to clear stats for example pre launch. Just player data might do it too ๐คท
Having issues with %bungee_total% and %bungee_servername% placeholders
I updated PAPI to latest version and downloaded the latest Bungee extension and now only %bungee_total% is loading
this is what it should be https://i.imgur.com/HiJbAmV.png
and this is what it is showing https://i.imgur.com/xO3U1eW.png
I also have issues with placeholders freezing playercounts
When I updated the bungee extension and updated PlaceholderAPI it broke
execute /papi dump and send the generated link here please
I will do this but I just reverted back to the old Bungee extension jar I was using on now the player count placeholders are fixed (but I believe they still freeze)
I will update it and do that command
do you know why an older version of Expansion-bungee.jar would work but not the newer one?
can I dm you the link?
Having an issue with the Progress expansion not parsing color codes
Anyone know a fix
Tried minimessage & legacy formatting
Can anyone give me a hint?
Is there a placeholder that shows the coordinates of where the player is looking?
For placeholders that return a string of values, for example worldguard member placeholder, is there an easy way or expansion that allows me to "break up" the string into multiple substrings?
no
Dangit
ty
Lies! String expansion does :)
(https://api.extendedclip.com/expansions/string/)
Help
When I try to register to the website it says to contact on discord
who am I supposed to contact?!
What is your use-case for needing to have an account?
I want my premium plugin to offer placeholders
Then add it inside your plugin
You don't need it externally in the eCloud.
all I need to do is to extend PlaceholderExpansion and add my placeholders to there?
thank you
๐
How to create a parameterized placeholder? My plugin has a int getTimesMined(Material material) method and I want to create a placeholder like: %myplugin_diamond_timesMined
the diamond can be replaced with any Material ofc
couldn't find anything on the wiki
That isn't specific to PlaceholderAPI. Just use Java string splitting
Feel free to look through https://github.com/PlaceholderAPI/Essentials-Expansion for examples.
so like if(params.matches("[a-zA-Z]+_timesMined"))?
You could try that sure, I have no idea if it'll work or not.
I will, I'm asking if this is the direction I should go with
because otherwise I have no idea
Well it works with the Essentials expansion, you could try it, or make the variable you need at the end of the placeholder.
what would change if I put it at the end of the placeholder? I'd still need to split/regex the params parameter
No? Just split the string and get the last entry and get it as a material and handle it as you would in your plugin.
That's what I just said lol
materialName = substring(lastIndexOf('_'), params.size());
Okay that's fine
alright, thank you
Please stop pinging with your replies.
Any idea why the plugin doesn't start?
https://sourceb.in/Qd0qtV5dyx
Hello everyone. Is it possible to return a PlaceHolder but force to write in CAPS ?
so like this %luckperms_primary_group_name% -> %string_uppercase_{luckperms_primary_group_name}%
ok thank you verry much cj89898
Trying to create a plugin that gets an integer from a placeholder and then updates the int. How can this be done? Basically how do I convert a placeholder from config.yml or something to an integer
Interger#parseInt
But that does not connect the placeholder to the integer?
ah
parse the placeholder first with PlaceholderAPI#setPlaceholders and then turn it into an int
Like this?
@Default
public void onCheckPapi(Player player) {
count++;
PlaceholderAPI.setPlaceholders(player, String.valueOf(count));
}
I don't really understand how creating placeholders work I think
Found this guide, but he does a lot of other stuff, like extending PlaceholderExpansion etc. https://www.spigotmc.org/wiki/hooking-into-placeholderapi/
I want to create a command that tells the player how many times it has been used, using a placeholder, so the placeholder is connected to the integer counter. So it adds 1 to that int every time it's used.
So I need to create a PlaceholderExpansion right?
yes
Okay it should be registered now https://paste.helpch.at/ibikacoweg.typescript
// Main class:
new CountExpansion().register();
How do I then update the papi_count integer in the config using the placeholder?
I don't get the "update in config" part
Same probably lol, how do I accomplish this after what I've done?
Increase the value and then display it with a placeholder
placeholders have to be set on a message or something that will be sent to the player
the setPlaceholders method won't send the message automatically
methodToIncreaseCount();
player.sendMessage(setPlaceholders(player, "You have used the command %placeholder here% times");```
Ahhh I see, still not sure why the player is used as first arg in the setPlaceholders method though.
because placeholders can be player specific
e.g. %vault_eco_balance% will display the balance of the player provided as argument
while %server_online% will display the same value (the amount of players online) regardless of the player that's provided or if it is null
Ahhh I see, so it's not always used but just always there
Alright, thanks, testing now
yeah it is up to each expansion/placeholder
Hmm it doesn't work https://paste.helpch.at/ibikacoweg.typescript
player.sendMessage(PlaceholderAPI.setPlaceholders(player, "The command has been used %papi_count% times"));
Any idea why? It just writes The command has been used %papi_count% times when using the command
you are registering an expansion, each expansion has an unique identifier (vault, server, player etc) and then what's after the first underscore is passed to the onRequest method
Ahh I see, so which type is this?
you can have any identifier you want, that was just an example, it needs to be a single 'word' without an underscore
%vault_eco_balance% -> vault is the identifier, eco_balance is what gets sent to onRequest(OfflinePlayer, String)
Is there a way to wait till all the expansions have finished loading after /reload ing the server?
yes, dont use /reload
Alright so if I understood correctly, this would work https://paste.helpch.at/gupucicibi.typescript
For this string player.sendMessage(PlaceholderAPI.setPlaceholders(player, "The command has been used %papi_count% times"));
Please respect the rules, be patient and don't ping staff members!
Oops sorry for the ping
Got it working, thanks for the help ๐
How can I transfer the coin on the site into the game?
That's a very vague question. What is "the coin on the site"?
Site Credit https://www.hizliresim.com/s98tg9w it's
I want to show the credit here in the game.
Can you upload that image to imgur and re-send? Not opening.
Please respect the rules, be patient and don't ping staff members!
Could you elaborate on what that image shows?
Any idea why the plugin doesn't start?
https://sourceb.in/Qd0qtV5dyx
I want to transfer the "credit" function from the database into the game.
What database
Please provide as much info as you can
you sent a picture of a website and nobody else knows what it is
I want to pull data from mysql
and I want to transfer it to the game that's it
@sharp raft 
more info https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/Placeholders#mysql
I would be careful though, every time you call the placeholder it's going to query the database, which could be multiple times per second
I don't think the expansion caches, but not sure
would probably be weird if it cached
๐
I downloaded it again but it still gives me that error
Please respect the rules, be patient and don't ping staff members!
o srry
does placeholderapi work on all proxy servers if placed in proxy?
No, papi doesnt support any sort of proxy, it is a spigot plugin
[23:28:30 WARN]: Could not pass incoming plugin message to PlaceholderAPI v2.11.2 java.lang.IllegalStateException: java.io.EOFException at com.google.common.io.ByteStreams$ByteArrayDataInputStream.readUTF(ByteStreams.java:383) ~[server.jar:1.8.8-R0.2-SNAPSHOT] at com.extendedclip.papi.bungeeexpansion.BungeeExpansion.onPluginMessageReceived(BungeeExpansion.java:123) ~[?:?] at org.bukkit.plugin.messaging.StandardMessenger.dispatchIncomingMessage(StandardMessenger.java:428) ~[server.jar:1.8.8-R0.2-SNAPSHOT] at net.minecraft.server.v1_8_R3.PlayerConnection.a(Unknown Source) ~[server.jar:1.8.8-R0.2-SNAPSHOT] at net.minecraft.server.v1_8_R3.PacketPlayInCustomPayload.a(Unknown Source) ~[server.jar:1.8.8-R0.2-SNAPSHOT] at net.minecraft.server.v1_8_R3.PacketPlayInCustomPayload.a(Unknown Source) ~[server.jar:1.8.8-R0.2-SNAPSHOT] at net.minecraft.server.v1_8_R3.PlayerConnectionUtils.lambda$0(Unknown Source) ~[server.jar:1.8.8-R0.2-SNAPSHOT] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_362] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_362] at net.minecraft.server.v1_8_R3.SystemUtils.a(Unknown Source) ~[server.jar:1.8.8-R0.2-SNAPSHOT] at net.minecraft.server.v1_8_R3.MinecraftServer.lambda$2(Unknown Source) ~[server.jar:1.8.8-R0.2-SNAPSHOT] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_362] at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) ~[?:1.8.0_362] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_362] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) ~[?:1.8.0_362] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_362] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_362] at java.lang.Thread.run(Thread.java:750) ~[?:1.8.0_362] Caused by: java.io.EOFException at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340) ~[?:1.8.0_362] at java.io.DataInputStream.readUTF(DataInputStream.java:589) ~[?:1.8.0_362] at java.io.DataInputStream.readUTF(DataInputStream.java:564) ~[?:1.8.0_362] at com.google.common.io.ByteStreams$ByteArrayDataInputStream.readUTF(ByteStreams.java:381) ~[server.jar:1.8.8-R0.2-SNAPSHOT] ... 17 more
what's this error?
here's one I downloaded
try this mirror through discord
idk what's up with yours
The same error, I don't know why it gives me this error, that didn't happen to me before, could it be because my server has mods/plugins?
possibly
the class is probably getting relocated or something
you only have one placeholderapi right?
But I had a server already with mods/plugins but it never gave me that error
Startup Log Location
Your latest startup log can be found in the logs folder of your
server directory, labeled as latest.log.
Please copy the contents and paste them to a paste service.
Type ?paste for more information.
things change
especially with modded, changes happen weirdly
palceholders dont work with deluxetags pls help
ya idrk
if there is suppport for mixin i would ask them
So what can I do?
Ask mixin support
there is nothing we can do about modded
OK thank you so much ๐
please help me with math placeholder, i want to use it for played time like that, played: <%statistic_minutes_played%/60>
%bungee_count_total% placeholder is working for me with new updated Expansion-Bungee.jar but the %bungee_count_<server-name>% is just returning 0 on everything I try
@surreal spindle
%bungee_total%
%bungee_<servername>%```
those don't work with the new Bungee-Expansion
look at the pinned message
I will pay someone for them to help me fix this lmao
I need my placeholders working like asap
they either are 0 or freeze on all realms
any idea?
a players needs to be online on that server
they are
Hello. I put placeholderapi in my server but with bedwars1058 it don't work
Pls help me
Various Commands for Barry.
โข General Bot/Guild Commands
โข Miscellaneous Commands
โข XP and Level Commands
โข ChatReaction Help
can someone tell me whats wrong with that placeholder? %math[1]:[prc]{statistics_minutesplayed}/60% it just shows up as text
%math_[precision]:[rounding]_<expression>%
[precision] and [rounding] do not include the []
only for the [prc] specifically
but what are you using [prc] for?
it's modulus
i want to use it as i said here
are you just wanting to show a % sign before the number?
no
okay, I don't see why yoou need a % there
%math_1:_{statistics_minutesplayed}/60%
just checking if you needed the % or not, this should do what ya need
Hi, any info?
Hey, does nested has any limit?
papi parse xNekio %nested_math_(({tokens_Tokenator_level}*4.5)*{changeoutput_equals_input:2.0_matcher:{autosell_global_multiplier}_ifmatch:2_else:1})+(({tokens_Tokenator_level}*4.5)*{changeoutput_equals_input:2.0_matcher:{autosell_global_multiplier}_ifmatch:2_else:1})*(({formatter_text_replace_x__{formatter_text_replace_&eโ &fBoost: &e__{checkitem_getinfo:39_loreequals:6}}}+{formatter_text_replace_x__{formatter_text_replace_&eโ &fBoost: &e__{checkitem_getinfo:38_loreequals:6}}}+{formatter_text_replace_x__{formatter_text_replace_&eโ &fBoost: &e__{checkitem_getinfo:37_loreequals:6}}})/100)%
that one is parsing, but if I add another {formatter it's giving this error
shouldn't
not needed
the number is only needed when the placeholders output other placeholders
yeah, it's confusing
that one is working, but if I use that one (just another formatter) is giving this error:
there's nested placeholders (placeholders resulting in other placeholders) and inner placeholders (placeholders as arguments in other placeholders)
I have no idea
papi parse xNekio %nested_math_(({tokens_Tokenator_level}*4.5)*{changeoutput_equals_input:2.0_matcher:{autosell_global_multiplier}_ifmatch:2_else:1})+(({tokens_Tokenator_level}*4.5)*{changeoutput_equals_input:2.0_matcher:{autosell_global_multiplier}_ifmatch:2_else:1})*(({formatter_text_replace_x__{formatter_text_replace_&eโ &fBoost: &e__{checkitem_getinfo:39_loreequals:6}}}+{formatter_text_replace_x__{formatter_text_replace_&eโ &fBoost: &e__{checkitem_getinfo:38_loreequals:6}}}+{formatter_text_replace_x__{formatter_text_replace_&eโ &fBoost: &e__{checkitem_getinfo:37_loreequals:6}}}+{formatter_text_replace_x__{formatter_text_replace_&eโ &fBoost: &e__{checkitem_getinfo:37_loreequals:6}}})/100)%
that one gives the error from before
you might just be limited from input
which error?
that one
oh
but parsing from console there's no limit no?
nah looks like it's taking it all
yeah
yeah that's weird :S
Yeah that's what I thought
i'm basically checking all armor slots to check if player has armor and set the boost amount
Hi! Where I can make a suggestion for deluxemenus?
This channel is fine
[23:28:30 WARN]: Could not pass incoming plugin message to PlaceholderAPI v2.11.2
java.lang.IllegalStateException: java.io.EOFException
at com.google.common.io.ByteStreams$ByteArrayDataInputStream.readUTF(ByteStreams.java:383) ~[server.jar:1.8.8-R0.2-SNAPSHOT]
at com.extendedclip.papi.bungeeexpansion.BungeeExpansion.onPluginMessageReceived(BungeeExpansion.java:123) ~[?:?]
at org.bukkit.plugin.messaging.StandardMessenger.dispatchIncomingMessage(StandardMessenger.java:428) ~[server.jar:1.8.8-R0.2-SNAPSHOT]
at net.minecraft.server.v1_8_R3.PlayerConnection.a(Unknown Source) ~[server.jar:1.8.8-R0.2-SNAPSHOT]
at net.minecraft.server.v1_8_R3.PacketPlayInCustomPayload.a(Unknown Source) ~[server.jar:1.8.8-R0.2-SNAPSHOT]
at net.minecraft.server.v1_8_R3.PacketPlayInCustomPayload.a(Unknown Source) ~[server.jar:1.8.8-R0.2-SNAPSHOT]
at net.minecraft.server.v1_8_R3.PlayerConnectionUtils.lambda$0(Unknown Source) ~[server.jar:1.8.8-R0.2-SNAPSHOT]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_362]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_362]
at net.minecraft.server.v1_8_R3.SystemUtils.a(Unknown Source) ~[server.jar:1.8.8-R0.2-SNAPSHOT]
at net.minecraft.server.v1_8_R3.MinecraftServer.lambda$2(Unknown Source) ~[server.jar:1.8.8-R0.2-SNAPSHOT]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_362]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) ~[?:1.8.0_362]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_362]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) ~[?:1.8.0_362]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_362]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_362]
at java.lang.Thread.run(Thread.java:750) ~[?:1.8.0_362]
Caused by: java.io.EOFException
at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340) ~[?:1.8.0_362]
at java.io.DataInputStream.readUTF(DataInputStream.java:589) ~[?:1.8.0_362]
at java.io.DataInputStream.readUTF(DataInputStream.java:564) ~[?:1.8.0_362]
at com.google.common.io.ByteStreams$ByteArrayDataInputStream.readUTF(ByteStreams.java:381) ~[server.jar:1.8.8-R0.2-SNAPSHOT]
... 17 more
what's this error?
Great. It would be great to add an option to check if the player has a permission on a certain server. I'm trying to create a shop based on player points and I have some packages (permission based) that can be purchased per server (Survival, SkyBlock etc) but DeluxeMenus can't verify if the player has the permission on a specific server, it just checks if the player has the permission
Please respect the rules, be patient and don't ping staff members!
this wouldn't be up to deluxemenus itself, but sounds like an expansion/addition for papi. Deluxemenus provides has permission type, but most configs end up using placeholderapi placeholders
I have not seen any cross-server placeholders like that myself though
Another thing for permissions is that the placeholders wouldn't work if the user isn't online anyway
the user is only cached in the permission plugin while they're online
if it didn't cache, it would have to call the database every single time to retrieve the value which could be multiple times per second/tick
if you happen to be storing your permission info in mysql, there is a mysql expansion... but use at your own risk due to the issue mentioned above 
I'm not getting any error though I am getting this %math_((1*4.5)*1)+((1*4.5)*1)*((yes+yes+yes+yes)/100)%
only things I changed in your placeholder are the Tokens and AutoSell placeholder (which I replaced by server_online so it gives a number) because I didn't have those plugins
Oh that's weird
the yes placeholders, are boost number from armors, like 2, 10, etc
with 3 formatter placeholders it works, but when I add the 4, it gives the error :S
Heya
the Bungee expansion is not working for me
The %bungee_total% returns the correct number
but %bungee_<server name>% returns 0
%bungee_Gens% = 0
%bungee_Lobby% = 0
even though am on one of them
still the result is 0
@mint fable
Please respect the rules, be patient and don't ping staff members!
sorry I was clicking ur profile
and it magically right-clicked and sent the message
You em might wanna double check capitalization.
could someone explain me how to setup a countdown with this placeholder? %server_countdown_<SimpleDateFormat>_<ActualDateAndTimeBasedOnSDFSpecified>%
well i know how the simple dateformat can be set for the time.. but how to set a countdown with this? an example would be great
someone can help me? https://paste.helpch.at/siquyehaki.rb
Can you see if this jar makes a difference by any chance?
I've been told there only two scenarios for that error to occur:
- The server having the player count requested is offline
- You caught Bungee taking a dump or performing some housekeeping
did they change the Javascript expansion name?
yo guys i cant do /papi reload
Why not?
nothing happens
Do it from console
12.03 04:23:40 [Server] [INFO] java.util.concurrent.CompletionException: java.lang.NoClassDefFoundError: me/zhanshi123/globalprefix/cacher/PlayerData
12.03 04:23:40 [Server] [INFO] at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?]
12.03 04:23:40 [Server] [INFO] at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?]
12.03 04:23:40 [Server] [INFO] at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770) ~[?:?]
12.03 04:23:40 [Server] [INFO] at java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760) ~[?:?]
12.03 04:23:40 [Server] [INFO] at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?]
12.03 04:23:40 [Server] [INFO] at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1176) ~[?:?]
12.03 04:23:40 [Server] [INFO] at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1647) ~[?:?]
12.03 04:23:40 [Server] [INFO] at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1614) ~[?:?]
12.03 04:23:40 [Server] [INFO] at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?]
12.03 04:23:40 [Server] [INFO] Caused by: java.lang.NoClassDefFoundError: me/zhanshi123/globalprefix/cacher/PlayerData
12.03 04:23:40 [Server] [INFO] at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?]
12.03 04:23:40 [Server] [INFO] at java.lang.Class.privateGetDeclaredMethods(Class.java:3373) ~[?:?]
12.03 04:23:40 [Server] [INFO] at java.lang.Class.getDeclaredMethods(Class.java:2480) ~[?:?]
12.03 04:23:40 [Server] [INFO] at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.lambda$findExpansionInFile$7(LocalExpansionManager.java:413) ~[?:?]
12.03 04:23:40 [Server] [INFO] at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
12.03 04:23:40 [Server] [INFO] ... 6 more
12.03 04:23:40 [Server] [INFO] Caused by: java.lang.ClassNotFoundException: me.zhanshi123.globalprefix.cacher.PlayerData
12.03 04:23:40 [Server] [INFO] at java.net.URLClassLoader.findClass(URLClassLoader.java:432) ~[?:?]
12.03 04:23:40 [Server] [INFO] at java.lang.ClassLoader.loadClass(ClassLoader.java:586) ~[?:?]
12.03 04:23:40 [Server] [INFO] at java.lang.ClassLoader.loadClass(ClassLoader.java:519) ~[?:?]
12.03 04:23:40 [Server] [INFO] at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?]
12.03 04:23:40 [Server] [INFO] at java.lang.Class.privateGetDeclaredMethods(Class.java:3373) ~[?:?]
12.03 04:23:40 [Server] [INFO] at java.lang.Class.getDeclaredMethods(Class.java:2480) ~[?:?]
12.03 04:23:45 [Server] [INFO] at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.lambda$findExpansionInFile$7(LocalExpansionManager.java:413) ~[?:?]
12.03 04:23:45 [Server] [INFO] at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
12.03 04:23:45 [Server] [INFO] ... 6 more```
i did
first time happening
Do you have an expansion called PlayerData or GlobalPrefix? If so, remove it. You don't have the plugin to go with it.
Yeah it's called GlobalPrefix
Remove it from the expansions folder and reboot. Should fix it.
๐
tysm
when I try to update via download it's not in list
only J is JetsPrisonMines
Also Autorank expansion is built in the plugin and the papi installed list it's gold, is there a way to get that to update to green?
Hello. I put placeholderapi in my server but with bedwars1058 it don't work plsss help me
Hello. I put placeholderapi in my server but with bedwars1058 it don't work
Various Commands for Barry.
โข General Bot/Guild Commands
โข Miscellaneous Commands
โข XP and Level Commands
โข ChatReaction Help
/help misc
Looks like that plugin manages it's own placeholders. I'd suggest reaching out to the developer of the plugin.
Where I can ask him
I'd recommend looking at the SpigotMC page for any contact details.
Ok
Thanks
When I go to discord support it send me to this discord
Hello. I put placeholderapi in my server but with bedwars1058 it don't work so where i can ask
/
Glare was talking about the discord server for bedwars1058 -.- @sinful pecan https://discord.com/invite/XdJfN2X
Ok
Hey, sorry for this dumb question ๐
but how can I show lore line 1 of a diamond_pickaxe in my inventory? %checkitem_getinfo_mat:diamond_pickaxe_loreequals:1%
tried that but it's returning yes
I think there was a way to show an item from player's inventory
Item in main hand (main_hand).
Item in off hand (off_hand).
oh yeah, main hand works
but why does loreequals:1 doesn't give the entire lore line?
%checkitem_getinfo:mainhand_loreequals:1%
it always removes the last character I think
idk, that looks like a condition not a getter
and there's a way to show entire lore of main hand item on deluxemenus?
doesn't material: main_hand do that already?
would be nice to have an example because im not confirm specialy with the secound part of the plceholder
i got the same error https://paste.helpch.at/lijuyayuqu.rb
Please respect the rules, be patient and don't ping staff members!
Trying to make it so a players time is accurate to what it displays on a tablist plugin. how can i make it work?
been told to use %localtime_time% But not sure how i can make it work on the tab plugin? as i needed placholder API for it to work?
Any help would be appreciated. it's the last thing i need to do for overhauling my tab list. just want to get it done.
i have done /papi ecloud download LocalTime & reloaded.
figured it out myself. Lol who needs support
Hello guys, i have an error and actually i don't found issue by myself, can someone help me ? https://pastebin.com/CNt8WSAt
I'm stuck asf
go in your expansions folder in your PAPI folder and delete the essential expansion
https://github.com/Toshimichi0915/fetch
https://imgur.com/a/HOaMt3m
https://api.extendedclip.com/expansions/fetch/
https://github.com/Toshimichi0915/fetch/pull/1
Can I have my expansion reverified because someone asked me to
Hey, someone knows why when I use {changeoutput_>_input:{formatter_text_replace_&eโ &fBoost: &e__{checkitem_getinfo:39_loreequals:6}}_matcher:0_ifmatch:{formatter_text_replace_&eโ &fBoost: &e__{checkitem_getinfo:39_loreequals:6}}_else:0} is returning me 0 but when I use it with math expansion (%nested_math_{changeoutput_>_input:{formatter_text_replace_&eโ &fBoost: &e__{checkitem_getinfo:36_loreequals:6}}_matcher:0_ifmatch:{formatter_text_replace_&eโ &fBoost: &e__{checkitem_getinfo:36_loreequals:6}}_else:0}%) it returns an error..?
it's like with math, isn't doing the entire changeoutput
why you use math ?
xNekio, have you ever consider to use custom plugins?
Because I'm including this changeoutput in another math placeholder
no, since it can be done with placeholderapi why using custom plugins ๐
also I don't know java haha
so why don't you use %nested_math_0_<a random number>*{changeoutput_>_input:{formatter_text_replace_&eโ &fBoost: &e__{checkitem_getinfo:39_loreequals:6}}_matcher:0_ifmatch:{formatter_text_replace_&eโ &fBoost: &e__{checkitem_getinfo:39_loreequals:6}}_else:0}%
yeah works well if you've slots in 36, 37, 38, 39
but if you remove an armor on these slots, you receive (An error ocurred...) and then you can't parse it
Yea, I see, very clean and doable
that's why I use changeoutput, if the boost is higher than 0, then print the boost number, if not (no armor), then print 0
Would you recommend using javascript for that?
that's a placeholder that will be parsing each block broken for every player, as it will be giving tokens
or someone is doing paid comissions here? So I can create an external plugin for getting boosters from 4 armor slots?
I did it
Just because it "can" be done with 20 papi placeholders doesnt mean you should do it
For which reason, not optimized using a lot of placeholders?
What do you think?
But won't be the same running the same expressions on a java plugin than with placeholderapi expansions? I mean, it will be same perfomance no?
or I'm wrong
Hey all, Im looking for a way to send papi placeholder data from one server to another server over some sort of database. Its a placeholder that shows a countdown timer from a plugin on one server i want people to be able to see everywhere. Is there currently any way to send papi placeholder data across servers? Thanks
No
No, because you use the spigot api not placeholders
is there a way to verify my expansion in my plugin?
hm?
Hello guys, i have an error and actually i don't found issue by myself, can someone help me ? https://pastebin.com/CNt8WSAt
I'm stuck asf
the docs say onPlaceholderRequest(Player, String) is a thing but I'm not seeing it in me.clip.placeholderapi.expansion.PlaceholderExpansion
(I'm using placeholderapi version 2.11.2)
and chat gpt insists it should be there lol
Please do not use chatgpt as reference
I used the docs as a reference
You must choose between one of these two methods for handling the actual parsing of placeholders:
onRequest(OfflinePlayer, String)
If not explicitly set, this will automatically call onPlaceholderRequest(Player, String). This method is recommended as it allows the usage of offline players, meaning the player doesn't need to be online to get certain information (i.e. name).
onPlaceholderRequest(Player, String)
If not set, this method will return null which PlaceholderAPI sees as an invalid placeholder.
The Player can be null, so keep that in mind when handling your placeholders.
neither of those are there
I don't know what part you're using chatgpt to help you with
but it can cause a lot of issues
I downloaded the placeholderapi jar from spigot and imported it into intellij
oh I see it now
it extends PlaceholderHook
I'm an idiot
how i can use keybind component in placeholders
KeybindComponent swap = new KeybindComponent("key.swapOffhand");
return swap.toPlainText();
its returning key.swapOffhand
toPlainText
And you can not do that
Maybe you can use it in a plugin that uses MiniMassage
I can show it in placeholder?
Please respect the rules, be patient and don't ping staff members!
could someone explain me how to setup a countdown with this placeholder? %server_countdown_<SimpleDateFormat>_<ActualDateAndTimeBasedOnSDFSpecified>%. well i know how the simple dateformat can be set for the time.. but how to set a countdown with this? an example would be great
%server_countdown_dd/MM/yyyy_1/1/2024%
does placeholderapi not support bungee?
I get this error:
WARNING Error loading plugin PlaceholderAPI
13.03 03:47:45 [Server] INFO java.lang.NoClassDefFoundError: org/bukkit/plugin/java/JavaPlugin
it's a Spigot only plugin
is there a fork or something for bungee?
I'm trying to make my own placeholders for serverlistplus
This is a spigot plugin
then why is there a bungee expansion? is that meant for the backend servers?
bungee expansion is to get data from bungee servers, online players in the whole bungee or specific server for example
ah ok
Not Sure the best place to ask, Im using PlaceholderAPI and DiscordSRV and want to show player count in the Discord Bot Presence, have tried to use the place holder {players_online} and {playersonline} however just shows as {players_online} rather then the actual value
First of all DSVR supports placeholderapi?
if not, ask them to support it or ask if they made a built-in placeholder
to display online players
I tried %% as well haha
do the placeholders you used work when you use /papi parse me %placeholder% ?
Looks like I might have got the answer will post here once I know hahaha
Turns out it's %online%
yeah, using DiscordSRV's own placeholders works as well, but regarding PAPI placeholders, idk what could be wrong
oh yeah, didn't notice lol
Tanguygab, are you here ?
Hello, can I somehow use PAPI to show how much it will cost to get my pickaxe enchanted with all of my tokens (on an enchant like fortune or something) %tokenenchant_XXX_affordablelevel% is a new placeholder that allows a player to enchant as much as he/she can with the tokens they own, but the price is something I can't understand how to make vk tried helping me but it didn't work (
I think that costmax exists
and you won't need to use the affordablelevel placeholder
%tokenenchant_<enchantment>_costmax%
i think he's trying to put another placeholder inside a placeholder.
Yes, but I don't think it's needed in the situation
I don't need that
because it doesn't suit what I need from it
Yes, then I misunderstood
A good example to understand what I mean:
If I can buy 50 unbreaking levels and the max is 100 that placeholder will just show me how much 100 levels will cost, and not show me how much 50
would cost
isn't there a way to embed another placeholder inside a placeholder?
%nested_tokenenchant_unbreaking_cost_{math_0:_{tokenenchant_unbreaking_affordablelevel}-{tokenenchant_unbreaking_level}}%
This should work if tokenenchant accepts {placeholders}
you need the nested expansion and math expansion
/papi ecloud download nested
/papi ecloud download math
/papi reload
if the expansion itself supports {} inside the placeholder then yes, but if you need to double up on that (like I did above), then you'll need nested
I'm so glad I made that expansion, it seems a lot more useful than I had imagined
1000%
all of that because of a ticket on TAB's support 
I just had to know how it worked lol ๐
it was a pain to make
i bet
and it was even more of a pain to realize I f-ed up by using HashMaps instead of LinkedHashMaps, breaking the whole expansion
took me 2 hours to change 2 words
so sad
I was so done ๐
๐ฅด
wait wut, aren't you supposed to have a level role?
there's a bug in the matrix 
apparently soo
i'm the special one ๐ค
He's the chosen one!
i think playerlist expansion broken
how so?
idk, i should have some test about this
can you at least tell me what's broken? xD
%playerlist_online,normal,yes,5% that should be player name if server have 5 player online, right ?
the return is offline

Wait
It doesn't really work, it worked but
I tried switching Unbreaking to Efficiency
and it's 0 now
to sort by groups? I don't think that's possible)
did you switch all the words
3 times
%nested_tokenenchant_Efficiency_cost_{math_0:_{tokenenchant_Efficiency_affordablelevel}-{tokenenchant_Efficiency_level}}%
try efficiency?
Still +0
try parsing each placeholder individually to see their outputs
Oops, parsing error, I added a %. It works now
nice
Hey I am having issues using DeluxeTags ๐
when I list my tags with /tags list Deltatron i have the example one
when I use /papi list it shows that deluxetags is present as a hook(?)
but when I do /papi parse me %deluxetags_tag% I get An internal error occurred while attempting to perform this command
this is the log from when I run it https://mclo.gs/SxPqsEC
delete the deluxetags expansion from the plugins/placeholderapi/expansions/ folder
the expansion is now internally included with the plugin
Is it? I tried it, it didnt work
Startup Log Location
Your latest startup log can be found in the logs folder of your
server directory, labeled as latest.log.
Please copy the contents and paste them to a paste service.
Type ?paste for more information.
can you send that over
Sure
https://mclo.gs/MmtH75I
btw its not cut off when I run it nothing else is shown in console rather than the command that I ran
don't download the expansion again
Sorry?
Ah alright. Why is that?
having the expansion causes the issue
all good, working now?
np
Also there might be a edit needed in the github page
hi guys, I've got this placeholder to get a radius of the world, not diameter %math_2:_{worldborder_fromWorld_{world}_size}/2%, but it doesn't work, what can be the problem
[PlaceholderAPI] [math] Cause: 'Insufficient arguments._size}/2' is not a valid Math Expression
[PlaceholderAPI] [math] Invalid Placeholder detected!```
Where do you get {world} @minor crystal ?
Replace {world} with world and it should be fine
Ok
Iโm having a issue getting papi to work we use 1.16.5 and Java 16 and we canโt get place holders. [13:43:34 INFO]: iDevelop issued server command: /papi reload
[13:43:34 INFO]: [PlaceholderAPI] Placeholder expansion registration initializing...
[13:43:34 INFO]: [PlaceholderAPI] Fetching available expansion information...
[13:43:34 ERROR]: [PlaceholderAPI] Failed to load class files of expansion.
java.util.concurrent.CompletionException: java.lang.UnsupportedClassVersionError: com/andre601/formatterexpansion/FormatterExpansion has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0
at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314) ~[?:?]
at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319) ~[?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1702) ~[?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1692) ~[?:?]
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) ~[?:?]
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020) ~[?:?]
at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656) ~[?:?]
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594) ~[?:?]
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183) ~[?:?]
Caused by: java.lang.UnsupportedClassVersionError: com/andre601/formatterexpansion/FormatterExpansion has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0
at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]
at java.lang.ClassLoader.defineClass(ClassLoader.java:1017) ~[?:?]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) ~[?:?]
at java.net.URLClassLoader.defineClass(URLClassLoader.java:555) ~[?:?]
at java.net.URLClassLoader$1.run(URLClassLoader.java:458) ~[?:?]
at java.net.URLClassLoader$1.run(URLClassLoader.java:452) ~[?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at java.net.URLClassLoader.findClass(URLClassLoader.java:451) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:589) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[?:?]
at me.clip.placeholderapi.util.FileUtil.findClass(FileUtil.java:62) ~[?:?]
at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.lambda$findExpansionInFile$7(LocalExpansionManager.java:405) ~[?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700) ~[?:?]
... 6 more
The plugin (or program) you are trying to use was compiled using a newer Java version than the one you using.
To find what version you need, start from 52 which is Java 8 and for example, 60 is Java 16. (8 + 8 = 16 => 52 + 8 = 60)
Nope
My issues says itโs a incompatible Java version but we have it setup exactly how it should be
The plugin (or program) you are trying to use was compiled using a newer Java version than the one you using.
To find what version you need, start from 52 which is Java 8 and for example, 60 is Java 16. (8 + 8 = 16 => 52 + 8 = 60)
where to download javascript expansion?
ye, ty
a(){
var c = ""
var d = "QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfgjklzxcvbnm1234567890"
for(var b = 0; b<10; b++) {
c+=d[Math.round(Math.random()*61)]
}
return c
}
a()
return nothing
add function in the first line of your script
how to use changeoutput ?
you specify a placeholder, a text that you want to replace, and the text you want it replaced with
whats the matcher ?
%changeoutput_ignorecase_input:{statistic_time_played}_matcher:d h m s_ifmatch:days hours minutes seconds_esle:{statistic_time_played}%
like this ?
is there a way to verify expansion built into plugins?
only ecloud expansions needs to be verified
I guess papi gets confused when you have an expansion with the same identifier as one from the ecloud, and it checks the version
yes
verified means it can be downloaded with /papi ecloud download <name>
so the if the identifier were the same then it would think it's up to date maybe?
no, it's the opposite of what I said
and it is just a guess, if you have a self made expansion that uses the server identifier for example and it has a different version that the server expansion from the ecloud, papi will probably display it as "needs update"
well, the ones I have on ecloud are fine, just for autorank it was decided to move expansion to plugin
I guessed that from how spigot updater works
no Ironic
I'm 99% sure it is what I just said, papi thinks the expansion is the same as the one from the ecloud and it does a version check
I'm not home to test any ideas in my head, just bored at work with a ton on snow falling
you can not do anything about this, but I could un-verify the expansions from the ecloud, that would probably stop papi from checking the version
no thats ok, if you do that the people using the older version might ge confused
yeah it is your call
I do know most of my users are on 1.16.5 or older
Hope I can figure out the SQL feature I want to add
[23:29:24 WARN]: [PlaceholderAPI] Loaded class net.luckperms.api.LuckPerms from LuckPerms v5.4.58 which is not a depend or softdepend of this plugin.
Way to remove this warn ?
It is harmless. Add LuckPerms as soft depend of papi.
I just realized Autorank expansion I was talking about was made by clip, his last version was 1.1.0, when I checked version of current installed expansion it came bas current version of autorank