#placeholder-api
1 messages · Page 37 of 1
ok
this isn't even a DeluxeMenus menu 
No it's a playerprofile menu
target do exactly the same problem 🤔
/papi parse me %vault_eco_balance%
Do y’all have op perms?
doesn't matter
Vault broke my eco placeholders when I had * perms
I don't see how it could affect it
unless you were using them in an ajleaderboard leaderboard and had the bypass permission
"/papi parse me %vault_eco_balance%"
this command work and display my real money
Then what he gave you should work
can you use %string_shuffle_{target}% in your menu?
and /papi ecloud download String
/papi reload
but as a placeholder in my GUI menu, it display 2000$ and not my real money (7000$)
this is so strange
@junior muskI tried this in my menu , it display strange things
what does it show?
if it shows those characters {target} shuffled, then that means your PlayerProfile plugin parses PAPI placeholders before the arguments, which means there's nothing we can do for your ParseOther placeholders
gt}{rtae
Ohh okay... :/
Why?
Is it cause too many placeholders in a placeholder?
If so, Can’t he use utils?
no
I said it here
Oh
the PAPI placeholders only receive {target} as literaly text, not its actual value (aka the player name)
Got it, well that sucks. We should convert it into a DM for him lol
have fun
What is a DM ?
DeluxeMenu
Oh okay
I have it, but I have to learn how to use it x)
Thanks a lot for your time and your answers
I’ll make a menu when I get home
Oh really? 😮
Yeah, I’ll convert it. It’s not too much work
Thanks a lot, you're a savior!
I’ll be home in 20 minutes
alright
Okay sir!
what is the command to import tags thiings to placeholder
I've searched (prob not asking the correct question), I want to have something like this set via Deluxe Menus(%deluxemenus_meta_hud_STRING_NotSet%) that through a DM can be changed by the player to either point to %vanish_playercount% OR %luckperms_expiry_time_veinminer.veinmine.*%.... OR any other placeholder I add for users to swap between all pointing back to %deluxemenus_meta_hud_STRING_NotSet%.
Reason is, we use Oraxen for Hud (Just above player's hunger bar) to show their veinminer time when they are using veinminer but we only have one hud we can use. I'd like it to be more dynamic.
I have no issues configuring Menus in Deluxe Menus, but I'm struggling on whether this is possible to do(without writing my own placeholder) to be able to dynamically change an existing placeholder to reference or in real-time refer back to a placeholder of my choice.
Suggestions please?
Is there any resources out there that allow placeholders to be parsed in plugins that don't natively support it? ChatInjector used to do this but no longer can.
probably, though I wouldn't recommend
Check ServerVariables, could help you with variable manipulation easier
Dang, why's that?
Essentials not being able to parse placeholders in message when every other plugin can sucks ;-;
Players may find ways to parse placeholders themselves
maybe not, but I wouldn't do it just in case🤷
Hmm, trying to think of another way I might be able to do it
Thank you, I looked through the plugin and while it looks cool I'm still not seeing how it would allow for One variable to look different for different people in the Hud(I could have easily missed it).
I may have found another way with %parseother_{username}{placeholder_without_percent_signs}% I might can do something like %parseother{playername}_{deluxemenus_meta_hud_STRING_NotSet}%. In the Help menu for hud the users would have options that set %deluxemenus_meta_hud_STRING_NotSet% = to vanish_playercount OR luckperms_expiry_time_veinminer.veinmine.* and additional options as I need them.
Hm.. you might wanna combine parse other and the string expansions replace feature
you probably want to not use parseother with deluxemenus meta since it will require the user to be online
however, I have heard of people using luckperms meta to store variables like this
by giving the meta to the default group that is, hopefully, inherited by everybody, you can make "global" variables
pretty good idea imo
hence why I keep repeating it 
although I may have completely misinterpreted what you wanted to do lmao
after reading this though, Exactly what you described with using deluxemenus meta should work fine. You can change meta in real time for any user that is online
it's essentially what I do here: #showcase message
and here: #showcase message
I just use the meta placeholder in the title
%utils_parse_{deluxemenus_meta_hud_STRING_NotSet}%
Yes ty everyone & CJ. I tried the parseother but this ended up working for me. Now the user's can change their hud between veinminer or other options as I build them. Appreciate all the suggestions.
you don't need utils for that
@austere nymph
you can just use %deluxemenus_meta_hud_STRING_NotSet%
🥺
can anyone help anytime i try to load placeholder api i get this error in my log and it doesnt load https://paste.gg/p/anonymous/83220babf67f4e2d8164e71fd625236b
placeholderapi loads fine
the error refers to ProtocolLib
Oh is that not the same ?
nope, different plugin
Where would I go to get support for that the wiki sent me to this discord trying to get it for another plugin
hmm, it doesn't seem to say it supports 1.20.x yet
here are the dev builds https://ci.dmulloy2.net/job/ProtocolLib/
you're quite out of date anyhow
Yeah I didn’t wanna use 1.20.4 bc then I thought builders would try to use new blocks if there were any and older versions couldn’t see them wasn’t sure how that all plus a lot of plugins don’t support the newer versions so this one seemed good
no, i meant your protocollib is out of date
Oh rlly? I downloaded it right from the spigot site
how long ago
Just now but now that I think about it I might of just downloaded just the api not protocollib itself
hmm, it says you're loading 4.2.0
but, you need the dev build anyway
the one i linked
I will try that one here in a second so odd bc my test server uses the exact jars I loaded into this one and it works perfectly idk I’ll try the dev build
Hi, is it possible to use the same placeholder for same type different objects?
for example if I have a house object with many instances and I want to display the amount of players in them for each one
Uh, depending on how you do it, yeah you can use the same placeholder
not really sure how to detail nor if I understood
can you give more details as to how the placeholder would work? if it's the same placeholder, how'd you get different house objects? Based on properties the player has I'm guessing? If so, then yes that's possible
is there a list of placeholder api addons?
https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/Placeholders
and https://api.extendedclip.com/all
the second one only lists those that need to be downloaded, not the ones that may be included within plugins, and the first one lists both, but since new plugins are being made or updated and placeholders change, it's not 100% complete
Alright tysm
How is Expand Strict support going?
Hey, I'm trying to create an expansion.
I created the class added the overrides and registered it.
In the console I now see the following
[14:41:51 INFO]: [PlaceholderAPI] Successfully registered internal expansion: season_balance [1.0.0]
However in TAB plugin I use %season_balance% placeholder and it shows as %season_balance% instead of the value.
Also when I use the /papi parse (assuming this parses placeholders) command it doesn't parse it.
Do I need to do anything else to make it work?
There is no need to do ecloud stuff for internal placeholders right?
Is there any disadvantage of using internal placeholders?
It's just a plugin for my own server so I figured internal placeholder makes sense but I can't get it working.
Oh nvm I got it, without the underscore it works
You gonna release the expansion? I’d love to use it if possible
No it's private custom plugins for my server
delete this then so no one steals it
getIdentifier is used for the identifier of a placeholder, before the _
in ur case, papi is trying to look for season_balance_
getIdentifier should just return "season"
then you would handle "balance" within the params argument of onRequest
and no, theres no downsides, infact its encouraged to use internal placeholders instead of the eCloud for internal placeholders/plugins
There's nothing to steal really :p it's useless without other code
Any way I can detect the exact nbt int an item has
Yeah makes sense now why it didn't work, thanks 🙂
I realized after I checked it lol
Perfect 🙂
Im trying to output the custom nbt data
for example, I want to use the changeoutput option for custom model data so armor_<armorType> works in deluxemenus with custom model data
checkitem expansion
Which placeholder? It only checks specific items nbt data
You have to specify the exact int that you are trying to look for
Oh wait, I think I can do it with %checkitem_getinfo:<slot>_<modifier1>,<modifier2>,<...>%
do i need to manually add something to papi with deluxemenus 1.10.2 in order for it to work properly?
dont even tell me version is outdated i already know that i just need it cuz using java 8
what isnt working exactly?
and yes, ur still outdated, 1.10.5 is the version if ur on 1.8
and java 8 support was dropped in 1.13.4
essentially i've seen the example gui of the plugin tries to get player nickname and as well a head in the gui should change based on the player's skin
but it looks like
%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
ye i didnt thats what i need
cuz i didnt see anything on the spigot page
lemme see if its enough
@warm topaz everything is working ty
why the vault not found ? this vault_hasgroup_namegroup
why not found?
@warm topaz
Please respect the rules, be patient and don't ping staff members!
have u downloaded the vault expansion?
oh that specific placeholder?
vault_hasgroup_namegroup
probably a new placeholder, try redownloading the expansion
I didn't know it existed until now 😅
is this %vault_hasgroup_<group>%
and not found
&e%vault_hasgroup_superficie%" this a groupname
I've already tried to re-download and put the extension back on again but it doesn't work the same
what does the placeholder return when you use it in /papi parse me <placeholder here>?
what does the parse command return in chat?
give a name of placeholder
Imma trick my users 😉
Imma make a command where if they run /pex it sends the ver info like the normal command does 🙂
yes
what does it say in chat?
The name of the placeholder in this case surface
?imgur
You won't be able to upload images here directly to avoid spam, so please use https://imgur.com/upload to upload images/screenshots.
You can also use a screenshot service like gyazo or jinx and post those links here.
send a screenshot
You won't be able to upload images here directly to avoid spam, so please use https://imgur.com/upload to upload images/screenshots.
You can also use a screenshot service like gyazo or jinx and post those links here.

what's the exact command you ran?
im run /papi parse me superficie
/papi info vault
ok
So I just take it off?
yeah, don't use the placeholder
link for the 1.20.2 is broken
Please respect the rules, be patient and don't ping staff members!
try this one I guess https://ci.dmulloy2.net/job/ProtocolLib/643/
nvm that's the release
the 1.20.4 seemed to work
all good then
@swift grove test this
This one works on latest papi
Will test all the placeholders provided by this expansion
just test %vault_hasgroup_<group>%
Yeah, it works
%vault_inprimarygroup_<group>% does not.
Im in tier7 and its my primary group but it says "no"
@vivid sparrow if you refer to this, no it does not
Oh, let me try
Then thats probably not the primary group in the api
then why is the placeholder %vault_inprimarygroup_<group>%, it asks to specify the group
Ah
It uses the display name of the group and not the actual group name
It works, I was just trippin
Vault simply accepts whats provided by the eco/perms plugin, without any/much validations
Makes sense
Now found THX you so much
Please respect the rules, be patient and don't ping staff members!
why it doesent work on the scoreboard?
using betterscoreboard but same with tab and others similar plugins
try
/papi ecloud download Utils
/papi ecloud download Formatter
/papi reload
%utils_parse:2_formatter_text_replace_:__{img_{luckperms_prefix}}%
Yeah but it comes from the LP placeholder
already tried, it shows only the png, not the rank
mhh it doesent find the png strange
I'll see when I'm home
thank you, can you ping me once checked?
sure
oh I know why
it has a space in it
%utils_parse:2_formatter_text_replace_ __{formatter_text_replace_:__{img_{luckperms_prefix}}}%
try that
@heavy valve
nope, same
uh
I wrote the formatter things outside of the img placeholder
I'll fix it in a few minutes
%utils_parse:2_img_{formatter_text_replace_ __{formatter_text_replace_:__{luckperms_prefix}}}%
why am I even doing this on phone, in the train
works!
thank you xD

where i can find a wiki about this type of placeholders?
seems cool
uh
not all of them are there though
there's also https://api.extendedclip.com/all
what extension is this placeholder using?
but that won't show placeholders that come within other plugins
and I lost my internet connection
Utils and Formatter, and %img_% comes with ItemsAdder
yeah i knew about itemsadder, i will check the wiki's of these extension, thank you again!
I don't think I made any wiki for Utils though 😅
I'll make one when I get home
if I think about it
Utils has a wiki
well either way, when you do /papi parse me %utils_
it'll show you the list of placeholders
I don't remember making one
I’ve checked it out before when trying to figure it out
oh yeah, the Readme
Yeah
that's barely a wiki tho xD
Eh, It works
it has 2 placeholders out of like 10
It helped me understand the usage
Yeah
there parse, parserel, parseother, color, uncolor, trycatch, juts try too I think?, all thesesame but as relational placeholders, idk if there's more xD
escape and shortcut
parsesync
Damn, that’s a lot
In a bit of a predicament. I have downloaded the CoinsAPI Placeholder, however the placeholder does not register still in my embed. I would provide a screenshot but it does not allow me to.
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.
I see a CoinsEngine expansion but no CoinsAPI one (only the jar)
check your startup logs, it might tell you why it didn't load
?startuplog
Startup Log Location
Your latest startup log can be found in the logs folder of your
server directory, labeled as latest.log.
Please copy the contents and paste them to a paste service.
Type ?paste for more information.
?paste
Paste Services
When asking for help with a config/menu/code issue please use our paste bin:
(we prefer it over pastebin.com)
• HelpChat Paste - How To Use
I found BetterRTP v3.6.12 - plugin is disabled but no reason why it was disabled!
Please put your startup log found in /logs/latest.log into a new paste.
[21:36:25] [Server thread/WARN]: [PlaceholderAPI] Cannot load expansion coinsapi due to an unknown issue.
rip
L
where did you get the expansion from?
Server setup, should I reinstall it?
nvm it requires a plugin
but the plugin doesn't exist anymore
why do you even need it since you have CoinsEngine?
The coinsengine placeholders arent working,
using placeholders made for another plugin won't work either 
which placeholders aren't working?
Here's the list of available placeholders https://github.com/nulli0n/CoinsEngine-spigot/wiki/PlaceholderAPI
which ones aren't working? and what did you try as arguments?
The %coinsengine_balance_rounded_[currency]%, the argument is %coinsengine_balance_rounded_levelxp%
/levelxp balance works I presume?
No, that isnt a command
uh
I do /levels to see that placeholder
then shouldn't it be %coinsengine_balance_rounded_levels% ?
levelxp is a currency in CoinsEngine
nvm I'm dumb
Fixed, I had a dumb moment aswell
wrong name?
Forgot to add the currency into the files 💀

Anyway appreciate the help
My bad 👀
dw
guys i wanna use placeholderapi in my mmoitems,language,stats.yml
soo anyone have idea ?
You know how you can format an output of "yes" to be "Yes"
How can you do it to format a blank output from a placeholder to be something
This basically
yes, whats your placeholedr
%worldguard_region_name_capitalized% 🙂
if if its null u want it to return N/A?
I want it to return "Reveille" but I might need to change that return value too
For most people N/A works
%changeoutput_equals_input:{worldguard_region_name_capitalized}_matcher:_ifmatch:&7Reveille_else:{worldguard_region_name_capitalized}%
ugh
just install the changeoutput expansion
/papi ecloud download changeoutput
/papi reload
Thank you!! You've been exceedingly helpful
It won't for me, but it demonstrates the logic I need
np :d
:)!
any form to have 3 menus in one? (like when u put /guns and u r policie show police guns, terrorist or civil)
hey, my expansions FunnyGuilds doesn't working can u help me? please
how to use %worldguard_<Any WG Placeholder>_<Priority (Lowest number = Highest priority)>% ?
do u know my question how to do>
nop sorry
😦
what do you want to do exactly?
what doesn't work exactly?
Find what region in my current position has the highest priority
technically with arguments and maybe mixed with my PlayerList expansion, but good luck, with that
you're probably better off making 3 menus
that's not what the placeholder does
yeah it more related to factions
so player with specific faction have diferent access to guns/armor
just use %worldguard_region_name%, it takes the region with the highest priority by default, the priority argument is to choose a region where you're standing that doesn't have the highest priority
you can set the spawn to the lowest priority and the others to a higher priority, so when you enter for example the crates region, the placeholder ll return that you are int he crates region
thats what i ve done at least
What's the placeholder for checking the amount of players inside a server?
%server_online_events% doesn't seem to work
%server_online_<world>% only check for worlds, not servers
%bungee_<server>% is what you're looking for
ohh, thanks let me try that one
/papi ecloud download Bungee
/papi reload
Any way to get a specified users armor with armor_<armorType>
material?
Yeah
%armor_material_<slot>%
Thanks
helmet, chestplate, leggings, boots, I guess, I don't see why it'd be different
What about the status of the server? Like is it offline or online
Placeholder-%parseother_{{player}}_{armor_material_helmet}%
Use pinger
It would be %pinger_isonline_eventsip% I.e %pinger_isonline_192.0.0.1:25566%
it's still saying that it's offline for some reason
nevermind I think i fixed it somehow
Pinger is half-working half-broken tbf
Pinger always works well for me
it's acts weirdly sometimes 🤷
Any way I can get the players mainhand and off_hand?
Ah
This is missing a placeholder:
%player_item_in_hand%
it's not
my Player expansion adds a few more as well
Dang, I got optional args finished and they work for DM
Let me know if you want the build
not atm
Yeah, basically I did all this work for a profile menu that isnt mine. Yk that player I offered to help 2-3 days ago with converting the menu, well basically he wanted it all like that

