#placeholder-api
150650 messages · Page 119 of 151
I think they need the permission node to check their own playtime to be granted a position, and until then it gives them the lowest position possible
or
they need to join once, then rejoin to be granted a position
because I parsed it with my other alt and it resulted in a 2 which was my position, then I added the permission nodes and it was still a 2, but I disconected and re-conected and their position was corected
anyways that was confusing I apreciate your help lol
I'm not gonna lie, this plugin's code is hella confusing, I didn't expect it to be worse than my own plugins
oh yeah lol
I think the issue here is that players playtime aren't saved within the plugin at all during runtime, thet are only saved on reload, server shutdown or on disconnect. And because of that, people that join for the first time always have no data file at first, and therefore the expansion doesn't find the data file and returns 0 by default
ah
all in all: that plugin's bad, I recommend finding a better one
lol
and because it's 11pm rn for me, I'm gonna go to bed so gl 😅
lol alright I did find the other plugin I was aparently using and it might have been worse ttytt
Hi, how can I re-verify my expansion? BuyCraftAPI
done ✅
Thanks
can i use a javascript requirement that requires both placeholders to return the same thing in order to work?
like:
type: javascript
expression: '%player_name% %island_leader% == Kristopher'
javascript not needed
what you want is string equals
and you want the input to be %player_name%
and the output to be %island_leader%
😉
wait a sec mby the example i gave was wrong :/
cause in my mind i couldnt do what i wanted with string equals
if you want them both to equal Kristopher, just add another requirement
one for them being equal to each other
and one for it being equal to Kristopher
actually
just put them %player_name%%island_leader% as input and output be KristopherKristopher
one requirement vs 2
wait ye that sounds like what i needed (i think)
oh wait no
type: 'string equals'
input: '%checkitem_getinfo:mainhand_nbtstrings:PublicBukkitValues..score:score-enchantslot1=name%'
output: '%checkitem_getinfo:offhand_nbtstrings:PublicBukkitValues..score:score-displayenchant=name%'
ye this one seemed to work thanks
idk why i didnt think that string equals couldnt work tbh
yuh idk my mind is kinda of cause i ve been working on making a new enchanting system
happens
and there are so many issues that i have to prevent 
is it possible to get the level of an enchant via the checkitem nbt?
oh i can use the getinfo
is it possible to change smthing to this %checkitem_getinfo:mainhand_enchantments:% so it can return only the level?
specifying the enchantment should return only the level
How do I slow down the javascript extensions? I keep getting these warnings in console
[01:42:31 INFO]: [TAB] [WARN] CPU usage of placeholder %javascript_difference_dates% is 52%. It will most likely cause problems. Try increasing refresh interval.
every time you parse a javascript placeholder it runs a new instance
so wherever you're parsing it, you have to slow down
your scoreboard probably
The best solution would be to get a java replacement for difference_dates, but nothing exists currently that I know about
Its actually in my TAB, but it only shows years and months.. so I dont really need it running all the time, is there no way to make a refresh rate in javascript?
not in how you're wanting
there is no default option for a javascript placeholder to cache a value instead of running the script to retrieve it
hm thats unfortunate
hello I'm new
Is it possible to get per world deaths and kills placeholder?
like %statistic_player_kills_worldarena% %statistic_deaths_worldarena%
btw I have this error also, and when I try to download the expansion, it just doesn't load
[10:03:17 WARN]: [PlaceholderAPI] Cannot load expansion playertime due to a missing plugin: PlayerTime
the warning you sent says everything
^
yes, but when I try to download it , it doesn't load ...
oh wait
no okay I understood x)
so how can it load ?
You're missing the spigot plugin PlayerTime that goes with the expansion you have installed
When you have an expansion that requires a plugin, check its info page on https://api.extendedclip.com/all/ it'll usually link to the plugin
Okay, thanks for the info !
Minecraft does not track statistics per world.
You'll need a custom plugin or expansion for that. I did have one for per world deaths which I think is on the ecloud but I don't have player kills rn
I can try to add it this afternoon or during the week
uhhhh
[10:10:00 WARN]: [org.bukkit.craftbukkit.v1_20_R1.legacy.CraftLegacy] Initializing Legacy Material Support. Unless you have legacy plugins and/or data this is a bug!
[10:10:01 WARN]: Legacy plugin PlayerTime v1.0.7-RELEASE does not specify an api-version.
[10:10:01 INFO]: [CustomCrafting] NMS Version: v1_20_R1
[10:10:01 WARN]: Legacy plugin PluginBlocker v1.1 does not specify an api-version.
[10:10:01 WARN]: Legacy plugin Playtimes v1.5.2 does not specify an api-version.```
is this normal ?
Yeah its fine
oh okay
😭 I'm sorry but yeah it adds lots of warn
[10:11:09 WARN]: at java.base/java.lang.Class.getField(Class.java:2117)
[10:11:09 WARN]: at PlayerTime-1.0.7-RELEASE.jar//me.rayzr522.jsonmessage.JSONMessage$ReflectionHelper.<clinit>(JSONMessage.java:520)
[10:11:09 WARN]: at PlayerTime-1.0.7-RELEASE.jar//me.rayzr522.jsonmessage.JSONMessage.send(JSONMessage.java:158)
[10:11:09 WARN]: at PlayerTime-1.0.7-RELEASE.jar//me.glaremasters.playertime.events.Announcement.lambda$onJoin$0(Announcement.java:36)
[10:11:09 WARN]: at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftTask.run(CraftTask.java:101)
[10:11:09 WARN]: at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57)
[10:11:09 WARN]: at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22)
[10:11:09 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[10:11:09 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[10:11:09 WARN]: at java.base/java.lang.Thread.run(Thread.java:833)
[10:11:09 WARN]: [PlayerTime] Plugin PlayerTime v1.0.7-RELEASE generated an exception while executing task 4528
java.lang.IllegalStateException: ReflectionHelper is not set up!
at me.rayzr522.jsonmessage.JSONMessage$ReflectionHelper.createTextPacket(JSONMessage.java:608) ~[PlayerTime-1.0.7-RELEASE.jar:?]
at me.rayzr522.jsonmessage.JSONMessage.send(JSONMessage.java:158) ~[PlayerTime-1.0.7-RELEASE.jar:?]
at me.glaremasters.playertime.events.Announcement.lambda$onJoin$0(Announcement.java:36) ~[PlayerTime-1.0.7-RELEASE.jar:?]
at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftTask.run(CraftTask.java:101) ~[purpur-1.20.1.jar:git-Purpur-2011]
at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) ~[purpur-1.20.1.jar:git-Purpur-2011]
at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[purpur-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:833) ~[?:?]```
Guessing playertime plugin doesn't support 1.20
🥲
Yeah it doesn't
okay, so imma keep the first error, it doesn't affect the performances of the server doesn't it ?
The does not specify an api-version. are fine to ignore
okay thanks
[PlaceholderAPI] Failed to load expansion votingplugin. Identifier is already in use.
[PlaceholderAPI] Cannot load expansion votingplugin due to an unknown issue.```
You have two expansions trying to register as votingplugin
how to check ?
First check the expansions folder
i ve tried these 3 options
%checkitem_getinfo:mainhand_nbtints:PublicBukkitValues..score:score-enchantlevel1=name%
%checkitem_getinfo:mainhand_nbtints:PublicBukkitValues..score:score-enchantlevel1%
%checkitem_getinfo:mainhand_nbtints:PublicBukkitValues..score:score-enchantlevel1=%
for this item
minecraft:leather_helmet{Enchantments: [{id: "minecraft:protection", lvl: 1s}], Damage: 0, HideFlags: 7, PublicBukkitValues: {"score:score-enchantslot1": "Protection I", "score:usage": 1, "executableitems:ei-id": "mythril_helmet", "score:score-enchantslot2": "Helmet Enchant", "score:score-enchantname1": "protection 1", "score:score-enchantlevel2": 0.0d, "score:score-enchantlevel1": 1.0d}, display: {Name: '{"extra":[{"bold":false,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false,"color":"white","text":"Mythril Helmet"}],"text":""}', Lore: ['{"extra":[{"bold":false,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false,"color":"red","text":"Enchants:"}],"text":""}', '{"extra":[{"bold":false,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false,"color":"gray","text":"Slot 1: Protection I"}],"text":""}', '{"extra":[{"bold":false,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false,"color":"gray","text":"Slot 2: Helmet Enchant"}],"text":""}'], color: 2501291}, CustomModelData: 10006, AttributeModifiers: [{Name: "itemsadder", AttributeName: "minecraft:generic.armor", Operation: 0, UUID: [I; -535552657, 1747072087, -1499779474, 1486638784], Slot: "head", Amount: 3.0d}, {Name: "itemsadder", AttributeName: "minecraft:generic.armor_toughness", Operation: 0, UUID: [I; 1086065749, -86623276, -1760901291, -782312612], Slot: "head", Amount: 1.0d}]}
normally it would return 1 but it doesnt, it returns the whole nbt tag, any ideas for adjustments :/ ?
the check with nbtstring returns null
hm mby it doesnt support a decimal value :/ ?
Question, if someone can tell me. I'm looking for a variable on PAPI for use on Scoreboard that give me the number of entities on close range. I found this one %worldnearbyEntities<radius>% but I didn't know the parameters in <radius> and if that var works or there exist other better (or if I should move this question to other channel haha). My intention is show a line with the count of close enemies on a range for the player.
%player_saturation% ?
I want to showcase hunger not saturation
yeah I'm trying to see if there's one
player_food_level
it's listed there, I just missed it xD
smh 🫡
radius is the number in blocks from a player's position that entities will be listed
so if you use 5, it'll check all entities 5 blocks around you
Yo, is there a vault placeholder that has both commas and decimals like 4,518.59
shouldn't the commas placeholder already have that?
otherwise, use the normal vault_eco_balance placeholder inside a formatter placeholder
nah the commas doesn't have decimals
what do you mean by this?
%formatter_number_format_:#,##.##_{vault_eco_balance}% I think
oh okay ty do u know what this does? %vault_eco_balance_<number>dp%
that would be nice
F completely forgot
I'll do it right now
omg
I already did kills
I'm so stupid
/papi ecloud download PerWorld
/papi reload
%perworld_kills_current%
%perworld_kills_in_<worldname>%
%perworld_deaths_current%
%perworld_deaths_in_<worldname>%
Thanks
Another question, how do you reset the kills and deaths?
there should be a file created in your PlaceholderAPI folder with all data from the expansion
Also is it possible to specify a player with %perworld_deaths_in_<worldname>_player% or something like that?
Im using skript to make stats
parseother
or maybe skript has something to parse placeholders as a player directly built in, but otherwise you have to use ParseOther
%parseother_{<player>}_{perworld_deaths_in_<world>}%
the {} are required
don't forget to download the expansion
Will try it
Yep, but I tried with %world_nearbyEntities_100% and %world_nearbyEntities_5% and doesn't works, can you tell me an example? I don't know if is necesari use <> or () on the variable.
no it should be fine
what does it show? 0 or the placeholder?
if it returns the placeholder itself, make sure you downloaded the expansion
Hello there, i searched and searched withing the placeholderapi documentation and the expansions/addons list for papi for what i neer without success, and searching with keywords is not really doing it as well for what i'm looking for
I'm searching for a placeholder that could return the active hotbar position of a player as a value
for example, if the player is on the third slot of its item hotbar, i'd like a placeholder that return the value 3
Yeah i checked the player expansion but did not saw one
doesn't seem like there's one
@bronze shell what's your server's java version ?
paper latest
well 1.20.1
that's thz MC version
though anything after MC 1.17 requires java 17 anyways so all good
I'll send you a jar in a few minutes
if I get it to work xD
what would be its purpose?
%player_held_item_slot%
download that put it in /plugins/PlaceholderAPI/expansions (remove the previous player-expansion jar)
and now you can use the held slot placeholder
I already had a modified version of the player expansion with a few more placeholders, so I just had to add 1 line for the held item 😅
i'm still very new to the whole placeholder mechanic, do you know if it's easily possible to modify the value of a placeholder to display a different output?
As in, in my case, [held item slot]+1
you can use the ChangeOutput expansion for that
oh for that you can use Math
%math_0_{placeholder_without_%%}+1%
amazing! thank you so much
I'm working on a custom skill casting hud using the mmocore plugin
when you use placeholders within other placeholders, you have to replace the %% by {} (do note that not all placeholders support that, in such cases, I made another expansion called Utils that allows you to do just that)
and the way you can cast skill is by entering the skill casting mode by pressing F, and then you have to press a number corresponding to the skill slot. but since minecraft cannot register an input if you press the number of your active hotbar slot, mmocore is making an offset of it
so like if you want to cast skill on slot 3 but your hand is on the slot 3, you will have to press 4
so i had to remake this offset variable value system on my gui
i see, thank you
placeholders are amazing ngl lol
they are
you mean expansion-player.jar, right ?
yeah
did you left your other custom lines in this jar or not btw? just curious
lmao fair
it works!! thank you so much, this is going to be a game changer for me
woops i didnt meant to reply
dw
the placeholders are added are listed in the commits
ah nice, thanks
i'm trying to understand the math expansion but this is all new to me. Is it possible to round up a value? i have a cooldown value that i would like to display as 1.2 instead of 1.234
i don't understand what "precision" and "rounding" means
ah nvm i found it, it was simply %math_1_{placeholder}%
precision (before :) shows the amount of decimals, rounding (after :) rounds the value up, down, half up or hald down. You can check the Math expansion's wiki for possible rounding values
ty!
hi
is it possible to change what time zone do time placeholders use?
it shows the time of the server time zone, i want to make so every player would see it own time
what is the coolest feature in this plugin
Papi allows for a wide range of plugins to share information with simple use of placeholders.
is there a way to filter the end of a material with checkitem? like _helmet and it will include all the items that end with helmet?
oh wait
i can use the string contains 🤨
Whenever I try to use /dm open and it says menu not found, I've tried the file name with and without YML, I've also tried the command it's bound to. It just says not found, menu still working - why will DM open not work?
does the menu show up in /dm list? did you register your menu in DeluxeMenus' config.yml ?
https://api.extendedclip.com/expansions/minepacks/ Could my extension get verified? Original extension is bad and the owner doesn't want to add my changes to it
Thank you, It was listed differently in the list. Now I got it working.
is there any specific procedure need to be done to get an already uploaded ecloud expansion "approved"?
link it here and hope a staff will approve it 
(approve pls 😛 )
TL;DR: It's like str_replace but also works fine with underscores and other stuff and nested placeholders
no!
what no
don't approve it 🙄
why not
its too useful to be shared with the public
we have to gatekeep
ngl i added to my notes to test it but i didn't gave it a chance yet :/
cause i had a nice way to use it in a menu that im currently working on
I really did give my best to unit-test it as much as possible lol
great job
Hey there, i need some insight
i have those two placeholder :
%mmocore_bound_<integer>% this one gives me the name of a skill in a specific skill slot
%mmocore_skill_parameter_mana:<skill_name>% this one gives me the value of a parameter (mana) of a specific skill named
i would like to put the first placeholder output value (which would be the name of the skill of a specific slot) inside the <skill_name> part of the second one
thing is, from what i understand, this is sometimes possible but it's a case by case scenario
so i tried it out by doing %mmocore_skill_parameter_mana:{mmocore_bound_1}% but unfortunately it does not seem to work
do i have to keep the : sign in there ? i have not used placeholder with this sign before so idk if i'm doing it correctly
That's where the Utils expansion comes in clutch :D
%utils_parse_placeholder_{placeholder}%
parses placeholders within other placeholders if they don't support it
Because i did some testing in the meantime, and i think my issue is actually elsewhere : the value given by my first placeholder does not have the correct format for the second placeholder
for example, math supports nested placeholders, but mmocore doesn't seem to so you need Utils
ah, that can be an issue too
the name of my skill is "Boule de feu", which is what my first placeholder is returning, but the second placeholder needs this name without space, so "bouledefeu"
make sure the values are correct with /papi parse me
you'd need a placeholder with the identifier of the skill and not the display name
yup, but it does not exists
would there be a way through another placeholder of removing the spaces automatically?
probably, but it may not work for all skills then, depending on how much they differ from their identifier
well im making all my skills myself so this won't be an issue
alright
maybe the String expansion's replace placeholder could do the trick, alongside the lowercase one
or you could use mfbalex's replace expansion that they just recently published xD
ohhh wait, i have a jar addon that automatically convert the skill name to replace spaces with _
ah nice, in case my solution doesnt work ill try that out
idk if the second placeholder will be ok with _
yeah :/ unfortunate
somehow it does not need the value to be all lowercase, the issue seems to only be the spaces
alright
i'm still not sure if the placeholder could work with the name using _ instead of space, or if the issue comes from the nested placeholder
error could be caused by both source
try with the name with _ directly inside the placeholder
%mmocore_skill_parameter_mana:boule_de_feu%
try that
oh yeah lol i was so into nesting my placeholder i forgot i could just write the value myself
yeah no, doesn't work as expected
alright, replace expansion time then
do you know how it works? i'm not sure where i should put each value
%replace_<search>_<replace>_<text>% since i want to replace a space (or a _), idk how i can write it down in the placeholder
search would be a space imo, replace would be nothing (so just stick the two __) and text is the placeholder that returns the skill
oh i thought space within a placeholder was complete heresy
nah that works
incredible
some don't support it I believe, but most do
the only real character you can't use is %
okay the replace placeholder works! now i need to nest it into the other one lmao
a placeholder within a placeholder within a placeholder (and hopefully not within another placeholder in case nesting placeholder doesnt work natively)
it doesn't natively at all, it can for one level of nested placeholder if supported by the placeholder on the outside, but more is not, that's why Utils is there :D
nope doesn't work
so you need to use mmocore inside replace inside mmocore again inside utils
alllrighty Utils time lol
xD
worst part is, even if i'm done with this i won't actually be done because then i will have to compare this monstrous placeholder jamboree with another placeholder

all this just to have a red overlay displaying over a skill when the player does not have enough mana 😭
you might as well code your own plugin/expansion at this point xD
Unfortunately i do not have any java knowledge, so i'll stick to the placeholder galore for now
oh you're frenchhhhh lol
XD
nah dw i'll stick to placeholder for this time, it's the only time it gets that complicated anyway
okay so, right now it looks like this %mmocore_skill_parameter_mana:{replace_ __{mmocore_bound_1}}%
add utils_parse_ between the first % and mmocore
and don't forget to download the expansion
yeah i did already and reloaded papi
%utils_parse_mmocore_skill_parameter_mana:{replace_ __{mmocore_bound_1}}%
looking good
still not working it seems
internal error
send the console log
oh LMAO i know what happened
Caused by: java.lang.NullPointerException: Could not find skill with ID '§aBouledefeu'
this fucking placeholder is returning the formatting of the name
what if the issue was that all along
amen
oh actually you might need uncolor:each
wait
it's maybe uncolor:true
I don't even remember what I did with my own expansion xD
uncolor:each
ok each works!!!
%utils_uncolor:each_mmocore_skill_parameter_mana:{replace_ __{mmocore_bound_1}}% look at this monster
okay i just wanna try out without the replace placeholder in case the issue was because of the §a all along
uncolor alone only strips colors from the final result, while each does it for each placeholder output once it's parsed
i see
of course it does, it's French Quality after all :D
lol
still it's nice to see a fellow French user with an actually decent English from time to time xD
ahah well i live in a english speaking country, i have to
alright even without the §a, the name with _ was returning errors
so big monster placeholder it is
ah, that's cheating =/ xD
did you have to download an expansion for mmocore or was it included in the plugin?
I can't find it on the ecloud and can't find the expansion in the plugin's code 😅
yeah idk exactly how it works but it's included in the mmocore plugin, their placeholders are listed on their wiki
i couldn't find them on the papi library neither
my monster placeholder doesnt work within my other plugin 💀 time to find out why
which plugin?
omg I had the expansion right in front of my eyes, it was called RPGPlaceholders and I read it as RGBPlaceholders xD
Happyhud
basically i want to do a conditionnal display of an image, the condition would be
- placeholder{ph=%utils_uncolor:each_mmocore_skill_parameter_mana:{replace_ __{mmocore_bound_1}}%;v={ph=%mmocore_mana%};o=<} true hide
I'm not sure if that plugin supports placeholders with {}
but don't worry
once agian, Utils comes in clutch
I recently added a shortcut placeholder
xD
:O
open PlaceholderAPI's config.yml, find utils, there should be a shortcuts section underneath
ye
add a new line <shortcutName>: "%utils_uncolor:each_mmocore_skill_parameter_mana:{replace_ __{mmocore_bound_1}}%"
then /papi reload and use %utils_shortcut_<shortcutName>%
i tried to parse the utils shortcut, and somehow the color value is not removed this time?
it's the default one
well ye
it's all on one line
I'm testing
the error returned is Caused by: java.lang.NullPointerException: Could not find skill with ID '§aBouledefeu' so the output is almost good, only the color prefix is staying despite %utils_uncolor:each
woo
it workssssssssssssss thank you!!
at least i found a bug in your expansion :p
:D
it's not a bug, it's a feature
xD
and it literally was to be fair 😅 it happened because shortcut was parsing nested placeholders before the uncolor placeholder
though since you can use utils placeholders within the shortcut, it felt redundant and would break uncolor placeholders, so I just made it parse placeholders normally
ahh right i see
oh well, it worked almost perfectly but there's a scenario where the whole thing just break, with reason
so i will have to do even more placeholder shenaningan, sheesh
basically im comparing two values, and depending on the output it's displaying an image
(if the mana necessary to cast a skill is superior to the active mana value of a player, the skin icon turn red to indicate you can't cast it)
thing is, if the player does not have a skill bound to the slot, then the plugin cannot do the comparison between the two value
because in case of no skill, the plugin return the value "noskill" as a skill name, and since this skill is not in the list of available skill for the player, it cannot work
ChangeOutput could help
I was thinking of doing the calculation beforehand
mmocore_bound_1 is the placeholder that returns noskill right?
like doing a placeholder to check the name of the skill, and if the name is "noskill", return value 0
if the name is not "noskill", return value 1
yes
but the thing is, i need to translate the noskill value BEFORE it goes to the happyhud plugin
because otherwise it breaks the whole plugin
%utils_uncolor:each_changeoutput_equals_input:{mmocore_bound_1}_matcher:noskill_ifmatch:0_else:mmocore_skill_parameter_mana:{replace_ __{mmocore_bound_1}}%
wait
should be good now
from what expansion changeoutput is from?
changeoutput
right
in case i have a skill bound, it returns me mmocore_skill_parameter_mana: as text
%utils_uncolor:each_changeoutput_equals_input:{mmocore_bound_1}_matcher:noskill_ifmatch:0_else:{mmocore_skill_parameter_mana:{replace_ __{mmocore_bound_1}}}%
not sure if it won't throw an error though
ah nvm it does
expected
now i get an error when skill is not bound
can't i put mmocore_skill_parameter_mana:{replace_ __{mmocore_bound_1} into the first changeoutput_equals_input:{mmocore_bound_1} thing ?
i'm not sure i get why it's not working
skillcheck: "%changeoutput_equals_input:{mmocore_bound_1}_matcher:noskill_ifmatch:0_else:{utils_shortcut_manaskill}"
manaskill: "%utils_uncolor:each_mmocore_skill_parameter_mana:{replace_ __{mmocore_bound_1}}%""
%utils_shortcut_skillcheck%
it's because Utils will parse all placeholders, even the ones that changeoutput doesn't return
and since the skill is currently noskill, it'll throw the error
ahhh i see
I would have hoped that the placeholder would just return <no skill found> or smth instead but for some reason the dev decided it was a good idea to throw an error
eh, anyways, this should work
because of the jar I sent you earlier, Shortcut parses placeholders the normal PAPI way (no nested placeholders stuff) so ChangeOutput is in control of what's parsed and what's not
/papi parse me %utils_shortcut_skillcheck% output me nothing
yes
check %mmocore_bound_1%
it return the skill name with spaces and color
and if nothing bound, return noskill
classic
and I added an extra " at the end of manaskill by mistake
yeah i removed this one
also by default the config.yml is using ' not " but it seems both works
%spawner.loot.amount% %spawner.loot.name% what placeholder?
YAML supports both
what?
never heard of those placeholders
can't find any online either
;/
now i get an error
what is it supposed to show?
send it
Caused by: java.lang.NullPointerException: Could not find skill with ID 'noskill'
👀
/papi parse me %changeoutput_equals_input:{mmocore_bound_1}_matcher:noskill_ifmatch:0_else:{utils_shortcut_manaskill}%
does mmocore_bound_1 return color for noskill?
do you have TAB ?
if yes, do /tab parse me %mmocore_bound_1%
it has a more detailed parse command
nope
try /tab parse me .%mmocore_bound_1%.
maybe it has a space somewhere? for some reason
nope, same output
check your MMOCore config, find no-skill-placeholder
o_O
skillcheck: "%changeoutput_equals_input:{mmocore_bound_1}_matcher:noskill_ifmatch:0_else:{utils_shortcut_manaskill}%"
manaskill: "%utils_uncolor:each_mmocore_skill_parameter_mana:{replace_ __{mmocore_bound_1}}%"```
/papi parse me %changeoutput_equals_input:test_matcher:test_ifmatch:matched_else:didn't%
and /papi parse me %changeoutput_equals_input:testnot_matcher:test_ifmatch:matched_else:didn't%
matched, didn't
/papi parse me %changeoutput_equals_input:{mmocore_bound_1}_matcher:noskill_ifmatch:matched_else:didn't%
didn't
send me a screenshot of the /tab parse output
of the latest placeholder?
the mmocore bound one
when having no skill
try that with noskill as well
matched
Wat
i think the issue is somewhere else than in the noskill name lol

