#placeholder-api
150650 messages · Page 117 of 151
what's the other one?
smthing that gaby or bliz sent but i didnt rly bothered to change it back to string equals 
xD
type: javascript
expression: '"%parseother_{{username}}_{player_online}%" != "no"'
this
bruh
why would you use JS though 
oh wasn't there smth in old DM versions where arguments only worked in JS ?
type: string equals
input: "%parseother_{{username}}_{player_online}%"
output: "yes"
ye i changed it now 
no more javascript placeholders
oh wait no i think i might have somwhere more 💀
related to luckperms temp permission
cause i wanted to return minutes without the format 2m > 2
i dont recall if i ve used it yet but its there 
Isn't there a playtime or ontime plugin that supports papi placeholders?
Why isn't color formatting applied?
function helloWorld() {
return "&aHello, world!";
}
helloWorld();
Game: &aHello, world!
Because placeholderapi no longer does that
and how do i use it again then?
you can use § instead if &
Hello, I have a problem with the statistic plugin via PlaceholderAPI, namely %statistic_mine_block% counts as 2, if you dig one, you could fix it
sharing Is caring
For some reason, the essentials placeholders for baltop aren't updating
/baltop shows completely different values then the placeholders
¿?
localtime expansion with %localtime_time% placeholder
what exactly should be returned in
@Override
public @NotNull List<String> getPlaceholders() {
//
}
?
couldn't find anything in the docs
I assume it's for tab-completion, but:
- Should it include the identifier
- Should it include %'s?
yes for both iirc
yeah it's the entire placeholder, so %player_name% for example
dw I'll send you a jar once I get of out bed
Yeh figured it out by trial and error
they're broken
or at least every single person I saw that were using those placeholders couldn't get them to work.
I recommend using ajLeaderboards with the vault eco balance placeholder
sent in dm
I have the problem that all the players are returned the default time of the server
When I'm using a JavaScript extension, the extension doesn't load my script properly in any mode on JDK 18. However, on another more complex JDK 18 server, it works correctly. The versions of PlaceholderAPI and the JavaScript extension are the same. I really want to know why.
String headerText = ChatColor.of("#0471FB") + "" + ChatColor.BOLD + "Welcome to Frionous SMP\n" +
ChatColor.of("#D5D8D9") + "-------------------------------------------------\n" +
ChatColor.of("#0471FB") + "There are currently" + ChatColor.of("#D5D8D9") + " %player_name% " + ChatColor.of("#0471FB") + "players online!";
String footerText = ChatColor.of("#0471FB") + "MCMMO Mining Lvl:" + "%mcmmo-mining-level%" +
"website link";
headerText = PlaceholderAPI.setPlaceholders(event.getPlayer(), headerText);
Am I doing something wrong? When I add the last line the entire plugin breaks
How can I stop players from being able to use placeholders?
Placeholder so that if a text contains "_" it is replaced by a space
Is there not a way to revoke permission to use placeholders 🤔
wdym? like in chat? If so, your chat plugin is reponsible for that
Please
%formatter_text_replace_[target]_[replacement]_<text>% https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/Placeholders#formatter
hello, im new and i need help with placeholder couse it doesnt sync with luckyperms
%formatter_text_replace___ _Hello_Player% = Hello Player
hmmm
i can write you a tiny PAPI addon that's only for underscores if there really isn't any available
not sure what you mean sorry, i have some chatfilter plugins but nothing that can limit anything like that
In return?
dw I'll do it for free
just gimme half an hour, I need to make coffee first
It would be better for symbols, right?
wdym?
Well, replace _- with spaces or another character
%str_replace_minecraft_mine_our% And what is this for?
yeah I'll do it like this
%replaceunderscores_<whatToReplaceWith>_<textToReplace>%
no clue, I never used placeholderapi myself
does exactly what the name suggests
replaces mine by our in the text minecraft
though unsure if that's the correct order
and I thought the expansion name was string, not str
uh, it's not even there
ah
it's another expansion
Well, that's how it is in ecloud
How can I replace "_" with " " in a text
https://github.com/mfnalex/PAPIUnderscoreReplacer here you go
usage:
%replaceunderscores_ _my_original_text%
just drop the .jar into your plugins/ and restart
it's NOT an ecloud extension but a standalone plugin that hooks into PAPI
better %replace_
Cleaner the placeholder
Do you think I have insecurity to use? lol
wdym?
oh do you mean if you can trust me that the .jar is legit? well look at my spigotmc plugins 😛 https://www.spigotmc.org/resources/authors/mfnalex.175238/
And to replace -
%replacehyphens_text_to_replace%
having the same issue, what exactly do you mean here?
for anything else than underscores you can use %formatter_text_replace
%formatter_text_replace_-_ _this-is a test% -> "this is a test"
underscores is the only thing that formatter_text_replace can't do, hence I only made a plugin for underscores
That's better, I think, maybe I don't know how you did it in 5 minutes
a separate placeholder for hyphens is not needed because you can already do that with %formatter_text_replace
which chat plugin do you use? do you also have luckperms?
yes, for chat im also using chatfilter, if thats what u mean by that
if so you can do this
- enter /lp verbose record
- use a placeholder in chat
- enter /lp verbose upload
then send the link and we can see which plugin is causing this
okay thank u sec
%replaceunderscores_ _my_original_text% my original text
yeah
theres that for ya
i hope thats enough
should i have had an alt send the placeholder?
Sorry ping, is this done right? @junior musk
idk if it's possible to nest placeholders
which account used a placeholder?
mine
you should try to do this as non-OP
%str_uppercase_{replaceunderscores_ _this_message_has_spaces_and_uppercase}%
that works
you need /papi ecloud download str
Okey
Yea
Thanks friend, just check the expansion if it is well done in case you doubt it
you're welcome
only took 5 minutes lol
maybe I can turn it into an ecloud extension
idk how it works to get sth officially uploaded there, never really used PAPI before
i guess you can
that should do it
user inky77 did the placeholder
which placeholder did you use?
%player_health%
hm I don't see anything related to placeholders in that
okay
maybe send a list of your plugins?
crying emoji
oh okay yes
AFK-Kick, AltDetector, AntiTNTDupe, AuctionHouse, BetterRTP, BuycraftX, ChatFilter, ChestShop, ChestShopNotifier, Chunky CommandPanels, CoreProtect, DeluxeTags, DropHeads, eGlow, EnchantmentNumbers, EnchBook, Essentials, EssentialsChat, EssentialsDiscord EssentialsDiscordLink, EssentialsSpawn, ExcellentCrates, ExecutableItems, FancyHolograms, GriefPrevention,GroupChat, GSit, GWarp, HeadDatabase HorseTpWithMe, InteractiveChat, ItemEdit, ItemEffects, ItemGlow, LibsDisguises, LuckPerms, Multiverse-Core, Multiverse-Inventories, Multiverse-Portals MyCommand, NBTAPI, Negativity, NexEngine, OreAnnouncer, Pl-Hide-Pro, PlaceholderAPI, PlayerParticles, PluginManager, ProtectItemPlugin ProtocolLib, PvPManager, Quests, SCore, Shopkeepers, SilkSpawners,SimpleStaffChat2, sleep-most, SuperVanish, TAB Vault, ViaBackwards, ViaVersion, VoteParty, Votifier, Vouchers, WorldEdit, WorldGuard, WorldGuardExtraFlags
hm no clue tbh
- install this: https://www.spigotmc.org/resources/eventdebugger.82055/
- restart server
- edit config of EventDebugger, remove everything and add this:
exact:
AsyncChat:
class: "org.bukkit.event.player.AsyncPlayerChatEvent"
methods:
- "getFormat"
- "getMessage"
Chat:
class: "org.bukkit.event.player.PlayerChatEvent"
methods:
- "getFormat"
- "getMessage"
- Restart again. Then use a placeholder again, and the log file should tell you which plugin replaced the placeholders
thanks! on it :>
Expect a lot of console spam while EventDebugger is running. But it will 100% tell you which plugin is causing it
np!
do you mean eventdebugger log file?
no, your actual latest.log
you can also upload it on the site mentioned in the channel description (or dm it to me) and i'll take a look
is it? can you paste that log part pls?
here ill dm u
ok
done!
for the record, it was indeed vouchers, very weird lol https://github.com/Tweetzy/Vouchers/blob/main/src/main/java/ca/tweetzy/vouchers/listeners/VoucherListeners.java#L147
is there already a PAPI extension with the identifier "replace"?
please update it
Im trying to use pinger and put in my scoreboard (scoreboard plugin: simplescore) and i did %ping% doesnt work and the others on the github doesnt work aswell well it did but is either 0 1 or -1. anyone have anyidea how to fix this?
%player_ping%
Hello! Help please, I made a plugin, but it does not work, I searched the entire Internet, I did not find anything about this problem anywhere. The loading order doesn't seem to be broken, first PlaceHolder and then my plugin, but it doesn't work(( https://paste.helpch.at/cohutipivo.css
you shaded PlaceholderAPI
if you're using Maven, set the scope of the dependency to compile, if you're using Gradle, instead of compile or implementation, use compileOnly
<scope>compile</scope>? (im use maven)
Oh that's another mistake
https://paste.helpch.at/qufayuqezo.php
Yes, I have tried both "depend: [PlaceholderAPI]" and "softdependent: [PlaceholderAPI]" but neither works
send your server logs
that's the first error
?
the one you sent here is different
ah one sec
ahh, this?)
Okk
Is everything working for you?)
nope, it throws the error for me as well
oh, wtf mystic
yeah weird
I managed to fix it! I switched from PaperAPI to SpigotAPI and it worked!
Hello, someone knows because the expansion Javascript does not work for me, the plugin load correctly but the test a placeholder does not leave me anything in the chat and does not give me any error.
Show the placeholder
?paste
hi, i want to read from placeholder every 30 seconds and send the value to a database
the sending is done
but
i dont know how to read from a placeholder
in a plugin
I only found the "setPlaceholders" but thats not what i need
that is what you need
String result = PlaceholderAPI.setPlaceholders(somePlayerOrNull, "%placeholder_you_want_to_get%");
@fading blaze
thank you
but wait.
The somePlayerOrNull should be placed with player's name who's value should be readed right?
yes
thank you
Is there anyway i can resets all stats for players?, such as "%statistic_deaths%" as we've been testing, the server hasn't launched, but i want to have all players start with 0 deaths,
i already deleted playerdata and stats as i saw a tutorial, but that data seems to still be stored
<serverFolder>/world/stats/
there's one file per UUID
just stop the server, delete that folder, and there you go
Why I can't register String expansion in the lastest papi>
Just tell me Failed to find .....
dumb question but is there a code-api part of the plugin that allows me to use the placeholders in smthn like python code?
isnt there any placeholder that returns a boolean or smth when the item in offhand is still maxed?
i m aware of the %player_item_in_offhand_durability% but that returns the durability :/
no, not without something ugly like Py4J 🥲 https://www.py4j.org/index.html
you can use %string_equals% or sth to compare it with the max durability
yuh ik but i want it for multiple menus so the value ll have to change for different tools
thats why i m asking if there is smthing boolean :/
oh well for armor there's %armor_durability_left_<slot>% and %armor_durability_max_<slot>% that you could compare
but not for offhand
🤷🏻♂️
i could write you a tiny expansion that returns the max durability for the currently held item, then you could throw that into %string_equals%
nah its fine no biggie i can change the output values
alrighty
_damage?
it starts from 0
durability is the opposite
maybe it's just not listed
try player_item_in_offhand_damage
I know it's there because I saw it in the code xD
Could my extension get verified? https://api.extendedclip.com/expansions/minepacks/
I think your expansion needs to be open-source to get verified
Its not obfuscated, you can decompile it easily
Publish it on a repo
%checkitem_amt:7,mat:paper......% don't work
all materials work but not Paper why ?
Uploaded to a github repository.
it returns the placeholder not any result :/
https://github.com/search?q=repo%3APlaceholderAPI%2FPlayer-Expansion+damage&type=code
i only found these related to dmg
Good day, i cant seem to get placeholders to work (by thelooks of it), i have the plugin installed i have tried doing ecloud and stuff but nothing seems to work
this is what my game looks like
https://cdn.discordapp.com/attachments/529374787458301962/1145812899126841454/Untitled.png
help would be glady appreciated!!
Hiya! On request of PhoenixCrates is anyone able to make it happen an API to make sure that specific cases happens, such as setting block, opening the crate for the user and so on 😄 ?
Please @ me if u know how Or if you know a plugin which already does this ^^
?
did u do what gaby said? 
what's the best way to prevent this message in console for people who haven't killed/died yet? this math is to calculate KD - can i force it to 0 or something if it fails?
[21:17:09 WARN]: [PlaceholderAPI] [math] Invalid Placeholder detected!
[21:17:09 WARN]: [PlaceholderAPI] [math] Placeholder: %math_{statistic_player_kills}/{statistic_deaths}%
[21:17:09 WARN]: [PlaceholderAPI] [math] Cause: '0/0' is not a valid Math expression.
I did it
its linked at the extension's page
you can replace 0/0 with simply 0, gimme a minute
oh cool ok thank you
hmmm does PAPI not allow double nested placeholders?
use utils
%utils_parse_math...%
but
you shouldn't need it
math has a max function
or min
but that'd still be a double nested placeholder
%math_{statistic_player_kills}/MAX({statistic_player_deaths}, 1)% maybe
min isn't a placeholder
it's part of evalex
or
it should be MAX
not min
i was right the first time
nah that also just returns the palceholder
does it give an error
no
do you have math
and statistic?
the issue is that 0/0 is not a valid expression because you can't divide by 0
yes
i have both
does an expansion have to handle placeholders in placeholders themselves?
or is that a normal PAPI feature
/papi parse me %statistic_player_kills%
that obv works fine
@frank glacier does this work for you
and /papi parse me %math_{statistic_player_kills}% ?
> papi parse Stullenesser_ %math_{statistic_player_kills}/MAX({statistic_player_deaths}, 1)%
[00:08:51 WARN]: [PlaceholderAPI] [math] Invalid Placeholder detected!
[00:08:51 WARN]: [PlaceholderAPI] [math] Placeholder: %math_{statistic_player_kills}/MAX({statistic_player_deaths}, 1)%
[00:08:51 WARN]: [PlaceholderAPI] [math] Cause: 0/MAX(Unknown statistic 'player is not a valid integer number.
[00:08:51 INFO]: %math_{statistic_player_kills}/MAX({statistic_player_deaths}, 1)%
>
mb I didnt see the error msg lol
O.o
returns 0.000
what about /papi parse me %statistic_player_deaths%
it looks like it can only handle one nested placeholder?
there are no nested placeholders
papi parse Stullenesser_ %statistic_player_deaths%
[00:10:11 INFO]: Unknown statistic 'player_deaths', check https://helpch.at/docs/1.20.1/org/bukkit/Statistic.html for more info
>
ah, that's wrong then
well {statistic...} inside %math is a nested placeholder, isn't it?
it's {statistic_deaths}
not nested
the expansion, math, supports placeholders with {}
oooh but we didnt use it with your MAX thingy
again
max is also not a placeholder
it is a function of evalex
%math_{placeholder_{placeholder}}% would be nested, and that can be done with utils
yeah this correctly returns 0.000 @frank glacier %math_{statistic_player_kills}/MAX({statistic_deaths}, 1)%
is utils builtin? I cannot find it on the placeholders list on github
yeah that seems to have fixed my issue
thank you both very much
I always thought PAPI had support for nested placeholders builtin 🥲 guess I gotta rewrite my expansion because right now it's useless lol
I guess I can just throw the match of this regex at setPlaceholders until it stops matching ^.*({[^}]*}).*$
massive rip
I added my expansion inside my plugin. However, if I type /papi reload, the placeholders no longer work. May I ask how can I fix it so that the expansion on my plugin also reload or at least still work?
override the perists method and make it return true
May I know where can I find this?
Is there a reason why setBracketPlaceholders(OfflinePlayer, ...) is annotated with NotNull, but setBracketPlaceholders(Player, ...) isn't?
you create a method called persists that returns a boolean, and you make it return true
if you use IDEA, type @Override, then it'll suggest you Override/Implement or smth like that
@Override
public boolean Persists() {
return true;
}
May I confirm if this is the right method? It doesn't seem right. I think I got the wrong term
this makes especially little sense since setBracketPlaceholders(Player, String) just returns setBracketPlaceholders(OfflinePlayer, String), so shouldn't the Player one also be annotated with NotNull?
Let me try it. Thank you!
It says: method does not override or implement a method from a supertype
send your entire class
guess I'll just quickly PR the NotNull in
?paste
No worries, I noticed it doesn't require the Override:
public boolean persist() {
return true;
}
This works. Thank you!
well the override annotation is helpful to find such mistakes 😅
that way, you were able to find out that it was persist without the s
i usually just type @ Ov, press enter, and then you can choose the method from a list in intelliJ lol
Truly is. This now works perfectly fine, Thank you Tanguygab!
same
Tanguygab be carrying this channel fr fr
nah
running arclight 1.16.5
so my machine ran out of storage space, causing a player to loose his playtime, i basically have a gui with an item with this lore:
- '&#ffffffYour current playtime is fa1c%<% &#ffffffhours and fa1c%math_0:half-up_(({statistic_minutes_played} / 60) - {statistic_hours_played}) * 60% &#ffffffminutes!'
but the values for statistic got reset, when i run /cmi playtime <playerName> he only has a few hours, how could i manually fix this?
i just need to override his playtime
but i cannot find where its storing its data
stop the server, then take a look at world/stats/<uuid>.dat
it's a huge .json file, maybe open it with some proper json viewing tool online, because all the stuff is on one line in a normal text editor
could it be a <uuid>.json file?
cmi also provides placeholders
yes
%cmi_user_playtime_formatted% – Formatted playtime
%cmi_user_playtime_days% – Playtime in days
%cmi_user_playtime_dayst% – Playtime in days with fraction
%cmi_user_playtime_hours% – Playtime in hours
%cmi_user_playtime_hoursf% – Total playtime in hours
%cmi_user_playtime_hourst% – Total playtime in hours with fraction
%cmi_user_playtime_minutes% – Playtime in minutes
%cmi_user_playtime_minutest% – Total playtime in minutes
%cmi_user_playtime_seconds% – Playtime in minutes
%cmi_user_playtime_secondst% – Total playtime in minutes
and maybe
%cmi_user_stats_playtime%
O.o
it's using the stats folder that mfnalex mentioned
I'm just telling you that CMI also provides placeholders if you want to use them instead
erm yes, that's what I meant
I even said it's a .json file lol. stupid me
anyone help? :<
so i couldnt find any playtime in the json file, this is the content https://paste.md-5.net/axulewavih.json
so i went to playerdata folder and found the <uuid>.dat file of the player, with NBTExplorer i found this firstPlayed: 1691160430216 under the bukkit sector, and deluxemenus:reward-2-playtime: 6115 deluxemenus:reward-1-playtime: 7701 , i imagine thats the issue? i dont see how the placeholder could be taking that value instead of the playertime instead
thats the image
i cant send it here
should i just copy the value of firstPlayed and paste it in deluxemenus:reward-2-playtime and deluxemenus:reward-1-playtime?
feel free to tag thanks 😄
?imgur
"minecraft:play_time"
not sure why you wouldn't use the cmi placeholder instead though, since that seems a lot easier to reset
especially if you're doing it often and for many players
or actually "minecraft:play_one_minute" in your file
Ah, I see it won't be done often or for many players
yea its a random case ideally i dont change anything
other than the value for this one player
right
hey cj i remember that u ve mentioned before that if an items plugin has a take command we should use that instead of the checkitem remove. why is that :/ ? is there smthing wrong with the checkitem?
because commands have permissions, while the checkitem placeholder can be used by anyone who can parse placeholders
so if you have a plugin that parses placeholders in a player's input, it could lead to serious issues if the placeholder is parsed for someone else, or even for the player himself if he uses the give placeholder
hm
& compared to commands, placeholders aren't logged in console
so there'd be no trace anything even happened
eh i ll still risk it using it on one of my menus :/
cause i wanna remove an item from offhand
i mean how could possibly a user gets access to it :/
¯_(ツ)_/¯
%checkitem_remove_amt:1,inhand:off,_nbtstrings:PublicBukkitValues..executableitems:ei-id=slimy_castmaster% i like dis 🤷🏻♂️
the chat plugin can parse placeholders in chat but players wont have permission to it
hmm mby by disabling it ll add more security 
hello
'raktas':
material: TRIPWIRE_HOOK
slot: 13
display_name: '&5▶ &d&lPLATINUM RAKTAS'
lore:
- ''
- '&7Už auksinius galite įsigyti Platinum raktą!'
- ''
- '&d▎ &7Kaina: &d&l1500 auksinių&7.'
- ''
- '&7Paspauskite norėdami įsigyti!'
left_click_commands:
- '[console] coins take %player_name% 1500'
- '[console] crates give p platinum 1 %player_name%'
- '[sound] ENTITY_FIREWORK_TWINKLE'
- '[message] &e▶ &6&lAUKSINIAI &8| &7Jūs sėkmingai įsigijote Platinum raktą!'
- '[close]'
right_click_commands:
- '[console] coins take %player_name% 1500'
- '[console] crates give p platinum 1 %player_name%'
- '[sound] ENTITY_FIREWORK_TWINKLE'
- '[message] &e▶ &6&lAUKSINIAI &8| &7Jūs sėkmingai įsigijote Platinum raktą!'
- '[close]'
left_click_requirement:
requirements:
coins:
type: '>='
input: '%coinsengine_balance_raw_coins%'
output: '1500'
deny_commands:
- '[close]'
- '[message] &e▶ &6&lAUKSINIAI &8| &7Jūs neturite &6&l1500 auksinių&7!'
right_click_requirement:
requirements:
coins:
type: '>='
input: '%coinsengine_balance_raw_coins%'
output: '1500'
deny_commands:
- '[close]'
- '[message] &e▶ &6&lAUKSINIAI &8| &7Jūs neturite &6&l1500 auksinių&7!'
requirement not working
i'm using coinsengine (https://github.com/nulli0n/CoinsEngine-spigot/wiki/)
Hello, can someone help me to change vault eco formatting to be same as essentialsx?
https://i.imgur.com/9tjqtFX.png
And the plugin should have a better system for doing it + it is quicker than writing a big ass placeholder
@vivid sparrow
sorry
What
could you verify my extension or not? i did what you asked
it's really more of an issue for give rather than remove
like opening a deluxemenus with args would let the user parse the placeholder
Try 1500.0
At output
How do I remove decimal numbers from a number
example 4.72 to 4
what i want to do is %placeholder_value_number% ÷ 100 = number without decimal
Thanks man
This is to remove only the decimals right?
Yes
you can add the /100 as well if needed
And to make a division
Divide the value of a placeholder by 100 and remove the decimals
%math_0:_{placeholder}/100%
Thank you
%placeholder_parse:5_math_0:_{string_substring_5,6_{block_data}}+1%
Any idea how I can make this parse correctly?
%block_data% is from another plugin that supports PAPI being used within their built in placeholders
%utils_parse... ?
right?
I never knew of that one
It was short lived lol
right...
you also shouldn't need parse:5 anymore
just parse
should work pretty good
well, {block_data} is presumably a deluxemenus arg, is that right?
huh, I feel like util isn't working period
it doesn't look like you need utils at all actually
if it is a deluxemenus arg
is block_data a placeholderapi placeholder?
Nah, it's a placeholder from ConditionalEvents
It just outputs [age=7] and the author has made these plugin placeholders built to work with placeholderapis placeholders
But I dunno for sure if you can nest them lol
well test it out, if it works: you probably don't need utils at all
I just tried parsing %util_parse_{math_0:_3+1}% and it parses as itself, is my util broken maybe?
...
whoops
let's ignore that
So %utils_parse_math_0:_{string_substring_5,6_{block_data}}+1% parses as math_0:__}+1
The goal is for it to be parsing as 7+1
{block_data} won't parse as anything
you'll need to test it using the conditional event
it's parsing string_substring_5,6_{block_data as a placeholder and returning _ fyi
Yeah I noticed that now ;-;
Yeah seems like I cannot do that
I think I have another solution to this that just uses a string replace
{block_data} doesn't turn into [age=7] before parsing the placeholderapi placeholder?
It does, but not when nested
Well, it parses as age=7, thought it had square brackets but nope lol
that's... weird
if conditional events changes it, there shouldn't be any interference from papi
Yeah I'm guessing it's just some weird thing on CE's end
Thanks for the help tho! I think I can do what I'm trying to do with replacements
@warm plover it's not {block_data} right?
it would be %block_data%
it's not a papi placeholder, so switching it to {} wouldn't do the trick
try %block_data%: if conditionalevents changes it before parsing for papi placeholders, it should work
It's %block_data but a recent update to CE allows you to use {block_data} for PAPI support
ahh
i think this is the other way around but i might be wrong
this?
For example, if you want to obtain the time of the world the player's in, you need to use the %world_time_<world>% variable (From ConditionalEvents) and inside <world> the variable %player_world% (From PlaceholderAPI). This can be done using brackets "{ }":
https://ajneb97.gitbook.io/conditionalevents/global-variables#variables-inside-variables
I think so
I tried using percents and it didn't work with that either
ah
It just parsed as the whole placeholder
parsed?
Outputted*
ok
I have a message on an event on the plugin to send the message
right
actually, it should work with {block_data} judging by this
message: &7IP of &a%arg_1% &7is: %otherplayer_ip_{arg_1}%

