#placeholder-api
150650 messages · Page 127 of 151
I could but then the number does not grow at a constant rate and the punishment changes
What I was thinking you wanted was 1 button that does all 6 actions
I might be just hella confused
Thats why I need to start at 6 because item 1 is a warning, and item 2 is a ban
well
here's what I can do
click_requirement:
minimum_requirements: 1
stop_at_success: true
requirements:
userhasnometa:
type: '=='
input: '%parseother_{{player}}_{deluxemenus_meta_DiamondCounted_INTEGER_0}%'
output: '0'
optional: true
success_commands:
- '[console] dm execute {player} [meta] set DiamondCounted INTEGER 6'
userhasmeta:
type: '!='
input: '%parseother_{{player}}_{deluxemenus_meta_DiamondCounted_INTEGER_0}%'
output: '0'
optional: true
click_commands:
- '[meta] add DiamondCounted INTEGER 1'
- '[message] ban {player} %math_31+{deluxemenus_meta_DiamondCounted_INTEGER_0}%h &5&lCHAT DISRUPTION &8[&d#&l%number_toroman_{math+3{deluxemenus_meta_DiamondCounted_INTEGER_0}}%&8]'
- '[sound] ENTITY_ITEM_PICKUP'
- '[refresh]'
theoretically
when you click this item: If the player in the argument does NOT have any diamondcounted, it will set it to 6
if they do have it, it just acts normal
you'll probably have to update your stuff to use parseother though to see correct results
this might help you
I don't really know lol
😂
Alright, Thanks
It kinda does, because on the last item I can just set the meta
i forgot crucial aspects
with the command
okay, edited it
- '[console] dm execute {player} [meta] set DiamondCounted INTEGER 6'
Thats really all I needed
but if not, just change this number to 5
Alright
so it sets to 5, then gets 1 added to be 6
hmm ok
Thank you
ofc
Hello, what is the placeholder so that it changes all letters to lowercase except the first letter that is uppercase
And if there is a .
For example, go from hellO. bye to Hello. Bye
Its part of capitalize
Placeholders can be found here
%capitalize_sentence-case-forced_{THE_PLACEHOLDER}%
Is what you are looking for specifically
No work
It returns Hello. bye and I also want the letter after the . to be capitalized so that it is Hello. Bye
Could %localtime_timezone_<timezone/placeholder>% accept a placeholder that returns the timezone of the game?
Then there is expansion https://api.extendedclip.com/expansions/geolocation which has a placeholder that returns the player's timezone, so try using %localtime_timezone_{geolocation_timezone}% but this returns me the server time, but however if I use %geolocation_timezone% it returns the correct timezone (if I use %localtime_timezone_<the geolocation value>% if it returns me the correct time, so it could be two things, one that localtime accepts the placeholder or merge both placeholder into one
@junior musk I had tried to make a localtime placeholder with EssentialsGeoIP, could I do something similar but get the timezone of the placeholder from the other expsm?
Please try not to ping support
no idea, I tried myself but couldn't get it to work
I do have CMI, at least it has proper PlaceholderAPI support unlike EssentialsX. It also has quite a few cool features which I like
oh yeah, I completely forgot about that lol
Also, I have big issue man 😦
I was joking about the respect thing, you have a big brain
wow, okay
I just woke up dude XD
give me like 10 minutes and I'll look at it
but just reading it like that makes me to go back to sleep 😅
Thanks, Ive been struggling for 3 days on this issue. I diagnosed everything...
wtf is this
it's worse than Kristopher's menus
I don't even understand 🥲
[12:32:53 WARN]: [DeluxeMenus] Material for item: view_requirement in menu: wtf is not present!
Skipping item: view_requirement
[12:32:53 WARN]: [DeluxeMenus] Material for item: click_requirement in menu: wtf is not present!
Skipping item: click_requirement
[12:32:53 WARN]: [DeluxeMenus] Material for item: click_commands in menu: wtf is not present!
Skipping item: click_commands
there may be a spacing issue
some requirements are thought to be items
line 741 to 757
add 4 spaces in front of each line
@jovial cargo
It was 2 spaces in front of each line
That was a chatgpt error LOL cause ChatGPT can read blank spaces and I was generating rules and pasting them in and hand spacing them, mustve missed those lines
However that did not resolve my issue
I think its a bug tbh
whats the player placeholder
%player_name%
man you know what
someone should make placeholder parsing easier
splitting sometimes can be pain
uh?
PlaceholderAPI.setPlaceholders(OfflinePlayer, String)
can't get any easier
you give it a string and a player, and you get the placeholders parsed
I think they meant to split arguments
ah
which is done different by each expansion 🙂
yeah
it's a single line of code more though 🤷 and not all expansions need to split the params, it's better to leave the ability to people to interpret the arguments the way they want imo
how can i parse this placeholder in my plugin %img_offset_-16%
placeHolder = PlaceholderAPI.setPlaceholders();
this requires a player
use null as the player
thanks
i mean, whats wrong with providing optional higher-level argument parser
🤷see that with the devs
Sorry, it wasn't supported before, I barely realized it.
Yes, EssentialsGeoIP doesn't work sometimes, but I say that you can do something with the %geolocation _timezone% placeholder
this
The thing is that %geolocation_timezone% does work, it gives the correct timezone and everything, but to obtain the time with that timezone with localtime it does not work
That's the problem
what do you want me to do ;-;
Localtime timezone can't accept placeholder?
I didn't make that expansion
Maybe he doesn't accept it and that's why it doesn't work.
But I said try to do something like you did with EssentialsGeoIP
idk how it works
Sure, if you can
Just make localtime accept placeholders
Or merge %localtime_timezone_{geolocation_timezone}%
%utils_parse_localtime_timezone_{geolocalisation_timezone}%
/papi ecloud download Utils
/papi reload
idk if that'll work though, since I'm pretty sure it'll still fetch the data from the websites with rate limits
work
It's geolocation by the way
How about rate limits?
But isn't it better to make localtime accept the placeholder?
But what did you mean by this, the placeholder is a bit long
I will try it more, why does it take me so long to give me the answer, I don't know if it's me
uh?
hello
is there MSPT placeholder?
or a way to calculate it like via javascript maybe?
@vivid sparrow Unknown expansion.
I know spark has placeholders for MSPT if you are already using it
i didn't know spark has papi expansion
i mean, spark doesn't even have expansion(?) but has integrated papi placeholders?
ok so 1 tick is (in perfect scenario) 50 ms
%spark_tickduration% Returns a formatted summary of the average tick durations in the last 10 seconds and 1 minute.
should i then use this?
seems like this specific placeholder doesn't work
other spark placeholders does
wtf
Hi does anyone know the code I need to write to show prefix from luckyperms? I tried {PREFIX}
what chat plugin
figured it out!
Hmmm, I might make a PAPI extension
Any optimization tips? I need this to make item price list (Input: item id and amount, Output: price)
function getPrice() {
var material = args[0].toUpperCase();
var amount = Math.ceil(args[1])
var price = prices[material] * amount;
return price == undefined ? 99999999 : price;
}
getPrice()```
My first extension is gonna be simple but effective and needed
especially for the future 🙂
Its gonna basically make a plugin list plugins into placeholders. I.E %pluginlist_1% - would output the first plugin in the plugin list, Then it will make the plugin permissions into a placeholder %pluginlist_1_permissions_1% which would output the first permission node of the plugin.
Would make a deluxe menus permission manager gui much more viable
Let me get my documentation down
%pluginlist_list% - Outputs all plugins in the plugin list
%pluginlist_<number>% - Outputs the plugin name which is in that
%pluginlist_<number>_permissions% - Outputs all permissions in the plugin
%pluginlist_<number>_permissions_<number>% - outputs the specific permission node of a plugin```
Any recommendations?
only to add a % to the last placeholder 😉
and I would have the index start at 0, or if you don't want to do that; specify that the index starts at 1
Yeah ik, I didnt really specify that
:monkaGun: @tender vapor
Hi i have a kid here he's 8 yo
Thats crazy
Index will start at 1
Oh, I cant have a convo with the guy?
How can I make deluxemenu take a command from a bungeecord pl? In this case litebans with /ban, I am using a menu with default sanctions, using arguments, but I want the menu to be executed by putting /ban, but being in the bungeecord it continues to execute the litebans and not the menu
how can i set a placeholder to a specific world
Bump
if you have an expansion, then then DM funnycube a username and email and he'll make you an account
What do you mean?
You'll need a plugin like CommandSync, otherwise not possible
A placeholder that only shows stats from a specific world
It doesn’t have to require a plugin right?
no
Alright
some expansions can save data per-world and just check if the player is online, and if so get his world and return the data
I need to get my account registered. I’m doing some patches to the code
The only thing in my extension that requires a plugin is the groups placeholder. I use VaultAPI to get the available groups
I think I might just include a sorting system internally for ease of access.
Can anyone tell me how to enter requirements (such as money) in the menus when clicking
Hey, who do I talk to about getting registered on https://api.extendedclip.com/register/
a bit random, but how many placeholders can I put inside a math placeholder?
Like rn I'm trying to parse:
%math_0:_{math_0:_(50*10)/{luckperms_meta_NAUSHEsold}}*{checkitem_amount_mat:nautilus_shell}%
but it's not going through 😅
basically trying to set up a dynamically priced sell shop
hey guys im looking for this file in placeholder https://www.spigotmc.org/resources/placeholderapi.6245/update?update=36240
why are you using Math inside math?
%math_0:_500/{luckperms_meta_NAUSHEsold}*{checkitem_amount_mat:nautilus_shell}% ?
Oh you're right, I could just try that yeah
Been staring at config for hours, excuse the silly mistakes
hmm any one ?
thanks
Hey there I was having a problem when I wanted to install the Vault with the API, when I installed it and reloaded absolutely nothing happened. I checked with the command /papi list and it doesn't appear either
you need the Vault plugin as well
oh thanks
@junior musk do you know of anyway to get the a menus slot?
this would have made my life so much easier
especially with my menu with my PlayerList expansion
I would have only needed 1 item with all slots
cause then I can do this:
%utils_parseother_changeoutput_equals_input:{luckperms_has_permission_{servermanager_pluginlist_{deluxemenu_slot}_permissions_{deluxemenu_slot}}}_matcher:yes_ifmatch:LIME_STAINED_GLASS_PANE_else:changeoutput_equals_input:{luckperms_has_permission_{servermanager_pluginlist_{deluxemenu_slot}_permissions_{deluxemenu_slot}}}_matcher:no_ifmatch:LIME_STAINED_GLASS_PANE_else:GRAY_STAINED_GLASS_PANE%
Exactly
Thats what I want
Funnycub
add it 🙂
Might just make an papi expansion lol
just to get the slot of a deluxemenu menu
@junior musk Im getting my dev on it 🙂
@balmy marten When my dev gets done implementing a slot getting feature, would you mind implementing it into future builds?
:monkaGun:
A what?
A slot placeholder %slot%
Its done
💀 wrong person u askinn
Who dev deluxemenus?
i mean, blitz, gaby, star
kqliber mby too
cj also
guys i wanna create a something when player have lvl 40 in mmocore show player ✅ if player dont have lvl 40 in mmocore show ❌
something like that https://www.spigotmc.org/resources/placeholderapi.6245/update?update=36240
for example:
millionaire:
expression: '%vaulteco_balance% >= 1000000'
true_result: '&aMillionaire'
false_result: '&cbroke'
expression: '%mmocore_level%'
true_result: '&a✔'
false_result: '&c✘'```
@sharp geode
You cant use those emojis as they wont work within minecraft
bro i used but in new update javascript expansions we need create .js file 😦
wait i show you
Oh, I see
I understand
i need .js xd file
var kitName = args[0];
var placeholder = "essentials_has_kit_" + kitname;
var hasKit = PlaceholderAPI.static.setPlaceholders(BukkitPlayer, "%" + placeholder + "%");
function hasKit(){
if(hasKit == "yes"){
return "&aTrue";
}
return "&cFalse";
}
hasKit();
like that but for %mmocore_level%
I would use changeoutput then
can anyone write for me ?
var isLVL40 = PlaceholderAPI.static.setPlaceholders(BukkitPlayer, "%" + placeholder + "%");
function isLVL40(){
if(parseint(isLVL40 >= "40")){
return "&a✔";
}
return "&c✘";
}
isLVL40();```
That should work
I dont know javascript whatsoever but maybe itll work
thanks i test it
Yeah, it'll work
WAIT
It wont
@sharp geode
change function hasKit(){ to function isLVL40(){
I modified the code I sent
Let me know if it works. Would be cool to see some JS I wrote worked even if its the very basics of it
It worked?
Hi! I'm having some trouble integration skript with my placeholderapi does anyone know what I'm doin wrong here?
on load:
if {joinOrderCounter} is not set:
set {joinOrderCounter} to 0
command /testjoinorder:
trigger:
send "Your join order number is: %{joinOrder::%player's uuid%}%" to the player
on join:
if {joinOrder::%player's uuid%} is not set:
add 1 to {joinOrderCounter}
set {joinOrder::%player's uuid%} to {joinOrderCounter}
send "Your join order number is: %{joinOrder::%player's uuid%}%" to the player
on placeholderapi placeholder request for the prefix "skript":
if the identifier is "joinorder":
if {joinOrder::%player's uuid%} is set:
set the result to {joinOrder::%player's uuid%}
else:
set the result to "N/A"
Hi there,
I have been working on my project but since the last update of PlaceholderAPI I can't seem to connect to PlaceholderAPI anymore
I'm inserting the placeholder to show the current world, but nothing happens, it just doesn't show anything, what did I do wrong?
- 14|&3%world_name_<world>%
it's %player_world%
wym?
Hello, excuse me please I hope this is the right way to ask a question about the plugin "DeluxeChat" I have seen that there is a new plugin in development called "chatchat", I haven't played Minecraft for a while and I always enjoyed "DeluxeChat" (and bought it of cause) now I'd like to ask if anyone know how to make it work on the current Minecraft version or get that new Plugin. Greetings and sorry for the question
It is developer build of the plugin though
Oh shit, thanks. Didn’t know that. Imma use this plugin
Idk in what stage of development it is
it's pretty stable
Is superior skyblock compatable with placeholderapi??
plugin shows this error in the console, dont really know what caused it
[19:39:28 ERROR]: [STDERR] [PlaceholderAPI] Global placeholders configuration section missing
the are multiple pages for the different groups of placeholders
Believe this got answered in #general-plugins


@balmy marten https://api.extendedclip.com/expansions/servermanager/
Its out
and an hour later, v1.0.1 is out
I heard that you can use papi to visually represent a plugin's statistics
So if I'm developing a plugin, and I'd want to show let's say the amount of joins, how would I do that?
If you are making a plugin and you want to let other plugins access your plugin's data, this is how: https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/PlaceholderExpansion#with-a-plugin-internal-class
If you are making a plugin and you want to let your plugin's users access data trough PlaceholderAPI, this is how:
https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/Hook-into-PlaceholderAPI#setting-placeholders-in-your-plugin
For both cases you will need to also follow this setup guide: https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/Hook-into-PlaceholderAPI#first-steps
@junior musk need help with utils shortcut
hex1-hex2-slot: 'deluxemenus_meta_hex-v3-gradient-hex1_STRING%,%deluxemenus_meta_hex-v3-gradient-hex2_STRING%,%deluxemenus_meta_hex-v3-gradientSlot_INTEGER_2%'
hex-v3-gradient-hex: '%javascript_hex-v3-gradientHandle_hex,{utils_shortcut_hex1-hex2-slot}:{1}%'
you forgot the %
at the beggining of the first shortcut
also arguments start from 0, not 1
at <javascript>.handleGradient(?:2) ~[?:?]
function handleGradient(type, hex1, hex2, lengthAndPosition) {
let length = lengthAndPosition.split(":")[0];
let position = lengthAndPosition.split(":")[1];
let r1 = parseInt(hex1.slice(1, 3), 16);
let g1 = parseInt(hex1.slice(3, 5), 16);
let b1 = parseInt(hex1.slice(5, 7), 16);
let r2 = parseInt(hex2.slice(1, 3), 16);
let g2 = parseInt(hex2.slice(3, 5), 16);
let b2 = parseInt(hex2.slice(5, 7), 16);
let RGB, HEX, DECIMAL;
for (let i = 0; i < position; i++) {
let ratio = i / length;
let r = Math.round(r1 + ratio * (r2 - r1));
let g = Math.round(g1 + ratio * (g2 - g1));
let b = Math.round(b1 + ratio * (b2 - b1));
RGB = r + ", " + g + ", " + b;
HEX = "#" + ((1 << 24) | (r << 16) | (g << 8) | b).toString(16).slice(1);
DECIMAL = (r * 65536) + (g * 256) + b;
}
switch (type.toUpperCase()) {
case "HEX":
return HEX.toUpperCase();
case "RGB":
return RGB;
case "DECIMAL":
return DECIMAL;
default:
return "&ePlease use Type: &bhex&7/&brgb&7/&bdecimal"
}
}
handleGradient(args[0], args[1], args[2], args[3]);
and the error?
Caused by: com.koushikdutta.quack.QuackException: TypeError: cannot read property 'split' of undefined at <javascript>.handleGradient(?:2) ~[?:?]
well this'll do
this is enough, cannot read property 'split' of undefined
doesn't seem like quickjs supports string.split()
idk why
not something I can help with
and not related to Utils shortcut 
it still work with full input :/
wdym?
%javascript_hex-v3-gradientHandle_hex,{deluxemenus_meta_hex-v3-gradient-hex1_STRING},{deluxemenus_meta_hex-v3-gradient-hex2_STRING},{deluxemenus_meta_hex-v3-gradientSlot_INTEGER_2}:3%
not sure how that's possible
you're not getting any errors?
oh
I see the issue
that what i confused
the lengthAndPosition is undefined
problem is shortcut args, maybe :/
idk why it would be
which placeholders did you use?
and did you fix the missing % and the {1} -> {0} ?
currently hex-v3-gradient-hex: '%javascript_hex-v3-gradientHandle_hex,{deluxemenus_meta_hex-v3-gradient-hex1_STRING},{deluxemenus_meta_hex-v3-gradient-hex2_STRING},{deluxemenus_meta_hex-v3-gradientSlot_INTEGER_2}:{0}%'
still same error
and what placeholder are you using?
%utils_shortcut_hex-v3-gradient-hex:2%
/papi parse me %javascript_hex-v3-gradientHandle_hex,{deluxemenus_meta_hex-v3-gradient-hex1_STRING},{deluxemenus_meta_hex-v3-gradient-hex2_STRING},{deluxemenus_meta_hex-v3-gradientSlot_INTEGER_2}:2%
im not dump, and this thing work
then idk
maybe the js work before args get replace
impossible
always reload after edit
🤷
also what is this ?
[00:05:09 WARN]: [DeluxeMenus] Plugin DeluxeMenus v1.14.1-DEV-null generated an exception while executing task 557
java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
at com.extendedclip.deluxemenus.menu.MenuItem.getItemStack(MenuItem.java:270) ~[DeluxeMenus-1.14.1-DEV-null_4.jar:?]
at com.extendedclip.deluxemenus.menu.Menu.lambda$openMenu$5(Menu.java:450) ~[DeluxeMenus-1.14.1-DEV-null_4.jar:?]
at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftTask.run(CraftTask.java:101) ~[paper-1.19.4.jar:git-Paper-549]
at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) ~[paper-1.19.4.jar:git-Paper-549]
at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[paper-1.19.4.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:842) ~[?:?]
🤷
what's your DeluxeMenus build?
are you using RGB on an item somewhere?
leather armor

@junior musk the input can be string ?
input for what?
shortcut
of course
Hi. I am seeing %afk% in the names of mobs that I have named on my server, including in TAB. I assume it's API related. I'm on version 2.11.5.
I see it yes in the groups.yml. What do I do?
remove it
Just remove and not replace it?
if you want afk status, you can replace it with your afk plugin's placeholder
No I don't want afk. It is stuck there for some reason.
then just remove it
there's a way to display a "null" message in placeholder when it is empty?
because i remember that i've seen anything like this working in a scoreboard
@junior musk
excuse me for ping
i need a way to look what player in the world is the higher level in clv_player_level
and te nadd it to
%utils_parse_math_0:_{world_players_{world_name_<world>}}-1+[highst-player]%
did not see im in the worng channel
No, However if you are using tab. You can have view requirements
plugin shows this error in the console, dont really know what caused it
[19:39:28 ERROR]: [STDERR] [PlaceholderAPI] Global placeholders configuration section missing
how do i change duration format in placeholder api?
you buzy?
Well I was thinking of using a plugin like ajLeaderboards and get the player with the first rank, but I don't think it can do per-world
You'd need someone to make you a custom placeholder for this
yes and is there a way to cound all levels in the world as number?
aren't levels already numbers?
no all players into world in 1 level]
ah
placeholder i mean
clv_player_level
CyberLevels?
doesn't seem to have a placeholder for that
you could try and suggest the idea to the dev
i tryed did not work
make an issue with yours ideas and the dev will try adding them
is there noting to mix the placeholders to check for all player in the same world to 1 number placeholder
Well you could use Javascript I guess
here's how to install it https://github.com/PlaceholderAPI/Javascript-Expansion/wiki
i cant script .......
I'll make the script
o
you just need to install the expansion
and I'll send it
function getLevels() {
var world;
if (args.length == 0) world = player.getWorld();
else BukkitServer.getWorld(args[0])
if (world == null) return -1;
var players = BukkitServer.getOnlinePlayers();
var level = 0;
for (var i = 0; i < players.size(); i++) {
var lvl = PlaceholderAPI.static.setPlaceholders(players.get(i),"%clv_player_level%");
level += parseInt(lvl);
}
return Math.floor(level < 0 ? 0 : level);
}
getLevels();
where do i put it?
i mean the script
wil lit jsut return 1 number like 0 not 0.0
wait nvm i tink i can do that whit math
yes
[15:05:48 ERROR]: [PAPI] [Javascript-Expansion] An error occurred while executing the script 'level
javax.script.ScriptException: ReferenceError: "player" is not defined in <eval> at line number 3
at org.openjdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:463) ~[PlaceholderAPI-2.11.5.jar:?]
at org.openjdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:447) ~[PlaceholderAPI-2.11.5.jar:?]
at org.openjdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:399) ~[PlaceholderAPI-2.11.5.jar:?]
at org.openjdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:395) ~[PlaceholderAPI-2.11.5.jar:?]
at org.openjdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:151) ~[PlaceholderAPI-2.11.5.jar:?]
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:262) ~[java.scripting:?]
at com.extendedclip.papi.expansion.javascript.evaluator.NashornScriptEvaluator.execute(NashornScriptEvaluator.java:27) ~[?:?]
at com.extendedclip.papi.expansion.javascript.JavascriptPlaceholder.evaluate(JavascriptPlaceholder.java:120) ~[?:?]
at com.extendedclip.papi.expansion.javascript.JavascriptExpansion.onRequest(JavascriptExpansion.java:157) ~[?:?]
at me.clip.placeholderapi.replacer.CharsReplacer.apply(CharsReplacer.java:119) ~[PlaceholderAPI-2.11.5.jar:?]
at me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:71) ~[PlaceholderAPI-2.11.5.jar:?]
at me.clip.placeholderapi.commands.impl.local.CommandParse.evaluateParseSingular(CommandParse.java:117) ~[PlaceholderAPI-2.11.5.jar:?]
at me.clip.placeholderapi.commands.impl.local.CommandParse.evaluate(CommandParse.java:57) ~[PlaceholderAPI-2.11.5.jar:?]
at me.clip.placeholderapi.commands.PlaceholderCommandRouter.onCommand(PlaceholderCommandRouter.java:114) ~[PlaceholderAPI-2.11.5.jar:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[paper-api-1.20.4-R0.1-SNAPSHOT.jar:?]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:155) ~[paper-api-1.20.4-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.v1_20_R3.CraftServer.dispatchCommand(CraftServer.java:987) ~[paper-1.20.4.jar:git-Paper-399]
at org.bukkit.craftbukkit.v1_20_R3.command.BukkitCommandWrapper.run(BukkitCommandWrapper.java:64) ~[paper-1.20.4.jar:git-Paper-399]
at com.mojang.brigadier.context.ContextChain.runExecutable(ContextChain.java:73) ~[brigadier-1.2.9.jar:?]
at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:32) ~[paper-1.20.4.jar:git-Paper-399]
at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:19) ~[paper-1.20.4.jar:git-Paper-399]
at net.minecraft.commands.execution.UnboundEntryAction.lambda$bind$0(UnboundEntryAction.java:8) ~[paper-1.20.4.jar:git-Paper-399]
at net.minecraft.commands.execution.CommandQueueEntry.a(CommandQueueEntry.java:5) ~[paper-1.20.4.jar:git-Paper-399]
at net.minecraft.commands.execution.ExecutionContext.runCommandQueue(ExecutionContext.java:101) ~[paper-1.20.4.jar:git-Paper-399]
at net.minecraft.commands.Commands.executeCommandInContext(Commands.java:434) ~[?:?]
at net.minecraft.commands.Commands.performCommand(Commands.java:336) ~[?:?]
at net.minecraft.commands.Commands.performCommand(Commands.java:323) ~[?:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.performChatCommand(ServerGamePacketListenerImpl.java:2216) ~[?:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChatCommand$16(ServerGamePacketListenerImpl.java:2176) ~[?:?]
at net.minecraft.util.thread.BlockableEventLoop.lambda$submitAsync$0(BlockableEventLoop.java:59) ~[?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.20.4.jar:git-Paper-399]
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:1454) ~[paper-1.20.4.jar:git-Paper-399]
at n
[15:05:47 INFO]: PVink7 issued server command: /papi parse me %javascript_level%
then you have 2 ways to use the placeholder: %javascript_level% will take the world the player currently is in, or you can use %javascript_level_<worldName>% and it'll take the world you want
exactly 👍
i use world name and add the world bar jsut to make sure the dungeon is using the correc tworld
var players = world.getPlayers();
Tryna teach me how to code?
what
oh f, I forgot to change it
Im tryna learn how to code, I need a mentor/teacher
also, you need to split the level placeholder so it doesn't get parsed only once
setPlaceholders(players.get(i),"%" + "clv_player_level%");
I think this will do it
weird way of telling this but ok
right
can i get the full ione i now dont get it anymore lol
function getLevels() {
var world;
if (args.length == 0) world = player.getWorld();
else BukkitServer.getWorld(args[0])
if (world == null) return -1;
var players = world.getOnlinePlayers();
var level = 0;
for (var i = 0; i < players.size(); i++) {
var lvl = PlaceholderAPI.static.setPlaceholders(players.get(i),"%"+"clv_player_level%");
level += parseInt(lvl);
}
return Math.floor(level < 0 ? 0 : level);
}
getLevels();
is there a way to make it so it will say just the first number its now saying 13.0 its cunfising the dungeon pluging also can you add a way so i do %javascript_level_<worldName>_[start_level% startlevel for higher dungeons so if start level is 15 and your 14 it will be 0 if your 16 it will be 1
what
I don't understand what you want
1.0 > 1
should already do that
np
I'll fix it then
i use /papi parse me %javascript_level% and it says 13.0
does anyone know why /papi reload doesn't work?
Check the console for errors. @sleek fog
[16:27:29 WARN]: [PlaceholderAPI] [math] Invalid Placeholder detected!
[16:27:29 WARN]: [PlaceholderAPI] [math] Placeholder: %math_0:_{javascript_level}%
[16:27:29 WARN]: [PlaceholderAPI] [math] Cause: '%math_<text>_%' is not an allowed placeholder syntax.```
error
?[Server thread/ERROR]: [PlaceholderAPI] Failed to load class files of expansion.
what should i do?
function getLevels() {
var world;
if (args.length == 0) world = player.getWorld();
else BukkitServer.getWorld(args[0])
if (world == null) return -1;
var players = world.getOnlinePlayers();
var level = 0;
for (var i = 0; i < players.size(); i++) {
var lvl = PlaceholderAPI.static.setPlaceholders(players.get(i),"%"+"clv_player_level%");
level += parseInt(lvl);
}
if (level < 0) level = 0;
return (level+"").replace(".0","");
}
getLevels();
@short solar
send your logs
?startuplog
its a int richt?
can't find it only 'latest logs'
?paste
error
function getLevels() {
var world;
if (args.length == 0) world = BukkitPlayer.getWorld();
else BukkitServer.getWorld(args[0])
if (world == null) return -1;
var players = world.getOnlinePlayers();
var level = 0;
for (var i = 0; i < players.size(); i++) {
var lvl = PlaceholderAPI.static.setPlaceholders(players.get(i),"%"+"clv_player_level%");
level += parseInt(lvl);
}
if (level < 0) level = 0;
return (level+"").replace(".0","");
}
getLevels();
what do i do if i found the expansions in the files but not in the game?
can you add 1 more tink for %javascript_level_world_10% if the number is under 10 it will be 0 make it so the number can be any number this will help make more dungeons te n1
also i did %javascript_level_world% and it returns -1 https://paste.helpch.at/zirarebiko.swift
@junior musk level.toFixed(0)
if it returns -1, then the world wasn't found
one sac
function getLevels() {
var world;
if (args.length == 0) world = BukkitPlayer.getWorld();
else BukkitServer.getWorld(args[0])
if (world == null) return -1;
var players = world.getPlayers();
var level = 0;
for (var i = 0; i < players.size(); i++) {
var lvl = PlaceholderAPI.static.setPlaceholders(players.get(i),"%"+"clv_player_level%");
level += parseInt(lvl);
}
if (level < 0) level = 0;
return level.toFixed(0);
}
getLevels();
and fixed the error
and this?
the world is there im in it now its my spawn world
/papi parse me %player_world%
it says world
They want an additional argument
yeah I know that
but they tried with world and it returns -1
which means that it didn't find the "world" world?
function getLevels() {
var world;
if (args.length == 0) world = BukkitPlayer.getWorld();
else BukkitServer.getWorld(args[0])
BukkitPlayer.sendMessage("world: "+args[0]+" - "+world);
if (world == null) return -1;
var players = world.getPlayers();
var level = 0;
for (var i = 0; i < players.size(); i++) {
var lvl = PlaceholderAPI.static.setPlaceholders(players.get(i),"%"+"clv_player_level%");
level += parseInt(lvl);
}
if (level < 0 || (args.length > 1 && level < args[1])) level = 0;
return level.toFixed(0);
}
getLevels();
this should send you a message saying world: world - world
or smth like that
and you can use %javascript_level_world,10% now
restarting for 100 times today im happy there no players online now lol
hi, i want to get expiry time of the highest player group with luckperms. i wrote this script:
var highestGroup = "%luckperms_highest_group_by_weight%"
function group() {
var value = PlaceholderAPI.static.setPlaceholders(BukkitPlayer, highestGroup);
return "%luckperms_expiry_time_group."+value+"%";
}
/*
Here we call the hasPermission function so it runs
*/
group();
``` but it does not work. it returns empty string, however when i type /papi parse %luckperms_expiry_time_dev% it works. Why?
/papi parse me %javascript_level%
world: undefined - CraftWorld{name=world}
13```
1.20.4 btw
ok
return PlaceholderAPI.static.setPlaceholders(BukkitPlayer,"%"+"luckperms_expiry_time_group."+value+"%";
You dont need javascript for this, other expansions will work better
how do i use number on this one btw?
like?
Show them the black magic Tang..
?
uh
Utils or whatever is called
o
%utils_parse_luckperms_group_expiry_time_{luckperms_highest_group_by_weight}%
exactly
discord dumb
I'm playing btw though so I'm slow
%javascript_level_10% %javascript_level_world_10% wait one sac im tring somtink
uh, optional arguments D:
Actially it is easy to do if the number is always required
this error also not fix idk why
[16:52:46 WARN]: [PlaceholderAPI] [math] Invalid Placeholder detected! [16:52:46 WARN]: [PlaceholderAPI] [math] Placeholder: %math_0:_{javascript_level}% [16:52:46 WARN]: [PlaceholderAPI] [math] Cause: '%math_<text>_%' is not an allowed placeholder syntax. ???
What does javascript_level return?
this
why dont you make a expansion that compiles java code
I cant code
but what now?
also how do i make the placeholder into a int value?
sins the dungeon pluging only alloweds types not 2 tinks
ok but can you make it so it only say the number ten i will find somone
function getLevels(player) {
var world = player.getWorld();
var players = world.getPlayers();
var totalLevel = 0;
for (var i = 0; i < players.size(); i++) {
var currentPlayer = players.get(i);
// Assuming you have a placeholder for player levels, adjust it accordingly
var playerLevel = PlaceholderAPI.static.setPlaceholders(currentPlayer, "%clv_player_level%");
// Parse the level as an integer, default to 0 if parsing fails
var parsedLevel = parseInt(playerLevel) || 0;
// Add the parsed level to the total
totalLevel += parsedLevel;
}
// Ensure the total level is at least 0
return Math.max(totalLevel, 0);
}
getLevels();
like that?
getLevels(BukkitPlayer);
function getLevels(BukkitPlayer); {
var world = player.getWorld();
var players = world.getPlayers();
var totalLevel = 0;
for (var i = 0; i < players.size(); i++) {
var currentPlayer = players.get(i);
// Assuming you have a placeholder for player levels, adjust it accordingly
var playerLevel = PlaceholderAPI.static.setPlaceholders(currentPlayer, "%clv_player_level%");
// Parse the level as an integer, default to 0 if parsing fails
var parsedLevel = parseInt(playerLevel) || 0;
// Add the parsed level to the total
totalLevel += parsedLevel;
}
// Ensure the total level is at least 0
return Math.max(totalLevel, 0);
}
getLevels();
getLevels();?
function getLevels(); {
var world = BukkitPlayer.getWorld();
var players = world.getPlayers();
var totalLevel = 0;
for (var i = 0; i < players.size(); i++) {
var currentPlayer = players.get(i);
// Assuming you have a placeholder for player levels, adjust it accordingly
var playerLevel = PlaceholderAPI.static.setPlaceholders(currentPlayer, "%"+"clv_player_level%");
// Parse the level as an integer, default to 0 if parsing fails
var parsedLevel = parseInt(playerLevel) || 0;
// Add the parsed level to the total
totalLevel += parsedLevel;
}
// Ensure the total level is at least 0
return Math.max(totalLevel, 0);
}
getLevels();
function getLevels(player) {
var world = player.getWorld();
var players = world.getPlayers();
var totalLevel = 0;
for (var i = 0; i < players.size(); i++) {
var currentPlayer = players.get(i);
// Assuming you have a placeholder for player levels, adjust it accordingly
var playerLevel = PlaceholderAPI.static.setPlaceholders(currentPlayer, "%clv_player_level%");
// Parse the level as an integer, default to 0 if parsing fails
var parsedLevel = parseInt(playerLevel) || 0;
// Add the parsed level to the total
totalLevel += parsedLevel;
}
// Ensure the total level is at least 0
return Math.max(totalLevel, 0);
}
getLevels(BukkitPlayer);
this worked but its not chaning the level of mob one sac
that error isn't reflecting your code
ten what is it?
idk
wil lreport it to there suport ten
Hello, can someone help me with expansion manual installation? I do as how it is told, but when I do /papi reload, it doesnt register the new expansion
All you do is drag and drop it in the placeholderapi extensions folder and then reload
I know, I did that but nothing happens. I first tried /papi ecloud download WorldBorder (https://wiki.placeholderapi.com/users/placeholder-list/#worldborder) It says: Failed to find an expansion named: WorldBorder. Then I tried manualy downloading and installing (https://api.extendedclip.com/expansions/worldborder/) and when I do /papi reload It says nothing, like it /papi reload wouldnt exist. Without WorldBorder expansion file, /papi reload works
Upon installing it and then doing /papi reload, It gave the following message:
27.01 14:33:13 [Server] [WARN] [PlaceholderAPI] [WorldBorder Expansion] Should be one of: NO_OMIT, OMIT_PARENTHESIS, OMIT_SQUARE_BRACKET, OMIT_ANGLE_BRACKET. Using default: OMIT_ANGLE_BRACKET.
27.01 14:33:13 [Server] [WARN] [PlaceholderAPI] [WorldBorder Expansion] For example, OMIT_ANGLE_BRACKET omits underscores inside angle brackets (fromWorld_{world_nether}). NO_OMIT captures all underscores.
27.01 14:33:13 [Server] [WARN] [PlaceholderAPI] [WorldBorder Expansion] If this is the first time installing the expansion, ignore this message.```
1.20.2
and u installed manualy or what?
Manually
The placeholders are weird
Actually nvm
Its working as intended on 1.20.2
i mean
it's 1.8
you can try the older version of the worldborder expansion, but probably won't work
idk about factions
@coral geyser
I am really using the CheckItem place extension you created, but there is one problem. It seems that the custommodeldata modifiers do not recognize items without custom model data. They are recognized only after assigning the custom model data value of 0 to the item.
Could you elaborate/give an example?
Please wait a moment and I will show you an example video.
I sent the video to your personal DM because it couldn't be sent here. Please understand
Could you upload it to a service like youtube by chance?
ahh
"If you look at the video, you'll see that even though some items in the inventory clearly haven't been assigned custom model data values, the 'Checkitem' doesn't recognize items with custom model data set to 0 and returns 'no'!"
understand?
good
"When you use the command to set the custom model data of an item to 0, at that point, 'Checkitem' recognizes that there is an item with custom model data set to 0."
So there is nothing to fix
Because the item does not have any custom model data value, it will say no
But when the value is set to 0 it says yes, which is correct
perhaps you are able to use the strict modifier for your situation?
%checkitem_mat:OAK_LOG,strict%
Um... can you tell me more about the purpose of strict?
Are you sure of this?
I just tested it, I gave myself an item with custommodeldata 0 and checkitem replies no
hmm
Could you check it once?
"Can you not watch the video?"
"Is it okay if I join your server and test it together?"
Ignore all I said
strict checks the item with no name/lore/customdata/enchants/etc.
i gotta go right now
be back later
ok..!
Even when using 'strict,' CheckItem fails to recognize items without assigned Custom Model Data as having Custom Model Data 0. I want to clearly differentiate between items with Custom Model Data 0 and items with assigned Custom Model Data, even though they have the same name.
Is it possible to make staff+ plugin expansion same as staff++ expansion plugin? Cuz I have staff+ plugin and it looks like staff++ looks exactly the same. Also is this possible what I want to do - I want to add extra action for command, when I write /staff its do also /asb switch adminboard
If they have no custommodeldata, then it's not 0
it's two different things
Just to be clear: %checkitem_mat:STONE,nameequals:Your_item_name_here,strict%
Does this return yes for Items with custommodeldata 1?
Yes, if the custom model data is 1, it returns yes.
Please..
https://github.com/PlaceholderAPI/CheckItem-Expansion/issues/65 @coral geyser you can follow here
"What should I do?"
Man, I need to have my dev make a custom WildStacker extension cause I want to check how many upgraded spawners are on ones island but they don’t have any placeholders so IG I’ll have to make them
need big help look i wanted to add vault prefix but its bugged half away of the rank?! i have screenshot if somebody can help i will send them the sreenshot per dm
simple:
titles: '&x&f&b&0&0&0&0&lF&x&c&9&0&0&0&0&lo&x&9&7&0&0&0&0&lG&x&6&4&0&0&0&0&lB&x&3&2&0&0&0&0&lo&x&0&0&0&0&0&0&lx'
scores:
15: '&7%localtime_time%'
14:
- '&7&m+------------------+'
- '&7&m--------------------'
13: '&0&lI&8&lN&7&lF&f&lO'
12: '&e☀ &7Nick➛ &e%player_name%'
11: '&c❤ &7Rang➛ %vault_prefix%'
vault prefix is their but only the half of the word
ok thank you 🙂
hello
Can someone tell me is there some placeholder that does next:
- i want to display different nametag text (prefix/suffix) to certain players who met specific conditions
- for other players different nametag text (prefix/suffix) will be shown
- i am using TAB plugin tho, is it possible to do this using ChangeOutput + some other expansion?
if you don't understand what i want to do, let me know and i'll try to paraphrase it better
Could probably do it with permission manipulation, if they meet the conditions give them the permission, which gives them a specific prefix/suffix
That's not what i wanted
I will paraphrase:
- Player
HelloThere_1andHelloThere_2are looking at playerHelloThere_3 - Player
HelloThere_1sees nametag of them and the nametag goes[Admin] HelloThere_3 - Player
HelloThere_1meets other condition and it shows for them[Operator] HelloThere_3
So this does not do anything with HelloThere_3 player actually, but to the ones who are looking at him (or any other player)
Hmm, not sure if that would honestly be possible through PAPI w/o actual code and development behind it.
@sharp bloom agree? Or am I missing something?
anybody can help me?
This is basically like relative placeholder for factions
?
i need help
There is no time to wait! Ask your question @dark frigate!
but in this case not for factions, but for general purpose
ok so basiclly i want to show the rank in the scoareboard but its bugged and only shows the half of it any help?
@cosmic needle
What version?
javascript perhaps
Would it take a lot of cpu usage?
Maybe, but still need some basics of coding.
what you mean?
What Minecraft version.
true that
and its not the best option
Yeah
I d prefer a papi expansion instead
eh not rly sure, but not the best option
1.20.4 is the server but i use viabackwards so you can join with any version if you want i can send you ss so you can see better whats wrong?
I saw that javascript expansion, even with the simplest js placeholder, takes a lot of cpu usage
Sure send it here.
an alternative would be parseother expansion?
but still depends on how y want to use it
Still would likely need todo permission manipulation either way with that.
i lost probably 2 hours testing out with it and some similar expansion
Ie why i said probably just need to custom code it
Send it via Imgur or smth.
ok i'll see if someone here would like to take suggestion for this papi expansion maybe
who has time and power of will to do it, some bigger papi expansion dev
if it's even feasible
Don’t like handling stuff in DMs. Easier in a server (imo).
Especially managing big servers, msg requests gets flooded.
What scoreboard plugin?
Umm, never heard of it tbh. Maybe it has a limit on the amount of characters per line.
Only thought I got.
oh yeah could be how to disable that
i use long prefix color code names
If the plugin doesn’t support it, then can’t. I’d (personally) recommend AnimatedScoreboard. My server uses it on various different versions and works smoothly for me.
ok will try it but i did it with the exact plugin 2 month ago and it worked lol
1.20.4 ig
btw whole other topic but i cant acces my server panel and that shows up
Shared hosting or Dedicated?
eh not rly?
You’d need to contact them for that
placeholders exist
True
ok so i cant do that rn with scoreboard bc i cant restart server dang
parseother with changeoutput most likely
Hmm maybe
I have a placeholder called %luckperms_prefix%. When the plugins parse this placeholder, a %img_bidik% placeholder appears again and this placeholder cannot be parsed. How do I parse the 2nd resulting placeholders?
And yes I translated it with google translate
/papi ecloud download Utils
/papi reload
%utils_parse:2_luckperms_prefix%
How can I reset player kills and deaths?
Delete player data
File?
I just want to reset the kills and deaths
I use the statistics placeholder
And what is this for? %statistic_record_played%
you are a life saver thank you a lot man
Without using a plugin?
It doesn’t require a plugin. A user says the solution. I believe it’s in the second to last comment
Every month I want player deaths and kills to be reset
I think it would be better with a plugin, right?
I just want to reset player deaths and kills every month so I don't know how to do it for all the automatic wood players
Is there any resources out there that allow placeholders to be parsed in plugins that don't natively support it?
ChatInjector used to do this but no longer can.
saj
?
anyone know of a 1.20.4 nickname plugin? (not essentials)
essentials
jk, lemme find one
damn why is the config so bloated
im wondering if i can write it in skript
by setting the luckperms prefix. since im not using prefix atm
You can
@ashen horizon thats a skript, should still work on 1.20.4
thats using set display name. hows that work?
set tablist name of loop-player to "%{prefix::%uuid of player%}% &f%{nick::%uuid of player%}%"
set display name of loop-player to "%{prefix::%uuid of player%}% &f%{nick::%uuid of player%}%"
hey, i apologize if this is asked a lot but i cannot find anything about it from searching. how can i use PAPI to register placeholders for plugins installed on velocity, i.e. LuckPerms?
i see some messages saying it's entirely unsupported but i'm not sure so i figured i would ask again, since it would really suck if that was the case. i would like to be able to have LuckPerms across all of my servers while also utilizing the prefixes in my chat
@cosmic needle i need your help quick you said that animated scoreboard is good but tell me whats this? https://imgur.com/a/GziAhJd it does that when i do /animatedsb reload
please help
guys i have a problem with papi reload
Ask away
PlaceholderAPI doesn't support proxy servers. If you want LuckPerms placeholders on backend servers, I suggest you set up LuckPerms on all servers and connect them using a remote database such as MySQL.
either way, you'll need LuckPerms on each server so you can actually manage permissions, having it on Bungee only will only manage Bungee permissions, not the backend's
Hello guys/girls. I need some help for guilds. Is there any papi to make top10 guild with kills? and to add to /guild info ?
?
hi guys
when i use "/papi parse me %formatter_text_replace_#&#{vault_prefix}%"
its appear like that: &6&lOwner
a lot of plugins support that
but
in mycommand
when i put in my specific command to show statistics like:
name
rank
hours
the rank appear "&6&lOwner"
without color
Is there any placeholder to get the coords of the block the player is looking at?
I saw a post from 2018 that said they didn't implement it bc there's no way to put it without consuming too much, but asking just in case
I would also download extensions if this is possible
how do i reset every players data to 0 in a statistic placeholder?
or how do i reset the placeholders values/data
Anyone who knows if PAPI supports Velocity?
I'm looking to add placeholders to my scoreboard about how many players are online on each of my servers, but can't find anything online.
(Please tag/reply, if you can help :3)
the files are stored in server directory/world folder/stats/ folder and can be manipulated/deleted
i have placeholder in my server but my deluxehub doesnt show values for %essentials_bal%, or ranks or anything which is related with other plugin
only shows %playername%
May I know how it goes?
Is Placeholder API Down?
what?
https://status.helpch.at/ Everything is up at the moment
Hello!
I'm trying to use the changeoutput placeholder to create a suffix.
The placeholder its reading is %ultimatebounty_bounty_total%
So I made it into %changeoutput_>_input:{ultimatebounty_bounty_total}_matcher:0_ifmatch: &8- &4€{ultimatebounty_bounty_total} ☠_else:% so it displays - €1000 💀 when someone has a bounty greater than 0.
I now want to use the formatter placeholder to change that 1000 into; 1,000
When using this; %formatter_number_format_{ultimatebounty_bounty_total}% it works no problem, but when I try to combine it all into;
%changeoutput_>_input:{ultimatebounty_bounty_total}_matcher:0_ifmatch: &8- &4€{formatter_number_format_{ultimatebounty_bounty_total}} ☠_else:% the formatter no longer works. I assume this is because its a placeholder, inside a placeholder. Is there any way to make this work?
Its sending this in the console
[13:07:22 WARN]: [PlaceholderAPI] [formatter] Invalid placeholder %formatter_number_format_{ultimatebounty_bounty_total%
[13:07:22 WARN]: [PlaceholderAPI] [formatter] Cannot convert {ultimatebountybountytotal into a BigDecimal.
ye cause u have a {} inside a {} {formatter_number_format_{ultimatebounty_bounty_total}}
Is there no way to make that work?
honestly you can use the utils expansion? it might manage to parse it correctly
%utils_parse_changeoutput_>_input:{ultimatebounty_bounty_total}_matcher:0_ifmatch: &8- &4€{formatter_number_format_{ultimatebounty_bounty_total}} ☠_else:%
/papi ecloud download utils

Its working 🙂 Thanks! 🙌
np :d
Can I use expiry_time to change the format of the scharacter representing the seconds output?
https://ibb.co/BtqBn1q
Anyone who knows why my placeholders has stopped working?
I got the newest version (2.11.5) and all my placeholders from my other plugins and Vault are all registered and looks like it should be working just fine.
The output is just "{placeholderapi_vault_prefix}" as an example of my Vault usage.
Anyone who got an idea what to do here?
the syntax is %vault_prefix%
unless you're using it in a plugin that only supports MVdWPlaceholderAPI
I'm using it in my Scoreboard (Featherboard) witch do support MVdWPlaceholderAPI.
4.28.1 - the newest version that works with my server version (1.8)
It has all worked just fine before so I don't see why it won't now.
I'm not sure either, does /papi parse me %vault_prefix% return the correct value in your chat?
Yes
then this is likely a MVdWPAPI issue
Allright - I will look in to that, thanks!
I see FB has a 4.30.0 version though, maybe the issue could be from there?
Does it support Java 8 though?
uh, I think
I'll try that
yeah, Java 16 support is only for 5.0.0+
Allright - I'll try the 4.30.0
also make sure you're on the latest MVdWPAPI version
Already do that.
The version doesn't help me that much, but I can see I get an error with my featherboard so I assume that's where my problem is.
try reaching out to the dev then
do i just delete all of them? to reset
if you want to reset all, yes
Any way to get a specified players group? I.E %MakiilGronsach_vault_group% would ouput makiilgrosnach's group?
Parseother expansion
Do you know of any way to get the command sender in PAPI or does that not exist?
I.E
%utils_parse_parseother_{commandsender_{vault_group}%
It depends on the plugin where you are using the placeholder
Skript
Skripts internal placeholder %command sender% isnt recognized as its only internal and its trying to parse a papi placeholder
While using my account, it suddenly logged out. Now, when I am trying to log in again, I am receiving an error stating 'Email does not exist, And I had not received any type of email before this as well.
Yikes, have fun with skript
Yeah, It isnt fun
I dont like it much. Might switch to mycommand
Although its not much better
tf is this 💀
listen, idk
combined the parseother expansion with the utils expansion?
and a missing name?

bruh
what u trying to do
It was an example message to the one above
oh i see
Why do you need the name of the sender?
to get their rank
the placeholder triggered me so i didnt rly saw the whole context
Just parse the rank placeholder lol
are u doing it via deluxemenus or smth?
The parseother placeholder is for when you want to see someone else's data
oh
It should output the users rank
but instead it just says <none>
I think Ill use skript placeholders, define a new papi placeholder for command sender so I can use it in that context
why use skript when u can make a fancy gui for it
Cause its a chat message
It does, however I dont want it in a gui
I want users to be able to run the commands and have it do the function
:/ u can just make a confirmation menu or smth
I could but that still wouldnt solve my issue
i m very confident that it will :/
the <none> here would be replaced w the %player_name%
and in that case the player who executed the click action
thats why i always say if u have an issue you make a gui
Ill just do it the hard way
Hi everyone
I have a little problem with placeholders
I created GUI profil but when I check profil of ANOTHER player, the placeholders always show me My informations
So for exemple, in GUI profil of another player, there is a line to know the money of a placer with this :
- "&7This player have &e%vault_eco_balance%&8$&7."
But I will see my own money in his profil
Is there a way to change this?
Yeah, Using parse other
%parseother_{player}_vault_eco_balance%
This is assuming you are doing /yourcommand {player}
In a GUI menu, it display as "lore" of an item the information that contain the placeholder, so it's not a command 😦
Yeah but how do you open the menu
Is it like /info {player}
yes /profil {player}
Then you will be able to use that placeholder
Try to use it in the lore and it should work
%parseother_{player}_vault_eco_balance%
it don't work, but the {player} is replaced by my own name when I check the profil of my friend
"You have %parseother_Tehebrium_vault_eco_balance%"
Did you do /papi ecloud download parseother
Then do /papi reload
Is it Player or player in the args?
Capital or non-capital p?
%parseother_{{player}}_{vault_eco_balance}%
That’s it?
assuming the argument name you defined in your DeluxeMenus menu is named player
Oh, I see. That’s my fault
This is the correct placeholder
So :
I did /papi ecloud download parseother and reload
And put %parseother_{{player}}_{vault_eco_balance}%
But now
What does it display?
When I check my own profil, it said that I have 2000$
(in reality I have 7000$)
when I check profil of my friend, it say he have 2000$ too
(in reality, he have 12.000$)
send your menu
money:
material: RAW_GOLD
name: "&6Monnaie"
slots: [ 35 ]
glowing: false
hideAttributes: false
customModelData: 0
onlyOwner: false
onlyVisitor: false
usePermission: false
permission: "custom.permission"
lore:
- "&7Vous possèdez &e%parseother_{{player}}_{vault_eco_balance}%&8$&7."
ok
this isn't even a DeluxeMenus menu 
No it's a playerprofile menu
target do exactly the same problem 🤔
/papi parse me %vault_eco_balance%
Do y’all have op perms?
doesn't matter
Vault broke my eco placeholders when I had * perms
I don't see how it could affect it
unless you were using them in an ajleaderboard leaderboard and had the bypass permission
"/papi parse me %vault_eco_balance%"
this command work and display my real money
Then what he gave you should work
can you use %string_shuffle_{target}% in your menu?
and /papi ecloud download String
/papi reload
but as a placeholder in my GUI menu, it display 2000$ and not my real money (7000$)
this is so strange
@junior muskI tried this in my menu , it display strange things
what does it show?
if it shows those characters {target} shuffled, then that means your PlayerProfile plugin parses PAPI placeholders before the arguments, which means there's nothing we can do for your ParseOther placeholders
gt}{rtae
Ohh okay... :/
Why?
Is it cause too many placeholders in a placeholder?
If so, Can’t he use utils?
no
I said it here
Oh
the PAPI placeholders only receive {target} as literaly text, not its actual value (aka the player name)
Got it, well that sucks. We should convert it into a DM for him lol
have fun
What is a DM ?
DeluxeMenu
Oh okay
I have it, but I have to learn how to use it x)
Thanks a lot for your time and your answers
I’ll make a menu when I get home
Oh really? 😮
Yeah, I’ll convert it. It’s not too much work
Thanks a lot, you're a savior!
I’ll be home in 20 minutes
alright
Okay sir!
what is the command to import tags thiings to placeholder
I've searched (prob not asking the correct question), I want to have something like this set via Deluxe Menus(%deluxemenus_meta_hud_STRING_NotSet%) that through a DM can be changed by the player to either point to %vanish_playercount% OR %luckperms_expiry_time_veinminer.veinmine.*%.... OR any other placeholder I add for users to swap between all pointing back to %deluxemenus_meta_hud_STRING_NotSet%.
Reason is, we use Oraxen for Hud (Just above player's hunger bar) to show their veinminer time when they are using veinminer but we only have one hud we can use. I'd like it to be more dynamic.
I have no issues configuring Menus in Deluxe Menus, but I'm struggling on whether this is possible to do(without writing my own placeholder) to be able to dynamically change an existing placeholder to reference or in real-time refer back to a placeholder of my choice.
Suggestions please?
Is there any resources out there that allow placeholders to be parsed in plugins that don't natively support it? ChatInjector used to do this but no longer can.