I was expecting ChangeOutput to not parse placeholders that aren't displayed
just checked the code and it parses everything
ah, here we go
go yell to MMOCore's dev or smth
they won't budge 100%
I'll add a noerror Utils placeholder xD
wait i have another placeholder made by the addons, perhaps this one is better
the one that automatically replaces space with _
nvm i don't think it will help anyway in that case
done
manaskill: "%utils_uncolor:each_changeoutput_equals_input:{mmocore_bound_1}_matcher:noskill_ifmatch:0_else:{utils_trycatch:0_mmocore_skill_parameter_mana:{replace_ __{mmocore_bound_1}}}%"
long monster placeholder v2
lmao
someone on another discord showed me his longest placeholder
mine is like 1/10 of it
%math_sqrt({player_max_health}/(1-({mmoitems_stat_defense}/({mmoitems_stat_defense}+100)))+(({mmoitems_stat_attack_damage}*(1+{mmoitems_stat_weapon_damage}/100))*(1-max(0,min(1,{mmoitems_stat_critical_strike_chance}/100))))+((({mmoitems_stat_attack_damage}*(1+{mmoitems_stat_weapon_damage}/100))*2)+((({mmoitems_stat_attack_damage}*(1+{mmoitems_stat_weapon_damage}/100))))*({mmoitems_stat_critical_strike_power}/100))*max(0,min(1,{mmoitems_stat_critical_strike_chance}/100)))%
that's nothing
i can imagine
even I have longer placeholders
%item_craft_result_{deluxemenus_meta_craft-slot-1_STRING},{deluxemenus_meta_craft-slot-2_STRING},{deluxemenus_meta_craft-slot-3_STRING},{deluxemenus_meta_craft-slot-4_STRING},{deluxemenus_meta_craft-slot-5_STRING},{deluxemenus_meta_craft-slot-6_STRING},{deluxemenus_meta_craft-slot-7_STRING},{deluxemenus_meta_craft-slot-8_STRING},{deluxemenus_meta_craft-slot-9_STRING}%
not as long as I'd have imagined
though the config looks awfull 😂
what shall i parse now?
that
average menu of mine 💀
especially with the gradients
👌
oh is that your workbench menu?
yeah
it just gives me the raw output
i just removed the previous utils and reloaded papi
you just need manaskill: "%utils_uncolor:each_changeoutput_equals_input:{mmocore_bound_1}_matcher:noskill_ifmatch:0_else:{utils_trycatch:0_mmocore_skill_parameter_mana:{replace_ __{mmocore_bound_1}}}%" in your PAPI config
still doing it
:D