Should I try the parse number?
%math_0:_{string_substring_5,6_{block_data}}+1%
wait
Why did I even try using utils
I acted like that placeholder came from papi lol
prob a ce issue idrk
gl
how is this wrong?
- '&#ffffffYour current playtime is fa1c%cmi_user_playtime_hoursf% &#ffffffhours and fa1c%math_0:{cmi_user_playtime_minutest}-(60*{cmi_user_playtime_hoursf})% &#ffffffminutes!'
@fallen nacelle should start %math_0:_ with a _
also not sure what the f is after hours
or the t after minutes
unless those are just your placeholders
yea it was that, thank you
its total time
instead of non afk time
ah
nested placeholders don't seem to be working with cmi's chat format, returning just a '%', even though running /cmi placeholders parse does produce the right result
send a screeenshot of the output in game and send your config
?imgur
?paste
Hi, I would like to know if there is any placeholder that displays the health of your teammates somehow. Thanks!!
Why I can't use String placeholder in papi 2.11.3
Failed to find expansion in file: plugins\PlaceholderAPI\expansions\Expansion-String.jar
I tried every version
have you tried the latest placeholderapi with latest string version?
I'm trying to make a death leaderboard with papi and DecentHolograms and ajleaderboards, I have the statistics placeholder installed to papi and %stastic_deaths% installed to ajleaderboards. This is an example of what my deaths hologram yml file looks like:
enabled: true
display-range: 48
update-range: 48
update-interval: 20
facing: 0.0
down-origin: false
pages:
- lines:
- content: "&4&lTOP DEATHS"
height: 0.3
- content: "#1 %ajlb_lb_statistic_deaths_1_alltime_name% &7- %ajlb_lb_statistic_deaths_1_alltime_value%"
height: 0.3
- content: "#2 %ajlb_lb_statistic_deaths_2_alltime_name% &7- %ajlb_lb_statistic_deaths_2_alltime_value%"
height: 0.3
- content: "#3 %ajlb_lb_statistic_deaths_3_alltime_name% &7- %ajlb_lb_statistic_deaths_3_alltime_value%"
height: 0.3
- content: "#4 %ajlb_lb_statistic_deaths_4_alltime_name% &7- %ajlb_lb_statistic_deaths_4_alltime_value%"
height: 0.3
- content: "#5 %ajlb_lb_statistic_deaths_5_alltime_name% &7- %ajlb_lb_statistic_deaths_5_alltime_value%"
height: 0.3
- content: "#6 %ajlb_lb_statistic_deaths_6_alltime_name% &7- %ajlb_lb_statistic_deaths_6_alltime_value%"
height: 0.3
- content: "#7 %ajlb_lb_statistic_deaths_7_alltime_name% &7- %ajlb_lb_statistic_deaths_7_alltime_value%"
height: 0.3
- content: "#8 %ajlb_lb_statistic_deaths_8_alltime_name% &7- %ajlb_lb_statistic_deaths_8_alltime_value%"
height: 0.3
- content: "#9 %ajlb_lb_statistic_deaths_9_alltime_name% &7- %ajlb_lb_statistic_deaths_9_alltime_value%"
height: 0.3
- content: "#10 %ajlb_lb_statistic_deaths_10_alltime_name% &7- %ajlb_lb_statistic_deaths_10_alltime_value%"
height: 0.3
actions: {}
``` but it doesnt show the death count in game.. it looks sorta like:
`TOP DEATHS
#1 --- - ---
#2 --- - ---
#3 --- - ---
#4 --- - ---
#5 --- - ---
#6 --- - ---
#7 --- - ---
#8 --- - ---
#9 --- - ---
#10 --- - ---`
How many people joined server from the time u made this?
Hi has everyone, I made my own extension how do I publish it on ecloud?
from a placeholder that returns 3+ names in a list <name1>,<name2>,<name3>... is it possible to get a specific name out of it with one of the papi expansions?
Hello everyone, I need help using javascript( %javascript_<your placeholder identifier>% )
How to use them now?
thank
do u have in ajlb config enable-dontupdate-permission set on false?
Updated my PlayerList expansion, can I get it reverified please? 🙃
https://api.extendedclip.com/expansions/playerlist/
?
Why do I have to pay for the test key, right?
its set to true
then set it on false, reload plugin and hologram should add players
tysm!
np
is there a placeholder to show how old a server is (like in days for example)?
🤨 just set it yourself as a text?
i dont want to update it every day, thats a bit tedious
also whats the difference between %server_tps_1_colored% %server_tps_5_colored% %server_tps_15_colored%
no i meant somethiing like Created: 9/1/2023
1 1min
5 5min
15 15min
ahh i see
i want to have a tab like "(server age in days) days later..."
like 835 days later, look at the server now!
hmm
i think the tps thing is a bit innacurate. i use %server_tps_1_colored% and i have never seen the tps at 18.5 (for example), while it has been at 18.5 at some point
like ive never seen tablist say "19.62 TPS"
is there a more specific one?
the only one I know would be this javascript https://github.com/PlaceholderAPI/Javascript-Expansion/wiki/Community-Scripts#difference-between-2-dates
if think the tab plugin use a different placeholder for the tps?
they retrieve the same data from Spigot
you can set the start date of the server and it will get the difference, you can customize the output
oh
if Spigot returns the wrong TPS, then both placeholders will be wrong
but I don't see how it could be wrong xD
i lowkey like this too
how do i install the JS expansion
see the wiki
check the Home page of the wiki link you were sent
its from clip and its not verified? 
correct, it has to be manually installed
thank you
theoretically this could be entirely made with a math placeholder as well I bet
but I'm not gonna be the one to do that 😂
javascript is just a little slower
meh, not really though, unless you really want to account for leap years and such 😂 🤷♂️
i don't think there has been any movement on it that I see
so i downloaded the js expansion, placed it in papi/expansions, reloaded the server, in the javascripts folder i made a file named ServerAge.js with the following code:
// year, month, day, hour, minute, second
// months start at 0 and end at 11
// January is 0. December is 11
var startDate = new Date(2023, 8, 1);
var endDate = new Date();
var difference = endDate - startDate;
var months = Math.floor(difference / (1000 * 60 * 60 * 24 * 31));
var days = Math.floor(difference % (1000 * 60 * 60 * 24 * 31) / (1000 * 60 * 60 * 24));
var hours = Math.floor(difference % (1000 * 60 * 60 * 24) / (1000 * 60 * 60));
var minutes = Math.floor(difference % (1000 * 60 * 60) / (1000 * 60));
var seconds = Math.floor(difference % (1000 * 60) / (1000));
// XXmo XXd XXh XXm XXs (changeable)
return months + "mo "+ days + "d " + hours + "h " + minutes + "m " + seconds + "s";
}
time();
wut
what do i do next
i use the localtime expansion pretty much fine ;-;
after what i did, what do i do next?
it doesn't work for me
don't ask me lol i suck with javascript
what localtime r u trying to get
About what
the player's
i want to display how many days it has been since August 1st 2023
and me?
no not u xd
okay
but ye i dont think i ve ever made the playerslocaltime placeholder to work either
i mostly use the expansion to get specific timezones
So to get the player's time there is no other alternative?
Why doesn't it work with localtime
what would u even use it for to get the localtime of a player :/
mby some players don't want their localtime to be shared
because MC doesn't give the player's timezone information
the only way to get it is to check the player's IP location, and that requires some website to do so
and those websites require API keys which usually are paid
There is another way this would work, and that is to get the player's locale, the language they chose in their MC settings
though if I'm in France and I play MC in English US, I'd get the US's timezone so it's not really perfect🤷
@austere hawk looks like you did all the steps, now just use the placeholder
How do I do that?
Failed to load external expansion votingplugin. Identifier is already in use.
is there a plugin support channel
I am trying to add playtime feature to my SimpleScore scoreboard but when I add %playtime_player% it doesnt work. It says no download needed.
when it says that it doesn't need to be downloaded, then it means the expansion is tied to a plugin that needs to be downloaded
usually, you can click on the name of the expansion on the wiki and it'll redirect you to the plugin page
so like this?
file: %javascript_difference_dates%
oh sry
got it, nevcermind
thanks
also, is there a placeholder to show the size of the server (disk space)?
Guys I am trying to parse my variables to a placeholder
I added papi in my plugin and used this https://paste.md-5.net/ogojihahok.java
but when I use the placeholder chat it returns nothing
what placeholder did you use?
it returns %invasion_kalanistilasure%
yeah registered it say invasion
just checked your code again and it doesn't mention kalanistilasure anywhere
I see istilakalansure and savunmakalansure but no kalanistilasure
i try to use this placeholder: %aoneblock_rank% which returns the rank of a member in the island but it seems that it cant get parsed when the user is offline, i ve tried to parse it both with utils and parseother expansions but no luck :/ any other alternatives?
if the placeholder doesn't work for offline players, then there's no other way 🤷
you try to ask the devs to make it work
eh :/ ye i will
please get me id nether_wart minecraft 1.12.2
statistic
Invalid material: NETHER_WART/100
?materials
thanks
For a server im working on im using this plugin called realistic seasons and in order for me to change the location of the temperature shown i use placeholder api and it places the temperature on the actionbar by default where can i find the names of the places i can change the location to?
placeholderapi only provides placeholders, it doesn't add anything to an actionbar
That will be another plugin you have
what i want to do is make the thing display not on the action bar
like at the top right of my screen or sumthn
Yes, you need to find which plugin is making that happen and look at the config
placeholderapi does not put it on the actionbar
i believe its protocol lib because it made me download that to get the plugin to work
realistic seasons is the plugin
(im sorry for this trouble im really bad at anything involving code)
look here, it tells you how to change it
if you want it to show in your scoreboard, you will need a scoreboard plugin that supports placeholderapi
it looks like realistic seasons only has support for actionbar
ive got titlemanager that ive downloaded a little while ago but hadnt set anything up on it yet
would i be able to use that?
yes
so how would i input the code so it shows in title manager?
ooh okay
lines:
- '&b&m----------------------------------'
- '&b> &3&lPlayer Name:'
- '&b%{name}'
- '&r'
- %rs_temperature%
- '&b> &3&lPing:'
- '&b%{ping} MS'
- '&r&r'
- '&b> &3&lServer Time:'
- '&b%{server-time}'
- '&b&m----------------------------------&r'
would this be correct?
it turned - into bulleten points lol
or do i need to put the placeholder in between ' '
you do
%essentials_baltop_rank% isn't showing -
I have essentials and vault ecloud installed
when I run /papi parse me %essentials_baltop_rank% it returns me 1 which is correct. however in the hologram of the npc it does not appear.
Hello!
I'm wondering if the params of the placeholder hook (#onPlaceholderRequest()) have any limitations in what characters to use.
For example, could %abcplugin_{"abcdef"}.ef()% be a valid expression, and PAPI will pass {"abcdef"}.ef() as the plain text to the abcplugin? I could test it, and it might just work, but I want to make sure if that's the intended behavior.
anything works aside from %
Awesome thank you!
is there a placeholder to show the size of the server (disk space)?
is there a placeholder to show all the chunks that have ever been loaded in the server?
placeholder
%premiumvanish_bungeeplayercount@<server>%
is dead, i trying get players from survival so after @survival but it displays only placeholder, what's wrong? There is no download for vanish ;//
How do I use Velocity placeholders to get things like player server player counts? I've installed PAPIProxyBridge, do I need to do anything else?
So. I made the sweet mistake of deleting a pre setup placeholder config. And now I'm full on lost on what to do. I need to fix a few things, like %player_name% etc. But I don't know how to add them. And I already added essentials etc the extentions I perhaps needed. I'm newish to this, and there's not really many guides...
I doubt they would, but can't say for sure, idk what the devs have planned
that plugin was not made by the same devs as PlaceholderAPI, you'd need to ask its dev how it works
I'm not sure what's the issue? Did you delete your PlaceholderAPI folder and are looking to redownload your expansions? if so, simply run /papi ecloud download <expansion>
Does premiumvanish show in /papi list ? Does the placeholder work in /papi parse me <your placeholder here>
I don't think there is for the server disk space, but there is for chunks: %server_total_chunks%
I did so. The expansions are there. but none of what I need for things like my tab plugin or interactive chat are. example, %player_name% etcetera
send the link you get from /papi dump
oh! I see! That worked.
Also. I have interactivechat downloaded there. But it's not showing up.
for placeholders with papi. I mean.
make sure it loaded correctly
uh, idk if it has any placeholders
and it doesn't even show up in the plugin list of the paste you sent
It requires placeholder to use it. According to yt.
yeah it requires the plugin, but doesn't add any
as far as I know
but since it doesn't even show up in the plugin list, it may have thrown an error when loading
check your server logs
oh it does have placeholders too 👀
but yeah, won't work if the plugin isn't loaded anyways
It's not showing up. When I had put it under plugins, it didn't give me a config like the rest either.
Besides the point, since that's off topic. Thanks for the help with papi. I was pretty confused
yeah as I said it may have failed to load because of some error
we can continue in #general-plugins if you want
Yes please
That’s for the amount of chunks that’s currently loaded. I want a placeholder to o show the entire amount of chunks loaded ever
temp. Back over here. Papi is still missing a few placeholders for tab. Things like %server_tps_1_colored% and %server_uptime% etc.
Ah! Working now!
This is definitely not going to be my last question, since there's a lot of confusing things here. But I think I'm getting the hang of it :)
you have a list of most placeholder epansions available here, you can see that some are standalone and have to be downloaded (like the Server one), some are bound to a plugin and require that plugin to be installed, and there are others that may not be listed that are either integrated directly within plugins (usually their placeholders are listed on that plugin's wiki) or you can find other expansion on the PAPI eCloud https://api.extendedclip.com/all/
yes in papi list show, in papi parse -null showing good count
then the plugin where you're using the placeholder does not support PlaceholderAPI
using tab
and on the tab there is problem
but only on survival
on the lobby all is good
from survival or lobb
anywhere it doesn't work
how can i fix the %player% palceholder in a menu? (from deluxemenus)
its a lore
this
- ''
- '&e&l⚡ &8%player_name%&7: Hello'
- ''
- '&7&k.&f&lJ&4&lP&f&lN&7&k.&r &8%player_name%&7: Hello'
- ""
- '&7Left or Right Click to preview in chat!'
``` config
is there a placeholder for the servers entire balance/worth?
like the value at the top of /baltop within EssentialsX
First - lobby (working @survival placeholder)
Second - survival, not working
do you use TAB on Bungee?
if yes, do you have the TAB-Bridge on all servers ?
?player
make sure you executed the commands
what's your DeluxeMenus version?
Hello there!
I worried about how bad my solutions actually are from the optimization point of view.
I wrote a small plugin to help me organize some things I need, and surprisingly it works completely fine and solves my issues.
But to do so, I write a config file list of player names and display it via the holograms using PAPI.
I did it that way:
When using the add command:
- get a
List<String> valuesfrom the config file, - add that playername to that list
- write that new list into the config file.
Same principle with the delete and the list commands.
So I have required list of players in the file.
Now, the placeholders and API:
To display that list, I just implemented this if in the onRequest() method in my plugin's class that extends PlaceholderExpansion.
# onRequest()
if(params.equalsIgnoreCase("list")) {
File tournamentFile = new File(OmhmsMcPlugin.getInstance().getDataFolder(), "tournamentDatabase.yml");
FileConfiguration tournamentConfig = YamlConfiguration.loadConfiguration(tournamentFile);
String participants = String.valueOf(tournamentConfig.getStringList("tournament_participants"));
return participants;
}
You may notice that for each onRequest() I read the file to get a list of players.
So my question is: **how bad this is from the performance point of view? **
Thanks in advance!
implement Taskable, override start() and retrieve the FileConfiguration from there and save it in a field
Uhm, could you give any.. examle? Please
java.lang.IllegalStateException: java.io.EOFException
at com.google.common.io.ByteStreams$ByteArrayDataInputStream.readUTF(ByteStreams.java:472) ~[guava-31.1-jre.jar:?]
at com.extendedclip.papi.bungeeexpansion.BungeeExpansion.onPluginMessageReceived(BungeeExpansion.java:123) ~[?:?]
at org.bukkit.plugin.messaging.StandardMessenger.dispatchIncomingMessage(StandardMessenger.java:455) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.handleCustomPayload(ServerGamePacketListenerImpl.java:3546) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundCustomPayloadPacket.handle(ServerboundCustomPayloadPacket.java:37) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundCustomPayloadPacket.handle(ServerboundCustomPayloadPacket.java:15) ~[?:?]
at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:51) ~[?:?]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.20.1.jar:git-Paper-68]
at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1339) ~[paper-1.20.1.jar:git-Paper-68]
at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:197) ~[paper-1.20.1.jar:git-Paper-68]
at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?]
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1316) ~[paper-1.20.1.jar:git-Paper-68]
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1309) ~[paper-1.20.1.jar:git-Paper-68]
at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?]
at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1287) ~[paper-1.20.1.jar:git-Paper-68]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1175) ~[paper-1.20.1.jar:git-Paper-68]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:318) ~[paper-1.20.1.jar:git-Paper-68]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.io.EOFException
at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:346) ~[?:?]
at java.io.DataInputStream.readUTF(DataInputStream.java:595) ~[?:?]
at java.io.DataInputStream.readUTF(DataInputStream.java:570) ~[?:?]
at com.google.common.io.ByteStreams$ByteArrayDataInputStream.readUTF(ByteStreams.java:470) ~[guava-31.1-jre.jar:?] ```
then make sure PremiumVanish is on the servers where the placeholders don't work
@junior musk the repo of the item expansion is private?
Aight
%math_0:_470/100% returns 5
Placeholder to remove the last two characters of a text
Example of 1278 return 12
check the second substring placeholder of the String expansion
or you could use Math, divide by 100 and set decimals amount to 0
so the last 2 digits would become decimals and since you're showing 0 decimals then they won't be shown
That, what I want to do is divide a number by 100 and that the result does not have decimals
then do that
470÷100 without decimals is not 5
470÷100 = 4.7 = 4
%math_0:half-down_470/100%?
yeah
And what does half-down specifically do?
For the moment it works fine
They haven't fixed localtime yet?
there's no "fix"
Oh
there's no other way than the current way
that's exactly what the expansion is doing
but the geolocalisation is done through a website's api
and that website has a rate limit for non-subscribers
yes i have on the survival because there is vanish scoreboard with count how many players are on the survival
unsure why it doesn't work in TAB then
idk I will make again vanish system but and again connected to the mysql all server
They could not use another website
In an issue is that with the test key it works, and you have to pay to get it, right?
all websites are like that
if you find one that's fully free, please share
What is the one they use?
The geolocation website
?
you need a key to make it work, yes
where is the subscription
Pricing page
What they have to do with the IP is to obtain the timezone, right?
Essentials geoip no work?
try it
it's the same thing
you'll see in its config that it requires a key as well
No
How much is the key here?
Idk, ask them
I speak e PlaceholderAPI "here"
uh?
you mean the localtime expansion?
I told you to check that ipapi.co website thing
there's a Pricing tab
Now but not that I have to have a test key? I buy it in ipapi.co?
It is that they had told me that the test key was custom and I could ask in #1147713999694209104
By the way essentials geoip occupies a geo2lite key which is free
I don't know 🤷
With essentialsx geoip I get the player location but the timezone
I don't know 🤷
Can I get the timezone with the location?
I don't know 🤷
._.
Currently I'm coding a plugin but I don't know how to display values related to that plugin in scoreboad. For example, when picking up an item, I don't know how to code it to show %count_pick_up% 😦
%statistic_pickup%
though if you're making your own plugin with scoreboard, you can get the player's Statistic.PICKUP statistic
Hi. Good afternoon: I have a issue with the Pinger PAPI. Let me explain. I've configured the Pinger Papi but not refresh for a offline server
I see this discord in the official wiki
And i supose the community can solve my issue
Please help :/
https://paste.denizenscript.com/View/114807
Btw @junior musk if the expansion class implemente Listener, it is registered automatically https://github.com/Tanguygab/Item-Expansion/blob/f79413662889c46a554b37fc700c4dc779736bb8/src/main/java/io/github/tanguygab/craftexpansion/ItemExpansion.java#L140
Hello, is there any expansion to get the player's uuid with a variable?
i found one that was called RandomID but it hasn't been updated since 1.13 and doesn't work now
or something to get the player's name but in lowercase only
Player expansion, %player_uuid%
for the lowercase, you can try the String expansion combined with the Player expansion
%string_lowercase_{player_name}%
- "&fMember 0: %playerlist_ismembers_0% &7= &fMined Dirt: &e%utils_parseother:[playerlist_ismembers_0]_{statistic_mine_block:dirt}%"
- "&fMember 1: %playerlist_ismembers_1% &7= &fMined Dirt: &e%utils_parseother:[playerlist_ismembers_1]_{statistic_mine_block:dirt}%"
Why does this parse the amount of mined dirt with %%
e.g. user 0 of the island member list has 236 mined dirt it shows %236%
umm
I think don't include the {}
@dense trail
the first placeholder doesn't need {}, only deeper-nested ones
don't put {}
you're not really nesting anything
just parse it without the {} and see if it works
Like this?
%utils_parse_math_0_%utils_parseother:[playerlist_ismembers_0]_math_0_%statistic_mine_block:dirt%%%
no
just remove the {}
the format is %utils_parseother:[]_<placeholder>%
<placeholder> being player_name
for example
not {player_name}
%utils_parseother:[playerlist_ismembers_1]_statistic_mine_block:dirt%
When did you start using math in this?
this is a different placeholder entirely
Ignore that one, ment this one
%utils_parseother:[playerlist_ismembers_0]_{statistic_mine_block:dirt}%
I have like 20 different of these...
right...
now how do I add two placeholder values with math?
e.g.
%utils_parseother:[playerlist_ismembers_0]_statistic_mine_block:dirt%
+
%utils_parseother:[playerlist_ismembers_1]_statistic_mine_block:dirt%
although I'll have to do that for 0 1 2 3 4
%utils_parse_math_0:_{utils_parseother:[playerlist_ismembers_0]_statistic_mine_block:dirt}+{utils_parseother:[playerlist_ismembers_1]_statistic_mine_block:dirt}%
@dense trail
<3 so much
%utils_parse_math_0:_{utils_parseother:[playerlist_ismembers_0]_statistic_mine_block:dirt}+{utils_parseother:[playerlist_ismembers_1]_statistic_mine_block:dirt}+{utils_parseother:[playerlist_ismembers_2]_statistic_mine_block:dirt}+{utils_parseother:[playerlist_ismembers_3]_statistic_mine_block:dirt}+{utils_parseother:[playerlist_ismembers_4]_statistic_mine_block:dirt}%
is it not possible to add more to it or is my placeholder incorrect?
it looks right on the surface
are you testing by parsing it in chat?
it might be cut off
1s
did this work?
Yup added 10 + 6 = 16
any errors in console
someone tried the exact same thing with Utils a few days ago and got an error
do all 5 island members exist?
[22:15:04 WARN]: [PlaceholderAPI] [math] Invalid Placeholder detected!
[22:15:04 WARN]: [PlaceholderAPI] [math] Placeholder: %math_0:_10+6+++%
[22:15:04 WARN]: [PlaceholderAPI] [math] Cause: '10+6+++' is not a valid Math expression.
probably kris
well that's not an issue with Utils then
they do not
changeoutput for if it returns empty change it to 0
changeoutput? lol
changeoutput lol
yeah xD
not that i know how to xD
i was thinking min
but min wouldn't work with no value