hi, is there any ways to manipulate a papi data
a player on my server took advantage of an npc, and kill farmed for %statistic_player_kills%
I want to see if I could set the data pack into a set number
You can find the users player data and reset it if you want
you can also manipulate the file to correct just the 1 value if needed
how would I do so
Please respect the rules, be patient and don't ping staff members!
oops
where would I
anyone know how i request a placeholder in tab
"%placeholder "custom_coins" from player%" &f'
this doesnt work
Any way to get the number of the custom model data with placeholderapi?
i.e
I used to use armor_<armortype> and it would show the exact item with the custom model data. However I had to switch it to the armor placeholderapi expansion due to me wanting to fetch another users armor and not the user running the command. Any way I can get the custom model data of an item via PlaceholderAPI. I tried checkitem but that only checks if it has specific model data values however I want it to display the custom model data number of the item.
maybe
Nope
I just need to find the slot number for each armor slot
and then use that in chekcitem
%checkitem_getinfo:<slot>_custommodeldata:
should work
Nope
wdym "nope" ?
Shows stone
what did you try?
placeholder-%parseother_{{player}}_{armor_material_helmet}:{checkitem_getinfo:39_custommodeldata:}%
wtf did you do
is that not how you do it?
you know that custommodeldata is used in the model_data: setting right?
idk if it supports placeholders though
oh yeah I think it does now in dev builds, so you should be fine
But what if the item doesnt include custom model data
then it'll probably just return 0 or smth
what if you try it yourself with /papi parse?
material: placeholder-%parseother_{{player}}_{armor_material_helmet}%
slot: 10
priority: 1
model_data: %parseother_{{player}}_{checkitem_getinfo:39_custommodeldata:}%```
It does an empty string
But would that work?
I guess
Nope, still shows stone
otherwise you'll break yaml syntax
Its working with an original diamond helmet
by original, you mean one without any data?
Yeah
I dont use custom textures, this is for someone who does lol
He should be testing now
Man, armor-<armorType> should support other players
so I can do {player}-armor-<armorType>
Might ask for it
Would have made my life so much easier because armor-<armorType> gets the item with custom model data
parseother?
tried parseother
what?
If I were to use armor-helmet as the material, It would display the item and it works with custom model data
doubt
It does, I tested it
model data can't be set within the material as far as I know
what does it return in /papi parse me?
and why would ParseOther not work?
Dont know
if the other player is wearing that same helmet, it should output the same thing
The thing you provided kinda works. Just gotta checkitem for name and lore
doesn't answer my question but alright
so If I had the material set to armor-helmet, It would display: https://cdn.discordapp.com/attachments/1201883959580184587/1203315805903917056/image.png?ex=65d0a62c&is=65be312c&hm=e27ecdcb850383ebb94fa44086927c71317916e1c6b5301c318bedaa9fa8a760&
however if I try %parseother_{{player}}_armor-helmet% it would not work and it would display a stone block
for what placeholder?
you used armor-helmey instead of armor_material_helmet, is that normal?
cant do the armor one as its integrated into deluxemenus and a material type, but with parseother it shows armor_helmet
ah that's what you meant
actually, it displays rmor_helmet
okay, I understand now
the armor- stuff aren't placeholders, they're types of material prefixes
that's why I got confused
%parseother_{{player}}_armor_helmet% <- why does parsing this delete the a in "armor_helmet"
and of course they don't support ParseOther
yeah
because you need the {} around the placeholder
got it, I tried it and it doesnt work still, oh well
I guess Ill do it the hard way
it should show the material, not the model data of course since it's defined in the model_data field, but should stil return the NETHERITE_HELMET material
try it in /papi parse and see what it returns
parse which placeholder
%parseother_{{player}}_{armor_helmet}% <- this?
Oh yeah, I got that one down
%parseother_{{player}}_{armor_material_helmet}% shows DIAMOND_HELMET
so it's correct?
any way I can get the name and lore?
%player_armor_helmet_name%
found one for the name
No way to display lore of an item
both lorecontains & loreequals show the lore wheb used in getinfo
so you're fine
just do %checkitem_getinfo:<slot>_loreequals:%
Ah
I thought that it might
Weird way to get the lore but whatever lol
Rip doesnt display lore on new lines
%formatter_replace_|_\n_{placeholder}%
%parseother_{{player}}_{formatter_replace_|_\n_{checkitem_getinfo:39_loreequals:}}%
?
right, that'll cause issues
Yeah it did
%utils_parseother:[{player}] _formatter_replace_|_\n_{checkitem_getinfo:39_loreequals:}%
Exactly like that?
or like:
%utils_parseother:{{player}}_{formatter_replace_|_\n_{checkitem_getinfo:39_loreequals:}}%
exactly like that
Utils has its own parseother function
send your menu
material: placeholder-%parseother_{{player}}_{armor_material_helmet}%
display_name: "%parseother_{{player}}_{player_armor_helmet_name}%"
slot: 10
priority: 1
model_data: "%parseother_{{player}}_{checkitem_getinfo:39_custommodeldata:}%"
view_requirement:
requirements:
hasEquippedItem:
type: string equals ignorecase
input: "%parseother_{{player}}_{checkitem_inslot:39}%"
output: "yes"
lore:
- "%utils_parseother:[{player}] _formatter_replace_|_\n_{checkitem_getinfo:39_loreequals:}%"```
Only item that Im using it on as of right now
Nope same output just without the _ in front
sad
%formatter_text_replace_[target]_[replacement]_<text>%
Isnt the usage different?
Fixed it
%utils_parseother:[{player}] formatter_text_replace_|_\n_{checkitem_getinfo:39_loreequals:}%
aaah
missed "text" in placeholder
The other placeholder probably worked too lol
Yeah, the other one works
%parseother_{{player}}_{formatter_text_replace_|_\n_{checkitem_getinfo:39_loreequals:}}% <- this one
hi is there a placeholder that can do like 1-10 and give a random number betwen those numbers?
please ping me
nvm
%math_{objective_score_{wienorthdeerentdeckt}_{freunde}}+{objective_score_{wienorthdeerentdeckt}_{sonstiges}}%
There may be too many brackets, but is there any other way to sum up certain entries on the scoreboard?
%utils_parse_math_{objective_score_{wienorthdeerentdeckt}_{freunde}}+{objective_score_{wienorthdeerentdeckt}_{sonstiges}}%
/papi ecloud download Utils
/papi reload
actually I'm not sure if it'll work correctly
%utils_parse_math_0_{objective_score_\{wienorthdeerentdeckt\}_\{freunde\}}+{objective_score_\{wienorthdeerentdeckt\}_\{sonstiges\}}%
try the first one, if it doesn't work, try the second one
this one works
is it possible to use a placeholder in a scoreboard placeholder like this:
%objective_score_NDXPGAIN_{target_block}%
can i do config only formatted multiline strings without it making it a multiline string ingame? for readability within the config?
i want to use indenting
https://yaml-multiline.info/ @ashen horizon
Find the right syntax for your YAML multiline strings.
what about server.properties, or something named global.conf
Properties probably dont support this, and you have to find out how to do it for .conf
can i do this to end up with < text
DiscordToMinecraftChatMessageFormat: |-
<dark_gray>
<
</dark_gray>
text
can i have it ignore indents completely
i guess it'll interpret it as spaces
wait can I do |4
does that mean it ignores 4 spaces?
Try and see
how does the formatting bit of this work?
%player:playtime%/%player:playtime [formatting]%- The player's playtime.
That is not a placeholder made by us
Need bit help with papi using Statistic expension, so when players mine block for some reason it gives +2 but there some that give correct +1
yeah...it does that. statistic expansion acting weird sometimes, u can use the math expansion to fix this %math_0_{statistic_mine_block:STONE}/2%
so I have do add every single block that give +2 to divide /2
best solution
or use a plugin that tracks the mines blocks or smth
@warm topaz Good afternoon, I’m using the DeluxMenus plugin and I want to make a unique store so that I can create armor from certain items. Why do I use the ExecutableItems plugin? I created an item called serdsedragon and I want the plugin to check that I have this unique created item, I can’t find the PlaceholderAPI help me please
Please respect the rules, be patient and don't ping staff members!
material: executableitems-<your item>
i believe you will need to be using the new dev builds for executable items support
?dm-builds
You can find the latest DeluxeMenus dev builds here: https://ci.extendedclip.com/job/DeluxeMenus/
So ?
left_click_requirement:
requirements:
item_check:
type: has item
material: executableitems-serdsedrak
amount: 64
- '&7Сердце: &b%executableitems-serdsedrak%&7/&b1'
for some reason it doesn't work..
For nbt data you can use joins by putting them ..in a string. Example (%checkitem_nbtstrings:PublicBukkitValues..executableitems:ei-id=Free_Money%) ^ but how to do it correctly?
i dont think it supports executableitems there
click_requirement:
requirements:
has_ei:
type: '>='
input: '%checkitem_amount_nbtstrings:PublicBukkitValues..executableitems:ei-id=Free_Money%'
output: '10'
like that
how can I implement this in DeluxMenus so that this element is taken from my inventory with verification
@sharp bloom I'm sorry, but where should I put my unique item between what to put, write the text please
just change the Free_Money to whatever the executableitems id is
and then use the /ei take %player_name% <id> <amount> in the click_commands: to remove it
@sharp bloom
click_requirement:
requirements:
has_ei:
type: '>='
input: '%checkitem_amount_nbtstrings:PublicBukkitValues..executableitems:ei-id=serdsedrak%'
output: '1'
deny_commands:
- '[message] &cУ вас недостаточно &6&lЗлато &cдля покупки!'
- '[close]'
left_click_commands:
- '[console] ei take %player_name% serdsedrak 1'
- '[console] ei give %player_name% shlemdragon 1'
for some reason it doesn’t work when I press exchange it just gives out without receipts and that’s it... maybe something else
Hi guys! Can someone help me figure out how do I fix the problem with this. I want to append the party members as a text once it is done with loop.
Here is my javascript. I'm encounterin internal server error when I run the javascript placeholder.
var partyCount = parseInt('%mmocore_party_count%');
var placeholdersText = "";
for (var i = 1; i <= partyCount.toFixed(); i++) {
placeholdersText += `%mmocore_party_member_${i}%`;
if (i < partyCount) placeholdersText += "\n";
}
return placeholdersText;
}
generateMinecraftPlaceholders();
send the error
I'm not sure if the JS version the JS expansion uses supports ` `, but could be that
?paste
Paste Services
When asking for help with a config/menu/code issue please use our paste bin:
(we prefer it over pastebin.com)
• HelpChat Paste - How To Use
NumberFormatException: For input string: "${i}"
oh
so yeah, it didn't work
oh I think I know why actually
I'm waiting haha
the JS expansion parses all placeholders in the script before actually running it
so it parsed it without waiting for {i} to be replaced
placeholdersText += "%"+"mmocore_party_member_"+i+"%";
first % is in its own string to avoid parsing
I guess `mmocore_party_member_${i}%` could work for the rest but idk and Discord doesn't like ` within ` xD
Oh I see but how you parse it tho? It just returns this result
smh I'm half-working rn
placeholdersText += PlaceholderAPI.static.setPlaceholders(BukkitPlayer, "%"+"mmocore_party_member_"+i+"%");
it's almost 4pm and I only just woke up
This would be a nice warmup for your evening
:)))
I was gonna say, can you even call this a day ? and then you edited your msg XD
XDDD
I'm still trying it.
please help me I wrote a post just above
I am about to put a mmorpg party system with the use of happyhuds.
/papi parse me %checkitem_amount_nbtstrings:PublicBukkitValues..executableitems:ei-id=serdsedrak%
and when you click on the item, what happens? does it say you don't have the right item, or does it say it worked but doesn't take the item?
no, what is indicated below after the check, everything works, but the check as is does not work or it is not there
yeah okay
Thank you so much! You are genius!
and after that Tsira wrote to me in the chat "2"
try the /papi parse command and tell me what it ereturns
ah I know
you're using click_requirement, while you're also using left_click_commands
you have to either use click_requirement and click_commands, or use left_click_requirement and left_click_commands
You must supply a target, and a message /papi parse {taret} {message}
I was refering to this
but you did, it's all good
try and do this
left_click_requiremen:
requirements:
has_ei:
type: '>='
input: '%checkitem_amount_nbtstrings:PublicBukkitValues..executableitems:ei-id=serdsedrak%'
output: '1'
deny_commands:
- '[message] &cУ вас недостаточно &6&lЗлато &cдля покупки!'
- '[close]'
left_click_commands:
- '[console] ei take %player_name% serdsedrak 1'
- '[console] ei give %player_name% shlemdragon 1'
forgot a t at the end of requirement
still no check
Lord hallelujah may God grant you health and good luck and may you be helped in the same way thank you very much kind man
Hello, i would like to put my expansion to the ecloud. But i do not have rights to register.
Send a direct message to funnycube with your email and username
excellent question, I have no idea, this expansion is weird
💀
He has direct msgs disabled
ah
uh
give me a minute
are you sure you don't have DMs disabled yourself on this server?
I think funny has them enabled
I'll tell him anyway
alright, I asked him
do u know if there will be any fix
I don't know
we don't even know where the issue comes from 🤷
it should work fine, but MC's weird sometimes
Hello everyone, I apologize if I'm writing in the wrong chat, but I wanted to suggest you use placeholders in items: material:
There are many tasks to use for example: material: '%checkitem_getinfo:11_mat:%'
Thus, I show in the menu the item that the player has in slot 11, if there is no item then it is air or empty, using a placeholder you can make conditions if there is an item and if not
I'm sorry, I'm writing through a translator
@junior musk I checked it doesn't work
or have you already updated?
send your menu
menu_title: '&0Sale'
open_command:
- salei
size: 54
items:
9:
material: structure_void
slot: 0
display_name: '&c&lSale:&f %checkitem_getinfo:9_mat:%'
lore:
- '&cshift right click = &a⛁ %checkitem_getinfo:9_amt:%'
view_requirement:
requirements:
Perm:
type: '>='
input: '%checkitem_getinfo:9_amt:%'
output: 1
shift_right_click_commands:
- '[console] p give %player_name% %checkitem_getinfo:9_amt:%'
- '[console] item replace entity %player_name% container.9 with air'
- '[refresh]'
material: structure_void
?
And I want it like this:
menu_title: '&0Sale'
open_command:
- salei
size: 54
items:
9:
material: '%checkitem_getinfo:9_mat:%'
slot: 0
display_name: '&c&lSale:&f %checkitem_getinfo:9_mat:%'
lore:
- '&cshift right click = &a⛁ %checkitem_getinfo:9_amt:%'
view_requirement:
requirements:
Perm:
type: '>='
input: '%checkitem_getinfo:9_amt:%'
output: 1
shift_right_click_commands:
- '[console] p give %player_name% %checkitem_getinfo:9_amt:%'
- '[console] item replace entity %player_name% container.9 with air'
- '[refresh]'
material: 'placeholder-%checkitem_getinfo:9_mat:%'
seriously, does this work??? I'll try now... This was not in the documentation
That works. I use it for my player menu
@junior musk Thanks a lot.
But there is still a caching problem, I don’t know how to get rid of it.
Can only be solved with the command /dm reload
You are simply super! Thanks for the tips!
There is also a question: How can I use filler material so that the translation from Minecraft is used?
I don't know if that's possible
Thanks, we'll look for it
My dears, please help me again...
The thing is that fills don't work in filling
How can I make this work?
%math_0:_{checkitem_getinfo:9_amt:}*{javascript_shop_SALE,{checkitem_getinfo:9_mat:}}%
individually each placeholder works
{checkitem_getinfo:9_mat:} = STONE
{javascript_shop_SALE,STONE} = 5
{checkitem_getinfo:9_amt:} = 64
This is how it works:
%math_0:_{checkitem_getinfo:9_amt:}*{javascript_shop_SALE,STONE}%
help me please
Error in console:
[03:30:35 WARN]: [PlaceholderAPI] [math] Invalid Placeholder detected! [03:30:35 WARN]: [PlaceholderAPI] [math] Placeholder: %math_0:_{checkitem_getinfo:9_amt:}*{javascript_shop_SALE,{checkitem_getinfo:9_mat:}}% [03:30:35 WARN]: [PlaceholderAPI] [math] Cause: '64*1}' is not a valid Math expression.
does /papi parse {javascript_shop_SALE,{checkitem_getinfo:9_mat:}} work even?
It wouldnt
Please respect the rules, be patient and don't ping staff members!
Too many placeholders in a placeholder
Try %utils_parse_math_0:_{checkitem_getinfo:9_amt:}*{javascript_shop_SALE,{checkitem_getinfo:9_mat:}}% @finite imp
Dont forget to do /papi ecloud download utils
Thanks, I'll try
Tell me what data storage systems are available in placeholders, for example db, mysql, sqlite. convenient to work with
lol i made my own expansion/plugin for this
for storing item prices
Hello,
Do you have the source available somewhere publicly?
No, but I will do that today
Please respect the rules, be patient and don't ping staff members!
This is the source code: https://github.com/MassiveLag/Expansion-Litebans/tree/main
Please respect the rules, be patient and don't ping staff members!
I've sent you a FR so you can dm me a username and email you'd like
why does this happen
java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.CompletableFuture$AsyncSupply@1962fa3a rejected from java.util.concurrent.ThreadPoolExecutor@1bf4817c[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 1]
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2065) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:833) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1365) ~[?:?]
at java.util.concurrent.CompletableFuture.asyncSupplyStage(CompletableFuture.java:1782) ~[?:?]
at java.util.concurrent.CompletableFuture.supplyAsync(CompletableFuture.java:2005) ~[?:?]
at org.metadevs.buycraftapi.data.Request.getAllPayments(Request.java:43) ~[?:?]
at org.metadevs.buycraftapi.payments.Query.loadPayments(Query.java:44) ~[?:?]
at org.metadevs.buycraftapi.tasks.Tasks$1.run(Tasks.java:34) ~[?:?]
at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftTask.run(CraftTask.java:101) ~[paper-1.20.1.jar:git-Paper-68]
at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) ~[paper-1.20.1.jar:git-Paper-68]
at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[paper-1.20.1.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
at java.lang.Thread.run(Thread.java:840) ~[?:?]```
hi guys
is there a way to integrate placeholders on a external website? like visitors can see how many players are there online etc etc?
Looks to me like an error triggered by the BuycraftAPI expansion. It seems like it is failing to load payments from their database.
No idea why it does that though. You might need to contact their developers.
That's not really possible no.
ok thanks
wasnt there a rest api plugin made before? idk if it stil works
%utils_changeoutput_equals_input:{parseother_{{player}}_{checkitem_getinfo:39_loreequals:}}_matcher: _ifmatch:&7_else:{parseother_{{player}}_{formatter_text_replace_|_\n_{checkitem_getinfo:39_loreequals:}}}%
Any idea why this shows the whole placeholder
So if use parse first and get rid of {{player}} and parseother out of the equation
Alright. Got it.
Will that space work in changeoutput. I want to check if the lore is blank/doesn’t exist
Alright
Please respect the rules, be patient and don't ping staff members!
Screw you barry
hey, With a friend we are trying to made a deluxemenu that is only accessible with a specific tag.
In other words, is there a placeholder that refer vanilla tag ? ( with the /tag <user> add ... command )
because I can find a placeholder for scoreboard objective but not for tags, and I don't know if it exist or not
There is no placeholder for this, but I guess it can be added to one of the expansions
@vivid sparrow Unknown expansion.
@vivid sparrow Unknown expansion.
@vivid sparrow Unknown expansion.

Fucking hell
it is Objectives
Stupid bot
but idk why it doesn't find it
@vivid sparrow Unknown expansion.
yeah, the expansion's code is weird, or I think it was last time I checked
aight i need help
is this a skill issue or utils not parsing the maths properly
i have this placeholder: https://paste.helpch.at/awuququjax.css
but lets take values instead cause thats tricky
Skill issue, 500 char long placeholder
the error i get is this
[17:19:30 WARN]: [PlaceholderAPI] [math] Invalid Placeholder detected!
[17:19:30 WARN]: [PlaceholderAPI] [math] Placeholder: %math_0_min((10-10[prc]1)/1%
[17:19:30 WARN]: [PlaceholderAPI] [math] Cause: 'min((10-10%1)/1' is not a valid Math expression.
sh
but it seems that it doesnt get parsed after the ,
10-10%1 ?
cause it returns this
[17:19:30 INFO]: %math_0_min((10-10[prc]1)/1%, ({checkitem_amount_nbtstrings:PublicBukkitValues..executableitems:ei-id={deluxemenus_meta_woodworkitemrequirement2_STRING_AIR}}-{checkitem_amount_nbtstrings:PublicBukkitValues..executableitems:ei-id={deluxemenus_meta_woodworkitemrequirement2_STRING_AIR}}[prc]{deluxemenus_meta_woodworkitemrequirement2amount_STRING_0})/{deluxemenus_meta_woodworkitemrequirement2amount_STRING_0}))%
yes sirr
%math_0_min(10-10[prc]1)/1% would work fine and return 10
but i m trying to make it so %math_0_min((10-10[prc]1)/1, (10-10[prc]1)/1)%
and utils doesnt seem to parse after the ,
smh wait lemme correct the placehodler a sec :/
10 mod 1 is just 0 btw
its just an example
the thing is that why it doesnt get parsed after the ,
and it returns the text
normally if u do that with math it will work
and it returns 10
this is such a headache
is there a limit to the characters that utils parse or smth?
idk
Thats a sign from God
damn it was so obvious here that i look at it now
how to get the last day of month with placeholder ?
im thinking about this
would be a perfect placeholder ngl
to make a monthly reward system
u can still make it meta based or simply by making 12menus for every month tho
diligent person
Here's a JS script if you need BukkitServer.getClass().forName("java.time.YearMonth").now().lengthOfMonth()
or BukkitServer.getClass().static.forName("java.time.YearMonth").now().lengthOfMonth() if you're not using QuickJS
1 line 
yeah I tested
lul
ig no gifs allowed here :/

Please don't delete pings, it just causes ghost pings and more issues for whoever you pinged in the first place
Sorry, just that I found the answer
Please respect the rules, be patient and don't ping staff members!
[18:41:14 INFO]: [Azurite] Enabling Azurite v5.0.8
[18:41:16 INFO]: [PlaceholderAPI] Successfully registered internal expansion: azurite [1.0]
[18:41:16 WARN]: java.lang.NoClassDefFoundError: org/bukkit/event/inventory/EquipmentSetEvent
[18:41:16 WARN]: at java.lang.Class.getDeclaredMethods0(Native Method)
[18:41:16 WARN]: at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
[18:41:16 WARN]: at java.lang.Class.privateGetPublicMethods(Class.java:2902)
[18:41:16 WARN]: at java.lang.Class.getMethods(Class.java:1615)
[18:41:16 WARN]: at me.keano.azurite.modules.framework.Module.checkListener(Module.java:29)
[18:41:16 WARN]: at me.keano.azurite.modules.framework.Module.<init>(Module.java:25)
[18:41:16 WARN]: at me.keano.azurite.modules.pvpclass.listener.ArmorLegacyListener.<init>(ArmorLegacyListener.java:23)
[18:41:16 WARN]: at me.keano.azurite.modules.pvpclass.PvPClassManager.<init>(PvPClassManager.java:84)
[18:41:16 WARN]: at me.keano.azurite.HCF.onEnable(HCF.java:162)
[18:41:16 WARN]: at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321)
[18:41:16 WARN]: at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:332)
[18:41:16 WARN]: at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:407)
[18:41:16 WARN]: at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:359)
[18:41:16 WARN]: at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:318)
[18:41:16 WARN]: at net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:408)
[18:41:16 WARN]: at net.minecraft.server.v1_8_R3.MinecraftServer.k(MinecraftServer.java:372)
[18:41:16 WARN]: at net.minecraft.server.v1_8_R3.MinecraftServer.a(MinecraftServer.java:327)
[18:41:16 WARN]: at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:267)
[18:41:16 WARN]: at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:563)
[18:41:16 WARN]: at java.lang.Thread.run(Thread.java:750)
[18:41:16 WARN]: Caused by: java.lang.ClassNotFoundException: org.bukkit.event.inventory.EquipmentSetEvent
[18:41:16 WARN]: at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:92)
[18:41:16 WARN]: at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:87)
[18:41:16 WARN]: at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
[18:41:16 WARN]: at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
[18:41:16 WARN]: ... 20 mor
hello, someone knows the reason for this error?
azurite is not the problem we think the owner and me
azurite requires features from newer server versions
Know any worldpainter wizzards?
no idea what that is
- "%utils_parseother:[{player}]_changeoutput_equals_input:{checkitem_getinfo:39_lorecontains:}_matcher:{checkitem_getinfo:39_lorecontains:}_ifmatch:{formatter_text_replace_|_\n_{checkitem_getinfo:39_loreequals:}}_else:&7No lore%"
Issue: If the item has lore; It works. If it does not; It shows: https://prnt.sc/0kyE7fmfirtS
feels like an issue with Utils, not sure what could have gone wrong
I'll check when I have the time
feels like its an issue with checkitem
Im having my dev modify checkitem to include a getinfo modifier of "haslore" which will output yes or no and it should fix it
so it's possibly a mistake on my side when trying to parse multiple levels of bracket placeholders
Hopefully and hopefully it gets fixed soon
its user error
Input and matcher are the exact same placeholder so it will always match
So yeah, I guess I have to wait for my dev
yeah I saw that, but that doesn't change the fact that the Utils placeholder failed to marse several placeholders
- "%utils_parseother:[{player}]_changeoutput_equals_input:{string_length_{checkitem_getinfo:39_lorecontains:}}_matcher:0_ifmatch:_else:{formatter_text_replace_|_\n_{checkitem_getinfo:39_loreequals:}}%"
It is an issue with utils
well, it might not be Utils actually, maybe formatter simply doesn't like empty inputs
This should work but sends the else statement for an item with no lore
Thought that too, However; If you look. Formatter is in the else expression of the latest placeholder I got. If the lore length is equal to 0, it will output nothing, however if it is equal to anything other than 0, it will do it properly
why the string_length placeholder? just use input: to check if the placeholder returns nothing
check the string_length placeholder in /papi parse me or in the menu somewhere else
I did, It outputs 0
Its very peculiar
try without the string_length anyways
- "%utils_parseother:[{player}]_changeoutput_equals_input:{checkitem_getinfo:39_lorecontains:}_matcher:_ifmatch:_else:{formatter_text_replace_|_\n_{checkitem_getinfo:39_loreequals:}}%"
do you have TAB?
Yeah
/tab parse me %checkitem_getinfo:39_lorecontains:%
Yeah
I'll check tomorrow
Ok
Its formatter
I think
It was formatter
Didnt like being in another placeholder
- "%utils_parseother:[{player}]_{formatter_text_replace_|_\n_changeoutput_equals_input:{checkitem_getinfo:39_loreequals:}_matcher:_ifmatch:_else:{checkitem_getinfo:39_loreequals:}}%"
This is the fixed version
@junior musk
What a peculiar resolution though
Hmm, however if there is a % in the lore. It breaks the entire placeholder
Anyone know of any fixes
Is it just me, or does the Essentials baltop not refresh the data in the placeholders unless the Essentials baltop command is executed? Is there a solution for this?
I’ve heard a lot of bad things about using essentials for economy
I've never had any problems besides this tho - But essentials uses vault no?
yeah I knew this would happen, unfortunately there isn't really a way to fix that
is there a way that the number will go 2x back like from 1 to 0.01
function getLevels() {
var world = BukkitPlayer.getWorld();
var players = world.getPlayers();
var totalLevel = 0;
for (var i = 0; i < players.size(); i++) {
var currentPlayer = players.get(i);
// Assuming you have a placeholder for player levels, adjust it accordingly
var playerLevel = PlaceholderAPI.static.setPlaceholders(currentPlayer, "%clv_player_level%");
// Parse the level as an integer, default to 0 if parsing fails
var parsedLevel = parseInt(playerLevel) || 0;
// Add the parsed level to the total
totalLevel += parsedLevel;
}
// Ensure the total level is at least 0
totalLevel = Math.max(totalLevel, 0);
return totalLevel;
}
getLevels().toString();
/100
huh?
divide by 100
returns noting a empty line
function getLevels() {
var world = BukkitPlayer.getWorld();
var players = world.getPlayers();
var totalLevel = 0;
for (var i = 0; i < players.size(); i++) {
var currentPlayer = players.get(i);
// Assuming you have a placeholder for player levels, adjust it accordingly
var playerLevel = PlaceholderAPI.static.setPlaceholders(currentPlayer, "%clv_player_level%");
// Parse the level as an integer, default to 0 if parsing fails
var parsedLevel = parseInt(playerLevel) || 0;
// Add the parsed level to the total
totalLevel += parsedLevel;
}
// Ensure the total level is at least 0
totalLevel = Math.max(totalLevel, 0);
// Divide the total level by 100
totalLevel /= 100;
return totalLevel;
}
getLevels().toString();```
that's exactly that

maby if its under the 0. it returns 0?
but you said it returns nothing?
yes
yes
also it needs to start at 1.
so the number wond be lower te nit shut be
im using math now to make the heath higher by 1.0&level%%
so if 20 it will be 1.20
made it divide by 10
this doesn't even work for me
o how to fix it?
one sac
function getLevels() {
var world = BukkitPlayer.getWorld();
var players = world.getPlayers();
var totalLevel = 0;
for (var i = 0; i < players.size(); i++) {
var currentPlayer = players.get(i);
// Assuming you have a placeholder for player levels, adjust it accordingly
var playerLevel = PlaceholderAPI.static.setPlaceholders(currentPlayer, "%clv_player_level%");
// Parse the level as an integer, default to 0 if parsing fails
var parsedLevel = parseInt(playerLevel) || 0;
// Add the parsed level to the total
totalLevel += parsedLevel;
}
// Ensure the total level is at least 0
totalLevel = Math.max(totalLevel, 0);
return totalLevel/=10;
}
getLevels().toString();
``````js
function getLevels() {
var world = BukkitPlayer.getWorld();
var players = world.getPlayers();
var totalLevel = 0;
for (var i = 0; i < players.size(); i++) {
var currentPlayer = players.get(i);
// Assuming you have a placeholder for player levels, adjust it accordingly
var playerLevel = PlaceholderAPI.static.setPlaceholders(currentPlayer, "%clv_player_level%");
// Parse the level as an integer, default to 0 if parsing fails
var parsedLevel = parseInt(playerLevel) || 0;
// Add the parsed level to the total
totalLevel += parsedLevel;
}
// Ensure the total level is at least 0
totalLevel = Math.max(totalLevel, 0);
return totalLevel;
}
getLevels().toString();
number 2 works
don't use /= if you're returning on the same line, use /
well I guess it works, but it's not really useful
and I still get nothing
could just be me
yes but how d owe fix not number?
can you give code?
papi parse --null %javascript_levelx%
[09:43:59 INFO]:
thats what shows up
that's exactly why it didn't work for me either
it requires a player

since you're getting the player's world
i did it where i was in game also did not work
/papi parse me %javascript_level% works
/papi parse me %javascript_level0% not
level0.js
send your javascript_placeholders.yml
where
here
Paste Services
When asking for help with a config/menu/code issue please use our paste bin:
(we prefer it over pastebin.com)
• HelpChat Paste - How To Use
it works now
yes
how do i make it so its 16 it will be 1 and ten return totalLevel/20
this is for dungeon level 2
and it needs a reset
?
How can I make %player_current_exp% have a comma
%number_round-thousand-separator-two-decimals_{player_current_exp}%
^
/papi ecloud download number
/papi reload
Failed to find expansion
Download it from here and then drop it into /placeholderapi/extensions
and then /reload?
yeah
yes
parse it
do /papi parse me %number_round-thousand-separator-two-decimals_{player_current_exp}%
send me what it says
add this to the placeholderapi config.yml;
thousand-separator-two-decimals:
format: '#,##0.##'
display: '{player_current_exp}'```
ok one sec
did that
done
Alright, now do /papi reload and try the placeholder again
Didn't work again
Fixing, sorry, The documents must be wrong for the expansion
do /papi ecloud download formatter and then /papi reload
%formatter_number_format_{player_current_exp}%
^ Try that placeholder
That one works no matter what
No problem!
i noticed papi has a new wiki, but https://placeholderapi.com/placeholders still goes to the old wiki
cc: @balmy marten
didn't even know we had that link
i use this redirect a LOT so it would be nice if it got updated 🙂
I only knew https://helpch.at/placeholders
thank you ❤️
I tried to use papi 2.11.x from repo.extendedclip.com in gradle, but i get > Could not download placeholderapi-2.11.5.jar (me.clip:placeholderapi:2.11.5) > Could not get resource 'https://repo.extendedclip.com/content/repositories/placeholderapi/me/clip/placeholderapi/2.11.5/placeholderapi-2.11.5.jar'. > Could not HEAD 'https://repo.extendedclip.com/content/repositories/placeholderapi/me/clip/placeholderapi/2.11.5/placeholderapi-2.11.5.jar'. it works fine with 2.10.9. Is there anything special I need to use 2.11.5?
We'll get it updated soon
Hey! What input should I use with this worldguard placeholder?
- ' &#FBE200&l| &fPvp &b%changeoutput_equals_ALLOW_input:_matcher:{worldguard_region_has_flag_pvp}_ifmatch:&aEnabled _else:&cDisabled &m%'
Good afternoon, please tell me how I can write a solution so that this icon opens only when a person has these 2 permissions because I set 2 like this and I already have access, but I want 2 permissions to be checked at once
- ''
view_requirement:
requirements:
perm_check:
type: '!has permission'
permission: quest.15
view_requirement:
requirements:
perm_check:
type: '!has permission'
permission: queest.15
left_click_commands:
- ''
- '[sound] BLOCK_LEVER_CLICK'
well currently you are saying that they should run the command when they dont have the permission
!has_permission means doesnt have permission
requirements:
perm_check:
type: 'has_all_permissions'
permissions:
- quest.15
- queest.15
left_click_commands:
- '[sound] BLOCK_LEVER_CLICK'```
this will allow the command to be run only when both quest.15 and queest.15 permissions are present on the player.
and checks for the perms at the same time*
is there epoch papi expansion? like %server_epoch% to display epoch unix time
Delete the second view requirement. Copy and paste perm_check directly under it the other perm_check. Rename the copied perm check to something else like second_perm: and then change the permission node
I did it, it doesn’t work, now it doesn’t respond to any permission, what should I do next?
even put it before permission
type: '!has_all_permissions'
exclamation mark also checked nothing
No, do
View Requirement:
requirements:
perm_check:
type: has permission
permission: your permission
newperm_check:
type: has permission
permission: your permission
So, or during the second round I couldn’t understand, maybe I should just write?
https://ibb.co/7n4b9YG
if I'm doing something wrong, excuse me, I'm trying to develop myself if it's not difficult to write exactly how, otherwise, according to every rob, everything is different as if the solutions don't work
That works
unfortunately it doesn't work..
what not to do?
[18:30:21 INFO]: Julia_Life issued server command: /deluxemenu reload
[18:30:21 WARN]: [DeluxeMenus] Requirement type at path: items.quest_1_locked.view_requirement.requirements.uuuperm_check is not a valid requirement type!
[18:30:21 WARN]: [DeluxeMenus] Requirement type at path: items.quest_1_locked.view_requirement.requirements.uuusperm_check is not a valid requirement type!
Spacing is wrong
I can write you a personal message to help you, I’ll pay you if it’s not difficult
so i was gonno use the speed attribute but it kept giving me 0.10001 something something im just wandering how to round it
Hi! I'm trying to use the parseother expansion placeholders inside a math placeholder (%math_2_({parseother_{Olimposz}_{mmoitems_stat_attack_damage}})*1.1%) but for some reason it doesn't work. The console throws the following error: https://paste.helpch.at/wipisipufi.rb
Thanks for help in advance!
download utils and use this
%utils_parse_math_2_{parseother_{Olimposz}_{mmoitems_stat_attack_damage}}*1.1%
still not working for some reason
%utils_parseother:Olimposz_{math_2_{mmoitems_stat_attack_damage}*1.1}%
Thank you very much, eternal gratitude
Hey! What input should I use with this worldguard placeholder?
- ' &#FBE200&l| &fPvp &b%changeoutput_equals_ALLOW_input:_matcher:{worldguard_region_has_flag_pvp}_ifmatch:&aEnabled _else:&cDisabled &m%'
I mean I don't know what I need to use I tried with ALLOW , YES, and TRUE