alrighhtttt no more error, the whole thing works
now i need to do it for every skill slot lol
shouldnt be hard
super easy
Utils Shortcut coming in clutch x2
see those two mmocore_bound_1 ?
the 1 is the slot right?
use {0} instead
then use %utils_shortcut_manaskill:1%
oh i was already just copy pasting lines and changing the number lol
something is wrong, not sure why
not entirely sure why but the mana value is not correct for the next skill, so i think i'll stay with fix value and just copy paste the placeholder
i just have to do it 6 times it's fine
can you show me what you tried?
manaskill: "%utils_uncolor:each_changeoutput_equals_input:{mmocore_bound_{0}}_matcher:noskill_ifmatch:0_else:{utils_trycatch:0_mmocore_skill_parameter_mana:{replace_ __{mmocore_bound_{0}}}}%"
%utils_shortcut_manaskill:1% %utils_shortcut_manaskill:2%
does this not work?
i replaced 1 with {0} and then tried to parse %utils_shortcut_manaskill:1% %utils_shortcut_manaskill:2% %utils_shortcut_manaskill:3% etc
did you replace both mmocore_bound_1 ?
yes
the first skill is correct, but the second is not
what does it show?
it gives 0
/papi parse me %mmocore_bound_2%
this gives me the name of the second skill with color coding
what's its name?
Téléportation
and what's its id?
Oh, it's the accents i guess
yeah
I have an idea though
to automatically remove the accent? nah don't bother
i'd rather have the same name everywhere
fair
nvm this bitchass plugin is returning caps é as nothing
so TÉLÉPORTATION transform into TLPORTATION ingame
worst part is that it's made by french people
i could just remove the accent from the name entirely
instead of the Replace expansion, we can use the String's replacecharacters expansion
utils:
shortcuts:
manaskill: "%utils_uncolor:each_changeoutput_equals_input:{mmocore_bound_{0}}_matcher:noskill_ifmatch:0_else:{utils_trycatch:0_mmocore_skill_parameter_mana:{string_replacecharacters_skill_{mmocore_bound_{0}}}}%"
string:
replacements:
skill:
' ': ''
'é': 'e'
ill do all the other accent that i might use in a skill name just to be safe
thanks
👍
it's working perfectly, amazing!
i now have a working skill casting bar with dynamic cooldown display and mana usage
woo
let's goooooo
nice shortcuts
if/when you get around to documenting all the new stuff with utils I'd love to see it on the https://helpch.at/placeholders page
?player
ah
where are you using the placeholder?
in which plugin?
does it work in /papi parse me %player_name%?
multiverse core
where exactly?
how are you using it with MultiverseCore?
tp
wait
/mvtp %player_name% survival
where did you use this command?
doestn matter
command blocks don't support placeholders
idk about NPCs, last time I tried Citizens didn't support that
did you try the papi parse command ?
no
try it
idk what that is
then the place where you're running your mv command doesn't support placeholders
mean the server ?
no
how are you executing the command?
is it through a DeluxeMenus menu? a command block? when clicking on a sign or NPC ?
im trying through normal chat rn
normal chat won't work
where does it work
placeholders aren't parsed when you execute commands yourself
in plugins that support PlaceholderAPI
like DeluxeMenus
should i install it ?
DeluxeMenus supports PlaceholderAPI placeholders, so you can use placeholders in your menus to display info
it depends on what you're trying to do
if you want to make a menu, yeah sure
if you want to do something else, then download a plugin adapted for that (and that supports PAPI of course)
So far I just know that you've used a command in chat with placeholder. Since PAPI doesn't parse placeholders in commands you execute on its own, it won't work.
I don't know what you're trying to do exactly so unless you provide more info, I can't help
for what do you need PlaceholderAPI exactly?
if you're executing a command, why don't you use the player's name directly?
%player_name% will return your name, so you can just use it directly without the placeholder
i want that when i click on an npc that i will get teleported to another world
are you using Citizens?
/znpcs action [id] add cmd mvtp %player_name% survival
alright, let me check if it supports PAPI
it does seem to support PAPI
what happens when you click on the NPC?
does it say anything in chat?
can you try with CONSOLE instead of cmd ?
look privat chat
yeah I saw
nice 👍
Hi ho...
today we update from 1.19 to 1.20 and get some errors:
[20:42:34 WARN]: [PlaceholderAPI] Failed to load expansion votingplugin. Identifier is already in use.
[20:42:34 WARN]: [PlaceholderAPI] Cannot load expansion votingplugin due to an unknown issue.
is there any one here for help?
and yes i look in the expansionsfolder there is just 1 Expansion-votingplugin
yeah that's what it was made for lol
thanks for mentionining it. if anyone got any questions about it, lemme know
my DMs are btw open to everyone
if you want a suggestion, then having a placeholder like the String expansion's replacecharacters placeholder, something like replace_bundle or bulk, to be able to configure a set of characters to be replaced in the final output
uuughm I'm always open for suggestions but I don'*t really understand what you'r etalking about
can give you me an example use-case or sth please?
PAPI's config:
replace:
bulk-replacements:
no-special-chars:
",": ""
":": ""
"-": ""
"_": ""
" ": ""
"'": ""
".": ""
%replace_bulk_<bulk-config>_<input>%
example: %replace_bulk_no-special-chars_Hi, I'm: Tanguy.% would return HiImTanguy
oh, that's a thing?
so you'd be able to set a map of characters and their replacements in PAPI's config, so all of them would be replaced at the same time from the input
without having to use x replace placeholders with Utils xD
is this a thing or would you like me to to get this added officially?
because I doubt PAPI is accepting PRs that are specific to certain expansions
it's already a thing in the String expansion, but I was just giving you a suggestion for your Replace expansion in case you want to
you can use PAPI's config through your expansion
ih yeah in that case, it's a nice idea
you have access to getString, getConfigurationSection and all that stuff once you extend PlaceholderExpansion
you can also implement Configurable and override getDefaults to set a default configuration
Maybe youc ould open GH issue on my expansion bc otherwise I will surely forget about it
ngl I'm super lazy and tired rn xD
OK sad haha
here's the repo though: https://github.com/mfnalex/PAPI-Replace/tree/3aedd97557df257648ca64d1a02296635789f61f
if you happen to have time, feel free to open an issue tomorrow or sth
I only made this expansion because I felt severely limited by the existing str_replace one
understandable
/papi parse me %checkitem_mat:BAKED_POTATO,custommodeldata:10000%
Because it returns "si" instead of "yes"...
whats going on with that "dupe report for deluxemenus"
dont drop us a bomb like that without any explanation yes u can %changeoutput_equals_input:{checkitem_mat:BAKED_POTATO,custommodeldata:10000}_matcher:yes_ifmatch:si_else:no%
yuh with changeoutput %changeoutput_equals_input:{placeholder}_matcher:_ifmatch:<custom message>_else:%
n then u can use that placeholder as your custom message
I tried to replicate it locally with the essential plugins but I couldn't do it the first time... I have to keep trying to be able to report it that's why I didn't want to show it, but it does happen on my main server
ty
It should return yes but it returns no xd
/papi parse me %checkitem_mat:BAKED_POTATO,custommodeldata:10000%
OUTPUT: si
/papi parse me %changeoutput_equals_input:{checkitem_mat:BAKED_POTATO,custommodeldata:10000}_matcher:yes_ifmatch:si_else:no%
OUTPUT: no
cry in silence
config.yml on PlaceholderAPI ?
or /papi parse me %changeoutput_equals_input:{checkitem_mat:BAKED_POTATO,custommodeldata:10000}_matcher:si_ifmatch:yes_else:no%
.
just curious, where is the owner's expansion hosted/located? @dapper mauve
a few things as well:
- placeholders listed on the ecloud seem not to be the ones reflected in the source code.
contentsvsbackpack_contents, for example. If you can update that, great - why do you need to retrieve config values like you're doing? seems a little odd and unneccessary. I also see it looks like you planned support for setting config values as well, which isn't actually coded in, but in your
Usage:message
How to get name level?
Placeholder to get the location where a player died?
I'm having a problem with %statistic_mine_block% basically not increasing the value when I break a block
It used to exist at his github repository, looks like it got deleted? its still a softdepend at plugin.yml https://github.com/GeorgH93/Minepacks/blob/32b28fa51a3d3320fb8d7e59ff7ac7bb571c9a20/Minepacks/resources/plugin.yml#L9
- Ill update this in a second EDIT: Updated
- Initially I wanted my expansion to also retrieve lang files, but i scratched that idea, i can remove it for that if u want, setting the config values was planned indeed, but i also scratched that idea since setting without actually being able to retrieve is a pointless idea, i hope you understand what im saying
Anyone?
make sure you're in survival and using the right tool
Hey I was wondering why the PR for folia wasn'(t accepted for PAPI newest update ? I've been using it for quite some time and it's working Flawlessly
Should be able to verify if you remove that whole config get/set part
oh and I just noticed https://github.com/Zoon20XX/Minepacks-expansion/blob/master/src/main/java/me/zoon20x/minepacks/MinepacksExtension.java#L61
If you can change the return value to the PAPI boolean instead of Yes or No that would be very helpful. You don't have to, but it's highly recommmended
it will use values from the papi config.yml (default yes and no)
PlaceholderAPIPlugin.booleanTrue()
PlaceholderAPIPlugin.booleanFalse()
Will do
done
sorry forgot to disable metions
Anyone know a papi expansion that gets the data from vanilla mc's data storage?
Hi 😉
How to change no-permisssion message?
hey @junior musk , i got a looot of nice feedback from the skill casting bar i did with your help, and a lot of people would like to buy it
thing is, it's depending of your modified version of the player and utils expansion
o
are they available publicly somewhere ?
i can not include them in the pack but give a like to them
Utils is on the ecloud, but the modified plaer expansion isn't public
well the repo is public, but I didn't post the jar anywhere except Discord
what was needed? the held item slot I think?
you could open an issue on the Player expansion's github repo and pray that someone adds it
😬
oh yeah, I forgot to upload the update
I'll do that later
you couldn't post the jar on your github i presume?
I can I guess
otherwise i could just give a link to the jar you posted here, but i think they can expire after a while
I don't think they do
only if I delete the jar I posted
why is my Internet connection dying rn
i just don't want to include something in my pack that is not my work since people are going to pay
i think it's discord, not you
no worries, no rush
i have to adapt my whole code to be adapted to anyone, since there's a lot of stuff that was made just for my personnal use
thank you again
few more things sorry
the jar you uploaded contains extra classes
me.michello.minepacks.Main.class
this has the old get and set stuff
you also seem to have empty packages for advancedvanish
upload a new jar with those fixes, as well as fixing the version number to match it
1.0.4 probably
and you can ping me when you've done so
I'm also trying to follow the logic in the code
have you tested it?
it looks like you take in args and assign the plr to one of them if the args length is GREATER than 2
not >=
so you would need %minepacks_backpack_contents cj89898 anotherarg% for example
/data modify storage the storage stuff
Hey @junior musk let me know once the modifier player expansions is available somewhere so i add the link to the readme of my file! feel free to ping me when you found the time to do that
I'll credit you on the store page of my product btw :)
oh right, thanks for reminding me lol
Posted the Utils update, waiting for verification
and the modified Player Expansion is here https://github.com/Tanguygab/Player-Expansion/releases/tag/2.1.0
perfect, thank you!!
how much time does it usually take for an update to be approved?
just need a mod that has access to the ecloud to verify it
we just have to wait for one to go online and be available
alrighty
Alright, sorry about that, looks like maven merged 2 jars at once for some reason? I updated the version and fixed the player + jar issue
@dapper mauve verified
can you verify Utils as well please ? 
no
sad
only because I already did it before typing that
me cry

