#placeholder-api
1 messages Ā· Page 53 of 1
replace spaces with underscores
you made it so a space would be replaced by nothing
ah
try \_
otherwise, you'll need to use the String expansion's %string_replaceCharacters placeholder
Ok I'll try that
/papi ecloud download String
/papi reload
-> <server folder>/plugins/PlaceholderAPI/config.yml
/papi reload
%string_replaceCharacters_underscore_Testing, 1, 2, 3%
I would like to make some kind of placeholder to represent the slots on the server. Is it possible to do it somehow?
@lone sandal see the progress expansion
thanks
hello, is it possible to use more than one placeholder in the change output?
like
%changeoutput_=_input:{checkitem_nbtstrings:PublicBukkitValues..executableitems:ei-id=itemId,amt:64_and_anotherplaceholderhere}_matcher:yes_ifmatch:message_else:message%
help pls
I've been out of the loop for quite some time, but I'm slowly getting back into Minecraft server building (just as a fun hobby for my wife and I to play.)
Server: 1.21.4 (Paper)
PAPI Version: 2.11.7-DEV-200
Essentially, I'm having an issue (likely post a server reboot, since my server reboots automatically at 3am), where the extensions are all de-registered. I'm forced to login to my server and manually re-registers all my extensions with /papi register %ext%.
I'm not quite sure why, perhaps it's a conflict, perhaps a consequence of the dev build I'm using? Not 100% sure.
Wondering if anyone has any advice on areas to troubleshoot. I'm going to read through my server logs to see if I can find anything else. If additional information is needed to troubleshoot, please let me know.
List of expansions:
01/27/2025 09:55 PM 1,019 Expansion-ascii.jar
01/27/2025 09:55 PM 1,427,604 Expansion-changeoutput.jar
02/04/2025 11:24 AM 190,256 Expansion-checkitem.jar
02/04/2025 11:24 AM 33,329 Expansion-formatter.jar
02/04/2025 11:24 AM 4,256 Expansion-griefprevention.jar
02/04/2025 11:24 AM 4,256 Expansion-healthbar.jar
01/27/2025 09:55 PM 18,961 Expansion-luckperms.jar
01/27/2025 09:55 PM 27,394 Expansion-mcmmo.jar
01/27/2025 09:55 PM 3,757 Expansion-multiverse.jar
02/04/2025 11:24 AM 22,302 Expansion-player.jar
02/04/2025 11:24 AM 20,218 Expansion-server.jar
01/27/2025 09:55 PM 12,034 Expansion-statistic.jar
02/04/2025 12:24 PM 10,873 Expansion-vault.jar
01/27/2025 09:55 PM 7,105 Expansion-world.jar
02/07/2025 01:35 PM 976 worldAliases.yml
01/27/2025 09:55 PM 2,788 WorldAliasExpansion-1.0.0.jar
Here is a pruned version of my server log, with every instance of PlaceholderAPI.
help
I canāt add my phone number even tho I deleted my account with the phone number in it, what to do
TAB scoreboard won“t show essentials balance, the placeholder doest work
does anyone know the balance placeholder for essentials? I tried %essentials_baltop_balance_<rank>% but it gave me invalid ID
Does anyone know how to reset the data of placeholders forplayers? Ive tried deleting stats folder and more.
Trying to use changeoutput to change the output when nothing is returned by the placeholder from luckperms
%changeoutput_contains_input:{luckperms_group_expiry_time_byle}_matcher:_empty_ifmatch:nie posiadasz tej rangi_else:{luckperms_group_expiry_time_byle}%
%changeoutput_equals_input:{luckperms_group_expiry_time_vip}_matcher:_empty_ifmatch:nie posiadasz tej rangi_else:{luckperms_group_expiry_time_vip}%
but sadly if its empty when a user doesnt have a group applied it still returns nothing
why does my %luckperms_prefix% or %vault_prefix% returns this?
the text with colour codes
and
not with colours?
A6AE6&lį“C8EEC&lį“”DB2F3&lÉ“�FD5F9&lį“�F9FF&lŹ&r �FFFF
it returns this
and my another rank is &7
and it still says the &7
It is up to the plugin displaying the placeholder to color it
Does anyone know why the %statistic_jump% placeholder doesn't work in 1.8?
Same for this placeholders: %statistic_walk_one_cm%
hey! has anyone solved the %statistic_mine_block% double count issue? or is there no solution?
Anyone have any ideas?
is there a simple mspt placeholder? i know spark has one but i only need a single number, not multiple
try doing ... /papi ecloud update all
Good evening everyone!
I would like to know how can we know the total points (playerpoints) the player has put on the store?
In my example I want to give a reward if the player puts 150⬠on the server but the placeholder %playerpoint_points% is not possible
Sounds like buycraftapi for money spent.
I have some players who are seeing placeholders in their side menu instead of the values, but nobody else has had this problem. Anybody know how/where to start looking to fix it?
ask Rosewood directly
I know this message is from ages ago but, does this still work in 1.21.4 ? (I just tried the expansion but the death location placeholder doesn't seem to work for me... and It's the one I need š )
[18:26:54 WARN]: [PlaceholderAPI] There was an error in parsing the number string: .residencefly_max_seconds
[18:26:54 WARN]: [PlaceholderAPI] There was an error in parsing the number string: .residencefly_max_seconds
[18:26:54 WARN]: [PlaceholderAPI] There was an error in parsing the number string: .residencefly_max_seconds
[18:26:54 WARN]: [PlaceholderAPI] There was an error in parsing the number string: .residencefly_available_seconds
[18:26:54 WARN]: [PlaceholderAPI] There was an error in parsing the number string: .residencefly_available_seconds
[18:26:54 WARN]: [PlaceholderAPI] There was an error in parsing the number string: .residencefly_available_seconds
š¤ what happened
Is there a good practice to recursively apply placeholders if a placeholder returns a placeholder. Someone is reporting an issue with my plugin here:
https://github.com/Matt-MX/DisplayNameTags/issues/58#issuecomment-2657267938
/papi ecloud download Utils
/papi reload
%utils_parse:2_luckperms_prefix%
the 2 can be increased depending on how many times you want to reapply placeholders
awesome thanks
for something like %objective_scoreposhigh_{playtime2}_{2}%
am i able to divide by 20 to get playtime in minutes for a hologram?
the normal playtime placeholder wasnt downloading
Hello all, i have plugin OneBlock :star: ItemsAdder & Oraxen blocks support :zap: and Placeholder %ob_lvl% for this doesn't work. Can you help me?
@idle coral
I need help with the placeholder api, so the placeholder never gave me problems, but it simply isn't detecting some placeholders, does anyone know what it could be?
Hi Can someone help me, I would like to see if there is an placeholder that counts all crops harvested, I need this placeholder for Leaderboard stats
hello. Any idea why starting server I always get this error?
[17:19:23 WARN]: java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3
[17:19:23 WARN]: at com.extendedclip.papi.expansion.server.ServerExpansion.<init>(ServerExpansion.java:60)
[17:19:23 WARN]: at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)
[17:19:23 WARN]: at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)
[17:19:23 WARN]: at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)
[17:19:23 WARN]: at PlaceholderAPI-2.11.6.jar//me.clip.placeholderapi.expansion.manager.LocalExpansionManager.createExpansionInstance(LocalExpansionManager.java:453)
[17:19:23 WARN]: at PlaceholderAPI-2.11.6.jar//me.clip.placeholderapi.expansion.manager.LocalExpansionManager.register(LocalExpansionManager.java:173)
it started appearing from version 1.21.1
What %% value do I use to show the Essentials player balance on a scoreboard?
anyone know how to remove space from a placeholder have output like this:
3mo 2w 3d
anyone know an alternative for checkitem? (need to check nbts in an item)
%vault_eco_balance% i think
Ok
It can access nbt.
hi how do I display the amount of keys the player has, I use the plugin excellent crates.
what error, I can help you. bro.Aditya</>
every time i reload papi i get the error "java.util.concurrent.CompletionException: invalid entry CRC (expected 0xadfcdef3 but got 0xbadd6385) (expansion file: /home/container/plugins/PlaceholderAPI/expansions/Expansion-playertime.jar)"
i also got it with the pinger expansion
it's doing it with every expansion
Hello, I need an Placeholder for all crops harvested, also if anyone know how to give the top players points for each leaderboard section that would be great. I will also pay money if someone helps me to make this leaderboard system.
what do you mean by crops harvested?
/papi ecloud download Attribute
that says attribute does not exists
someone can help with that?
nvm fixed it
I mean all type of the harvested crops, Wheats, carrots, sweet berries and etc. I need a placeholder for it.
Hi, I want to put a variable inside a variable, but I don't know how to do it.
When I print img_luckperms_highest_group_by_weight_tag, it says luckperms_highest_group_by_weight_tag_NOT_FOUND.
I also tried utils_parse_img_luckperms_highest_group_by_weight_tag, but it still doesn't print.
Sorry, I'm using Google Translator.
%utils_parse_img_{luckperms_highest_group_by_weight_tag}%
almost had it
make sure you do have the LP expansion (/papi ecloud download LuckPerms & /papi reload)
Thank you so so much!!!
anyone š¦
hello i just have a quick question is there a placholderapi expansion i have to download for factionsuuid to work the relation color is not working im using the correct format
how can i make papi display player count from another multiverse world
%server_online_<world>%
i didnt know i needed to ecloud download world but someone helped me in #minecraft , ty though
hello. its possible to calculate a sum of 2 placeholders using math?
doesnt work
define "doesnt work"
%math_0_{placeholder1}+{placeholder2}%
it doesn't matter if I understood it wrong
?
I will understand well
Well I'm the one that doesn't understand now lol
Is it possible to make a hologram that will display the number of players on another server? do you know? @junior musk
I'm already using it, but I just want to know how to make it display the number of players
%bungee_<server>%
hmm, I did it and it still says there are 0 players
ok, never mind, I reset the server and it fixed itself
There is no time to wait! Ask your question @fathom token!
with place holders
Hey! Are there any placeholders for the Typewriter plugin? I'm trying to retrieve the active and past quests in particular.
Typewriter is showing up in the active placeholder hook list when typing /papi list but whenever i try to run /papi ecloud placeholders Typewriter, it's saying "There is no expansion with the name: Typewriter
Aah amazing, thanks! Been looking for that for ages
Any idea how i would be able to fetch those placeholders on a HTML website? Or is there no possible way to do that
there was this plugin I've seen that had a web api that allowed you to fetch placeholders with it. forgot what it was called but you could probably use or make something like that and then have your website make an api request to it
hey, does anyone know how I can uninstall the ParkourExpansions addon from PlaceholderAPI?
Heya.
iirc there was an expansion that let you return a string if a parsed placeholder returns a specific value?
We use a placeholder that returns true or false (pvp toggle plugin), but we want it to display "PvP On" if true and "PvP Off" if false, but I can't find the expansion.
Anybody remember what the expansion was, if any?
Javascript Expansion?
Hey! im trying to make it so when "%oa_is_in_voicechat% is 1 to return š else return š, ive tried a couple of stuff but nothing has worked atp so im here..
you can probably use ChangeOutput - https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/Placeholders#changeoutput
how am i supped to use % for %oa_is_in_voicechat% inside changeoutput? it wont let me use % bcs it thinks the placeholder is over
so stupid tbh
I think you are not supposed to use the % when putting a placeholder inside another one
or look at the examples under here - https://github.com/Kqliber/Expansion-ChangeOutput#examples
yeah he uses variables to get his data, but mine is in %oa_is_in_voicechat%, not a variable
or if u wanted to do like a %math% thing in there
u couldnt
the thing inside the {} are other placeholders in that example
All arguments can be replaced with other placeholders, wrapped in {}
Oh right yeah, thanks LOL
Anybody know if there is a placeholder that I can use to see how many people have joined my server? Like if somebody is the 85th person to ever join, a placeholder for the join message that says #85 for example
/papi ecloud download Server
%server_unique_joins%
https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/Placeholders#server
Tysm
Hello!
Is it possible to load placeholders in a .js file from the Javascript extension?
bcs that doesnt work:'
function checkHome(position) {
var homes = "%huskhomes_homes_list%";
var homeList = homes.split(", ");
if (homeList.length >= position) {
return homeList[position - 1];
} else {
return "false";
}
}
checkHome(1);
it just prints %huskhomes_homes_list%
hello ! how is a placeholder for this ? https://imgur.com/a/x7k6VNr
in the Items Edit ?...
in item Lore
It's unlikely to be a PlaceholderAPI placeholder, it probably comes from a plugin that modifies the item's lore every time you use it
Does the placeholder work if you run /papi parse me %huskhomes_homes_list% directly? Using it in JS as you did should already work
, so maybe it isn't the right placeholder
If it is, then maybe try with PlaceholderAPI.static.setPlaceholderes(BukkitPlayer, "%huskhomes_homes_list%"), though that shouldn't be needed
-> /<server folder>/plugins/PlaceholderAPI/expansions/
All of the expansions you've downloaded with PAPI's /papi ecloud download command will be there
ha okay ^^ thx
Hello! Why does this happen when referring to statistics? Unknown statistic 'jumps', check https://helpch.at/docs/1.12.2/org/bukkit/Statistic.html for more info
I mean, the message speaks for itself
But the Statistic extension is installed and is displayed correctly in the scoreboard
I know the expansion is installed, otherwise you wouldn't have that warning in console.
The warning is telling you that you're using a placeholder with the jumps statistic, which doesn't exist
And you have the list of statistic linked as well where you can see that it's actually jump with no s
I understand this, but in the scoreboard the data is updated
Just download jump
then you're not using the placeholder in the scoreboard but somewhere else
no, that's not the issue
Yes, there is a leaderboard based on it, but when creating a menu with a requirement for this placeholder I get an error, checking through papi parse I saw this error again. However, this was not the case before. Is this related to the plugin version?
the issue is simply that you're using %statistic_jumps% in some plugin, which is an invalid placeholder (the correct placeholder is %statistic_jump% with no s)
I use %statistic_player_jumps%
Thank you. I used %statistic_jump% and it works.
guys, do you have any ideea on how to pass an argument from the /papi parse to the js file?
I didn't see this page, thanks š«”
hey is there a way to get the data from another user with a placeholder? like for example i would like to use %playtime_time%, but instead of showing my playtime i would like to get shown the one from the other user
Iirc can use ParseOther
If you're trying to check someone's placeholder for yourself using a simple command, and not trying to actually put it anywhere. You can do /papi parse <username> %placeholder%
anyone know how to remove space from a placeholder have output like this:
3mo 2w 3d
thanks!
@mint fable Hello! I'm currently making a custom party HUD using your parseother expansion. It works as intended but i'm having an issue and i wanted to know if you had any idea for a workaround edit 3 hours later: solution found
so my server ran out of storage due to an issue, we resolved the issue (deleting no server data), now placeholder data is gone. ideas on how to fix it?
Please, can anyone help me resolve this?
Server thread/WARN]: [PlaceholderAPI] Cannot load expansion vault due to an unknown issue. [16:56:37] [Server thread/WARN]: [PlaceholderAPI] Cannot load expansion luckperms due to a missing plugin: LuckPerms
do u have LuckPerms plugin?
Yes, luckperms and vault
delete both files from the expansions folder and download them again
may be worth doing it with the plugins too
resolved, thank you
help how to make extension
i want to have placeholder for pluginn that isnt in ecloud
bump
minecraft:diamond_sword[enchantments={levels: {"mythic:ender":1}}]
how to write a checkitem placeholder that checks for this custom enchant?
Ik this is probably asked aton here but is it possible for placeholders in lores of items or would I need something besides placeholderAPI
help how to make extension
i want to have placeholder for pluginn that isnt in ecloud
Hi, Nice to meet you.
hello, i have a velocty network and i want to display the playercount of my server "survival" in the server "lobby" using a hologram. Im not sure which placeholders to use. can someone help?
Hi Nice to meet you every body!
My server is not able to contact "api.extendedclip.com" using port 80 (http) but can 443(https). Is this expected
Its causing issues as its saying 0 items found
share your full error
Ill get back to you on this in an hour or 2, once server owner is online. I just host. Sorry!
anyone
if the plugin you are using supports it, yeah
wdym
lores are a default mc feature no? how could I make lore support placeholders
are you talking about using placeholders in the normal vanilla give command or something
minecraft has this thing called 'lore' kinda like a naming a tool but u can have more than 1 lore how can I make it support placeholders
if I use for example itemedit to set lore of a item lets say %player_name% it doesn't set it to a placeholder
that appears to be issue w placeholderapi not supporting lores not itemedit
the name of the level?
actually nvm
the goal really is to check if the custom enchant exists in the held item
the player placeholder worked just fine
%player_item_in_hand_level_MYTHIC:ENDER%
Hey, I wanted to ask a question. Im currently using the TAB plugin for my scoreboard and wanted to know if theres a way to make it so if a player isn't in a town, the placeholder would display "None"
It is now set as:
- 'Town: %townyadvanced_town%'
If a player is in the town, it works fine, but if a player is not in a town, It just remains blank. I wanted to know if theres a way so if a player isnt in a town, the placeholder would read out "None"
Im getting this: 0 placeholder hook(s) registered!
private static ICraftTokens plugin;
public PlaceholderAPIHook(ICraftTokens plugin){
this.plugin=plugin;
}
@Override
public @NotNull String getIdentifier() {
return "iCraftToken";
}
@Override
public @NotNull String getAuthor() {
return "DreadIce";
}
@Override
public @NotNull String getVersion() {
return "1.0.0";
}
@Override
public String onPlaceholderRequest(Player player,String params){
if (params.equalsIgnoreCase("bal_survival")){
return String.valueOf(getters.getBalance(player,"survival"));
}
return null;
}
}```
and ive registed in my main: ```if(Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI")) {
PlaceholderAPIHook = new PlaceholderAPIHook(this);
getLogger().info("Placeholder API and Hooks enabled too.");
}```
i get the logger.info in the console but the hooks arent avaliable :/
you have to call the register method on your expansion instance
Thereās no errors in the logs
not looking for errors, looking for your log message and the ones that come before
ive pasted it for u
sorry, went to bed
from what I can see, the expansion loads correctly
is it not showing in /papi list?
which placeholder did you use and where? (as in, in which plugin)
oh its working now :/
thanks @junior musk dont k what happened but its working now haha
How do I implement the code \n?
need javascript
https://prnt.sc/EVAC7ctQbJvd
https://prnt.sc/EGydeDmx_WH6
please
Why dont you ask them lol
hey I have a problem when I join my server in Minecraft versions below 1.20.6 the placeholders don't appear. WHY?
anyone know of a way to shorten a placeholder expression to its own placeholder? i need to convert this:
%changeoutput_>_input:{tm_tick}_matcher:12699_ifmatch:{changeoutput_<_input:{tm_tick}_matcher:23300_ifmatch:true_else:false}_else:false%
into this:
%is_night%
i just need this in a context, but the way contexts are evaluated doesnt give the ability to include placeholders within placeholders (as far as im aware). the expression always evals to false}_else:false when trying via lp contexts, but using the papi test feature it returns true/false
any update on tis
I have this placeholder:
%string_substring_{string_lastIndexOf_{luckperms_prefix}_&#}_{luckperms_prefix}%
I was wondering if anyone could tell me how to do conditions (if-else) in papi? I.e. if the lastIndexOf evaluates to -1 the whole placeholder should evaluate to ?
Hey! I would like my argument "player" to work in this "requirement" section input
menu_title: 'Profile'
register_command: true
open_command:
- profile
args:
- player
size: 36
items:
isonline:
display_name: "&aConnectƩ"
material: lime_dye
slot: 9
priority: 2
view_requirement:
requirements:
isonline:
type: string equals
input: "%parseother_{player}_{player_online}%"
output: "yes"
I have this error in my console
[20:21:41 WARN]: [DeluxeMenus] Plugin DeluxeMenus v1.14.0-Release generated an exception while executing task 1122
java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
at ParseOtherExpansion.onRequest(ParseOtherExpansion.java:40) ~[?:?]
at PlaceholderAPI-2.11.6 (5).jar/me.clip.placeholderapi.replacer.CharsReplacer.apply(CharsReplacer.java:119) ~[PlaceholderAPI-2.11.6 (5).jar:?]
at PlaceholderAPI-2.11.6 (5).jar/me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:71) ~[PlaceholderAPI-2.11.6 (5).jar:?]
at DeluxeMenus-1.14.0-Release (6).jar/com.extendedclip.deluxemenus.menu.MenuHolder.setPlaceholders(MenuHolder.java:102) ~[DeluxeMenus-1.14.0-Release (6).jar:?]
at DeluxeMenus-1.14.0-Release (6).jar/com.extendedclip.deluxemenus.requirement.InputResultRequirement.evaluate(InputResultRequirement.java:21) ~[DeluxeMenus-1.14.0-Release (6).jar:?]
at DeluxeMenus-1.14.0-Release (6).jar/com.extendedclip.deluxemenus.requirement.RequirementList.evaluate(RequirementList.java:21) ~[DeluxeMenus-1.14.0-Release (6).jar:?]
at DeluxeMenus-1.14.0-Release (6).jar/com.extendedclip.deluxemenus.menu.Menu.lambda$openMenu$5(Menu.java:378) ~[DeluxeMenus-1.14.0-Release (6).jar:?]
at org.bukkit.craftbukkit.scheduler.CraftTask.run(CraftTask.java:78) ~[paper-1.21.4.jar:1.21.4-177-e5a8ee8]
at org.bukkit.craftbukkit.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) ~[paper-1.21.4.jar:1.21.4-177-e5a8ee8]
at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[paper-1.21.4.jar:?]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
hello
1:
type: ">="
input: "%luckperms_check_permission_essentials.warps.nether%"
output: 1
deny_commands:
- "[message] §fī„ &8Ā» &cĆnce Netherı AƧmalısın!"```
I want to query permissions using changeoutput, I did it this way but it didn't work. I couldn't figure out what to write in the matcher section, I read your wiki but didn't understand. Could you please help me? I really need it.
Note: I want to query the permission "essentials.warps.nether."
@sharp jay
i want to create a menu that displays all users groups in a track (luckperms groups)
so like it shows the jobs they have on that track in a list
Jobs track:
- group 1
- group 2
is it possible with placeholderapi itself or would i need to create/add another plugin to do this
Attribute¶
papi ecloud download Attribute
Adds placeholders to access Attributes. (Minecraft wiki)
The expansion can be used only on 1.9+
/papi ecloud download Attribute does not work
1:
type: ">="
input: "%luckperms_check_permission_essentials.warps.nether%"
output: 1
deny_commands:
- "[message] §fī„ &8Ā» &cĆnce Netherı AƧmalısın!"```
I want to query permissions using changeoutput, I did it this way but it didn't work. I couldn't figure out what to write in the matcher section, I read your wiki but didn't understand. Could you please help me? I really need it.
Note: I want to query the permission "essentials.warps.nether."
I'm pretty sure that LuckPerms placeholder returns yes/no and not true nor 1
I see, you changed it to "yes" but it still didnāt work. You canāt figure out what to do, and you really need help. Please share your current code so we can find and fix the issue together!
"%changeoutput_>=_input:{luckperms_check_permission_essentials.warps.nether}_matcher:yes_ifmatch:&aā_else:&cā% &fNether AƧmalısın"
type: ">="
input: "%luckperms_check_permission_essentials.warps.nether%"
output: yes
deny_commands:
- "[message] §fī„ &8Ā» &cĆnce Netherı AƧmalısın!"```
Hello, I want to create a thermometer item, which will change its texture somehow using placeholder %rs_temperature% (from realistic seasons plugin). But I don't know how to do it, the only thing I can think of is running "/item modify" command on each slot and modifying item's data. But this would be very computationally expensive.
Is there any placeholder which is able to modify item located anywhere in player's inventory without extreme calculation cost?
Maybe there's an easier way to achieve this, like some tag-related mechanic in resource-pack that will change item's texture completely client-side?
Placeholders do not modify anything. Or at least they shouldn't be doing that. The purpose of placeholders is returning data that can be displayed or used somewhere else by other plugins
still no response š¦
how can i use an placeholder but for an player, like as an example %statistic_hours_played_%player_displayname%?
do you use ajleaderboard for the placeholder?
to who goes this question?
you
you should use ajleaderboard and add statistic_play_time_displayname
there is no other way afaik
placeholderAPI allows you to use the placeholders and download their builds from ecloud
ajleaderboard allows you to make custom placeholders
i am using skript for making custom placeholders.
i may be wrong, you can ask someone else too
then you don`t need ajleaderboards
but you still can`t do placeholder in another placeholder
There is no support for lore placeholders. Sadly there are no signs of intention to add it
rip
Hi everyone! I'm a Help-Chat fan and looking for someone to work with on a freelance project. I plan to donate to this server and share it with others.
Does anyone know the best way to donate? I'd like to hear from someone who has donated before.
If you like Help-Chat and want to work with us, you don't need any experience or technical knowledge. Let's connect and build something great!
Hi, is soon will papi support folia?
Is there any place holder to return how many of a certain block a player has in their inventory?
CheckItem
Guys how do i use placeholderapi on skript.
command /erankup:
permission: op
trigger:
# Fetch the highest group by weight using PlaceholderAPI
set {_rank} to placeholder "%luckperms_highest_group_by_weight%"
execute console command "lp user %player% parent set {_rank}"
wait 0.5 seconds
execute console command "lp user %player% promote rankup"
nvm j got it
nvm i dont
how to download papi ecloud download interactive chat
anyone have any issues with PAPI on 1.21.4 and the Eco plugins EcoBits specifically
Anyone know how to make MSPT %server:mspt% show with decimal numbers?
can i get answer soon?
no, but there is an open PR if you wish to build it yourself
https://github.com/PlaceholderAPI/PlaceholderAPI/pull/980
okay, i found it, it's works
%math_1-20%%
how does it work to make a percentage in a placeholder
you can do something like this %math_1-(1*20/100)%
thx
Hi there
everyone I have a plugin that doesnt take @p in its syntax for example I cant use : /samplecommand @p
if i install Placeholder API can i use it as /samplecommand %player% ?
or does it require that plugin to do something to be able to support this?
The plugin would have to support the use of PAPI
Maybe you should ask in the specific pluginās support as there probably will be some equivalent of %player%
Damn, thanks for the answer š
I knew that there is nothing like @p in it wanted to bypass it somehow because they aren't planning on adding it
so how can i make dm display other plugins placeholders
Whats the best option to call a suspending kotlin function that returns the value for a placeholder extension? Is there a kotlin corountines "addon" or something like this?
In Kotlin, when you want to call a suspending function within a non-suspending context (like a placeholder or an extension function that isn't marked as suspend), you have a few options. Kotlin coroutines do not have a specific "addon," but you can use the existing coroutine functionality to achieve your goal.
hi, how do I get the current world time? I'm using %world_time_*{player_world}*% and it doesn't work...
pls help
figured it out... use Utils expansion: %utils_parse_world_time_*{player_world}*%
i need to return the data from a database query to a placeholderapi placeholder? how do i do it properly ? i wanted it be async if possible
make your expansion extend Taskable, override the start() method and run a repeating task that fetches data from your db and caches them in a Map
then simply retrieve values from your Map in your onRequest method
[14:39:28 WARN]: [PlaceholderAPI] [math] Invalid Placeholder detected!
[14:39:28 WARN]: [PlaceholderAPI] [math] Placeholder: %math_3 + floor(3 * (%
[14:39:28 WARN]: [PlaceholderAPI] [math] Cause: '3 + floor(3 * (' is not a valid Math expression.
[14:39:28 WARN]: [PlaceholderAPI] [math] Invalid Placeholder detected!
[14:39:28 WARN]: [PlaceholderAPI] [math] Placeholder: %math_1 + floor(9 * (%
[14:39:28 WARN]: [PlaceholderAPI] [math] Cause: '1 + floor(9 * (' is not a valid Math expression.
[14:39:28 WARN]: [PlaceholderAPI] [math] Invalid Placeholder detected!
[14:39:28 WARN]: [PlaceholderAPI] [math] Placeholder: %math_1 + floor(6 * (%
[14:39:28 WARN]: [PlaceholderAPI] [math] Cause: '1 + floor(6 * (' is not a valid Math expression.
[14:39:28 WARN]: [PlaceholderAPI] [math] Invalid Placeholder detected!
[14:39:28 WARN]: [PlaceholderAPI] [math] Placeholder: %math_1 + floor(4 * (%
[14:39:28 WARN]: [PlaceholderAPI] [math] Cause: '1 + floor(4 * (' is not a valid Math expression.
[14:39:28 WARN]: [PlaceholderAPI] [math] Invalid Placeholder detected!
[14:39:28 WARN]: [PlaceholderAPI] [math] Placeholder: %math_1 + floor(3 * (%
[14:39:28 WARN]: [PlaceholderAPI] [math] Cause: '1 + floor(3 * (' is not a valid Math expression.
[14:39:28 WARN]: [PlaceholderAPI] [math] Invalid Placeholder detected!
[14:39:28 WARN]: [PlaceholderAPI] [math] Placeholder: %math_1 + floor(5 * (%
[14:39:28 WARN]: [PlaceholderAPI] [math] Cause: '1 + floor(5 * (' is not a valid Math expression.
idea? š
you're trying to use a % inside a math placeholder
send the entire placeholder you're using
- "&5ā &7Schutz: &d%math_3 + floor * 3 * (%libreforge_item_level_cozy_boots% - 1) / 99%&7/&56"
- "&5ā &7Haltbarkeit: &d%math_1 + floor * 9 * (%libreforge_item_level_cozy_boots% - 1) / 99%&7/&510"
- "&5ā &7Dornen: &d%math_1 + floor * 4 * (%libreforge_item_level_cozy_boots% - 1) / 99%&7/&55"
- "&5ā &7Federfall: &d%math_1 + floor * 5 * (%libreforge_item_level_cozy_boots% - 1) / 99%&7/&56"
- "&5ā &7WasserlƤufer: &d%math_1 + floor * 3 * (%libreforge_item_level_cozy_boots% - 1) / 99%&7/&54"
- "&5ā &7SeelenlƤufer: &d%math_1 + floor * 4 * (%libreforge_item_level_cozy_boots% - 1) / 99%&7/&55"
replace the %% around the libreforge placeholders by {}
like
- "&5ā &7Schutz: &d%math_3 + floor * 3 * ({libreforge_item_level_cozy_boots} - 1) / 99%&7/&56"
?
or {%placeholder%}
display_name: '&2į“į“į“į“į“É“ Źį“Źį“į“į“'
enchantments:
- AQUA_AFFINITY;1
- PROTECTION; 1
- RESPIRATION; 2
left_click_commands:
- '''[console] /give %player_name% diamond_helmet[trim={pattern:wild,material:emerald},custom_name='["",{"text":"į“į“į“į“į“É“ Źį“Źį“į“į“","italic":false,"color":"dark_green"}]',enchantments={levels:{aqua_affinity:1,protection:1,respiration:2}}]'''
[14:47:57 WARN]: [PlaceholderAPI] [math] Invalid Placeholder detected!
[14:47:57 WARN]: [PlaceholderAPI] [math] Placeholder: %math_1 + floor(3 * ({libreforge_item_level_cozy_boots} - 1) / 99)%
[14:47:57 WARN]: [PlaceholderAPI] [math] Cause: 1 + floor(3 * ({libreforge is not a valid integer number.
is it possible to give the item i have listed above directly to the player
because
if i try to use the /give command it messes up the hypotheses
and just disables the command
@junior musk
/papi parse me %libreforge_item_level_cozy_boots%
what does it say in chat?
no
send the command
answer is 1 this is korrekt
but cosole warnings
/papi parse me %math_1 + floor(3 * ({libreforge_item_level_cozy_boots} - 1) / 99)%
and what about /papi parse me %math_1+floor(3*({libreforge_item_level_cozy_boots}-1)/99)% ?
1
then it's working?
what
is there an example code, do i just put a scheduler timer into the start method ?
i having a placeholder that getting per player data, not sure if caching the entire db into the map is a great option
I don't have any example, and yeah it's basically just a timer
You could fetch only the values that were requested instead of all of them, as in, in your onRequest method, check if the data you want is in the map.
If it is, then return it, if it's not, add it to a list and return "Loading..." or smth.
Then, in your timer, fetch all the data in the list and put the values in the map
how glow item in deluxemenus gui please
?dm-glow
thx
left_click_requirements:
requirements:
HasKey:
type: Javascript
expression: '%coinsengine_balance_raw_commonkeys% >= 1'
deny_commands: '[console] execute at %player_name% run playsound minecraft:entity.villager.no playerr %player_name% ~ ~ ~ 100000'
anyone know why this doesnt really work?
im trying to mkae it so that the plugin checks whether player has enough keys or not
but it doesnt wok
work
@mint fable
pls
@mint fable
@junior musk
By "not update", does it still show the %placeholder% instead of its value, or does the value not change?
And which placeholder are you using?
Yah
i didnt quite get the part that you said about the part fetch only the values that were requested, could you give me an example please ?
I'm in phone at the moment so can't really
what kind of data are you fetching from the db?
the whole row, i would serialize it to an object, the key is player uuid
i have 2 placeholder, one returns a list joined together, one return a string
so you fetch the row based on the player's uuid right?
you could have a map holding both a player and your object, then check in onRequest if the player is in the map
if the player is in the mai, you get your object and return it however you like
if the player isn't in the map, you'd add it to a list
in your repeating task timer (in your start() method), you'd fetch all the rows for all players in that list
I'll get on pc in like 10min, I'll try to give you an example
private final Map<Player, YourObject> cache = new HashMap<>();
private final List<Player> requestedPlayers = new ArrayList<>();
@Override
public void start() {
Bukkit.getScheduler().runTaskTimerAsynchronously(getPlaceholderAPIPlugin(), () -> {
// fetch data for all players in requestedPlayers
}, <delay>, <period>);
}
@Override
public String onRequest(OfflinePlayer player, String params) {
if (player == null) return "";
if (!cache.containsKey(player)) {
requestedPlayers.add(player);
return "Loading...";
}
YourObject data = cache.get(player);
// handle data & return
}
ok thanks you, i understand that now :d
Hi this DeluxeMenu command doesn;t work for me
- '[console] give %player_name% apple 1'
- '[console] give %player_name% apple 1'
This doesnt work
any console errors ?
Sorry I realised I didnt have the Player papi expansion
Which I didnt realise I needed
ok, good luck
Hello š
public class GradientExpansion extends PlaceholderExpansion {
@Override
public @NotNull String getIdentifier() {
return "hoplin_gradient";
}
@Override
public @NotNull String getAuthor() {
return "HoplinMC";
}
@Override
public @NotNull String getVersion() {
return "1.0.0";
}
@Override
public @Nullable String onRequest(OfflinePlayer player, @NotNull String params) {
Gradient gradient = new Gradient();
gradient.addColor("#D91A1A");
gradient.addColor("#6B1F20");
gradient.addColor("#212224");
return gradient.generateName(Objects.requireNonNull(player.getName()));
}```
I made this small extension and did this to register it
```java
public void onEnable() {
if (Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI")) {
new GradientExpansion().register();
getLogger().info("Registered Gradient Expansion!");
}```
How ever when I run /papi parse me %hoplin_gradient% it returns the placeholder to me
:(
I followed the docs to make this btw^
the identifier shouldn't contain _
shoot
syntax is %<identifier>_<params>%
you probably want to instead have the identifier be hoplin, and check if the params equal gradient
oo alr
š imma just remove the _
Ugh, I changed it to hoplingradient it's still returning the placeholder
sorry I lied...I forgot to put % %
gg
how can I parse an offline player's placeholder?
with ParseOther or Utils, just like you would with an online player
though the placeholder you use isn't guaranteed to support offline players
first join date
does exist a placeholder that say the last command u did without the /
i need it to replicate some stuff
can i make custom placeholders?
hey, are placeholders different in 1.21, I've just updated our server and no placeholders are working, I can't see an errors in console and the plugin is up-to-date (2.11.6)
Depending on the version you come from, you might need to redownload some expansions
/papi list and make sure all are green
if they are, test one of each to realize which expansion is not working
Hi! Development question here. I'm using Gradle, and It's unable to resolve PAPI with this error: ```
Could not resolve me.clip:placeholderapi:2.11.1.
> Could not get resource 'https://papermc.io/repo/repository/maven-public/me/clip/placeholderapi/2.11.1/placeholderapi-2.11.1.pom'.
> Could not GET 'https://papermc.io/repo/repository/maven-public/me/clip/placeholderapi/2.11.1/placeholderapi-2.11.1.pom'. Received status code 403 from server: Forbidden
Paper says the endpoint is retired. Can someone guide me to properly include it?
Hey, there's a way to show %server_time_MMMM dd, yyyy% Month on Spanish instead of English?
thanks š
there is another option instead of adding Duser.language=es -Duser.country=ES before the -jar?
it possible to change font in placeholders for example numbers?
%checkitem_give_amt:{math_0:0_({player_empty_slots}*64)},mat:wheat%
what it don't works ?
@idle coral @warm topaz @gleaming charm
Hello
Hello all, what I'm need to do if I want upload extension to ecloud?
@balmy marten
Have you got a link to it's github?
DM me and I'll get you setup
thanks
what to do if on uploading shows error {'Detail': 'Invalid source_url. Please provide a valid URL.', 'Error': 1} for github link?
What do I do if a plugin i need placeholders for isn't currently listed on the ecloud
Looks like the Dependency URL field is marked as required. Just throw something in there for now
thanks!
im getting this error whenever I reload papi https://paste.helpch.at/axeyedutec.rb
Seems to be caused by the NumberFormatter expansion. Report it to its dev
thank you! that's fixed all of my problems from upgrading hahaha
how much time is usually taken by verification extension on ecloud?
depends whether one of the moderators have time, they usually check soon enough
can you send the link to your expansion ?
yes, here is it
https://api.extendedclip.com/expansions/worldstatusplaceholder/
papi plugin for 1.21.4?
The latest version of the server expansion has a locale option. Keep in mind that (sadly) it contains a breaking change that requires to supply a time for countdowns. Just the data (dd-MM-yyyy) is not enough, you need hh:mm as well, it can be set to 00:00 (12 o'clock midnight, start of day).
Is there a placeholder that returns percent sign? (%)
%ascii_37%
With PAPI, how do I get places for placeholder stats? Like, if I want to display the 10th place for %statistic_mine_block%, how do I do that?
Hello, why my placeholders isn't registered?
override fun onEnable() {
// Register PAPI extension if placeholder API is installed.
if (Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI")) {
HardcoreExtension(mainConfig, mysqlConnection, multiverse).register()
}
}
class HardcoreExtension(
private val config: MainConfig,
private val connection: Connection,
private val multiverse: MultiverseCore
): PlaceholderExpansion() {
override fun getIdentifier(): String {
return "hardcore"
}
override fun getAuthor(): String {
return "Zaksen_"
}
override fun getVersion(): String {
return "1.0.0"
}
override fun persist(): Boolean {
return true
}
override fun onRequest(player: OfflinePlayer?, params: String): String? {
if(player == null) {
return null
}
if(player.player == null) {
return null
}
val world = player.player!!.world
if(!isHcWorld(world)) {
return null
}
return when(params.lowercase()) {
config.placeholders.totalTimePlaceholder -> {
// Some code
}
config.placeholders.sessionTimePlaceholder -> {
// Some code
}
config.placeholders.unbanTimePlaceholder -> {
// Some code
}
else -> null
}
}
private fun isHcWorld(world: World): Boolean {
// Some code
}
}
I got that:
[PlaceholderAPI] Placeholder expansion registration initializing...
0 placeholder hook(s) registered!
check /papi list
if it shows there, it's fine
the message only counts external expansions downloaded form the ecloud, not expansions registered by plugins
Yes, my extension is on the /papi list, thanks.
Can you help me? I get back that the world is invalid, but the placeholder is correct.
%xwr_reset_status_vanilla-world_nether% | 20d, 3h, 55m, 25s
%javascript_reset_vanilla-world_nether% | Invalid World
I already tried this js using PlaceholderAPI.static.setPlaceholders(BukkitPlayer, ā%xwr_reset_status_vanilla-world_netherā%")
and it works fine
I don't know why it returns that the world is invalid.
function convertToSeconds(timeString) {
if (!timeString || typeof timeString !== "string" || timeString.indexOf("Invalid") !== -1) {
return 0;
}
var parts = timeString.split(", ");
var days = 0;
var hours = 0;
var minutes = 0;
var seconds = 0;
for (var i = 0; i < parts.length; i++) {
var part = parts[i];
if (part.indexOf("d") !== -1) {
days = parseInt(part.replace("d", ""), 10) || 0;
} else if (part.indexOf("h") !== -1) {
hours = parseInt(part.replace("h", ""), 10) || 0;
} else if (part.indexOf("m") !== -1) {
minutes = parseInt(part.replace("m", ""), 10) || 0;
} else if (part.indexOf("s") !== -1) {
seconds = parseInt(part.replace("s", ""), 10) || 0;
}
}
var totalSeconds = (days * 86400) + (hours * 3600) + (minutes * 60) + seconds;
return totalSeconds;
}
function getResetTimeInSeconds() {
var worldName = args[0];
print("Nombre del mundo: " + worldName);
var timeString = PlaceholderAPI.static.setPlaceholders(BukkitPlayer, "%xwr_reset_status_" + worldName + "%");
print("Tiempo obtenido: " + timeString);
if (!timeString || typeof timeString !== "string" || timeString.indexOf("Invalid") !== -1) {
return "Error: El mundo no es vƔlido o no existe"; // Mensaje de error
}
var seconds = convertToSeconds(timeString);
return seconds;
}
getResetTimeInSeconds();
I'm trying to use the parseother expansion placeholders inside a formatter placeholder
%parseother_{player}_{formatter_number_{statistic_hours_played}}%
but it doesn't work. Is there any solution for this?
Hello, i'am trying to create placeholders, but them didn't work.
I see that in console:
Before: You are currently playing without a break: %hc-session-time%
After: You are currently playing without a break: %hc-session-time%
Code:
val serialized = MiniMessage.miniMessage().serialize(configs.mainConfig().messages.hcCmdSession)
println("Before: $serialized")
val msg = PlaceholderAPI.setPlaceholders(sender, serialized)
val componentMsg = MiniMessage.miniMessage().deserialize(msg).decoration(TextDecoration.ITALIC, false)
println("After: $msg")
Placeholder even didn't use method from extension (onPlaceholderRequest), because i'am didn't get any messages from it:
override fun onPlaceholderRequest(player: Player, params: String): String? {
val world = player.player!!.world
if(!isHcWorld(world)) {
println("World isn't hcworld")
return null
}
println("Params: " + params.lowercase())
println("First placeholder: " + config.placeholders.totalTimePlaceholder)
// Some other code
return null
}
%hc-session-time% doesn't follow PlaceholderAPI's placeholder syntax
it should be %<identifier>_<params>%
in your case, either hc is the identifier and session-time the params, meaning %hc_session-time%
or hc-session is the identifier and time the params, meaning %hc-session_time%
is there a way for a placeholder to be like %vault_ecobalance(playername)% and it shows the player typed placeholder to others because i want to make a command like /money player or /kills player
when will papi be updated to 1.21.4?
It's been usable on 1.21.4 for a looong time now
It is, but it's also throwing an error on start up.
Works for me, maybe sharing logs in a pastebin might help
/papi ecloud download Server
/papi reload
your Server expansion is outdated, this will update it
Thanks!
When CheckItem for 1.21.4?
u can change the nbtapi version of it and boom its gonna work
If a plugin config uses hard coded placeholders: {name} in its config, is it possible to somehow combine it with a separate global placeholder like %kills_<player_name>% (for example)
to make something like %kills_{name}%
kills is a hypothetical placeholder
please @ me directly if you respond, i will go afk
Business owners, listen up! I'm building my portfolio and want to help you establish a strong online presence. Get in touch for a custom website design that will make your brand sparkle! š
if that plugin parses its internal placeholders before PAPI placeholders, then yes
If you want to use that argument as a playername, you can use the Utils or ParseOther expansions for that
/papi ecloud download Utils
/papi reload
%utils_parseother:[{name}]_statistic_player_kills%
hey, could someone please help me identify which expansions are causing these errors in startup log/preventing ecloud updates? expansions "Server" and "spark" will not update
[PlaceholderAPI] Failed to load external expansion server. Identifier is already in use.
[PlaceholderAPI] Failed to load external expansion spark. Identifier is already in use.```
https://paste.helpch.at/vibojubeda
you have 2 jars for each of these expansions in your /plugins/PlaceholderAPI/expansions folder
remove one of the two for each
thank you š
Spark expansion doesn't seem to want to update, can this be ignored? Spark placeholders seem to parse correctly.
Successfully downloaded expansion spark [1.0-R1] to file: Expansion-spark.jar
Make sure to type /papi reload to enable your new expansion!
[PlaceholderAPI] Fetching available expansion information...
[PlaceholderAPI] Placeholder expansion registration initializing...
[PlaceholderAPI] Fetching available expansion information...
...
[PlaceholderAPI] Successfully registered external expansion: spark [1.0]
...
17 placeholder hook(s) registered! 1 placeholder hook(s) have an update available.
https://paste.helpch.at/wiveratiki
Just gonna ignore it for now, it's a non-issue
looks like they removed the colors ecloud thing?
I was using that for hex color codes back in the day, what am I supposed to do instead?
anyone have checkitem version that works on 1.21.x?
I ve a problem š¢
I m using Vault, economy, Dh hologram and ajLeaderboard, I'm trying to do a leaderboard about money but The database is always empty
Tyy!
How can I put a custom header on the menu? I'm using version 1.8 of deluxemenu.
e
I'm looking for the best way to manage a placeholder. I'm using DeluxeTags, and I'm not sure on what the best way would be to return a "false" value if a player does not currently have a tag equipped. I want to do this through placeholders. I'd appreciate any help :)
Well said brother
https://wiki.placeholderapi.com/users/placeholder-list/#deluxemenus none of these do what you want?
For DeluxeTags, the %deluxetags_tag% gives me what I should want, but when a tag is not applied, it gives an empty string. Ideally, I'd need a way to add a value to the empty string in the placeholder.
help
I get an error from placeholderapi that says:
[PlaceholderAPI] Failed to download expansion information
java.net.ConnectException: Connection timed out: connect
Can anyone help me?
help pls
I get an error from placeholderapi that says:
[PlaceholderAPI] Failed to download expansion information
java.net.ConnectException: Connection timed out: connect
Could be your host / ISP blocking connections to the api url
http://api.extendedclip.com
https://paste.helpch.at/afujiqabet.css
plugin still works, getting this error. can it caus potential problems and how to fix
Have you tried 2.11.6 at all?
i did and get the same thing but let me try one more time
https://paste.helpch.at/cacatibeda.css
yeah same
Thats expected, thought i'd just make sure it wasn't a development build issue. I'm not too great with PAPI so
yeah thanks
could be a version thing because i have another server on 1.20.6 and no issue
this error is on a 1.21.4
nah well i use 2.11.6 on version 1.21.4 for my server right now so im thinking maybe your host isnt letting you connect to papi
but youll definitely need somebody with ball knowledge here to diagnose that haha, hopefully you find what you're looking for
thank you anyways
weird thing is everything works except this error is causing me to run /papi reload to get the placeholders to work each time the server restarts lol
I updated my server from 1.16.5 to 1.21.4 and all plugins are up to date but it keeps spamming the console and it says TAB error and a placeholder appears instead of my name in the tab section. Can you help me?
at TAB v5.0.7.jar/me.neznamy.tab.platforms.bukkit.platform.BukkitPlatform.lambda$registerUnknownPlaceholder$6(BukkitPlatform.java:178) ~[TAB v5.0.7.jar:?]
at TAB v5.0.7.jar/me.neznamy.tab.shared.placeholders.types.ServerPlaceholderImpl.request(ServerPlaceholderImpl.java:113) ~[TAB v5.0.7.jar:?]
at TAB v5.0.7.jar/me.neznamy.tab.shared.placeholders.PlaceholderRefreshTask.run(PlaceholderRefreshTask.java:50) ~[TAB v5.0.7.jar:?]
at TAB v5.0.7.jar/me.neznamy.tab.shared.features.PlaceholderManagerImpl.lambda$refresh$1(PlaceholderManagerImpl.java:89) ~[TAB v5.0.7.jar:?]
at TAB v5.0.7.jar/me.neznamy.tab.shared.cpu.TimedCaughtTask.run(TimedCaughtTask.java:28) ~[TAB v5.0.7.jar:?]
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) ~[?:?]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[?:?]
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
at java.base/java.lang.Thread.run(Thread.java:1575) ~[?:?]
[08:38:13 ERROR]: Thread TAB Placeholder Refreshing Thread failed main thread check: Chunk getEntities call
java.lang.Throwable: null
hey
i need help for placeholderapi because on my skyblock all working in my server survival or my hub not working and 3 4 day before its working
hi, is there a way to use CheckItem expansion to get only the number value of a certain lore string?
i'm trying to get the value 5.5 from this item: https://imgur.com/a/eLWujd3
and so far, i only have this placeholder to retrieve all of the item's data: %checkitem_getinfo:mainhand% https://imgur.com/a/e4vwf36
no
hold the item and try this command /data get entity [your name] SelectedItem, maybe the value is also stored somewhere in the item.
stop multi posting this ..
I didnāt know where to ask sorry mb
Do you know how this variable works? I copied the example, but it says INVALID DATE.
%server_countdown_<SimpleDateFormat>_<time>%
e.g. %server_countdown_dd.MM.yyyy_01.01.2020%
is there a placeholder to check potion effect lvl, like speed 3
I found this, but does it show lvl? %player_has_potioneffect_<effect>%
no it doesn't, only shows yes/no
so any way to get the effects lvl?
hello it not working when i try download from the ecloud
is there a way to passthrough papi placeholders to bungee or run papi on bungee?
You also need time, use hh:mm and 00:00
And well, the date needs to be in the future xD
/papi parse me %essentials_baltop_player_%
Anyone know why this wouldnt parse?
Have you downloaded the expansion?
And Iām assuming youāve added a number to the end?
%essentials_baltop_balance_<rank>% is the placeholder.
/papi ecloud download Essentials
/papi reload
if i want a command to use %player_name% but run it from the console would: targetPlayer = Bukkit.getPlayer(PlaceholderAPI.setPlaceholders(player, "%player_name%"));
Hi guys do any one know in discord.py ???
help loading placemats ?
Is there anyway to add mctop to holograms?
Yes
Is there a %wins% thingy or not? (for hunger games) Because I want to add wins to my scoreboard but idk how
I do, also know nextcord which is much more advanced
is there a way to only parse placeholders of specific expansions?
Why doesn't the %essentials_nickname% have the nickname prefix (default "~"). I'm using that placeholder to make so that nicknames show up in chat and tab, but I want some way for people to know when someone is using a nickname.
I would think that it is supposed to as we also have the %essentials_nickname_stripped% placeholder which seems to essentially do the same thing.
placehoder api
error
https://paste.helpch.at/vaqipitube.rb
hi, my placeholder api doesn't work in deluxemenus. Like if you do through Parse, for example /papi parse me %player_name%, then everything is fine, and if you write a placeholder inside deluxemenus, then it is not displayed
Ńan someone help with this?
it is the same placeholder, but _stripped strips the nickname of any color formatting
currently there is no placeholder to add the nickname prefix, however i can see there is a method in essentials API... if i get bored i might add it
š
i believe if u get u can use PlaceholderAPI#getExpansionsManager, then call the expansion onRequest() method that way... or something along those lines
where are u using the placeholder within deluxemenus?
ur host/firewall could be blocking the connection to the ecloud website, however u can download any expansion u need from https://api.extendedclip.com/all/
just in the lore
https://i.ibb.co/Qjb00PS4/image.png
Hey there! This command works: /papi parse PBobzebuilder %math_1*((({scs_player_max_chunks_total}+5)*({scs_player_max_chunks_total}+5+1)-{scs_player_max_chunks_total}*({scs_player_max_chunks_total}+1))/2)%
Outputting: 115. However, when I copy paste this very same placeholder in deluxemenus, it does not seem to work, effictively displaying the whole placeholder without the replacement. Any idea?
is the head material working, or playtime placeholders?
only 2 working
https://i.ibb.co/67mFL99v/image.png
Same problem apparently.
Same goes for me as well. In the lore.
both run /papi dump pls
u need to install playtime plugin to use their placeholders
as for time since join, does that exist? i cant see anything for that
Not me that's for @gritty cave
thx
can u show ur config
Which?
ur menu
Yes.
i downloaded it, but nothing got fixed ))
sell50:
model_data: 1462
material: paper
slots:
- 14
display_name: '&6Sell a chunk &a-50'
lore:
- "&7Reduce your claim size by selling."
- '&#c47c34ā &#d6d6d6Click to sell'
- '&6Cost: &7%math_1*((({scs_player_max_chunks_total}+5)*({scs_player_max_chunks_total}+5+1)-{scs_player_max_chunks_total}*({scs_player_max_chunks_total}+1))/2)%'
- ''
left_click_requirement:
requirements:
type: (>=)
input: "%scs_player_max_chunks_total%"
output: "50"
deny_commands:
- '[message] &7You do not have enough available chunks.'
right_click_requirement:
requirements:
type: (>=)
input: "%scs_player_max_chunks_total%"
output: "50"
deny_commands:
- '[message] &7You do not have enough available chunks.'
left_click_commands:
- '[console] scs cplayer add-chunks-total %player_name% %math_{scs_player_max_chunks_total}-50%'
- '[console] eco add %player_name% %math_1*((({scs_player_max_chunks_total}+5)*({scs_player_max_chunks_total}+5+1)-{scs_player_max_chunks_total}*({scs_player_max_chunks_total}+1))/2)%'
- '[message] &7You sold fifthy chunks.'
right_click_commands:
- '[console] scs cplayer add-chunks-total %player_name% %math_{scs_player_max_chunks_total}-50%'
- '[console] eco add %player_name% %math_1*((({scs_player_max_chunks_total}+5)*({scs_player_max_chunks_total}+5+1)-{scs_player_max_chunks_total}*({scs_player_max_chunks_total}+1))/2)%'
- '[message] &7You sold fifthy chunks.'
This is the item, do you wish for the full menu? It is quite long.
have you tried testing it with /papi parse?
^
(yes)
im blind, sorry š«
is that same placeholder working correctly within the commands?
I have no idea. Not tested
and is that actually showing the correct item? i dont think (>=) type should be working with the surrounding brackets
I would assume no.
Ah! Well, regardless, the lore does not work.
uh?
according to the placeholder list those dont exist within the expansion
https://wiki.placeholderapi.com/users/placeholder-list/#playtime
I know why!
I figured it out
If you happen to be op: %scs_player_max_chunks_total% happen to return the "infinite" sign which is not the int expected by the Math expansion. Thus the placeholder not replacing. Thanks.
was just looking more into it
its kind of possible?
PlaceholderAPIPlugin#getLocalExpansionManager()
manager.findExpansionByIdentifier()
CharsReplacer#apply(String, Player, Function<String, PlaceholderExpansion>)
no idea if this would actually work, but those are the methods i can find that could work
nice, but what if even the most basic placeholders donāt work for me š
which ones? ur player expansion is working
my problem is definitely with playtime, but I can't figure out why its placeholders specifically aren't showing in the lore
ok so spigot page seems to be more updated...
are u after %playtime_time_hours% instead?
and i cannot see one for hours today
u just need to look for placeholders that actually exist to suit ur needs
i already have some placeholders, like %playtime_player%, and it doesnāt return anything
Can I get my expansion verified?
https://api.extendedclip.com/expansions/floodgate/
material: basehead-%coinsengine_top_player_classementgenerateur_4%
Why can't I see the player's head?
Hello,
I had about 8 placeholder extensions, after 20 minutes the server reached 100% cpu every time,
has this happened to anyone else?
how can i make a countdown timer with placeholders
does this still work?
hello, how I can register self placeholder for using in TAB plugin?
What is wrong I download racheling I can't Placehoder API
https://paste.helpch.at/atevogunus.rb
https://paste.helpch.at/osoyeziwag.rb
papi ecloud download vault
[15:47:40 INFO]: Failed to find an expansion named: vault
papi ecloud download lackperms
[15:47:56 INFO]: Failed to find an expansion named: lackperms
Hello everyone!
I have a problem with CheckItem expansion, I'm trying to get NBTStrings from item (%checkitem_getinfo:1_nbtstrings%) on Minecraft 1.21.3 and it results me with null. I know there is no NBTs and there is components now, but my stuff requires them for work, is there a way around about it?
Also "Enchantment" extension doesn't work at all... And not exists on ecloud (while it does on wiki list)
Hello, how are you? I recently had a problem with my server, and it's due to the Placeholder API. My server is a snapshot paper version 1.21.1. Does the plugin work fine on this version? Thanks.
looks like ur host/firewall is blocking the connection. u can download all expansions manually from here https://api.extendedclip.com/all/
and u already have vault expansion registered btw
not sure why its not on the ecloud, but it can be manually downloaded here https://github.com/TeamVK/PAPI-Enchantment/releases
the plugin does work on 1.20+, what problems are you having?
When the mobs' animation hits the player, the camera and his character go crazy.
I mean, is it even actual? I downloaded it manually, it just not letting PAPI to reload after that
vk is the owner of the expansion, they need to update the expansion to support later versions of mc
vWill there be support for Minecraft version 1.21?
Can someone help me? I have this error with placeholder.
could be a version conflict
If im not mistaken from the glance I took, the error occurs due to conflicting Guava versions loaded by different classloaders.
Hey, anyone has an example for %formatter_number_round[_[precision]:[rounding]]_1.1% expansion? I just want to remove decimals of the input
I know %math_0_ do the work but I think formatter it's way more optimized, no?
oh didn't see that github wiki, thanks Tanguygab š
https://i.imgur.com/ZNCt7Io.png oh weird
it could be the expansion version?
check your PAPI config
it's formatter: rounding: precision: 0 mode: half-up right now
And using Formatter-2.4.0 right now š
/papi parse me %formatter_number_round_0:down_1.5% returns 1.5
well that's awkward
Please help me. How can I register a placeholder in the PlaceholdeAPI plugin to display the tops in the BedWars1058 plugin? I use the Ajleaderboard plugin and there are no tops displayed.
I write like this in a gallogram - %ajlb_lb_bw1058_stats_finalkills_1_name%&b- %ajlb_lb_bw1058_stats_1_value%'
Can someone help me? I make the right placeholder and everything, it works, but it doesn't load the information, it just stays blank with ---- -----. It doesn't load any leaderboard statistics, can you help me? What can I do?
deop <nick>
thanks!
But what is the Guava version of PlaceholderAPI?
try redownload the expansion did you download it through PAPI or from an external source
The expansion is internal to my plugin. I'm creating a plugin with placeholder support, but I can't fix that error. I've tried many versions of Guava, but it doesn't work.
no no show me ur pom.xml/build.gradle in dms as-well as your version of placeholderapi
also can i get an entire trace, i dont see anywhere in that trace where your attempting to register it in your plugin
This is my pom
https://mclo.gs/6xLR13w
ok DM me full trace not snippet and also your placeholderapi version via cmd /placeholderapi
what are the placeholders for velocity server tracking player counts in global network, and specific servers? I tried %bungee_<server>% didn't work
glad we got there in the end š šŖ
so you tried the Bungee expansion?
yea
it works
its just in GUIs it doesnt
I use Akropolis for hub management
yeh thats less to do with placeholderapi then and probably whatever plugin ur using for guis
maybe it doesnt inherently support placeholderapi
and thus, doesnt parse the placeholders
it uses minimessage
yea but the plugin could still not pass the msg to placeholderapi lemme look into tha tplugin rq
https://github.com/devblook/akropolis this one?
how does your config look
@onyx iron
like in the gui for example
# Use PlaceholderAPI to get more: https://www.spigotmc.org/resources/placeholderapi.6245/
# PlaceholderAPI's placeholders use the following format: <papi:placeholder>
# Example: <papi:luckperms_prefix>
are u doing e.g. papi:bungee_someServer
its denoted on line 23 of the initial config
xd
thought they either had some custom formatting or simply just didnt hook placeholderapi xd
Hello, is there some update checker for ecloud in PAPI? That will show on join or in console, please?
/papi ecloud list installed
Hi on paper 1.21.4 my placeholders work strangely, in tabs, in menus. The placeholders work fine, but in essentials chat, and overall in essentials they don't work, can anyone help me ?
that's because Essentials doesn't support PlaceholderAPI
But on 1.20.4 everything worked ? so it's the version ? Since 1.21.4 essentials doesn't support placeholder ? Or is there some way to fix it ?
idk why it worked before but it never supported PAPI
ask Essentials' support yourself
https://prnt.sc/LU2UfSmTgSoE
joined though a proxy, the placeholderfs dont see to be working
using deluxehub
only %online% works
im using java 8
where did you get this expansion from, that error would be correct, you need to update your java runtime to Java 11.
or look for a older version of whatever expansion you are using ^
placeholderapi 1.21.4 is it publicly available?
Latest version works with 1.21.4. PlaceholderAPI will rarely break with minecraft updates
More likely the expansion would be break
Hiiii idk if im dumb, but I have a minor problem, I've been having this problem for a while now, the first time the placeholders load fine and the second time it says cannot load in the console.. I don't really know what to do with it :D
Log: https://paste.helpch.at/adoxihiloh.makefile
Can you execute /papi dump and send the generated link here? It will log some usefull stuff such as a list of expansion, server version, plugin version, etc.
Heya all, how would I begin the process of creating a placeholder which takes the value of two other placeholders and adds them? Would I need to create a custom expansion or code a completely custom plugin?
You can:
- Use the already existent Math expansion
- Create your own expansion using Java
- Create a custom plugin
- Create a custom placeholder using a scripting expansion such as the Javascript expansion
See more information about the Math expansion here: https://wiki.placeholderapi.com/users/placeholder-list/#math
With the Math expansion, does that create a placeholder I can then use in other plugins?
I am browing the Wiki right now
Yes. It would look something like this: %math_0:_{first_placeholder}+{second_placeholder}%
The 0 there specifies the precision. 0 means that no decimals will be shown. So 3.1 + 4 = 7
Yeah but this doesnāt give automatic output on startup with updates list
It parsed the placeholders, but did not add them.
hi my server [spigot 1.21.4] crashes from time to time with such error
java.lang.NullPointerException: Cannot invoke "it.unimi.dsi.fastutil.longs.LongArrayList.getLong(int)" because "this.wrapped" is null
at it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap$MapIterator.nextEntry(Long2ObjectOpenHashMap.java:664)
at it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap$FastEntryIterator.next(Long2ObjectOpenHashMap.java:779)
at it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap$FastEntryIterator.next(Long2ObjectOpenHashMap.java:774)
at net.minecraft.world.level.entity.PersistentEntitySectionManager.i(PersistentEntitySectionManager.java:312)
at net.minecraft.world.level.entity.PersistentEntitySectionManager.b(PersistentEntitySectionManager.java:323)
at net.minecraft.server.level.WorldServer.a(WorldServer.java:942)
at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:856)
at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:890)
at net.minecraft.server.MinecraftServer.bD(MinecraftServer.java:1425)
at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1399)
at net.minecraft.server.MinecraftServer.y(MinecraftServer.java:1093)
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:329)
at java.base/java.lang.Thread.run(Thread.java:1583)
and in the plugin section it is saying that the PlaceholderApi is causing it
is there any other way to solve this than removing the plugin?
upload an entire trace too paste.helpch.at.
infact just do a server log
i dont think this would be caused by placeholderapi
Heya all, does anyone have any idea why this placeholder is parsing the values of the other placeholders but not adding the two? I have download and installed the Math Expansion from Ecloud.
%math_0:_{bankplus_balance}+{cmi_user_balance}%
Hello, Iām new to plugins and server stuff and Iām just wondering how I can have a confirm purchase menu with DeluxeMenus that shows the item a player clicked on to purchase, and if itās possible to just have one menu that changes to the item they picked.
hello, can anyone help me make checkitems expansion work on 1.21.3+?
look at past versions to see what runtime they were compiled w/
fork it and change the nbtapi hook version
Hey, I'm using VentureChat to create mutiple range chat but i got an issue with PlaceholderAPI. i use the mod Hiddenname to rename player wich change their displayed name, but when i use the placeholder "player_displayname" it show their normal name instead of their modified one. am i doing something wrong or they are just no compactible ?
What is the result of this placeholder? Do you get an error/warning, do you get the wrong answer?
First issue I notice is that you mentioned "mod". PlaceholderAPI was not built for modded servers. It is meant to work on Bukkit servers (and its forks such as SpigotMC and PaperMC).
Yhea, we are useing Mohist to use plugin with forge
Then we can't really help. The Player expansion does a simpel call to the Bukkit API. I have no clue how Mohist works internally but it might have multiple APIs for display names
You might have to use a Bukkit plugin for changing/hiding the names of users
Ok ! thanks for the help then š tought it could be me doing something wrong since the plugin TAB does register the name change correctly x)
No, I don't get any warnings and errors. I am seeing the value of the other placeholders parsed, but the values from the two placeholders are not being added. So, I see something similar to this.
485262+5621241.000000123
With the same placeholder or do you use an internal placeholder from TAB?
Hmm. That shouldn't be happening. @arctic loom do you know what could be going on here? Seems like the math isn't mathing.
I am running the latest version of PAPI as well. I checked that.
Its one of their placeholder i think, but since i'm not realy experienced with plugin i stupidly tought "if one work then the other should" :p
its a string most likely
Unless there is a warning do I doubt there is an issue with the math expansion
Also, make sure you didn't enable the Disable-Warnings option obviously, or else you won't get any info.
These placeholders are four currency balances
I will check on the Disable-Warnings in a few
Disable-Warings is set to false, and there is no console errors
I just tried it again with placeholders that should definitely be a number, but I am getting the same output.
What if you try %math_2+2% or something like that?
Hi there guys
It's possible to compare two placeholders that return NUMBERS.
I need to return the one that has the biggest number
so %team1_kill% and %team2_kill%
and i need to return whoesever has more kills in this case
So, just the 2+2 did give me 4. The issue seems to be caused by adding the _0: for the rounding.
I entered %math_2+2% and I received 4.0000. I tried %math_0:_2+2% and I got %math_0:_2+2% as the output.
Try removing the :
Yeah, was going to suggest to try setting a scale
Try that with your placeholders as well
I just did - same problem as original
Can you display the placeholder you are testing right now?
Just the placeholder in game?
Yeah
YeaH
I am unable to send screenshots in the channel for some reason, but I entered %bankplus_balance% and I received 1,083,092
Hmm. I wonder if the problem is the commas
lol
Maybe it uses US formatting which uses dots instead of commas
Do you have a placeholder that returns unformatted balances?
I think I may
Please hold
That was the problem
So, I will have to use unformatted values if possible.
With the commas, it was seemingly being parsed as a string
Is there a way I would be able to convert it if the plugin does not have an unformatted placeholder?
Or would I have to use the JS expansion or create a custom plugin that does this?
everytime i try %playtime_player% it dose not work it says it built in so i dont need to the ecloud thing so whats the deal???
Is there a way to include a thousands seperator in the result?
Hello guys
I have problems with /papi ecloud download
How fix it is give timeout
[07:35:45 WARN]: [PlaceholderAPI] Failed to download expansion information
java.net.ConnectException: Connection timed out
at sun.nio.ch.Net.connect0(Native Method) ~[?:?]
at sun.nio.ch.Net.connect(Net.java:579) ~[?:?]
at sun.nio.ch.Net.connect(Net.java:568) ~[?:?]
at sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:593) ~[?:?]
at java.net.Socket.connect(Socket.java:633) ~[?:?]
at java.net.Socket.connect(Socket.java:583) ~[?:?]
at sun.net.NetworkClient.doConnect (NetworkClient.java:183) ~[?:?]
at sun.net.www.http.HttpClient.openServer (HttpClient.java:533) ~[?:?]
at sun.net.www.http.HttpClient.openServer (HttpClient.java:638) ~[?:?]
at sun.net.www.http.HttpClient.<init>(HttpClient.java:281) ~[?:?]
at sun.net.www.http.HttpClient.New(HttpClient.java:386) ~[?:?]
at sun.net.www.http.HttpClient.New(HttpClient.java:408) ~[?:?]
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.ja va:1324) ~[?:?]
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java: 1257) ~[?:?]
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1 143) ~[?:?]
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1072) ~[?:?]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0 (HttpURLConnection.jav a:1702) ~[?:?]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java :1626) ~[?:?]
at java.net.URL.openStream(URL.java:1161) ~[?:?]
at com.google.common.io.Resources$UrlByteSource.openStream (Resources.java:72) ~[patc hed_1.16.5.jar:git-Purpur-1171]
at com.google.common.io.ByteSource$AsCharSource.openStream (ByteSource.java:456) ~[pa
Ye but hm i need this because my hosting users want normal use it
And need fix it uh
Hi, I'm using deluxe menus and i'm trying to run a command as long as a player has an elytra in their main hand... I have tried so many variations but can't get it to work. Does anyone know what i'm doing wrong? Thank you!
type: string equals
input: ' %checkitem_getinfo:mainhand%'
output: 'elytra'```
I have also tried
type: string equals
input: '%checkitem_getinfo:mainhand_mat:elytra,amt:1%'
output: 'yes'```
anyone? :p
Hello. I went to bed. Indeeed you should be able to create a JS placeholder to remove the formatting if no placeholder is provided by the plugin.
It was probably treated as a string because it didn't know what formatting to use. I'm not sure you can specify the formatting either.
The PlayTime expansion requires this plugin to work: https://www.spigotmc.org/resources/playtime.26016/.
It is built into the plugin, that means you only need the plugin and don't need an extra expansion from the ecloud.
I'm not sure what you mean by this?
It looks like your host is blocking connections to the PlaceholderAPI eCloud. You can try contacting them to unblock the connection. If thatās not an option, you can manually download expansions from https://placeholderapi.com/ecloud and place them in your /plugins/PlaceholderAPI/expansions/ folder.
Have you tested what the placeholders return using the /papi parse command? If not, I suggest you try that.
In your first example, I see an extra space before the placeholder That could be causing you issues as well
Hello. I've taken a look at the dump and couldn't see anything wrong. I'm confused why the placeholder loading triggers twice. From the logs you sent it doesn't seem like you executed /papi reload or anything like that. Am I correct? Or is the second reload triggered by you?
Hii. When I enter the command /papi reload it shows up normally, it just shows up twice when the server restarts.. Idk whats wrong with it either.
I can't promise this will work but can you try this dev build? https://ci.extendedclip.com/job/PlaceholderAPI/200/artifact/build/libs/PlaceholderAPI-2.11.7-DEV-200.jar
Sure II'I try when I came home š
can u try this build pls
?
and how check it
i believe the error is on our part, i would like you to test if u can
For anyone that may need this functionality, you can format a number calculated using the Math expansion by manually installing the NF (Number Formatter) expansion. You can feel free to DM me if you would like more info on how to do this.
Hi I have a bypass that's going on through papi- please advise a private chanlle to discuss this.
Hello. Feel free to send me a message request.
Still the same..
Sorry š
is there any placeholder to get amount of item player has for example emerald
no
theres probably a plugin that does that
im having this error with townychat and placeholderapi:
[15:14:42 ERROR]: [PlaceholderAPI] Failed to load expansion Expansion-townychat.jar (is a dependency missing?)
java.lang.NoClassDefFoundError: com/palmergames/bukkit/TownyChat/events/AsyncChatHookEvent
at java.base/java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?]
at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3578) ~[?:?]
at java.base/java.lang.Class.getDeclaredMethods(Class.java:2676) ~[?:?]
at PlaceholderAPI-2.11.6.jar/me.clip.placeholderapi.expansion.manager.LocalExpansionManager.lambda$findExpansionInFile$7(LocalExpansionManager.java:429) ~[PlaceholderAPI-2.11.6.jar:?]
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760) ~[?:?]
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387) ~[?:?]
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312) ~[?:?]
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843) ~[?:?]
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808) ~[?:?]
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188) ~[?:?]
Caused by: java.lang.ClassNotFoundException: com.palmergames.bukkit.TownyChat.events.AsyncChatHookEvent
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445) ~[?:?]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593) ~[?:?]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[?:?]
... 11 more
does anyone know a fix?
update your plugins and try reinstalling the extension i guess
how do i get rid of decimal numbers from the math placeholder
You can set a precision. For example %math_0:down_2+2%. This would set the precision to 0 decimals and would round down numbers
I believe the CheckItem expansion can do that actually.
is there a placeholder that display how many days a world is old?
like days in minecraft
No. There isn't one.
I don't get how I should format math expressions.. I just want to display the combined value of two statistics using ajlb and dh
What are the placeholders you are trying to add. Also, can you send a screenshot of what parsing those placeholders return?
Not home right now but I'll get a screenshot as soon as i can, but all im trying to do is get the value of (exampl) statistic_mined_block:oak_wood + statistic_mined_block:oak_log
not sure if that's the actual name of the placeholder but you get the point
I do have the math extension added
Hello good afternoon, is there a way to use placeholders in commands?
This will differ from plugin to plugin. There is no way with just PlaceholderAPI to force placeholders to be parsed in commands.
It would look something like this: %math_0:down_{statistic_mined_block:oak_wood}+{statistic_mined_block:oak_log}%
okay thank you! could you just quickly explain what the "0" and "down" means? š
0 is precision, so it will have 0 decimals
and down is the type of rounding
3.3 will become 3
3.99 will also become 3
CEILING
Rounding mode to round towards positive infinity.
DOWN
Rounding mode to round towards zero.
FLOOR
Rounding mode to round towards negative infinity.
HALF_DOWN
Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round down.
HALF_EVEN
Rounding mode to round towards the "nearest neighbor" unless both neighbors are equidistant, in which case, round towards the even neighbor.
HALF_UP
Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round up.
UP
Rounding mode to round away from zero.
i believe these are all the rounding types
ahha makes sense, thank you so much. I've been searching around for a good while but never understood how to format it, thank you so much! ā¤ļø
I don't think I'm able to upload pictures. But it was working before I added the ajlb stuff to the placeholder ({ajlb_lb_statistic_mine_block:oak_wood_1_alltime_name}), do I ask for support there.. š
right. sorry
hi
Could anyone tell me if this is correct?
%server_countdown_dd.mm.yyyy_01.05.2025%
Is returning "invalid date"
Add the hour and minute
Even if itās 00:00
where can i submit this issue for checkitem?
https://pastebin.com/qbmRdXX6
%server_countdown_dd.mm.yyyy_01.05.2025_00:00%
"Invalid format and time"
Thatās because you advent added HH:mm to your placeholder
Also month is MM I believe
Ach what I didn't understand
essentially; you're using the expansion pack incorrectly
Strange, because even the example shown in the Wiki is not working.
%server_countdown_<SimpleDateFormat>_<time>%
e.g. %server_countdown_dd.MM.yyyy_01.01.2020%
obviously I changed the date
you can always test with the command too assuming u have the servercountdown expansion installed. Use /papi parse me %server_countdown_dd-MM-yyyy_31-12-2024% to debug. If it returns an error e.g. Invalid placeholder": Expansion isnāt installed. or "Invalid date": Format/date mismatch.
@leaden field try these:
/papi parse me %server_countdown_dd-MM-yyyy HH:mm_31-12-2024 00:00%
/papi parse me %server_countdown_dd-MM-yyyy HH:mm:ss_31-12-2024 00:00:00%
It worked, thanks.
all good :d
rather vague
uhhh, what..?
CONSOLE ERROR:
[Server] INFO Caused by: org.openjdk.nashorn.internal.runtime.ParserException: <eval>:7:12 Expected ; but found i
[Server] INFO for(let i in arrayLocation) {
[Server] INFO ^
JavaScript file:
function getElements(str) {
var arrayLocation = str.split("+");
var x = "";
for(let i in arrayLocation) {
x += arrayLocation[i] + ",";
}
return x;
}
i don't think I did anything wrong here... any ideas?
^ anyone? :v
u can upload easily in imgur and paste the link here for the screenshots/images
it was working before the ajlb.. do I need to add that after? anyone knows? š
thanks
function getElements(str) {
var arrayLocation = str.split("+");
var x = "";
for(var i in arrayLocation) {
x += arrayLocation[i] + ",";
}
return x;
}
thank you, i guess PAPI does not like let... :')
ye, nashorn engine doesn't support it
I've registered som placeholder but I get this error in the console
[PlaceholderAPI] Failed to load expansion player. Identifier is already in use.
Exactly as the error suggests I'd guess- you have multiple expansions using the same identifier, if you're creating an expansion and using the identifier 'player', you must change it or remove the preexisting expansion. If this is not the case, just check your expansions folder for any expansions using the same identifier. (should be a pretty straight forward process)
/plugins/PlaceholderAPI/expansions is the directory I believe.
hello, so the math expansion. i'm at "%math_{statistic_mine_block}/2-0.5%" ad i'm wondering how I can make it round. Right know it shows 9.000 but I dont like those zeroes..
Do %math_0_{statistic_mine_block}/2-0.5%
You can also do 0:UP or 0:DOWN if there are decimals
Also, Attribute expansion not updated too??
At least CheckItem can be downloaded, but Attributes just gone from Ecloud list
doesnt work
nvm it does
tysm
Hey, is papi on folia?
is it just me or does %countryonjoin_player_country_name% not work
alright
helloo?
holi
Help me š¦
Yeah for some reason statistic doesn't exist in the new version of plapi
Hey, any idea if PlaceholderAPI is going to support Folia?
coinsapi expansion is not being loaded
it says cannot load expansion due to unknown issue
Very informative indeed, can I get a while server log and/or trace
does it exist on older one?
2.11.4?
Yeah it did
okok
Noo
then whyt tf is everyone admin
power of friendship
@quaint olive @ionic cipher @charred matrix , the expansion does not come built with the plugins. The /papi ecloud download command downloads it from our ECloud servers: https://api.extendedclip.com/expansions/statistic/. It seems that the expansion was not verified after the last updated but it is now.
You should be able to download the expansion now using the command. In the future, if an expansion is missing its verification, you can look for it directly on the ecloud, download it and put it in the plugins/PlaceholderAPI/expansions folder and execute /papi reload. Do be careful though because if an expansion is not verified it means we haven't checked wether the expansion does what it says it does, and wether it contains any malware.
ohh alrr
Attribute expansion not verified yet?
Good question, @vivid sparrow is there a reason the expansion is not verified anymore? Did we just forget or is it maybe discontinued?
If we just forgot, I can go ahead and verify it. Just let me know.
Update: I see that it is in our org so I'll just go ahead and verify it. If it is broken and that's why it was not verified we can unverify it later.
<dependency>
<groupId>me.clip</groupId>
<artifactId>placeholderapi</artifactId>
<version>2.9.2</version>
<scope>provided</scope>
<optional>true</optional>
</dependency>
does anyone know why that doesn't work?
hey, im searching for the placeholder which shows the uptime of a specific world
You seem to be using an old version of the Server expansion that breaks. Try updating it.
Make sure to add the repository as well. https://repo.extendedclip.com/releases/
I couldn't find one on the wiki. This is a placeholder that the world expansion could add but I can't find the github repository for it and the author has been offline for a long time now.
oh sad
I added it but it didnt work
Blitz
this is the error
[ERROR] Failed to execute goal on project MMOItems-API: Could not resolve dependencies for project net.Indyuce:MMOItems-APIš«6.10.1-SNAPSHOT
[ERROR] dependency: me.clip:placeholderapiš«2.9.2 (provided?)
[ERROR] Could not find artifact me.clip:placeholderapi 2.9.2 in jitpack.io (https://jitpack.io)
[ERROR] Could not find artifact me.clip:placeholderapi 2.9.2 in sonatype (https://s01.oss.sonatype.org/content/repositories/snapshots/)
[ERROR] Could not find artifact me.clip:placeholderapi 2.9.2 in codemc-repo (https://repo.codemc.io/repository/maven-public/)
[ERROR] Could not find artifact me.clip:placeholderapi 2.9.2 in sk89q-repo (https://maven.enginehub.org/repo/)
[ERROR] Could not find artifact me.clip:placeholderapi 2.9.2 in inventive-repo (https://repo.inventivetalent.org/content/groups/public/)
[ERROR] Could not find artifact me.clip:placeholderapi 2.9.2 in helpchat-repo-releases (https://repo.extendedclip.com/releases)
[ERROR] Could not find artifact me.clip:placeholderapi 2.9.2 in matteodev (https://maven.devs.beer/)
[ERROR] Could not find artifact me.clip:placeholderapi 2.9.2 in reposilite-repository-releases (https://repo.nexomc.com/releases)
[ERROR] Could not find artifact me.clip:placeholderapi 2.9.2 in oraxen (https://repo.oraxen.com/releases)
[ERROR] Could not find artifact me.clip:placeholderapi 2.9.2 in dmulloy2-repo (https://repo.dmulloy2.net/repository/public/)
[ERROR] Could not find artifact me.clip:placeholderapi 2.9.2 in phoenix (https://nexus.phoenixdevt.fr/repository/maven-public/)
[ERROR] Could not find artifact me.clip:placeholderapi 2.9.2 in lumine (https://mvn.lumine.io/repository/maven-public/)
[ERROR] Could not find artifact me.clip:placeholderapin2.9.2 in papermc (https://repo.papermc.io/repository/maven-public/)
[ERROR] Could not find artifact me.clip:placeholderapi 2.9.2 in central (https://repo.maven.apache.org/maven2)
[ERROR]
[ERROR] -> [Help 1]
I did, however then I got a CRAP ton of code errors
?imgur
and what are the errors?
most things to do with .get or .getname
so stuff related to MMOItems and not PAPI?
no from what I can tell it only happens with the PAPI dependancy changes, as well I asked GPT and it said that was the issue :/
can you send a screenshot of the errors?
.
those aren't PlaceholderAPI classes nor methods
The Type class you're using wasn't imported/doesn't exist, and therefore Intellij IDEA can't find its methods
so what should I do?
fix your plugin, use the correct class, if there's one
I'm not the one who made your plugin, idk what you want me to do
alright so, an item still shows even after adding an impossible requirement, I did that to test something that cause an issue with a menu that I have.
How can I fix that if anyone can help?
so that was the issue, that was stopping me from achieving something for like 3 weeks
I could've finished the server in that time man
š
but thank you very much
