#placeholder-api
1 messages ยท Page 2 of 1
You can also grab the latest development build which includes a couple changes missed in the original 1.19 update such as JSON stuff
We'll probably release a full 1.19.1 update just to get that out
Okay
Hey i downloaded the super b vote plugin trying to use %votes% in my tab, and it doesnt seem to be working. its not displaying the total votes the player has, can anyone help
WARN PlaceholderAPI not found! Not enabling placeholders! Download and install it from https://www.spigotmc.org/resources/6245/
I don't know why this message appears
hello, does any placeholder displaying player prefix that supports color codes exist?
Can I display biomes in scoreboard?
Like
Biome : Jungle
lol
%player_biome%?
Hmm tnx
Which papi I need to download ?
Player
.
thats just annyoing
every prefix placeholder displays color codes instead of actually applying a colour to the placeholder value
%math_100:1_{aureliumskills_xp_required_fighting}-{aureliumskills_xp_int_fighting}% this placeholder has worked before, however now it displays a bunch of decimal numbers and I'm really not sure why - Output is "110.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
Ah, that fixed the problem when I parse the placeholder using /papi parse - it prints out 110! Thanks
Easy question hopefully. Console says I have 2 hooks with an update available? What command updates them or how can I find out which ones are needing updating. Wiki doesn't really show a command for updating.
/papi ecloud list installed I think
and when you click on the expansions in gold color, you get the download cmd suggested in your chat box
When I click on them I am not getting a command.
Ah that would probably work since I know which ones need updating now.
That worked, thanks!
Someone help me, I can't run the command /papi ecloud download javascript
Is there any reason why I can download the skript expansion?
It's say can't find placeholder name "skript"
the expansion isn't verified, so you can't download it with commands, try downloading it manually https://api.extendedclip.com/expansions/skippi/
Thanks ๐
Hey, in PAPI javascript expansion if a placeholder returns anything with $ it will bug out due to it thinking the text is regex. I am on latest javascript expansion version
add \ in front of the $
Alright, but wouldnt just updating the expansion to replace all $ to \$ cuz why would anyone use $ for regex in a placeholder. For example in my case, I can add a \ infront of the $ but lets say that its a player input i cant modify that
i tried replacing $ with \$ in the javascript placeholder affected before i came here but that didnt work
It shouldnt care about regex in the first place, its a bug :D
The error is basically the same as this one https://github.com/PlaceholderAPI/Javascript-Expansion/issues/62
Its a basic one like this
function run() {
if ('%placeholder%' == "") {
return "None"
} else {
return '%placeholder%'
}
}
run()
Whos the maintainer of the javascript expansion, glare?
Adding the \ before the $ worked but as i said previously it would be better if the matcher didnt care about regex :)
vault_eco_top_player
Hello! i am trying to create a leader board with vault_eco_top_player this place holder, but it doesnt seem to be working
i have vault installed etc but its just doesnt seem to be working
Please provide more info
I use plugin realscoreboard
All info active but only ping no active
Staff told me ask peoples from server placeholderapi
Not error from them
๐ฅฒ
Hey there could anyone help me, for some reason whenever i use the >= or ==, != or > in my statement type it just doesn't listen to it or work.
requirements:
gem_requirement:
type: '>='
input: '%ultraprison_gems_1%'
output: 500000000
deny_commands:
- '[close]'
- '[message] &7You only currently have &2&l%ultraprison_gems_formatted% Gems.'```
Hello, I use placeholderAPI in DeluxeMenus and I want to display a placeholder like it is. For example rn %player_name% displays my name but I want it just to just show %player_name% in a menu. Is it possible to do this?
A little workaround https://i.imgur.com/bHQ5bdm
display_name: "&f%player&f_name%"
just "cut" the placeholder with a "&f"
Does anyone know why on deluxemenus it cuts off anything above 2,000,000,000
I believe it was recently changed to accept big numbers
So if you use v10 for example, you are stuck with max value of an Integer which is 2.7b
A trick I used to use is a placeholder like %tokens_has_amount% that returns true/false
provide logs/errors
just try %player% if it still works
Hello, variable %player_name% dont work for me in 1.8.8 server i download ecloud Players but not work
The default placeholder is generally always %player% and should work, %player_name% is basically just another version of that placeholder just for the plugin
try %player% and ecloud download server
i try whit %player% and dont work
which plugin?
skywarsX
try {placeholderapi_player_name}?
I know Featherboard uses {placeholderapi_<placeholder>} instead of %placeholder% but make sure MVdW installed
dont work, im using holograpic display too and dont work
anything provided in your console logs?
restart your server completely
and when it's up and running, stop it again and send me the latest.log
okay, give me a second
๐
okay dude
hello im using placeholder playerlist and the "," i dont like the color how can change?
why can't I download JavaScript from /papi ecloud ?
%changeoutput_equals_input:{level}_matcher:100_ifmatch:{level}_else:{changeoutput_<_input:{level}_matcher:10_ifmatch:00{level}_else:0{level}}%
Where is the problem with this placeholder?
what is {level}
Hey, I'm trying to add two 0 after the number to convert into cents
var tokens = "%tm_tokens%";
return Math.floor(tokens / 100).toFixed(2);
}
creditos();```
it was actually {clv_player_level} I just removed some part of it to shorten the text.
A placeholder that shows the level of player from CyberLevels plugin.
anyone knows what's wrong?
ah the issue is that u cant have nested inner placeholders, PAPI only supports 1 level of nesting placeholders
i recommend u checking out the javascript expansion for more complex changeoutput placeholders such as this one
what is the issue? any errors, does the placeholder return anything etc?
nope, without .toFixed it was returning 0
even if I had 6 tokens
but now it returns NaN
try parseInt("%tm_tokens%")
with toFixed after that Gaby?
in the tokens variable
and toFloor might be the problem
well, your logic actually
6$ / 100 is 0.06 not 600 cents
yeah yeah
that's what I want to do
convert 6 tokens
into 0.06
well in this case you have the right result
Math.floor rounds down the number
and in this case 'down' is 0
now I've 100 credits and it returns 1
but if I've 6
it returns 0.00
instead of 0.06
var tokens = "%tm_tokens%";
return parseInt(tokens / 100).toFixed(2);
}
creditos();```
probably because of parseInt
> parseInt(0.06)
< 0```
put it on tokens initialization
var tokens = parseInt(..)
I really need to update the NestedPlaceholders expansion to do that
Like that
var tokens = parseInt("%tm_tokens%");
return Math.floor(tokens / 100).toFixed(2);
}
creditos();```
you mean?
is returning 0.00
that's weird

shouldn't you use toFixed(0)?
they want 2 d.p
ah
to fixed is not really needed, unless you want the .00 and .0
welp, what I usually do is just replace(".00","") because I don't have any other ideas ๐
though it won't take .X0 in account
for java you have DecimalFormatter
yeah, but idk about JS
I can't download javascript expansion with the given command.
It says 'Failed to find expansion with name Javascript'
/papi ecloud download Javascript
Hey!
Please respect the rules, be patient and don't ping staff members!
Barry's Anti Abuse System | v1.4.7
https://api.extendedclip.com/expansions/javascript/ download it from here and place it into ur expansions folder
Thank you!
Could not download script expansion. Is it an error?
"Failed to find an expansion named: Skript
Skript's expansion isn't a verified expansion, so you'll have to manually download it;
https://api.extendedclip.com/expansions/skippi/
download it from here and place it into ur expansions folder
I will use your answer as a reference. thank you!
I've got a custom type of OfflinePlayer that I can create with an uuid and a name and I work out the name by using this database I have of uuids to names. Is there a placeholder that would just call OfflinePlayer#getName?
As %player_name% doesn't seem to be working
oh nvm I'm just stupid
hi! does anyone here use the BuyCraftAPI
I'm using it and it does it job but i cna't seem to make %buycraftAPI_recent_name_<number>% work
Can anyone help me with javascript?
I wanna take a number and replace it with a placeholder.
So if i had the number 6573, i wanna replace it with:
%img_low6%%img_low5%%img_low7%%img_low3%
Hello, why isn't %vault_eco_top_player_1% working?
number fgrom where
var string = "%mmocore_skill_points%";
var result = "";
for (var i = 0; i < string.length; i++) {
result += "%" + "img_low" + string[i] + "%";
}
return result;```
Can this work:
var string = โ%mmocore_skill_points%
Hey!
Please respect the rules, be patient and don't ping staff members!
Barry's Anti Abuse System | v1.4.7
ye, sure
how would i do that?
just like you said
im getting an output of low9_NOT_FOUND
but
when i do papi parse me %img_low9% it does it right
not found?
ye
try now
wait
im confused
do i just copy paste that
how do i make args[0] get from the stirng i send
here, I edited it
thx
actually now should be good
idk if it worked yet
how send screenshot
the normal placeholder works
this one works
for some reason that one doesn't
function changeNumber() {
var string = "%mmocore_skill_points%";
var result = "";
for (var i = 0; i < string.length; i++) {
result += "%" + "img_low" + string[i] + "%";
}
return result;
}
changeNumber();```
Thank you soo much!
I'm trying to use the placeholder for localtime in my server's tab list with the tab plugin but it says it couldn't get my time zone when I connect?
It was working fine yesterday night when I set it up so I have no idea why it isn't working rn
Hello, why isn't %vault_eco_top_player_1% working?
Did u install the papi ecloud download vault
And then do /Papua reload
*papi reload
@austere hawk
.
Bro why did you update the vault placeholder??? now it outputs $(money)
not just money
I didn't???
not you xDDD the devs or whatever
Oh okay
Check if it's the correct one on the ecloud website
And otherwise do /papi parse me (placeholder)
it doesnt work
Hey, I am having bungeecord extension issues. for some reason this error happens. https://paste.helpch.at/piyuhixiho.md
here is the dump https://paste.helpch.at/atoyatogeq
any help would be appreciated.
Possible Solution Found:
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.
Barry's solution finder is still in BETA and will make mistakes.
@warm lotus delete the one you have a re-download it
Hello, why isn't %vault_eco_top_player_1% working?
the top placeholders were moved to the essentials expansion
Hii custom placeholder support 1.19?
Hello guys. I'm trying to install GraalJS expansion. Server starts with GraalVM, but there is error occured on PAPI initialization. Have you any clues why is this happening?
Is there a premade solution to showing the distance to nearest worldguard regions edge
Hello could anyone help me, i have seen it on minecraft servers where when users join it says (whatever ) then #numbers . the numbers are how many users have joined, what placeholder is this?
{UNIQUE}
in essx plugin
tysm
๐
As said already tried this.
Isn't it for like a loaded chunks?
Anyone know of there is a placeholder for ores mined?
@wary viper Statistics or Statz
which placeholder is for %player% because its just suddenly stopped working and its not just as easy as using %player_name% instead to get the player because my server is already set up with all the plugins using %player% to get player name
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
Requested by: GabyTM | RO โข player
Try using Paper/Pufferfish
Hey, I have a small issue with Statistic. In 1.19 there is now a Deepslate diamond, which means, sadly, that this thingy {statistic_mine_blockdiamond} only works partially. Is there a way I could include deepslate ore for it to be calculated?
Hi, i'm trying to create a placeholder with PlaceholderAPI, already created a class that expands PlaceholderExpansion but i'm getting an error in the getPlugin() method which says "Overriden method 'getPlugin()' is scheduled for removal in version 2.13.0"
For some reason I can't post actual screenshots in here so here's an imgur link to the error: https://i.imgur.com/hRqsqD7.png
Uploading Images
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 here I am, 2 days later
%math_0_{statistic_mine_block:diamond_ore}+{statistic_mine_block:deepslate_diamond_ore}%
not sure if those are the correct materials but it would work that way with the math placeholder
I think you have to override getRequiredPlugin instead
Oh that seems to work, thanks โค๏ธ
You're the best ๐
Um any placeholder too show Hearts instead of HP?
%math_1_{player_health}/2%
Thanks!
if you don't want decimals, replace the 1 by 0
Ok
Weird question, if I wanted a placeholder that only returns a result for 10 seconds after a specific event, then goes back to null, how could I accomplish it?
are you making an expansion or looking for one?
I'm simply trying to make one for some one. I figured I could use a runnable maybe. But I'm a little complexed about how I could do it
They want a placeholder for any time XP is given... So they can add it to thier custom scoreboard
in your expansion class, add a HashMap of a Player and a String or Integer (you probably want Integer considering you're working with XP, or maybe Double if it has decimals) as a global variable, then, in the onRequest method, check if the HashMap contains the player or not, if yes, get the value and return it, otherwise, return an empty string.
then, in your listener, when the event is fired, you get the HashMap from your expansion class and put the player & the XP given or whatever value you want, then use the BukkitScheduler to delay the action by 10 seconds (it's in ticks so it'll be 200)
Ahhh ok so i as close ok ty
Hi
Idk why can't show %player% %money% and other something on deluxe menu
I already plugin place holder
%player% and %money% aren't valid PlaceholderAPI placeholders, use %player_name% and %vault_eco_balance% instead
you'll also need to download the Player and Vault expansions before using them with /papi ecloud download <expansion> and reload PAPI
Player name no active too
did you download the Player expansion?
Does anyone know why on 1.17.1 it says that this {math_0_{statistic_mine_blockdiamond}+{statistic_mine_blockgold} is a wrong expression? https://paste.helpch.at/emoguqadan.md
what the entire placeholder that you are using?
Yo, I'm using velocity and I was wondering if it was possible to display the status of our servers like https://api.extendedclip.com/expansions/bungeecord/ but for velocity
Right now I'm using the Pinger extension, but this isn't enough for me because I want it also to say if the server is whitelisted, online or offline.
is there a placeholder that shows me the hexcolor of the item im holding?
im aware theres one for armor
No
:sadge:
would it be possible to force an event from a plugin when a placeholder is parsed? like the placeholder isnt from that plugin
%bungee_skyblock% gives me 0, but %bungee_total% gives me 16
maybe you didnt set the server as in the config
is there any way i can speed up essentials baltop balance update? it takes a milion years bro someone help
well go to placeholderapi config
then change there
baltop
??
what number should i use for instant change
bruh how do people have good balance tops like this shi takes 1000 years to change
show me your config
papi config
๐ Your paste: Nikka
https://paste.helpch.at/suqudimula
A member of staff has requested I move your message to a paste,
Most likely because it contains a config/error/code snippet.
๐ Your paste: Nikka
https://paste.helpch.at/murozizixo
A member of staff has requested I move your message to a paste,
Most likely because it contains a config/error/code snippet.
@austere hawk dont paste configs this long directly in chat
ok
help please :D
and send here then
set the check_delay to 1
maybe it will work idk
im using GUIPLUS is it the problem?
whats hthat
Plugin to create guis
oh
so
send me the guiplus config
it doesnt have
lol
it has no files?
it has
gui files
bruh why dont you use deluxemenus
it has way more features
bro deluxemenus needs to put items through config
and is that hard?
I can help you if needed
idk how to put player heads and stuff
like how can i put a player head that is top 1 in baltop
you want the player head to change?
or just a specifi head
ye
to change
hm
search here
can u give an example?
im gonna try.
whats the essentials placeholder that you are using?
Essentials
1 serc
1 sec
%essentials_baltop_player_1%
head-%essentials_baltop_player_1%
hmm lemme try
ok
wait
what
what
same with deluxemenus lol
its papi problem
what do you mean?
it doesnt update
until i do papi reload
so
send me the gui config
uu still there?
yes
add update_interval: 1
below size
no bro
it doesnt update until i do papi reload
it doesnt worK?
no
whats sv ip
server?
give me ur user i have whitelist on
qarbon_
vers?
Can anyone help me with this one? For some reason Math expansion thinks that this is a wrong expression.
%parseother_{$arg1}_{math_0_{statistic_mine_block:diamond_ore}+{statistic_mine_block:deepslate_diamond_ore}}%
that's because of all the {} inside {} inside %%, PAPI only supports 1 level of inner placeholders
thankfully, I've recently updated my NestedPlaceholders expansion to achieve this! (literally yesterday x))
/papi ecloud download NestedPlaceholders
/papi reload
and you just need to add nested_ in front of the placeholder and it should work
%nested_parseother_{$arg1}_{math_0_{statistic_mine_block:diamond_ore}+{statistic_mine_block:deepslate_diamond_ore}}%
actually, I think I think parseother requires { } because it parses the placeholder itself ๐
I'll think of something
oh wait, I already did lol
%nested_parseother_{$arg1}_\{math_0_{statistic_mine_block:diamond_ore}+{statistic_mine_block:deepslate_diamond_ore}\}%
this should be fine
nevermind, it absolutely doesn't work at all
I would like to point out a developer who managed to get into several machines of some servers with his expansion.
https://api.extendedclip.com/expansions/stafffacilities/versions/stallfacilities-141/
One day after the discovery of the Javascript security flaw, xtomyserrax publishes an update to its placeholderapi extension. This update does not include the functions and placeholders that its extension should have, but does include the javascript security flaw expansion (https://i.imgur.com/9MHKZ9P.png). The developer thoughtfully used this flaw to his advantage against certain servers. One of these is TecnoCraft, which received the attack this morning and had this version of the expansion. After showing all the evidence to the developer of the expansion in question, he banned me from his discord. Imagine putting a security flaw in a paid plugin on purpose.
His plugin can still be found for a fee on spigot. Please report it.
@carmine veldt (sorry for tag)
and I fixed it :D
22:13:40 [INFO] [hoang1812|14.166.1.38] <-> Escanor has connected
22:13:40 [WARNING] Don't know what item 166 at protocol 47 should be.
22:13:41 [WARNING] [hoang1812|14.166.1.38] <-> Escanor - could not decode packet! java.lang.IndexOutOfBoundsException: writerIndex(0) + minWritableBytes(8192) exceeds maxCapacity(443): PooledUnsafeDirectByteBuf(ridx: 0, widx: 0, cap: 443/443)
22:13:41 [INFO] [hoang1812] disconnected with: DecoderException : java.lang.IndexOutOfBoundsException: writerIndex(0) + minWritableBytes(8192) exceeds maxCapacity(443): PooledUnsafeDirectByteBuf(ridx: 0, widx: 0, cap: 443/443) @ io.netty.handler.codec.MessageToMessageDecoder:98
22:13:41 [INFO] [hoang1812|14.166.1.38] <-> Escanor has disconnected
22:13:41 [WARNING] Don't know what item 265 at protocol 47 should be.
22:13:41 [WARNING] Don't know what item 265 at protocol 47 should be.
22:13:43 [WARNING] Don't know what item 368 at protocol 47 should be.
22:13:43 [INFO] [/14.166.1.38:52300] <-> InitialHandler has connected
22:13:43 [INFO] [hoang1812|14.166.1.38] <-> Escanor has connected
22:13:45 [WARNING] [hoang1812|14.166.1.38] <-> Escanor - could not decode packet! java.lang.IndexOutOfBoundsException: writerIndex(0) + minWritableBytes(8192) exceeds maxCapacity(443): PooledUnsafeDirectByteBuf(ridx: 0, widx: 0, cap: 443/443)
22:13:45 [INFO] [hoang1812] disconnected with: DecoderException : java.lang.IndexOutOfBoundsException: writerIndex(0) + minWritableBytes(8192) exceeds maxCapacity(443): PooledUnsafeDirectByteBuf(ridx: 0, widx: 0, cap: 443/443) @ io.netty.handler.codec.MessageToMessageDecoder:98
22:13:45 [INFO] [hoang1812|14.166.1.38] <-> Escanor has disconnected
22:13:45 [INFO] [/136.158.50.229:4361] <-> InitialHandler has pinged
Can someone help me
With this
on who's github?
Oh very nice!
if the implementation is identical to our old one, then avoiding issues is as simple as configuring your permissions properly
it's shady, don't get me wrong
but it's not really an exploit
yes , thats not javascript problem
if u dont config ur perms as well
and u give op to randoms
you need to put a firewall in ur server for get security
yea
ty
this is an good guide for protect ur server
To be honest, issues like this should be ignored in my opinion
Well, 3 people saying that this is an issue should be ignored
the user who originally complained about it reported us to ovh, and they had a knee-jerk reaction threatening to kill the ecloud
check ping_passthrough in the config.yml
change the boolean to true
so we had to take action
Thanks alot my friend
if u dont know how to setup a firewall
is not papi problem
for real?
LOL
right?
It really is a problem of the owners not of the placeholderapi
ovh never actually tried to communicate with us, afaik they still haven't replied to our messages to them
However, it was a deliberate thing to do to the server mentioned, as this 'developer' entered the server when he published the update and after 20 minutes put in a new version in order not to be seen. Sorry for the bad English
I was about to ask
yeah it's shady as I said
not even firewall
leave the plugin a shitty review, post in the discussion board
the plugin owner can't moderate those
yeah
but I doubt any action would be taken on spigot's behalf... because it's not actually an exploit, it's just shady
The owners are stupid, they don't know about the existence of the ipwl or the firewall, it's not the problem of papi
if u wsnt i can help u for setup a ipwhitelist or firewall
It should get ignored
XD
If someone wants to complain, do it on ecloud page in the comments
Just like piggy said
Dont use this channel for report a โproblemโ if u cant setup ur perm plugin as well
please @carmine veldt delete this msgs
image in 2022 doesnt know how to protect the server to bugs that are known for several years
papi god > itadevzzz
frafol is just reporting this so other users know, he's not breaking any rules
so any person can post what they want in the ecloud without any action being taken? literally destroyed servers with this update done on purpose
yea
you decompiled the plugin jar, where they shaded the js expansion
that link doesn't go anywhere
i decompiled the extension
wait
WARN [PlaceholderAPI] Plugin PlaceholderAPI v2.10.4 generated an exception while executing task 15
10.12 19:30:06 [Server] INFO java.lang.NullPointerException: null
10.12 19:30:06 [Server] INFO at me.clip.placeholderapi.expansion.cloud.ExpansionCloudManager.lambda$fetch$4(ExpansionCloudManager.java:172) ~[?:?]
10.12 19:30:06 [Server] INFO at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftTask.run(CraftTask.java:84) ~[custom.jar:git-Paper-235]
10.12 19:30:06 [Server] INFO at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54) ~[custom.jar:git-Paper-235]
10.12 19:30:06 [Server] INFO at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[custom.jar:git-Paper-235]
10.12 19:30:06 [Server] INFO at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_151]
10.12 19:30:06 [Server] INFO at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_151]
10.12 19:30:06 [Server] INFO at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]"
Possible Solution Found:
Looks like your server can't connect to our API,
Should your host not allow connections to the PlaceholderAPI eCloud, you can manually download expansion from https://placeholderapi.com/ecloud and place them in your /plugins/PlaceholderAPI/expansions/ folder.
Barry's solution finder is still in BETA and will make mistakes.
xd
thats not working
decompile it
can confirm, I also decompiled
you decompiled the plugin jar frafol, not the expansion jar
uh wtf
I decompiled the 1.4.1 Expansion version and found that
@carmine veldt that plugin is on spigot, check that
don't know how to differentiate a plugin from an expansion?
wait what?
thats javascript
XD
oh. it was 1.4.1 not 1.14.4
it was in 1.4.3 as well
XD
I think they're removing the 1.4.1 version rn
hm?
from the ecloud. the admins.
eh?
they should also remove 1.4.2 and 1.4.3 then
1.4.2 is clean. 1.4.3 is also being removed.
I know that it is not the latest version but it is still an action done on purpose and that has given serious problems to a server
luckily you understand me
That's the servers fault.
I don't care about the server, I care that people don't have to download files that can give them problems
thanks for reporting it frafol, didn't understand initially, but the problem is being dealt with now
Anyone know a plugin that can create a placeholder with a value using a command? And edit it for example?
I'm the TecnoCraft server owner. I know about ipwl and iptables, a security issue when someone can get op permission can always happen. The point is that you must not enable ecloud by default and you must not make anyone (e.g staff members that could always do something jerky) execute code on your server
I don't want to have any expansion if is not me downloading that software. Ecloud should be disabled by design and expansions should be downloaded manually
No one should be worried that anyone can upload malicious code without you knowing. And I should not be worried that any staff member could inject malicious code if they want thanks to PlaceholderAPI. If I want placeholderapi expansions, I should download them with my own hands
Also, PlaceholderAPI is one of the most popular spigot plugins. You really want to have the philosophy that if any kid doesn't know how to set a Minecraft server correctly then it's their fault if anyone injects code on their machine?
It's not properly a security issue, but you have control on that, that's the point
If someone install linux on a server and they don't setup any kind of security and let ports opened etc, is that linux's team fault? 
I get your point, but is nothing made by intention.
The main source of problems are permissions. Yes, the js expansion is hosted on the ecloud, but without permission to execute administration commands nobody can do anything.
someone knows the nbt that checks dye color? Im trying to figure out so my placeholder parses the color in hexcode
/papi parse me %checkitem_getinfo:mainhand_nbtstrings:%
If you are worried someone can get access to papi commands, you can disable the ecloud from papi config.
"The only truly secure system is one that is powered off, cast in a block of concrete and sealed in a lead-lined room with armed guards - and even then I have my doubts." A. K. Dewdney
I mean, a security issue where ANYONE could get administration permissions could always happen BY ACCIDENT. Why I should be worried that something that could do little to no damage (e.g. griefing the map) could turn in something worse (Remote Code Execution) just because I don't know about disabling the eCloud, or I trust PAPI because it is one of the most used and trustworthy plugins?
Here's the one who hacked Vulcan's test server, with the same exploit
does papi update automatically expansions?
no @gloomy flume
alr
Just to make it clear, StaffFacilities' dev is involved in this matter, right?
I think it's obvious that the StaffFacilities developer is involved
It's undetermined at this point. I reached out to him and he seems clueless to the matter.
Please don't start any witch hunts or theories. We're looking into it ๐
Obscure of the situation? He literally banned me from his discord when I showed him the evidence
We need proofs before pointing our finger at people
..
See the source code of the 1.4.1 version of stafffacilities and the next version of it
it is quite evident. he didn't even have the courage to answer me
the versions that had the js expansion code inside are now gone
deleting those versions won't fix any problems, it could very well do it again
right, any suggestions then?
If you have any evidence of the conversation with you showing him proof and him banning you from the Discord, that could be quite useful to me. You could DM it to @tender vapor .
I think the Spigot staff will not do anything about it, however many servers are now unaware that they have an Expansion that remotely accesses their machine
i'll dm you
Please keep the chat in english, Mario
Keep in mind a user must be given permissions to run any of these commands in the first place.
^
yeah, I was warning him, I deleted the message too
woops sorry for the ping
all good
Not to be a jerk, but it's a matter of philosophy, you'll choose what to do. But keep in mind that you have a huge power on the Spigot community because of PAPI. If I was PAPI owner I would disable eCloud by design and make the servers' owners download the expansions manually
You can choose what to do as you prefer
Hello, essentials baltop placeholder isnt working if i dont do /papi reload
send your startup log please
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.
Requested by: BlitzOffline โข startuplog
there is no errors
like
in the deluxemenus
wont update the top1 balance
only if I do /papi reload
but have you tested the placeholder using /papi parse?
ok. what if you do /papi parse, then update your economy, then do /baltop and then /papi parse.
will the placeholder update?
hmm. bcz my assumption is that the placeholders are cached but I thought the expansion doesn't cache them just essentials
so what shjould I do
I'll have to check if the expansion does indeed cache this stuff and if it does, then this is a bug we need to fix in the expansion
u can use a old ver of placeholderapi
for no ecloud
hmm?
how old are we talking about? xD
bcz the ecloud has been there for a long while
1980
That's not a problem for me. I've disabled eCloud on the config. It's a problem for everyone else, who could have the eCloud enabled and if anyone gets administrator permission could inject malicious code on the host machine
hello pirro
probably the owner of stafffacilities got money for upload that shit
and now
everyone
hates him
he make a shitty plugin 15โฌ
xd
Hi there! Does anyone know how to use %world_isgamerule_gamerule_world? Every time I use it it always results in false.
I've tried many variations and it didn't work, such as: %world_isgamerule_DoDaylightCycle_sepmaps%
how do I find out which placeholders are installed in the plugin ?
u can find out which expansions u have by doing /papi list
I know this I need placeholders of a certain extension
for example, how can I find out which placeholders are in the vault extension by command?
you can either look on the wiki to see if they're listed there if not you can check out the plugin's wiki and/or spigot page and see if they're listed there
if the expansion is on the ecloud you can also try /papi ecloud placeholders <EXPANSION-NAME>
unfortunately, this plugin is nowhere to be found because it was written personally for a certain person. But the plugin is in /papi list
well then you'll have to decompile the source and look for it there. or if you have the source code, even better, take a look directly in there
ok thanks
where can I request a new placeholder for expansions? specifically CheckItem
here. @mint fable will answer when he has time
thanks, its basically a new modifier that covers dye/color
dye:<hexcode>
something like
%checkitem_getinfo:mainhand_dye:%
A question. I have a political server that has a plugin for religion which unfortunately does not support the Placeholders API but I want the religion to be displayed in the player profile menu. Is there any way I can do this?
well if the plugin has an API you can make your own expansion.
I don't know how to work with the API, I thought it could be done somehow using Luckperms . For example, when issuing a religion, issue some kind of right that PAPI will display as the name of the religion. Is it possible ?
maybe maybe. with their meta feature possibly. I'm not 100% sure tho. I know in luckperms you can set variables and then you can access them using a placeholder I just don't remember how exactly
So does anyone know any solutions?
This definitely seems related with https://github.com/PlaceholderAPI/PlaceholderAPI/issues/868
can you execute /papi dump and send the generated link here?
also can you try paper? does this happen with paper? because we've got multiple reports of this issue and every single one of them is purpur or pufferfish (which I believe is a fork of purpur).
don't see why you can't list plugins tho?
So I tried to import placeholderapi into my plugin using maven (intellij community) and did exactly what the wiki said but for some reason I just get the error 'me.clip:placeholderapi:2.11.2' not found, heres part of the pom.xml file
<repositories>
<repository>
<id>spigotmc-repo</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
</repository>
<repository>
<id>sonatype</id>
<url>https://oss.sonatype.org/content/groups/public/</url>
</repository>
<repository>
<id>placeholderapi</id>
<url>https://repo.extendedclip.com/content/repositories/placeholderapi/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.19-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>me.clip</groupId>
<artifactId>placeholderapi</artifactId>
<version>2.11.2</version>
<scope>provided</scope>
</dependency>
</dependencies>
and on
import me.clip.placeholderapi.PlaceholderAPI;
``` i just get the error `cannot resolve symbol 'me'`
im a bit new so i have no idea if this is something simple or not, help would be appreciated
I restarted intellij and the error on pom.xml dissapeared but the import still gives errors
this is the problem
that just sounds like maven xD
oh
1 sec. let me double check something
but I know maven does this a lot
usually you have to refresh maven a bunch of times for it to work
sometimes it even throws the error but it compiles just fine
try invalidating cache in IntelliJ
ok
idk exactly how maven works but could it be the spacing?
dunno
nope that shouldn't be the case if you can import spigot
didn't work
then try refreshing maven a bunch of times
also if you compile, does it actually compile or does it error when you try to compile?
lemme see
it gave me an error
java: package me.clip.placeholderapi does not exist
yeah so it doesn't actually find it.
hmm
all I Can suggest is trying to refresh maven dependencies a few times or whatever its called
if it doesn't work might want to move to #development where smarter people than me can help
it worked :D
nice
might I suggest looking into gradle btw. Its pretty nice and usually doesn't have stuff like this happen
yeah I thought about that but since im kinda new to plugins and java i didn't know how to use it
i normally do c#
yeah. gradle has nice documentation but it is a lot. it can also do a lot
in intellij btw, you can select a gradle project and it will automatically generate all the files for you
like build.gradle, etc. just like with maven
oh ok
and here's some arguments pro gradle: https://wiki.helpch.at/piggys-barn/java/gradle/argument
if you weren't convince yet :))
I am not being paid by gradle, I just like it :)))
xD
can someone help me
I just created my server on 1.19.1
whenever I try adding a new expansion and I do /papi reload
I get an essay worth of console errors
mind putting them in a paste bin and sending them here?
you seem to have the essentials expansion installed but don't have the essentials plugin installed or you have an outdated version of Essentials
either install/update essentials or remove the expansion
to remove it go to plugins/PlaceholderAPI/expansions and delete it from there
ohh okay. Thank you
Is there a placeholder to tell the age of a server?
Can I see mspt with a placeholder?
Can you open an issue on the github?
hey, im trying to get %luckperms_prefix_element_lowest_from_group_<group>% , how can i replace <group> with every users group?
i tried %luckperms_prefix_element_lowest_from_group_%luckperms_highest_group_by_weight% but it didn't work
nvm
Sure will do thanks
Hey!
Please respect the rules, be patient and don't ping staff members!
Barry's Anti Abuse System | v1.4.7
there is no mspt placeholder. at least not on any expansions that I Know of. We thought of adding it in the server expansion but turns out spigot doesn't give you the mspt. Only paper does. You'll need a custom expansion for this.
do you know how i install expansions
Hey!
Please respect the rules, be patient and don't ping staff members!
Barry's Anti Abuse System | v1.4.7
You can either downlaod them from the ecloud using a command /papi ecloud download EXPANSION-NAME then /papi reload, or if the expansion is not there, or is not verified, you can manually download it and put it in plugins/PlaceholderAPI/expansions/ and do /papi reload after
thanks ๐
the expansion didnt work thats weird
what expansion?
lol ok
Hey, is there a possibility to get an account for the ecloud thingy? I wanted to write an expansion for my plugin and upload it there if possible.
Anyone know how to pull a nearby players name?
Otherplayer exp
But that needs a playername in the placeholder?
My placeholders keep going to their %whateverplaceholder% state and they only get fixed when I do /hd reload, this happens every minute, is there any way to fix this?
in holographicdisplays
multiple bungee expansions. go to plugins/PlaceholderAPI/expansions and remove them then restart the server
That really sounds like a problem with holographic display. but just in case. do you get any errors in console? maybe even on startup?
Hi, I need help, Im using plugin ConditionalEvents and I have countdown, before using same command again, and thats exactly 2 days, but every time, Im trying to use that command, It says DAYS:MINUTES:SECONDS, and I need DAYS:HOURS:MINUTES, timer is from papi (%time%), what should I do?
I can guarantee you %time% is not a PlaceholderAPI placeholder.
huh? ok, thanks for help ๐
papi placeholders have a specific pattern
which is %IDENTIFIER_DATA%
ok, I will ask on their discord, how to change it
How can i display multiple world %server_online%
Wt is the place holder?
Hi there!
How can I fix this:
https://imgur.com/a/SadPMOO
Uploading Images
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.
do the placeholders work if you test them with /papi parse?
So. Let me explain about that.
I was using old version (2018)
And board work perfectly.
So I just download newest
And board don't work.
Board update but that no.
/papi parse me %presets_primary%?
yes
Let me see..
hey guys it is possible to use papi formatter expansion to convert an economy to accept decimals?
not really. the expansion just takes a number and formats it the way you want. you can't just go and change data in a plugin with it
Bro can u help me
Hey!
Please respect the rules, be patient and don't ping staff members!
Barry's Anti Abuse System | v1.4.7
so you want to take the players online in a world instead of players in the entire server?
if so you could use the PlayerList expansion
Just replied with %presets_primary
I think you forgot a % at the end
seems like you don't have the required expansion installed or its not working
what I need to download?
where are these placeholders from? are they from a specific expansion or plugin?
are they from this plugin? https://www.spigotmc.org/resources/presets.51129/
probably plugin
I'l check wait
Yes I think, I have this plugin
There placeholders are written in config.yml in board.
In featherboard
ok. can you please restart the server and send the full startup log here?
and also execute /papi dump and send the generated link here as well
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.
Requested by: BlitzOffline โข startuplog
.
yeah saw it but I also need the startup log. that didn't give as much information as I was hoping for
So it seems like the Presets expansion is very outdated. you need to contact the developer of the plugin to update it.
it uses some stuff that I believe were removed 2 years ago
Because that was before the stuff was removed. I highly advise you not to use that old of a version of the plugin. Reach out to the developer of the expansion like Blitz said and see if they will update it.
That's Impossible to update...
Hey!
Please respect the rules, be patient and don't ping staff members!
Barry's Anti Abuse System | v1.4.7
Well, just know if you make that choice you won't be given any support.
Is it possible to do math operations ? like merge player counts from two servers on bungee
Lets say I have different minigames server on a bungee. And I want to display all of the players playing in one holder
Might be able to use the math expansion.
thanks, Ill try it. Much appreciated
What choice?
Hey!
Please respect the rules, be patient and don't ping staff members!
Barry's Anti Abuse System | v1.4.7
when we write %server_online% in znpcs using PlaceholderAPI so All the people in the server are visible usking this placeholder but if we have multiverse core and we want to see how many members are connected to other world so what is the Placeholder For That?
I want to make betterteams have brackets around so Id want it to contain [%betterteams_name%]
Brackets?
Edit ur team.yml
Idk its work
ik but I want the brackets to go away if somone isnt in a team
/papi ecloud download Multiverse
/papi reload
idk much else tho
hmmm
If u installed better teams plugin
Then don't delete this cus its create bug like
It's not clear player teamns prefix
I'm getting this error https://paste.gg/p/anonymous/56a25505a96e438090bbd7e577ad8648 ๐ฆ
can anyone help
Hello my bungee server thing is not working im trying to have the placeholder say how many players are on this server but it says 0 when there are more then zero players on
Relational placeholder in changeoutput doesn't work :c
[17:35:35 WARN]: [PlaceholderAPI] Task #65706 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:544) ~[patched_1.16.5.jar:git-Paper-794]
at org.bukkit.craftbukkit.v1_16_R3.entity.CraftPlayer.sendPluginMessage(CraftPlayer.java:1597) ~[patched_1.16.5.jar:git-Paper-794]
at com.extendedclip.papi.bungeeexpansion.BungeeCordExpansion.getServers(BungeeCordExpansion.java:108) ~[?:?]
at com.extendedclip.papi.bungeeexpansion.BungeeCordExpansion.access$100(BungeeCordExpansion.java:45) ~[?:?]
at com.extendedclip.papi.bungeeexpansion.BungeeCordExpansion$1.run(BungeeCordExpansion.java:201) ~[?:?]
at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:101) ~[patched_1.16.5.jar:git-Paper-794]
at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:485) ~[patched_1.16.5.jar:git-Paper-794]
at net.minecraft.server.v1_16_R3.MinecraftServer.b(MinecraftServer.java:1432) ~[patched_1.16.5.jar:git-Paper-794]
at net.minecraft.server.v1_16_R3.DedicatedServer.b(DedicatedServer.java:436) ~[patched_1.16.5.jar:git-Paper-794]
at net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1347) ~[patched_1.16.5.jar:git-Paper-794]
at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1135) ~[patched_1.16.5.jar:git-Paper-794]
at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:291) ~[patched_1.16.5.jar:git-Paper-794]
at java.lang.Thread.run(Thread.java:831) [?:?]
Possible Solution Found:
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.
Barry's solution finder is still in BETA and will make mistakes.
it stil wont work
Is there a placeholder to show the amount of GB the server uses?
https://api.extendedclip.com/expansions/server/
%server_ram_used% %server_ram_free% %server_ram_total% %server_ram_max%
To download the expansion do: /papi ecloud download server then do /papi reload
Iโm talking about SSD
[12:51:34 ERROR]: [PlaceholderAPI] failed to load class files of expansions
java.util.concurrent.CompletionException: java.lang.UnsupportedClassVersionError: ch/andre601/mathexpansion/depencencies/caffeine/PWAR has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:273) ~[?:1.8.0_312]
at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:280) ~[?:1.8.0_312]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1606) ~[?:1.8.0_312]
at java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1596) ~[?:1.8.0_312]
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) ~[?:1.8.0_312]
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) ~[?:1.8.0_312]
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) ~[?:1.8.0_312]
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175) ~[?:1.8.0_312]
Caused by: java.lang.UnsupportedClassVersionError: ch/andre601/mathexpansion/depencencies/caffeine/PWAR has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
Possible Solution Found:
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)
Barry's solution finder is still in BETA and will make mistakes.
redisbungee mate
NVM my dev fixed it for me yay
Hello is there a way to register placeholder with multiple parameters something like this %skiesmc_{jobname}_{meterial}_points%
[13:38:20 ERROR]: [PlaceholderAPI] Failed to load class files of expansion.
you just have to know how to parse the parameters. PlaceholderAPI gives you the entire string after skiesmc_ as input
you can parse however you want
after that
and do whatever you want with it
nothing after?
so i have to have multiple placeholders registerd for this to work right like. %skiesmc_miner_{meterial}_points%
java.util.concurrent.CompletionException: java.lang.IllegalStateException: zip file closed
me.clip.placeholderapi.expansion.manager.LocalExpansionManager.lambda$findExpansionInFile$7
the full error please. there should be at least 5 lines
copy it all
and send it
[13:38:20 ERROR]: [PlaceholderAPI] Failed to loa
d
class files of expansion
java.util. concurrent. CompletionException: java.l
ang. IllegalstateException: zip file closed
at me.clip.placeholderapi.expansion.mana
ger.LocalExpans ionManager.lambda$findExpans ionIn
File$7 (LocalExpansionManager.java:428) ~[Placeho
lderAPI-2.11.2.jar:?]
at java.util. concurrent.CompletableFutur
e$AsyncSupply. run(CompletableFuture. java:1768)
[?:?]
at java.lang. Thread. run (Thread. java: 833)
~[?:?]
Caused by: java. lang. IllegalStateException: zip
file closed
at java.util.zip.Zipfile.ensureopen(zipF
ile. java:831) ~[?:?]
at java.util.zip.Zipfile.getEntry(zipfil
e. java:330) ~[?:?]
at java.util.jar. JarFile.getEntry(JarFil
e.java:518) ~[?:?]
at java.util. jar. JarFile.getJarEntry(Jar
File. java:473) ~[?:?]
at org.bukkit.plugin. java.PluginClassloa
der. findClass(PluginClassLoader. java: 163) -[pape
r-api-1. 19. 2-RO.1-SNAPSHOT.jar:?]
at java. lang. ClassLoader.loadClass(Class
Loader. java:587) ~[?:?]
at org.bukkit.plugin.java.Pluginclassloa
I guess so. you could also just say %skiesmc_miner_points_MATERIAL% and just take the last part and parse it as a material
ok
Happens every time I restart server, if I do /papi reload after it works
Ok. I need 2 more things from you: first execute /papi dump and send the generated link here, second, restart your server and send the full startup log here. thank you
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.
Requested by: BlitzOffline โข startuplog
so placeholder api will take the last part as the parameter ?
or it will take all the string as parameter after Identifier
for example miner_points_MATERIAL all this be the parameter
i will test
yes. all that will be the parameter
you can then for example check if the string starts with miner_points_ and if it does
take everything after
as a parameter
ah ok then i will split the string and take everything that separated by _ as parameters
you can do that yeah
ok thank you for the information
Hi, i'm trying to download the javascript expansion for PlaceholderAPI but it won't work, the plugin send this message: failed to find an expansion named: javascript
i copy and pasted the command from the github list
the javascript expansion has been unverified for the time being. We will reverify it in the future. You can still download it but you have to do it manually from here: https://api.extendedclip.com/expansions/javascript/ then put it in your plugins/PlaceholderAPI/expansions/ folder
and execute /papi reload
Thanks!
Hello can i have a fix on this pls
Hey does anyone know a placeholder or something that checks server status like pinger except it actually works
how i can get placeholder of other player like i can get %player_biome% of my friend in a menu, how i can get other player placeholders
What i need to do?
https://imgur.com/a/XPzphJm
use ParseOther
@autumn stream read this 
%server_countdown_MM/dd/yyyy-HH:mm_08/12/2022-21:00% - Did I do something wrong here? I want a countdown in my slp motd, countdown till 21:00 tonight
ok thanks
Hey!
Please respect the rules, be patient and don't ping staff members!
Barry's Anti Abuse System | v1.4.7
sorry
Hi, is there a way to countdown to 20:00 (8PM) every day using %server_countdown%? I've tried inserting %localtime_timezone_name,simpledateformat%, but it works only when you specify the date
So if you add the date it counts down to 8PM and then it stays 0 for next 4 hours (until the date changes at 00:00)
I have a feeling that doesn't work
%server_time_<SimpleDateFormat>%
it does
look at the issue, that was linked but I see is no longer linked
no, I mean what they want
should work
although you'll need to supply date and month
so the output might have too much
but it will still be 0 between 20:00-00:00, right?
because the current time would be more than 20:00 and date wouldn't change
ya
I got it working that way with localtime (I need to specify the timezone as well), but I want it to reset after 20:00
seems like you'll probably need a javascript or something to do what you want
is there a way to find out the tomorrow's date
or I'll have to make a plugin for that
which one?
i'm saying make an expansion not a plugin
oh
hh:mm with input 08:00 would be the amount of milliseconds since 1 january 1970 00:00, not even close to what you want
ye, that's why you need the date
and that's why you can't do "time since x every day"
without changing the date manually
my bad, they want to show time until 8 AM next day
and you can't do that automatically without changing things every date
ye, when it comes to the conditionals you'll need javascript or a custom expansion
If you want the countdown to be to midnight, this would be fine
yeah that's way easier than making an entire expansion for countdown
sure if it works for your server
but if you did want to do "countdown till 8" it wouldn't be too hard in javascript
Hey, it works using %server_countdown_dd/MM/yyyy-HH:mm_{localtime_timezone_Europe/Belgrade,dd/MM/yyyy-24:00}%, but it displays the time using my server's time (which I can't change), even though I added the timezone
Is there a way to fix this somehow?
https://i.imgur.com/ptmOqSg.png this is the output, it should be 5h 16min
yes. bcz the server expansion gets the timezone from the server
you're only using the localtime expansion for the comparison date.
Hey how can I make this work? %formatter_number_format_{math_{superior_island_level_int}*10000}%
short answer, you can't.
/papi ecloud download NestedPlaceholders
/papi reload
%nested_formatter_number_format_{math_{superior_island_level_int}*10000}%
oh thank you
Possible Solution Found:
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.
Barry's solution finder is still in BETA and will make mistakes.
Anyone know a way to fetch the gamemode of a world other than the one the target is in? I'm adding a hologram label to a Multiverse-Portal and I would like to display the current gamemode of the destination world. I can retrieve the gamemode of the world the target is in using %multiverse_world_gamemode%, but I haven't found a way to get the status of an alternate world. I'm a noob, so please forgive me if this is a bad question.
Maybe this question is more appropriate for #general-plugins?
what is happening here?
maybe bot will help
[02:31:22] [Server thread/ERROR]: [PlaceholderAPI] Failed to load class files of expansion.
java.util.concurrent.CompletionException: java.lang.IllegalStateException: zip file closed
at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.lambda$findExpansionInFile$7(LocalExpansionManager.java:428) ~[PlaceholderAPI-2.11.2 (1).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.IllegalStateException: zip file closed
at java.util.zip.ZipFile.ensureOpen(ZipFile.java:831) ~[?:?]
at java.util.zip.ZipFile.getEntry(ZipFile.java:330) ~[?:?]
at java.util.jar.JarFile.getEntry(JarFile.java:518) ~[?:?]
at java.util.jar.JarFile.getJarEntry(JarFile.java:473) ~[?:?]
why is my hologram doesn't show up the return thing from the placeholder?
It sounds like you have a corrupted expansion somewhere. You could either try wiping your expansion directory and re-downloading what you need or remove them one-by-one until you figure out which of your jar files are corrupted.
Also refer to this. @worthy matrix
Hey!
Please respect the rules, be patient and don't ping staff members!
Barry's Anti Abuse System | v1.4.7
wrong person
hm ok
not that hard to understand don't hurt your brain
Hey
with changeoutput placeholder, can I put a changeoutput inside of a changeoutput as a variable?
In specific, I need help with this(see box below). ||Sometimes because they've yet to do welcome screening, they don't have a top discord role but can still connect to my game|| I'd like it to remove the initial '&' after the first '[' if %discordsrv_user_top_role_color_hex% output is empty.
default: "[&%discordsrv_user_top_role_color_hex%{prefix}%changeoutput_equals_input:{simpleclans_clan_color_tag}_matcher:_ifmatch:&r]_else:&r | {simpleclans_clan_color_tag}&r]% &r{displayname} &7ยป&r {message}"
how to register on the page of https://api.extendedclip.com?
Have you got an expansion to publish?
nop
then what you need an account for?
Then you won't get an account as it's reserved for people that have expansions ready to publish. If you have a plugin it's recommended you opt to building in the expansion in for a better user experience.
ok
%playerlist_online,nearby,no,amount,100%
this will return the number of players in 100 radius right?
if you include 100 after the last , then yes
ahh yes i forgot lol
towny expansions not working
please send the PAPI Dump and the startup log. read under for information on how to get both
PAPI Dump
To generate a PAPI dump, execute the command /papi dump. Then you can copy the link by clicking on it in chat and selecting the COPY LINK button.
Requested by: BlitzOffline โข papi-dump
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.
Requested by: BlitzOffline โข startuplog
okay
Hey!
Please respect the rules, be patient and don't ping staff members!
Barry's Anti Abuse System | v1.4.7
Remove the regular Towny expansion. It's built in.
ok but if i remove the towny expansions the scoreboard doesn't show how do i fix this
which placeholder are you testing with?
can you explain in a simpler way
you're saying that the placeholder isn't working. What placeholder? Here's a list of official placeholders from towny: https://github.com/TownyAdvanced/Towny/wiki/Placeholders#town--nation-prefixestags
you might just be using the wrong placeholder
but do as Glare said and remove the Expansion-Towny.jar file from your plugins/PlaceholderAPI/expansions file.
then restart the server
%townyadvanced_town_balance%,
[PlaceholderAPI] Successfully registered expansion: townyadvanced [0.98.3.0]
[PlaceholderAPI] Successfully registered expansion: towny [1.0.0] as you can see, 2 expansions are being registered. both for towny.
i tried but it didn't work
second one is the old one. which is not needed anymore
okay try
mind executing /papi parse me %townyadvanced_town_balance% and telling me what it says in chat?
that means the placeholder works. so you're saying its not working in your scoreboard?
yes
what scoreboard plugin do you use?
title manager
what about other placeholders btw. Do other placeholders work and its just the towny ones that don't or none work at all?
not working at all
whats the javascript expansion called now?
its still javascript. you just have to manually download it for now
link?
ty โค๏ธ
Hey Hey! Can someone help me with getting a value out of a mysql database with placeholderapi. I cant find a tutorial or something like that :/
are you creating an expansion for this or what?
is there a placeholder to figure out what timezone a player is in?
kinda doubt that. maybe essentials has one but not sure. even then you will most likely need to set up a maxmind api key and set it in essentials's config
that doesn't give you the timezone tho
yeah... he was asking for one that already exists
lmao
Why none of them returns the timezone LOl
oh. java has a TimeZone class. didn't know
Yes, how do you think you parse them xD
that's what the expansion uses
But you need an external api
To get player's timezone
Or at least thats what localtime uses
ah right. right
yeah. they do use an external timezone
api
didn't realise that for a second
Can you add an issue, please?
wasn't looking that far down
yeah. bcz aboo will add it very soon xD
Is it not on the papi org?
Aight will fork it then
ok. good luck
Wdym gl lol
not doing it myself lmao. rn my head hurts from trying to fix deluxemenus
See if you can fork it to the papi org
btw. its under gnu. idk how that one works. I forget. I think we can use it as long as we OS it and also can't sell it right?
yup
Idk
And the issue ๐
there's also 2 more issues on the original repo if you want to take a look
Ok bud
ok.. fuck off. I've been spending past 2 hours trying to fix deluxemenus. probably going to spend 2 more. maybe even more. bye
It took you more to write this useless message than to open the issue, js
Ty
yes I know
bye
Hf 4head
haha ๐ฆ
Told ya
what?
but.. we don't even use maven local yet
we still have the JARs built in
Ah, ok
its not like you were going to contribute anyways
you didn't even know that
you give 0 shits
lmao

Heya, using the change output expansion can you use another changeoutput inside of a placeholder?
Like %changeoutput_equals_input:A_ifmatch:1_else:(another_changeoutput)%
kinda. you can try to use Tanguygab's nestedplaceholders expansion
Yeah I was thinking nested might work, but I figured I'd ask if there was built in functionality for it
Thank you!
no. PlaceholderAPI is very limited with this stuff I'm afraid
it can only have 1 maximum nesting level and that's with the bracket placeholders.
Gotcha
If the expansion name of one plugin coincides with the expansion of another plugin, what will happen?.
I believe that only the second expansion to register will be used
๐
java.util.concurrent.CompletionException: java.lang.IllegalStateException: zip file closed
at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.lambda$findExpansionInFile$7(LocalExpansionManager.java:428) ~[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.IllegalStateException: zip file closed
at java.util.zip.ZipFile.ensureOpen(ZipFile.java:831) ~[?:?]
at java.util.zip.ZipFile.getEntry(ZipFile.java:330) ~[?:?]
at java.util.jar.JarFile.getEntry(JarFile.java:518) ~[?:?]
at java.util.jar.JarFile.getJarEntry(JarFile.java:473) ~[?:?]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:163) ~[paper-api-1.19.1-R0.1-SNAPSHOT.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:587) ~[?:?]
at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:108) ~[paper-api-1.19.1-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.java.JavaPluginLoader.getClassByName(JavaPluginLoader.java:235) ~[paper-api-1.19.1-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:126) ~[paper-api-1.19.1-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.java.PluginClassLoader.loadClass(PluginClassLoader.java:103) ~[paper-api-1.19.1-R0.1-SNAPSHOT.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:574) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
at me.clip.placeholderapi.util.FileUtil.findClass(FileUtil.java:62) ~[PlaceholderAPI.jar:?]
at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.lambda$findExpansionInFile$7(LocalExpansionManager.java:405) ~[PlaceholderAPI.jar:?]
... 7 more```
Any idea whats up here? 1.19.1, newest version of papi
Run a /papi dump please
@trim mist https://paste.helpch.at/otisefomeb
Mythic gangs's placeholders seem to work after, but it everything else seems to break.
Weird part, if you restart it has a chance of fixing it. but sometimes no, and this error shows up after the server starts up, very confused as it only happens once in a while.
Anybody good at javascripts?
you'll probably get a faster answer if you say what you're trying to achieve.