😂
I've only remembered this was supposed to be a thing a few minutes ago
no I do not
I think I've first heard about it in 2020
then I checked this server's old msgs and found mentions from like 2018 and even 2017
it's been 6y and still nothing

lol
Well technically TAB already has its own PAPI
only thing it lacks is arguments but otherwise it's nice
well for now I'm working on my new ConditionalActions plugin
I'll see later if I want to do anything with placeholders
Alright, thanks, if ill make an update in the future can you verify it again?
why the %checkitem_remove_inhand:off% removes all the items that are similar to the one that u r holding in your offhand but the %checkitem_amount_inhand:off% returns 1 
💀
I thought it would at least remove everything from offhand but it removes em from the whole inv
wait I have more emojis
i ended up using the ,amt:1 but ye it seemed strange
what if you try to check if a player has items in his offhand and add amt:2, does it still say yes?
the %checkitem_inhand:off,amt:2% returns no 💀
when i have 1 in the inv and 1 in the offhand
idk there is no issue i ve already fixed it ;-;

i was just wondering why the %checkitem_remove_inhand:off% would remove from the whole inv and not just the offhand

I think I get why it does that
it's first checking through the entire inventory and finding all itemstacks that match the input, and adds them to a list.
then it's going through the armor, the offhand the rest of the inventory and checking if the item is in that list. Though if that item is the same in both your inv and your offhand, it'll be in the list either way, so it's detected and removed, regardless of whether it's in the offhand or not
though I'm not sure that's actually what's happening because normally, each itemstack has a different instance per stack, so it shouldn't match if it's not the itemstack that's in the offhand
though idk
all of that to say idk

