#placeholder-api
150650 messages · Page 118 of 151
%utils_parseother:[playerlist_ismembers_0]_statistic_mine_block:dirt%
so this placeholder
needs to be changed to return 0 if it's empty
yep
%changeoutput_equals_input:{utils_parseother:[playerlist_ismembers_0]_statistic_mine_block:dirt}_matcher:_ifmatch:0_else:{utils_parseother:[playerlist_ismembers_0]_statistic_mine_block:dirt}%
so then
jeez
man how are you so fast
I think I'm gonna make add config settings to Utils to make shortcuts
something like the Shortcut expansion did with arguments
where do I get that
I need that s hortcut expansion
that's going to make my config look so much fucking better
I'll try to add that directly into Utils
%utils_parse_math_0:_{changeoutput_equals_input:{utils_parseother:[playerlist_ismembers_0]_statistic_mine_block:dirt}_matcher:_ifmatch:0_else:{utils_parseother:[playerlist_ismembers_0]_statistic_mine_block:dirt}}+{changeoutput_equals_input:{utils_parseother:[playerlist_ismembers_1]_statistic_mine_block:dirt}_matcher:_ifmatch:0_else:{utils_parseother:[playerlist_ismembers_1]_statistic_mine_block:dirt}}+{changeoutput_equals_input:{utils_parseother:[playerlist_ismembers_2]_statistic_mine_block:dirt}_matcher:_ifmatch:0_else:{utils_parseother:[playerlist_ismembers_2]_statistic_mine_block:dirt}}+{changeoutput_equals_input:{utils_parseother:[playerlist_ismembers_3]_statistic_mine_block:dirt}_matcher:_ifmatch:0_else:{utils_parseother:[playerlist_ismembers_3]_statistic_mine_block:dirt}}+{changeoutput_equals_input:{utils_parseother:[playerlist_ismembers_4]_statistic_mine_block:dirt}_matcher:_ifmatch:0_else:{utils_parseother:[playerlist_ismembers_4]_statistic_mine_block:dirt}}%
😂
try it with arguments
that way you won't have to make 100 files for each placeholder
Elaborate on that one?
didn't know about shortcut
instead of having a file for the parseother placeholder with playerlist_is_members_1, 2 etc, you have shortcut_file:1 and use {0} in the file to get the 1st arg
indeed
ok so the placehodler works now but the addition still doesn't
hmm
Hey!
try the ChangeOutput placeholder separately in parse
They can use the EssentialsX GeoIP
To get the timezone of the player according to his ip
Hi, is there a way to round numbers only to the nearest multiple of 5 (or any number) in the math expansion? Tried to check the wiki for all types of rounding behavior but the link doesn't seem to lead anywhere.
this is with the changeoutput?
as tanguygab said, test this placeholder
there could be a way but I'm too tired to think this through, I can try and come up with something tomorrow if cj didn't do it first
yes
Hi?
already did this
that would roudn down
I have asked and you can use the EssentialsX GeoIP API to get the timezone of the player
Corresponds with
- ""
- "&8Slot Information"
- ""
- "&fMember 0: %changeoutput_ignorecase_input:{playerlist_ismembers_0}_matcher:offline_ifmatch:&cN/A_else:{playerlist_ismembers_0}% &7= &fMined Dirt: &e%changeoutput_equals_input:{utils_parseother:[playerlist_ismembers_0]_statistic_mine_block:dirt}_matcher:_ifmatch:0_else:{utils_parseother:[playerlist_ismembers_0]_statistic_mine_block:dirt}%"
- "&fMember 1: %changeoutput_ignorecase_input:{playerlist_ismembers_1}_matcher:offline_ifmatch:&cN/A_else:{playerlist_ismembers_1}% &7= &fMined Dirt: &e%changeoutput_equals_input:{utils_parseother:[playerlist_ismembers_1]_statistic_mine_block:dirt}_matcher:_ifmatch:0_else:{utils_parseother:[playerlist_ismembers_1]_statistic_mine_block:dirt}%"
- "&fMember 2: %changeoutput_ignorecase_input:{playerlist_ismembers_2}_matcher:offline_ifmatch:&cN/A_else:{playerlist_ismembers_2}% &7= &fMined Dirt: &e%changeoutput_equals_input:{utils_parseother:[playerlist_ismembers_2]_statistic_mine_block:dirt}_matcher:_ifmatch:0_else:{utils_parseother:[playerlist_ismembers_2]_statistic_mine_block:dirt}%"
- "&fMember 3: %changeoutput_ignorecase_input:{playerlist_ismembers_3}_matcher:offline_ifmatch:&cN/A_else:{playerlist_ismembers_3}% &7= &fMined Dirt: &e%changeoutput_equals_input:{utils_parseother:[playerlist_ismembers_3]_statistic_mine_block:dirt}_matcher:_ifmatch:0_else:{utils_parseother:[playerlist_ismembers_3]_statistic_mine_block:dirt}%"
- "&fMember 4: %changeoutput_ignorecase_input:{playerlist_ismembers_4}_matcher:offline_ifmatch:&cN/A_else:{playerlist_ismembers_4}% &7= &fMined Dirt: &e%changeoutput_equals_input:{utils_parseother:[playerlist_ismembers_4]_statistic_mine_block:dirt}_matcher:_ifmatch:0_else:{utils_parseother:[playerlist_ismembers_4]_statistic_mine_block:dirt}%"
- ""
- "Total Mined Dirt = %utils_parse_math_0:_{utils_parseother:[playerlist_ismembers_0]_statistic_mine_block:dirt}+{utils_parseother:[playerlist_ismembers_1]_statistic_mine_block:dirt}+{utils_parseother:[playerlist_ismembers_2]_statistic_mine_block:dirt}+{utils_parseother:[playerlist_ismembers_3]_statistic_mine_block:dirt}+{utils_parseother:[playerlist_ismembers_4]_statistic_mine_block:dirt}%"
- ""
So the localtime placeholder might work maybe
Great, I like to be ignored
i hate when people say this shit
💀
there's so much going on right now
and you act as if the world is revolving around you
be patient
%math_0_{math_0_54/5}*5%
I'll read your messages about localtime
It literally helps me by ignoring stqm
why double math
because the first math rounds 54/5, and then you multiply the rounded easily by 5
otherwise, /5*5 will be the same thing
ya, I was gonna see what happened and test
that works as well xD
Tanguy did you see the screenshot + corresponding placeholder
2sec
@dense trail
oooooh
you didn't switch out the bottom placeholder yet
I see... couldn't see it before
yeah changeoutput isn't used in the total placeholder
it works!!!!
@austere hawk It would probably be best to have a separate expansion from localtime that accesses essentialsgeo
use the utils_parseother a shortcut file with an argument
I'll try forking the Essentials expansion tomorrow
Will look into that
localtime would work best without a dependency, but there is definitely room for essentialsgeo support
It would be great
Again, everything is volunteer work here
It requires somebody with an interest in making such a thing, tanguygab will take a look it seems
Separate or bundled with existing EssentialsX expansion
thanks, that works but it seems like as soon as I replace the number by a placeholder it stops working... either that or I'm stupid
ah yes, you'll need utils now
let me look at the ROUND
an update to the Essentials expansion
Really if you need a dependency like Essentials GeoIP since it currently doesn't work quite right
%math_0:_ROUND(54,5)%
doesn't change the implication of how the expansion should work
we have the essentials expansion already, as tanguygab will propose a fork to
everything has it's place
@toxic stag
it might be that easy
i'd test with like 51 and 54 for example fyi
just to make sure
And it would be a placeholder to get the timezone or localtime
well, yeah, what else would it be for?
How?
what?
?
I think you should create a placeholder to get the local time and another to get the timezone
you asked if the placeholder was to get the localtime,
I said yes and asked you what you expected instead
Thus, to be able to verify things, the placeholder to obtain the timezone and the one to obtain the local time, well, to obtain the local time
%essentials_geoip_timezone% = timezone
%essentials_geoip_localtime% = hour
for the 3rd time, yes
God
Could you ping me when you've done it or if you couldn't please? Although I think you can do it
this one doesnt seem to work but the other one does now that I used utils. Thanks to both of you for the help!
help
What is the placeholder to get the date the player first joined
If possible custom format
String expansion is outdated in latest version of papi
%player_first_played%
%player_first_played_formatted%
what do you mean?
Failed to find expansion in xxxxx
works fine for me
if you can't download it with the command, try to download it manually https://api.extendedclip.com/expansions/string/
Have fun
I have no idea if it works, and I have no way of testing it
so if it doesn't work, I can't help
UnsupportedClassVersionError: META-INF/versions/9/module-info has been compiled by a more recent version of the Java Runtime
Why it runs well in my local server
also java 8
Ouh, i just tried this and it would have worked perfectly but i have a problem u_u
Now when i PM (/msg) with essentials it shows as:
No Medals Yacubical, What should i do?
?imgur
can you send a screenshot?
is that your LuckPerms prefix?
Yes
it's Essentials's /msg right?
yes
try to go in Ess' config and disable change-displayname
And, how could i make so player automatically get the "no medals" permisson?, because if i place it in the default group it woul look like:
(No medals)(Medal 1)(Medal 2) which doesn't make sense
what?
how do i automacally give the "no medals" permisson to people?
give it to the default group
It can't be in the default group because that would make the (No Medals) imposible to remove, which makes so you would have the (No medals) while having (medals)
what does that mean
they stack right?
what stacks
unless you use tracks and configure the plugin to stack prefixes, no they don't
only the most important one will show
Ohh, it would make it a lot easier
since i'm trying to give "medals"
except that the "no medals" would remain with that approach
@junior musk this is what i'm trying to do o,o
you could use metas instead
/lp user <player> meta set <name> <value>
and then retrieve the value with %luckperms_meta_<name>%
Oh!, tysm
@junior musk Two last things, how do i give this permisson to everyone on start?, (without the default group) to be able to remove it)
and, how to i give them order?
like, the metas, can they have different left to right priority?
give them to the default group
they'll be overriden when you set it to the player
left to right?
Please help :/
https://paste.denizenscript.com/View/114807
are you sure?, because i was going to set it like: %luckperms_meta_nomedals%%luckperms_meta_bestbase%%luckperms_meta_fastest end%
Wouldn't that look like:
no medals yet [Best Base 20230] [Fastest End]
I will try 🙂
oh
I see what you're trying to do
I don't think LuckPerms would be the best choice then
:0 first time reading that lol
how would you suggest i'd do it?
--- but now that i think about it, you said that "they'll be overriden when you set it to the player"
then, when i give any medal it could also set the "meta.nomedal." would that work as empty?
Ohh, i just tried that, it works
I was thinking of having 1 meta called "medal" which is set to No Medal by default, and then you get Some Medal, then Some Medal++
so only one medal at a time
but having multiple medals would be more complex, and I don't think that's a job for LuckPerms
you should look into other plugins
no idea
I'll try ok
The placeholders are %essentials_geoip_timezone%
%essentials_geoip_localtime%
What are the placeholders
I tried these too
%essentials_timezone%
%essentials_localtime%
And they all return the placeholder, except with %essentials_timezone% which returns an empty message
then it doesn't work
😦
And are you sure you did everything right? Was there an error writing the code?
I have no idea
wasn't even able to test it because GeoIP didn't even retrieve my location
check /whois, if your country isn't listed there then GeoIP isn't working
And the PlaceholderAPI devs can't do the update?
it doesn't look like a PlaceholderAPI issue
just EssGeoIp not working
and though I did set up maxmind and its key correctly
maybe it's just because I'm using it on localhost
but I don't have a server so I can't test it
Equal
I use slynode to test and it doesn't work for me
@austere hawk Reason to add?
Localtime doesn't work quite right
Ok and? Open an issue on github. You might need something installed for essentials for that to work
For a number of people using %localtime_time% returns the default time to all players
You talk about localtime or Essentials GeoIP
Essentials geo stuff depend on a third party service that you need to download
And localtime doesnt work fine on shared host if it is the expansion i think you are talking about
Well, I have EssentialsX and EssentialsX GeoIP
You need to download some geo database
How shared host?
They first said that because of the web page they use has a limit
You said you are using some company to host your server, if you have a game panel that means you are using a shared host
A shared host has multiple servers (physical servers, like computers) and they sell small parts of them to people
Well, slynode and the free server
You get 10GB of ram and some of the cpu, another gets X and so on
But I'm not the only one with this problem.
localtime usesa third-party as well
the requests to made to ipapi.co come from the same IP address and the service has a limit of requests
Yes, I was saying that you need to download smth for essentials geo, not that localtime works on its own
all in all, we tried to switch to EssGeoIP, it downloaded the database for me but it didn't retrieve my location (maybe because of localhost) so idk if it works or not
I dont think that using an api key will do anything, since the same amount of requests will come from the same IP but worth trying ig
and idk about their set up so idk
Can you check what method is used to get the stuff on the ess expansion? Link me to that part
user.getGeolocation returns empty stirng
I'm not understanding anything hehe
What does, uh, /whois say? I dont remember if and where they show geo stuff in essentials
it's the right command but it doesn't even appear there
Your IP and location should come out
for me, I think it's because I'm using localhost, but it didn't seem to work for Rekic either, though they didn't send a screenshot
You gave yourself permission by chance
https://essentialsx.net/wiki/GeoIP.html Using the plugin, it should be on /whois
Try to use the command rekic
See if ess tells you the location and whatever else
or check /papi parse me %essentials_geolocation%
if it returns blank, then it didn't work
The key must end in _mmk
Empty
I don't know if it's the key
yo
does anyone know a place holder that instead of showing 99000 (money) it can show 90k instead?
okay ty
@junior musk
vault
idk but the key isn't the problem for me
the database was downloaded correctly
it's just not getting my location
@junior musk still doesnt work
can you tell me what exactly i need to do
i added it to the scoreboard.yml
then i did /papi ecloud download vault
what placeholder were you using before?
and it worked ?
wtever
ye
huh?
you're using %vault_eco_balance% right?
yes
send a screenshot with vault_eco_balance_formatted
now send a screenshot of the scoreboard with vault_eco_balance_formatted
WHERE
where do i find thus
this
do i find it in the yml
btw
that pic that i sent earlier is with the formatted one
ok
?paste
@junior musk https://imgur.com/a/nWrkEcZ
what plugin is that?
simplescore
and send a screenshot of the chat output of /papi parse me %vault_eco_balance_formatted%
you didn't save the file
did you reload simplescore after that?
the placeholder shows the correct output
i didnt
gg
Well basically I'm screwed
localtime returns the default time to all players and EssGeoIP doesn't work
Player Information and IP
The city, town does not appear
I tried to ask for help in ess but it was a complete failure
well that means you didn't setup the geo stuff right
for
It does not throw me any error, the key is the one generated by maxmind
The show-cities option: set to true
I would send you an img but I don't want to download imgur
imgur is an online service
since when
use anything else
what files do you have in your EssentialsGeoIP folder? @austere hawk
GeoIP city db
if the db was downloaded, then it means that the key works, but the plugin isn't for some reasons
and config
so geoip is broken or something 🤷
Couldn't they use the GeoIP API directly?
https://essentialsx.net/wiki/GeoIP.html follow this
Well then I'm screwed right?
yeee
I did it
he did it correctly
the db was downloaded
Since localtime doesn't work for me too
jus essgeoip doesn't fetch location for reasons
localtime has nothing to do with essentials
I never said that
.
Only %localtime_time% returns the server's default time to everyone
idk how geoip works but your server might block external connections
I never said it won't work for ess
it downloaded the database
dont you download the database manually?
nvm I see
that's why it requires the key
which means that it's EssGeoIP that's not fetching locations from the db correctly
And ask for help in ess in useless
the support is very nice in essx wym ;-;
Since yesterday I asked for help and they never helped me
have u tried looking at their servers msgs related to the geoip thingie?
looking at old msgs always help ;-;
thats how i mostly find solutions for itemsadder
Could somebody help me give a maximum to this placeholder?:
%realtps_tps_0%
I want to give it a maximum of 20, as it looks very ugly when it shows for example 25/20 for a second for compensation
isn't it the whole point to that placeholder? showing the realtps ?
use %server_tps_1% instead if you want up to 20
I use it because it doesn't shows the decimal points + it shows drops faster
i think that would make it something like:
20.1 for example
then use %math_0_MIN(20,{realtps_tps})%
MIN?
yeah
if the placeholder returns 25, 20 will show instead right?
so between 20 and 25, 20 is the minimum
so that's the one that should be shown
Ohh, okk, tysm!
Yeah, it looks waay better this way
so we know when it is dropping, but it doesn't ruin the format xd
Is there any extension that does this?
%list_STONE,DIRT,GRASS_0%
Output: STONE
%list_{string)_{index}%
I added that in my playerlist expansion a few days ago
download it
https://api.extendedclip.com/expansions/playerlist/
do /papi reload
go in your PAPI config, find the playerlist section and under lists add ```yml
playerlist:
lists:
blocks:
type: CUSTOM
input: "STONE,DIRT,GRASS"
separator: ","
/papi reload
and use %playerlist_blocks_0%
damn that custom type has been saving lives lately
xD
great job tan
ok, but is there any way to provide the list along with the placeholder?
not within the placeholder
only in the config
though you can use placeholders as input
Can I make a leaderboard menu?
slot 0 player with the most kills and item that is the player's head
What excellentcrates keyall?
How Can I download Annihilation in https://api.extendedclip.com/usage/ ? I can't load it in plugin
Considering it's only be found on 1 server, it may only be a dev build or a random test jar someone was working on
and not actually a real expansion
thanks for your answering
Hello, would it be possible to have the placeholders of the chatreaction plugin?.
Is there any way to not allow player chat contain %placeholder% ?
@junior musk When you tried EssentialsX GeoIP on localhost it was in Java right?
PlaceholderAPI.setPlaceholders(player, "%vault_prefix%")
why isnt this getting the placeholder?
where is this? java?
do you have the vault expansion?
java, and yeah, %vault_eco_balance_formatted% works fine but not that
using luckperms?
yea
luckperms is a little interesting since it can work without vault, try the luckperms placeholders
full list of placeholders on their wiki, but %luckperms_prefix% should work
alr ty
how to get placehoderapi of tiktok stream
how could i do to create a placeholder ?
like somthing like this
'%custom_world_or_claim%':
- set:
world: "Aetheria"
if:
in-world: "world"
- set:
world: "Abyssal"
if:
in-world: "world_nether"
- set:
world: "Voidreach"
if:
in-world: "world_the_end"
- set:
world: "Spawn"
if:
in-world: "spawn"
- set:
claim_owner: "%griefprevention_currentclaim_ownername%"
if:
in-claim: true
skript?tab?essentials?papi?
Hey, how can I get the server's motd with javascript?
BukkitServer.getMotd()
ty
also, I try to return the expiry time of the highest group by weight, when I try this it returns a blank nothing, if I test it myself with an actual input it works
var playerGroup = "%luckperms_highest_group_by_weight%";
return "%luckperms_group_expiry_time_" + playerGroup + "%";
}
group();```
try PlaceholderAPI.setPlaceholder(BukkitPlayer, "%"+luckperms_group_expiry_time_" + playerGroup + "%")
Caused by: org.openjdk.nashorn.internal.runtime.ECMAException: TypeError: PlaceholderAPI.setPlaceholder is not a function
setPlaceholders* sorry
Caused by: org.openjdk.nashorn.internal.runtime.ECMAException: TypeError: PlaceholderAPI.setPlaceholders is not a function
same error 😦
👍
my placeholders don't work, when I put the coordinates it gives me 0 74 0 and I installed the placeholders "player"
my bad
Failed to load expansion PowerBoard. Identifier is already in use. how do i fix this
Downgrade to papi 2.11.2
Thank you i appreciate it
i still get the same message
and the placeholder doesnt work
hey is there any placeholder for blocks broken because in my server the skript clear drops then gives the player the block so %static_blocks_mined% not working
help
problem solved
is there any placeholder to check whether player is elytra flying?
%player_is_flying% only checks player is using creative fly but cannot check player is elytra flying / gliding
what is the placeholder for tool's max/left durability?
%player_item_in_hand_data% (durability left)
%player_item_in_hand_durability% (max durability)
there isn't at the moment, you can suggest that on the Player expansion's github repository
https://github.com/PlaceholderAPI/Player-Expansion/issues
which placeholders do i need to download for those to work?
@rugged walrus 
hmmm weird, i have it installed but the current durability does not work
/papi parse me %player_item_in_hand_durability% what does it say
and what about /papi parse me %player_item_in_hand_data%
oh wait it does work i just need to use the tool for it to show up
yeah because it takes the item in hand
if you don't have anything in hand, it won't work
how exactly do i use the % in math? like 100-10%
for example i ve tried the %math_100-10[prc]% but it returns Cause: '100-10%' is not a valid Math expression.
because it's not
then how do i do it :/ ?
what do you expect 100-10% to return?
90?
anyone know how to do rainbow gradient for 1.16.5 ?
Anyone know of a placeholder/plugin that allows you to have per player text replacements for a placeholder? So like %placeholder% would show "Text1" for player a if condition = x, but otherwise show "Text2"
ok prolly changeoutput
yeah ChangeOutput is the best way
But if anyone knows of a plugin that does that or something similar let me know
there isn't as far as I know
well there's TAB but unless you're already using it I doubt you'd want to install it just for that xD
huh wait TAB can do that?
yeah, it's got a feature called placeholder-output-replacements
kk let me take a look, thank you
it'll only change the value of placeholders within TAB, but you can make it in other plugins by enabling TAB's PAPI expansion in its config (register-tab-expansion: true) & using %tab_replace_<placeholder>%
oh never knew of that, thankees!
ok so,
true: ' &o[AFK]&r'
false: ''```
I can only use %floodgate_device% once, what I need is a custom placeholder like %mining1% that then checks the floodgate device placeholder and returns an output based on that
basically need more than 1 of the floodgate device variations
yea
the output of %floodgate_device% is automatically replaced ONLY in TAB
in other plugins, you can still use %floodgate_device% alongside %tab_replace_floodgate_device% to have the true/false & [AFK] values
what is the placeholder for player?
for player name ? %player_name%
thanks a lot
ok so that's not what I'm needing here, lemme explain: I need custom placeholders where they have different outputs depending on a condition parsed per player. So for example on bedrock it shows texta but on java it shows textb, or if you have something unlocked it shows texta or if you havent unlocked it, it shows <Unknown> or something
oh
I could use changeoutput but I'm worried that it might take up too much performance since I need to use it a lot
then you can use TAB's conditions feature
lol
xD
and then use %tab_placeholder_condition:<name>%
awesome thanks
Are there a way to disable the "Sucessfully registered the expansion: " message for specific expansions via some java code?
You'd be better off forking papi to remove the message
Yeah the server owner is meant to see when an expansion was loaded
@junior musk Unknown expansion.
why isnt there an option for not equals in the changeoutput expansion :/
ye nvm i forgot the _else can be used in these situations
is there a way to add place holders manually, or a specific extention I need? I have to have something like %luckperms_high_to_low% which is in my config for TAB and looks something like ```sorting-types:
- GROUPS:owner,co-owner,logistics,coordinator,head-admin,admin,head-mod,mod,helper,builder,default
- PLACEHOLDER_HIGH_TO_LOW:%luckperms_highest_group_weight%```
But it didn't work and co owner is in fact still below helper? Does that place holder need to be in config of papi instead?
@delicate sluice 
ahahaha. Thank you :P
How can I get the placeholder for checking how much totems the killer of a player had?
player1 has died to player2 Totems left: (placeholder)
Hi everyone, I have a problem with custom placeholders. When I check with /papi parse, everything works fine. But when I insert the placeholder in a custom scoreboard (made by me), the placeholder is not modified
you have to make your scoreboard plugin parse placeholders
Import PlaceholderAPI in your project
https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/Hook-into-PlaceholderAPI
and use PlaceholderAPI.setPlaceholders(Player, String), see example
https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/Hook-into-PlaceholderAPI#setting-placeholders-in-your-plugin
Not sure if possible with a whole lot of messing with papi, but is it possible to create a command that saves the argument to playerdata?
e.g.
/status <Message here> -> /status Hello!
/viewstatus -> In chat: Hello!
One question, how to use math placeholders, is there any wiki or documentation, I can't find it.
Thanks
I have this sidemod : Poke Tracker (requires Placeholder API and SQL)
that says requires placeholder API and SQL.
I've done the SQL part it works well and downloaded placeholder API plugin.
but I don't know what should I do with this placeholder API can someone help please?
WonderTrade (requires Placeholder API and SQL)
and this too
If it is a mod that requires papi, it most likely means the rip-off made for forge or whatever other platform, not this one.
wdym
a copy
this https://www.curseforge.com/minecraft/mc-mods/forge-placeholderapi is not the same as this https://placeholderapi.com/, our plugin
I've tried it too but still didn't work
can you pls help with screen share I've tried to fix this for 1-2 days non stop
Contact the developer of Poke Tracker. I don't have experience with mods.
okay thanks
how can I use this placeholder API for any plugin
I have cratesplus plugin and it says that I can configure it with placeholder but I don't know how to use those placeholders
There are many placeholders that can now be used withing the config and messages file, placeholders are as followed:
%name% - Replaces with the players name, Example: "Notch".
%displayname% - Replaces with the players display name, Example: "[Owner] Notch".
%uuid% - Replaces with the players UUID.
%crate% - The crate types name.
%prize% - The name of the winning.
%percentage% - Percentage of the winning, useful for "Chance Message".
%rand;100;500% - Generates a random number between two numbers, example is between 100 and 500.
it says this thing for example
I wanna change the percentages of the items but I don't know anything about how doing it
Remove the formatting please
those are internal placeholders
papi placeholders are like %player_name%
%identifier_arguments%`
so should I wrote them ingame like /papi ecloud %percentage%
so how do I use them?
[13:25:06 ERROR]: Cannot load plugins/CratesPlus/config.yml
org.bukkit.configuration.InvalidConfigurationException: while parsing a block mapping
in 'string', line 42, column 9:
Type: ITEM
^
expected <block end>, but found '-'
in 'string', line 49, column 9:
- %percentage% : 3
^
I've done it
Placeholder that returns yes or no if a placeholder is greater than or equal to a number
changeoutput
It's not possible with math?
idk
math expansion
I know what that is, but idk if that's possible
Or something other than changeoutput
why ?
?
why can't you use ChangeOutput?
.
uh?
earlier you asked for greater than or equal right?
and if you're looking for not equals, just switch the values of ifmatch and else
Now I want if it is not equals
then switch the ifmatch and else
If that's what I thought
And to check if a number is greater than 10-20?
options: >= and matcher:10 ?
But I want a maximum
If it is greater than 10-20
If it is less than 10 or greater than 20, the matcher else is returned
Basically check if it is equal to 10,11,12,13,14,15,16,17,18,19,20
I understand that
but I don't know how to do it
you don't have to ping me everytime
You must have only one answer that may be several.
I get what you want
I don't know how to do it
I already told you that
please stop pinging me everytime for everything
[PlaceholderAPI] Failed to load expansion votingplugin. Identifier is already in use.
[PlaceholderAPI] Cannot load expansion votingplugin due to an unknown issue.```
on server restart
Two expansions have the same Identifier
Downgrade to papi 2.11.2 for now
is it bug that String expansion's all placeholders doesnt support all placeholders? such as Player expansion:
/papi parse me %string_contains_{player_name}_Sha% %player_name%
``` this cmd returns "no Sharrk_kunjang"
and it returns "yes" when i manually replace {player_name} with {Sharrk_kunjang}
yea
wait bruh this looks v helpful ;-;
how come i find out about this expansion now :/
its reminds of checkitem a little
lol
🤷
use utils
maybe it help
/papi parse me %utils_parse_string_contains_{player_name}_Sha%
it shouldn't be necessary
i tried %deluxemenus_meta_{essentails_home}% and it didnt work
then i put utils inside, and it worked
🫡
because DeluxeMenus' placeholders don't support nested placeholders natively
though the String expansion should
Hey, I have the same issue, how did you fix this?
Hey, anyone got any clue why this is broken?
[23:57:42 WARN]: at io.netty.channel.DefaultChannelPipeline.getContextOrDie(DefaultChannelPipeline.java:1073)
[23:57:42 WARN]: at io.netty.channel.DefaultChannelPipeline.addBefore(DefaultChannelPipeline.java:248)
[23:57:42 WARN]: at io.netty.channel.DefaultChannelPipeline.addBefore(DefaultChannelPipeline.java:237)
[23:57:42 WARN]: at DecentHolograms-2.8.3.jar//eu.decentsoftware.holograms.api.nms.PacketListener.hook(PacketListener.java:49)
[23:57:42 WARN]: at DecentHolograms-2.8.3.jar//eu.decentsoftware.holograms.api.player.PlayerListener.lambda$onJoin$1(PlayerListener.java:24)
[23:57:42 WARN]: at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftTask.run(CraftTask.java:101)
[23:57:42 WARN]: at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:480)
[23:57:42 WARN]: at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1479)
[23:57:42 WARN]: at net.minecraft.server.dedicated.DedicatedServer.b(DedicatedServer.java:446)
[23:57:42 WARN]: at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1393)
[23:57:42 WARN]: at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:1170)
[23:57:42 WARN]: at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317)
[23:57:42 WARN]: at java.base/java.lang.Thread.run(Thread.java:833)```
It's not allowing me to join a server due to this ^ error code.
will try,ty
Hey, does parseother ecloud extension still works on 1.20.1?
should work fine @golden cloud
at ParseOtherExpansion.onRequest(ParseOtherExpansion.java:32) ~[?:?]
at me.clip.placeholderapi.replacer.CharsReplacer.apply(CharsReplacer.java:119) ~[PlaceholderAPI-2.11.3.jar:?]
at me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:71) ~[PlaceholderAPI-2.11.3.jar:?]
at me.clip.placeholderapi.commands.impl.local.CommandParse.evaluateParseSingular(CommandParse.java:117) ~[PlaceholderAPI-2.11.3.jar:?]
at me.clip.placeholderapi.commands.impl.local.CommandParse.evaluate(CommandParse.java:57) ~[PlaceholderAPI-2.11.3.jar:?]
at me.clip.placeholderapi.commands.PlaceholderCommandRouter.onCommand(PlaceholderCommandRouter.java:114) ~[PlaceholderAPI-2.11.3.jar:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[purpur-api-1.20.1-R0.1-SNAPSHOT.jar:?]
... 23 more```
I dont know why it caused me this error tho
which placeholder are you using exactly
im using it with guilds. but i tried player_name and others
still provides this error
/papi parse me %parseother_azrian_player_name%
this is the command
Oh got that i did not see that. Thank god. Thank you so much
excuse me, i have the following setup:
- velocity proxy with placeholder and placeholderbridge, velocitytab
- server 1: placeholder and placeholderbridge - Teams Plugin
- server 2: placeholder and placeholderbridge
How can i make that the placeholders from server 1 work in server 2?
on server 1 i see [Teamname] Name in Tablist, on server 2 i see my placeholder %changeoutput_>_input:{betterteams_members}_matcher:0_ifmatch:&7[&r{betterteams_tag}&r&7]_else:%&r%username%
what is placeholderbridge? @wintry smelt
is that not from papi?
https://github.com/WiIIiam278/PAPIProxyBridge
is there another recommended setup?
M<>
Hey, anyone knows how to print a percentage symbol inside a changeoutput? Thanks! 🙂
%ascii_37%
Thanks! But that one %utils_parse_changeoutput_equals_input:{edprison_percentlevel_prestige}_matcher:100_ifmatch:&e&l/maxprestige_else:{edprison_percentlevel_prestige}{ascii_37}%
shows &e&l/maxprestige%
and I didn't add ascii on ifmatch
what are you trying to do?
if doesn't match 100, add a % after the {edprison_percentlevel_prestige}placeholder
if it match 100, I'll be putting a text instead of the number
why don't you just add the % after the placeholder?
because it shows like that
uh
also I don't think you need Utils
changeoutput supports nested placeholders directly
%changeoutput_equals_input:{edprison_percentlevel_prestige}_matcher:100_ifmatch:&e&l/maxprestige_else:{edprison_percentlevel_prestige}{ascii_37}%
try that
and also show me the output of /papi parse me %edprison_percentlevel_prestige%
Idk why Utils would cause an issue with that
oh actually maybe
yeah maybe it was because of the ascii placeholder
well
nah idk
anyways
not needed
yeah I think it's because utils is reading that % and not as a placeholder
it works without utils, thanks for the help! 😄
what ecloud should i download to make %afk% work?
%afk% is not a PlaceholderAPI placeholder
it adds the -papi <expansion> command to see an expansion's placeholders easily
what's your AFK plugin?
i don't have one
essentials
it's essentials
yo
this plugin is too good
why this is not working
'%essentials_afk%':
true: ' &o[AFK]&r'
what are you trying to do
/papi parse me %essentials_afk%
what does it return?
iirc it returns yes/no
if that's the case, you have to use yes/no in your replacements instead of true/false
%essentials_afk%
it says no
then use yes/no in your replacements instead of true/false
you didn't replace %afk% by %essentials_afk% in your tabsuffix
head over to your groups.yml, Ctrl+F %afk% and replace it
'%essentials_afk%':
yes: ' &o[AFK]&r'
no: ''
it's vault-suffix%%afk%
why my layout.yml file is keep deleting itself?
because it was moved into config.yml
If I wanted to use the checkitem remove/give placeholders, is there a way to block players from using it?
make sure they don't have the permission to use /papi parse or any other way to parse placeholders
Hi, essentials sent me here
i need a placeholder that shows the time of the server, like 12:00 in /time of Essentials
FYI, any deluxemenus menu that uses arguments can allow the player to parse it @plush dove
so it's ok?
how do you know so many things
cj89898 can you help me please?
no fra
Yea that's what I was talking about, I need a way to remove specific items from player inventories, should I get a plugin that has a command version of the checkitem remove thing, or try and figure out a way to cancel the parsing?
the former
vanilla commands work fine for removing items @plush dove
also, removing items is not too abusable
Yea but still, better safe than sorry
If a server owner who knows of this stuff comes on and has malicious intent, it could be annoying to handle
DeluxeMenus parses placeholders in arguments ? 
A lot of plugins do
you're sure?
Know of any or should I get a custom plugin commission
true, but most of the time only removing their own items
Yea, for starters, most CMI commands
parsing a player's arguments is a pretty dangerous thing imo
i don't know of any, like I said: vanilla commands works fine
o_O
yes if the argument appears in the menu at all
it will parse from {argument} to %placeholder% to whatever the value is
./clear command? Or ./item command? I don't think you can check for items with specific data, can you?
it's a vanilla command
right
it can give or remove anything
/minecraft:clear or /minecraft:give
you can use /data get entity @s SelectedItem to get the data of your currently held item
copy and paste it exactly, should work
if not exact, slight modification (for amount)
Let me check
Ooh your right
people do this stuff without plugins at all
Thank you!
it will need to be exact data though
Yea that's true, I never really looked into it before, but I've started to learn of the vanilla commands, super nice. And I learned a lot of plugins use vanilla commands for their stuff
right
Well thank you very much!
%changeoutput_equals_input:{vault_eco_balance}_matcher:10000_ifmatch:§2§m{str_uppercase_{triton_key}}_else:§4§m{triton_key}%```
Will this work?
i need a placeholder that shows the time of the server, like 12:00 in /time of Essentials
I tried putting a placeholder inside a placeholder inside a placeholder and it doesn't work lol
Wearing {}
.
Hi there! Does placeholderAPI already have folia support or not yet?
try reinstalling
[11:46:39] [Server thread/ERROR]: Error occurred while enabling PlaceholderAPI v2.11.1 (Is it up to date?)
java.util.ConcurrentModificationException
at java.util.LinkedHashMap$LinkedHashIterator.nextNode(LinkedHashMap.java:719) ~[?:1.8.0_382]
at java.util.LinkedHashMap$LinkedKeyIterator.next(LinkedHashMap.java:742) ~[?:1.8.0_382]
at org.bukkit.plugin.java.JavaPluginLoader.getClassByName(JavaPluginLoader.java:185) ~[server.jar:1_8_R3]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101) ~[server.jar:1_8_R3]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:90) ~[server.jar:1_8_R3]
at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_382]
at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_382]```
not the full error, dm me if u can help
papi just errors on initializing once every few restarts
vague as hell
Hello, anyone know what is the placeholder to check whether player has any items in inventory??
I want to make condition when player needs to have no items in his/her inventory at all, including armor and offhand slot.
Why cant we send images in a literal support chat
I wasn't sure whether to come here or to TAB, but TAB has no support server, so I was just wondering how I can fix this issue
also getting this error
Hi guys. How can i put this placeholder %mmocore_cooldown_bound_1% into this one %mythiclib_cooldown_<placeholder_place>%?
there is a way to do it?
%luckperms-prefix% (with a -) is a TAB placeholder, and it takes the value directly from LuckPerms, idk why the usage is so high but I can only assume that there may be a latency issue with your permissions database?
otherwise, you could try to switch to PAPI's LP placeholder (with a _ instead of the -) and increase its refresh interval in TAB's config accordingly (https://github.com/NEZNAMY/TAB/wiki/Optimizing-the-plugin#2---placeholder-refresh-intervals)
you can achieve this with the Utils expansion: %utils_parse_mythiclib_cooldown_{mmocore_cooldown_bound_1}%
don't forget to download the expansion before using the placeholder
ok, thx 💜
How can I use hex color codes in papi checkitem nameequals?
Hi there, I'm trying to add server placeholders using the API, I have downloaded the server and player placeholders using papi ecloud but counldn't get these to work
lores.add("Players Online: %placeholder_server_playercount%");
lores.add("TPS: %placeholder_server_tps%");
lores.add("Server Uptime: %placeholder_server_uptime%");
lores.add("Loaded Chunks: %placeholder_server_loadedchunks%");
lores.add("Version: %placeholder_server_version%");
They just show same as those, I mean the placeholders aren't being replaced
those are being loaded as strings, you gotta parse them somehow then cancatinate it
I think that's right anyways
Got a mini example? 😅
why did yoy do placeholder_<placeholder>?
it's just server_tps, not placeholder_server_tps
and did you use the PlaceholderAPI.setPlaceholders(Player, List<String>) method on your list?
he player can be null right?
I'm having trouble with the isgamerule placeholder of the "World" expansion. I created a fresh server with Paper build 1.20.1-176 and PlaceholderAPI as the only plugin installed.
[20:27:19 INFO]: Gamerule doDaylightCycle is currently set to: true
[20:30:13 INFO]: false
> papi parse kccricket %world_isgamerule_doDaylightCycle_world%
All other World placeholders seem to work. Am I doing the isgamerule placeholder right?
After checking the expansion's code, I thought maybe it should be gamerule names from org.Bukkit.GameRule, but that still returns false. papi parse kccricket %world_isgamerule_DO_DAYLIGHT_CYCLE_world%
i think all that does is check if it's a valid gamerule @bold crescent
not retrieving the actual value
but i'm surprised that doDaylightCycle and DO_DAYLIGHT_CYCLE both return false, neither true
i feel dodaylightcycle should be true, but
The expansion converts it to ALL CAPS before passing it to GameRule.isGameRule(). Your interpretation of isgamerule is probably right, though that seems like a weird thing for anyone to need. Anyone know of a placeholder that will return the value of a gamerule setting?
looks like it might need to be added
I can probably put in a pull request.
the player can be null yeah, some placeholders support that, some don't, though since you're only using server placeholders, you should be fine
Here's a fork of the World expansion including a gamerulevalue placeholder, for anyone interested. I've also submitted a PR to the repo. It's up to Wicky to merge it. https://github.com/kccricket/PlaceholderAPI-World-Expansion
https://pastebin.com/fU3FWufu running checkitem placeholders with nbt string gives this error
all good I updated checkitem and reloaded papi
Anyone know how to fix this? its causing so much lag, im not sure whether its TABS issue or the placeholders issue
We use Skript-Placeholders and PlaceholderAPI
It is probably refreshing too often
So I am trying to get this to show correctly. I am using velocity but can't get this placeholder to work correctly in my lobby server.
text: '&fᴏɴʟɪɴᴇ ᴘʟᴀʏᴇʀs: &8[&c%bungee_rpg%&8/&c%bungee_total%&8]'```
do you have the bungee expansion downloaded
format: ' &b{superior_island_level_format}&r {DISPLAYNAME}: {MESSAGE}'
``` for essentialsx chat this isnt working?
The placeholder for essentials baltop are not working, when I parse them it does not show the correct person even when i try to update the baltop with /baltop force, is there a fix to it?
are you sure? index starts at 0, so 0 will show 1st place
Hey, how can i do something like: if %server_online% = 20 show "Text1", else if %server_online% = 40 show "Text2"?
Hi! I am making my own javascript placeholder
Is there any way to get a modified placeholder directly?
For example var defaultTimeString = "%localtime_timezone_America/New_York,E d H m s%"; works great, but
var userTimeStringPattern = "localtime_timezone_" + userTimeZone + ",E d H m s";
var userTimeString = "%" + userTimeStringPattern + "%"
Does not work
PlaceholderAPI.static.setPlaceholders(BukkitPlayer,"%" + "localtime_timezone_" + userTimeZone + ",E d H m s%")
Thank you! Sounds great, but I need it to work in Javascript expansion, I am not making a jar, only a .js module for that expansion
yeah that works in JS
the JS expansion gives you access to PAPI methods and some Bukkit methods too through the PlaceholderAPI, BukkitServer and BukkitPlayer variables
BukkitServer gives you access to those methods https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Server.html
BukkitPlayer to those https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/entity/Player.html
and PlaceholderAPI to the setPlaceholders one and other methods that may be included in the PlaceholderAPI class
100% working! Thank you, now I can do so many new cool things with that information! You`re my hero!
You can use ChangeOutput for that
wow, whyzer.. 🤫
I don't think there is
где-то видел тебя
хм, даже не знаю где..
any answer for this?
Is it possible to get per world deaths and kills placeholder?
like %statistic_player_kills_desertworld% %statistic_deaths_desertworld%
Placeholder to check if a player has played 30 minutes or more
Whether it returns yes or no
do you guys know how to get playercount for a server as what im doing right now is only detecting one world (the hub) and not the other worlds that the player is on?
Yo, is there a vault placeholder that has both commas and decimals like 4,518.59
is there a placeholder that returns which slot is the main hand of the player?
do y'all offer support on the javascript extension? Not so much javascript coding support itself, but the capabilities of the javascript extension and using placeholders in variables
placeholders within the Javascript placeholder as argument and within its code are supported
I am having a little bit of an issue, there's no errors in console, and when I run my command to see the results it comes out blank, it this an issue with the playtime plugin I am using for the place holder, or is this something I am doing wrong?
var PRank = '%playtime_position%'
function APlaces() {
return PRank;
}
APlaces();
the command works with my other javascript placeholders
did you set your placeholder in javascript_placeholders.yml correctly?
yup
can you show the output of
/papi parse me %playtime_position%
and the same but with your js placeholder?
?imgur
oh I see the problem
I didnt realize you could parse the placeholders first
and when I did that the placeholder doesnt even work so the var was empty by default
where did you find that placeholder?
well I should have guessed it didnt work; the placeholder isnt displayed on the placeholdersapi official list. but the spiggot page for playtime listed that placeholder, and like 6 others not on the official list, under a section called "PlaceholderAPI placeholders:" so I thought maybe the official list was out dated :/
can you send that playtime page?
at the bottom it shows the placeholders
wdym?
Expansions can be standalone, or require a plugin.
If you check PAPI's wiki page with the giant list of placeholders, you'll see that some have download commands and some don't.
That is because some can be downloaded from the ecloud and are not linked to any plugin (though some are in special cases, such as the expansion being maintained by someone else than the plugin's dev) and those who don't have a command are directly included within their respective plugin
which means it is directly inside the plugin
so you just need to download the plugin
bruh the dev registered the expansion as Playtimes instead of playtime
try with the s in the placeholders
uh, just checked and it seems like you have a different Playtime plugin actually
try to redownload it from that link
wait yeah I just checked the ecloud
because the authors and versions don't match
ok but why is this
https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/Placeholders#playtime
Links to
https://www.spigotmc.org/resources/playtime.26016/
THE ACTUAL EXPANSION
https://api.extendedclip.com/expansions/playertime/
links to this
https://www.spigotmc.org/resources/playertime-offline-player-mysql-bungeecord-placeholderapi-supported.58915/
They are completely different plugins
wait thats player time
because the expansion on the ecloud is tied to the plugin it links
never mind im even more confused
while the one that's written on the PAPI wiki page links to a Playtime plugin that has an expansion built directly within the plugin (and doesn't require to download any expansion)
You can have plugins with expansions included, expansions on the ecloud that are standalone, and expansions on the ecloud that are tied to a plugin
it's quite a mess if you're not used to it 😅
thats such a mess
so you have 2 choices rn
either go with the playtime plugin linked on PAPI's wiki,
https://www.spigotmc.org/resources/playtime.26016/
and you don't need to download anything else
or you can download this plugin alongside its expansion on the ecloud https://www.spigotmc.org/resources/playertime-offline-player-mysql-bungeecord-placeholderapi-supported.58915/
thats where the entire problem started
you sure?
it said version 1.5.2 on the papi dump
try to yeet your current jar and redownload it just in case
Ill redownload it directly from the link to be safe, but I went through this like 2 days ago. a lot of the plugins I get are based off if they are compatible with PAPI so I only look through the PAPI supported list
wait yeah after looking at the dump and at the plugin itself
how the heck did I get such an old version
no idea xD
I redownloaded it and its v3.6
do placeholders work now?
currently waiting on it to restart
so apparently I had a completely different plugin that essentialy does the exact same thing
still trying to figure it out
the result worked
but it came back as 0
which it shouldnt
which placeholder?
position
what should it return instead?
its a test server only I connect to so it should be 1 if anything so Im opening an alt
it starts from 0
most things start from index 0 and go up from there
if you join with an alt, it'll be 1
if you want to display +1 somewhere (like on a hologram or smth) you can combine the placeholder with the Math expansion
I see
%math_0_{placeholder_without_%%}+1%
but then if I use parse, and add a username instead of me shouldnt that get me the data from that user?
it should
but I do that, and now me and my alt result in 1
/papi parse me %playtime_position% returns 1
and /papi parse <alt> %playtime_position% returns 1 as well?
so %playtime_position% result in your position on top playtime 1,2,3,4...
but it seems if the player doesnt run /playtime top it wont register their position, so it will default to the top position?
because after both me and the alt ran the command it would parse the correct position
o_O
time to boot up a third alt to confirm
I'm checking the code and it seems like it should be working even without having to use the top command
tbf I don't understand 3/4 of the code, it looks so weird
hmm