not sure if inhand works with remove
it does work fine when i set an amount
it actually starts with offhand
no matter what it seems
so just coincedence
I could look into fixing it one day if you want to open an issue
but ya, as of right now inhand doesn't seem to really work as such
25.09 21:50:56 [Server] WARN [PlaceholderAPI] Failed to load external expansion votingplugin. Identifier is already in use.
25.09 21:50:56 [Server] WARN [PlaceholderAPI] Cannot load expansion votingplugin due to an unknown issue.```
how to fix this
tried reinstalling
update to papi 2.11.4
uh
how do i do the formatted api for balance
what do i do
/papi ecloud download ???
@versed warren

please help though
PlaceHolderAPI:
%vault_eco_balance_formatted%
thats what i have inside
my placeholder api doesnt work
when i do /papi ecloud download vault
it says to do /papi reload
then i do /sb reload
but nothing happens on the scoreboard
someone help
@sharp bloom
can you help
youve helped me before
and you were good
halp
?startuplog
hey, is possible to collect data from another javascript data? eg, I have stored data for an javascript file but I want to get it from another javascript using Data.get(key)
@junior musk hey dude, stupid question: do my customer needs to delete the original player api in order for yours to load correctly? or they can coexist
they have the same identifier rn so yeah they need to replace the old jar
which papi do i need to download to see elytra's max/left durability? i tried %armor_durability_left_elytra% and %armor_durability_max_elytra% but those do not work
the slot would be chest / chestplate
oh so just %armor_durability_left_chestplate%?
?
How to use replace string in string placed holder
@sharp bloom
please help
my placeholder api doesnt work
when i do /papi ecloud download vault
it says to do /papi reload
then i do /sb reload
but nothing happens on the scoreboard
someone help
@junior musk
can you help
send /papi dump
then?
and what scoreboard plugin are you using?
send the link it gives you
you don't need to send the msg twice
sry
you need both the plugin and the expansion
how can u not have vault installed
idk
Hello, what ports do PlaceholderAPI plugin use to communicate to the server?
hello my friends i have question for you
i have this placeholder "%protectionstones_currentplayer_accessible_regions_ids_gracze_world%"
and it returns 2 values (can more its just 2 for exaple)
ps3043x80y1467z, ps2899x68y158z
i need 2 placeholders (and more for more options) when ill see only
"ps3043x80y1467z" or "ps2899x68y158z" how can i do it using Formatter?
it doesn't use any ports? what do you mean?
you can't using Formatter, though you can with my PlayerList expansion
I added that recently
???
see the 3rd config example named "custom" https://github.com/Tanguygab/PlayerList-PlaceholderAPI-Expansion/wiki
copy the example and use %protectionstones_currentplayer_accessible_regions_ids_gracze_world% in the input
but is in placeholder api config?
oh and use type: CUSTOM instead of ONLINE, my bad, forgot to update the wiki.
yeah it is
then you'll be able to use %playerlist_<name>_0% in your other plugins to get the first element from your placeholder
if you want the second element, use 1 instead of 0, etc...
wait
cuz now im little confused
custom:
# CUSTOM type supports
type: ONLINE
# Your custom list of elements (supports placeholders)
input: "4, 2, 9, 5"
# Character(s) that separates each element in the input
separator: ", "
# Filters are supported if the input contains player names.
sorting-types:
# Sorting elements starting with the lowest number (in this case: 2, 4, 5, 9)
- LOW_TO_HIGH
where is this section?
/papi ecloud download PlayerList
/papi reload
go in PAPI's config and add what you just sent in it under lists: which is under playerlist:
/papi ecloud download PlayerList not working
i have onlyu player playerstats playertime
Failed to find an expansion named: playerlist

they still didn't reverify my expansion ;-;
download it manually from there https://api.extendedclip.com/expansions/playerlist/
put it in your PAPI's expansions folder and /papi reload
now working
now trying or not working?
yes
i also have new section in config
so it's working?
offline-text: Offline
argument-separator: ','
lists:
staff:
type: ONLINE
included: true
filters:
- PERMISSION:group.staff
- CANSEE
Yes manualy added and /papi reload and its ok
ok all good 👍
so right now you have a staff list, you can ignore it, but under that, you have to add the custom list
this
just like it's done on the wiki page
offline-text: Offline
argument-separator: ','
lists:
staff:
type: ONLINE
included: true
filters:
- PERMISSION:group.staff
- CANSEE
custom:
# CUSTOM type supports
type: ONLINE
# Your custom list of elements (supports placeholders)
input: "4, 2, 9, 5"
# Character(s) that separates each element in the input
separator: ", "
# Filters are supported if the input contains player names.
sorting-types:
# Sorting elements starting with the lowest number (in this case: 2, 4, 5, 9)
- LOW_TO_HIGH```
add 2 spaces before everything and all good 👍
oh you also need to change the type: from ONLINE to CUSTOM
playerlist:
offline-text: Offline
argument-separator: ','
lists:
staff:
type: CUSTOM
included: true
filters:
- PERMISSION:group.staff
- CANSEE
custom:
# CUSTOM type supports
type: ONLINE
# Your custom list of elements (supports placeholders)
input: "4, 2, 9, 5"
# Character(s) that separates each element in the input
separator: ", "
# Filters are supported if the input contains player names.
sorting-types:
# Sorting elements starting with the lowest number (in this case: 2, 4, 5, 9)
- LOW_TO_HIGH
great
now type: CUSTOM
use your placeholder in input: "<placeholder here>"
and delete sorting-types because you don't need it
Hi guys i wanne use the Tab placeholders
How to add them?
I have no idea where to begin.
what do you want to use and where?
XD
I wanne use %tab_tabprefix%
.
For my scoreboard.
go in your TAB config and set register-tab-expansion to true
or update to newer versions
about this
i need more then one placeholder separates i just add them like 1,2,3,4?
uh?
If i dont have this colum do i need to update XD?
Nevermind dont answer..
if you don't have it then either you're on a very old version or you're on latest
and it should work fine
I was looking into placeholder confi
ah
Thankyou very mutch.
