#placeholder-api
1 messages · Page 193 of 1
Hmm, why does it offer me this in autocomplete and on the ecloud?
well the autocomplete just comes from the ecloud. so I guess someone listed it on the ecloud for some reason. let me double check. maybe its not a spigot statistic but an internal one.
or maybe it wasn't there in 1.17.1
👀
its not on 1.12.2, 1.17.1 and 1.18.2
and its not a Statistic placeholder at all. just checked the code
so someone either listed it by accident, or it used to be a placeholder and it got removed but they didn't unlist it at the time
so yeah @jaunty stag I'll be removing it from the ecloud but I'm afraid that's not a placeholder in the Statistic expansion
only one I can find is from the Statz plugin but from what I know that plugin is not maintained anymore, their expansion is broken and also their statistics only start counting from when you've installed the plugin so older statistic don't count
Is excellentcrates a valid expansion
it comes with the plugin I believe
It says they have papi and internal placeholders
Please respect the rules, be patient and don't ping staff members!
That counts as a ping
but that's what I said as well? it comes with the plugin. you don't have to download it from the ecloud
how to get ListPlayers on ecloud? "Failed to find an expansion named: ListPlayers"
in placeholderapi
Should your host not allow connections to the PlaceholderAPI eCloud, you can manually download expansion from https://placeholderapi.com/ecloud and place them in your /plugins/PlaceholderAPI/expansions/ folder.
@idle tundra ^^^
@turbid tide why it doesn't work in chestcommands?
what doesn't exactly?
the ListPlayers expansion is old, unmaintained and broken
if that's what you're asking
:/ i must have it
it works with worlds player list?
Someone know why when i restart my server the papi expansions stop working? i need to re-download them and then reload the plugin everytime
Is there any error on startup?
java.util.concurrent.CompletionException: java.lang.NoClassDefFoundError: com/palmergames/bukkit/TownyChat/events/AsyncChatHookEvent
at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314) ~[?:?]
at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319) ~[?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1766) ~[?:?]
at java.lang.Thread.run(Thread.java:831) [?:?]
Caused by: java.lang.NoClassDefFoundError: com/palmergames/bukkit/TownyChat/events/AsyncChatHookEvent
at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?]
at java.lang.Class.privateGetDeclaredMethods(Class.java:3334) ~[?:?]
at java.lang.Class.getDeclaredMethods(Class.java:2446) ~[?:?]
at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.lambda$findExpansionInFile$7(LocalExpansionManager.java:396) ~[?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1764) ~[?:?]
... 1 more
Caused by: java.lang.ClassNotFoundException: com.palmergames.bukkit.TownyChat.events.AsyncChatHookEvent
at java.net.URLClassLoader.findClass(URLClassLoader.java:433) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:586) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:519) ~[?:?]
at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?]
at java.lang.Class.privateGetDeclaredMethods(Class.java:3334) ~[?:?]
at java.lang.Class.getDeclaredMethods(Class.java:2446) ~[?:?]
at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.lambda$findExpansionInFile$7(LocalExpansionManager.java:396) ~[?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1764) ~[?:?]
... 1 more ```
your TownyChat expansion is messed up
But i dont have TownyChat
do you have the expansion?
Yes, i remember i download TownyChat expansion to use Towny placeholders
Thanks, i was using TownyChat placeholder, but i didnt need them.
Hello I'm trying to get the placeholder for the latest player (the newest player to join the server) which returns the username
I could not find the description of each placeholder on the wiki
Does anyone know what that is?
Nevermind I found another way
[13:16:58 WARN]: [PlaceholderAPI] Loaded class com.bencodez.votingplugin.VotingPluginMain from VotingPlugin v6.9 which is not a depend or softdepend of this plugin.
theres a few of these in my console for didfferent plugins, does it matter and how do i make it so it doesnt show the warn
It can be safely ignored, if it really bothers you can add each plugin to placeholderapi's plugin.yml as a soft depend
where do i see the plugin.yml
its not just papi either, fawe and vault are giving me them
That warning is dumb. It comes up even if a plugin depends/soft-depends on another.
you have to open the PAPI jar and edit the file inside there.
its not really something you'd want to do. if you do, you'll have to change it every time there's an update in PAPI.
Heyo, I've come to ask a question xD
I've got a lil system going here where a plugin modifies luckperms meta in a numerical matter, aka setting kills+1 on each kill. Now I'd like to see if there is some type of leaderboard expansion that can output to me the playername of whoever has the highest value on that meta which would be %luckperms_meta_kills%. Any ideas, leads?
you could try with LeaderHeads or ajLeaderboards
I'll give that a shot, thanks
hm yea no lol
Ajleaderboards should be perfect for your case. What have you tried so far?
we figured it out in dm
With tanguys help I figured out that the issue was op bypass lol
Thanks for the response though ;) I guess I had a brain fart haha
Hello, by some reason since a few weeks ago javascript placeholders keep spamming errors on the console, dunno the reason, here's the log: https://paste.ee/p/UE6fN
hey i'm having trouble with deluxetags
you are most likely using the placeholder in a place where a reference to an online player isn't passed to the expansion, and the variable BukkitPlayer is not defined
this is one of the placeholders that is giving error for example
`var placeholder = "luckperms_prefix";
var parsed = PlaceholderAPI.static.setPlaceholders(BukkitPlayer, "%" + placeholder + "%");
function clanTag(){
if(parsed != ""){
return parsed;
}
return "&7Usuari";
}
clanTag();
`
Please respect the rules, be patient and don't ping staff members!
oh, sorry
if you put a %player_name% in the place where this js placeholder is used, does it display your name?
Is it possible to use placeholderapi in resource pack?
no?
oh, so you're meaning to remove the BukkitPlayer from the code right? sorry, I dunno js, I just copied the code from another placeholder that used the player name
Please respect the rules, be patient and don't ping staff members!
I'm having issues with certain expansions. I have jetsprisonmines downloaded through the ecloud expansion, and when parsing the placeholders, they don't output anything. Other placeholders are working but some like from Player as well aren't outputting. Any idea on what may be the issue?
My placeholder %statz_distance_traveled_SURVIVAL% (SURVIVAL is mv name of world) didnt work in my scoreboard
Im using plugins: Placeholder api, statz, statistic.
but still it didnt work. I want to sent you screenshot but its not possible here 😦
https://paste.helpch.at/nidirivogu.md papi error cant update 2 expanstions
Multiple bungee expansions loaded.
Go to plugins/PlaceholderAPI/expansions and delete all the BungeeExpansions, then execute a /papi reload. After that redownload the expansion using /papi ecloud download bungee then /papi reload.
uhm
heya I never got a response and idk if people are still getting to it or if i just got overposted too much, but I've replied to it anyway (sorry if I'm not supposed to've done this!)
@nova sleet send funnycube#0001 an email and username
can't message them; DMs seem to be off for them
no one is replying to my problem too
the bot did? it literally gave you a reason and a solution
didnt worked
I delete the bungee exp and redownloaded it but I still get the update notification and if I run the update command I still get the bungee error
You have to @ him
That's what I did when I wanted to make my account and he just sent a friend request
thanks! @balmy marten
Please respect the rules, be patient and don't ping staff members!
💔
First time using placeholderapi. where can I find a list of expansion?
%math_{mmocore_profession_mining}/5%
is this not the correct format anymore for using math with another placeholder?
the mmocore_profession_mining is an mmocore placeholder
that placeholder is valid when used by itself
yeah its not, try doing %math_0:1_...%
Hell yeah, tier two
@errant iron i added bungeecord expanstions but i added this comong in hologras %bungee_Bedwars% but it is not showing memebers in holograms
@fervent spire
are you using Holographic Extensions
a long list can be found here https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/placeholders but many placeholders are just not listed there. they're listed usually on their plugin's spigot or whatever other website they use page.
well not exactly. %math_{mmocore_profession_mining}/5% should be still valid. the 0:1 options in there are not required. they just specify the decimal amount and the rounding type. they have default values you can set in config.yml.
what does /papi parse me %mmocore_profession_mining return?
first of all test the placeholder using the papi parse command: /papi parse me %bungee_Bedwars% if it returns the correct value then the problem is most likely your hologram plugin. Holographic Extension uses a different format. I believe it would be {papi:bungee_Bedwars}
yes
kk
I want to use the ChangeOutput expansion
but idk how
can someone provide a tutorial or an example for its usage
I went to the wiki but I still dont know how
did you read this? https://github.com/Kqliber/Expansion-ChangeOutput#syntax
iI still dont get it
Please respect the rules, be patient and don't ping staff members!
can u show me an example
returns 1, which is correct
Please respect the rules, be patient and don't ping staff members!
it seems like the {mmocore_profession_mining} placeholder returns Error instead of a number when used in the math expansion.
mmocore gui
what if you put like %player_name% in the same place you put the math placeholder
what does that show?
works, shows my name
the problem seems to be that the plugin I'm using uses {} brackets for their own placeholders
is there any way I can get around using those brackets with math?
ah Ic.
not really
yeah. just checked the code. they replace it with Error. this seems like a problem on their part that they should fix. instead of showing Error, they should leave the text as it was.
yeah makes sense. Thank you
%math_[precision]:[rounding]_<expression>%
%math_0:ceiling_2.5 + 3.2% for example should return 6
the 0 before : means 0 decimals
and ceiling means it will round up the result
so 5.7 will round up to 6
here's all the rounding options https://github.com/Andre601/Math-Expansion/wiki/Config-options#rounding
i don't think it can do what I wanna do, so I want to make this text thingy that shows a player's team: Team: %betterTeams_color%%betterTeams_name%
when the player isn't in a team, that placeholder represents a space, I want it to show None instead
yeah that's possible.
well depends. what does /papi parse me %betterTeams_name% return when you're not in a team?
a space
like nothing
just to be sure. is it space or empty string? try /papi parse me %betterTeams_name%TEST does this return just TEST or TEST?
lemme check
it returns TEST
alright then %changeoutput_equals_{betterTeams_name}__None_Team: {betterTeams_color}{betterTeams_name}%
should be what you need
ty it worked!
@austere hawk so I've looked at the expansion and there's a few changes that you need to make before I'll verify it.
- You should include groovy directly into the expansion.
- You should make it just an expansion. Not a plugin. The ecloud is specifically made for expansions that will directly download into the plugins/PlaceholderAPI/expansions directory.
ping me after you make this changes and update them on the ecloud and I'll verify.
Yoo hello
If there is another plug-in
Am I allowed to make a placeholder for it if I'm not the owner of the plug-in
yeah. at least as far as I'm aware. unless the plugin's developer specifically states otherwise I guess.
Okay
Thank you
now I just need to learn how to
The plug-in itself has placeholders
But I want to use them in other plug-ins hence want to make a papi one
well if the plugin has an API, it might be fairly easy to make a PAPI expansion for that plugin
anyways. here's the wiki explaining how to make an expansion if that's what you don't know https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/Hook-into-PlaceholderAPI#first-steps
has any way can i change what is writed on the placeholder? for example when i stay outside of a claim write Unclaimed but i want write PVP ON for example
use the ChangeOutput expansion
i was reading than but i don't understand can you give me an example?
they have like 8 examples on the wiki?
you can read this whole conversation as well if you want
Okay thanks :3
@austere hawk https://github.com/ShimadaJP/Groopi/blob/master/src/main/java/com/github/shimada/groopi/GroopiExpansion.java#L35 is this going to help with anything, more than creating problems?
Also, I'm pretty sure you want to cache all these reflections https://github.com/ShimadaJP/Groopi/blob/master/src/main/java/com/github/shimada/groopi/GroopiExpansion.java#L22-L31
nice
yup
I wonder if the groopi expansion performs any better (or worse) than the JS one? 🤔
It feels like it allows for a lot more but at the same time its kind of limited since it doesn't read from files
so you're just stuck writing code between the two % which sounds super annoying
yeah that will be annoying if you end up writing a lot of code
Yeah but it seems really nice for simple stuff since you can access stuff from other classes more easily as well it seems
with the nashorn engine you can also access other class iirc. with just 1 line of code.
Yeah but how well does it perform? Last time I used JS for anything that wasn't a really small placeholder it messed up the ticks big time
though looking at this I don't think you can actually declare variables or any of that
I mean its groovy. you should be able to declare variables
you'll have to test the performance yourself
from the examples in there it seems to only have one statement, so I'm not too sure
i need help
There is no time to wait! Ask your question @undone path!
{deluxetags_tag} this doesn't work
Hey all, we're writing a short article about PlaceholderAPI and want to inquire about the origins of the plugin. Was it initially released on SpigotMC or was there a former presence on Bukkit[Dev] or any other platform?
in multiverse world how amy player are there what placeholder
Thank you ❤️
Please respect the rules, be patient and don't ping staff members!
Oop ok
- eCloud has file size limit(probably Apache's default 2MB limit). I had to remove groovy from jar file in order to avoid "Too Large Entity" error on the website
- My expansion works as both expansion and plugin
Please respect the rules, be patient and don't ping staff members!
@balmy marten can answer this better than any of us here
Please respect the rules, be patient and don't ping staff members!
I was not aware of the first one. For the second one there's the persist problem. When an expansion works as a plugin it needs to override the persist method and return true
Sure. Is everything fine after fixing that?
i need him to hurry up with cubes ping can’t stay awake forever 😂😭
https://api.extendedclip.com/expansions/groopi/
I fixed that
Please respect the rules, be patient and don't ping staff members!
there's also a few mentions that gaby made above. Might want to check those out. I'll have to check with the admins to make sure that having a plugin-expansion on the ecloud is alright.
Calling GroovyShell by reflection is necessary because I had to download groovy jar file and load that using URLClassLoader to reduce file size(eCloud has file size limit). Calling methods of classes in another class loader is not possible without reflection.
Also, caching Method/Field/Class objects doesn't harm performance that much. I can cache if I wanted, though. Groovy caches some data in their own, so performance shouldn't be a big problem anyway.
Please respect the rules, be patient and don't ping staff members!
I should use a perma link next time, this was pointing to the star import of org.bukkit
I feel like its just there for convenience?
Instead of having to type org.bukkit.x to get to a class in your script, you can just use it directly.
Which I guess shortens the length by a little
I doubt people use classes that much though
JavaScript expansion doesn't work in some environments and Groovy is mucher easier and readable
Yeah but why can it not be just an expansion?
I think he misread lol
What's wrong with being a plugin?
I just made as a plugin and an expansion and I didn't remove the plugin part simply because it doesn't have to be removed?
It doesn't have to exist in the first place haha
Well, I dont have a problem with it being a plugin if you have a reason to do so.
There's totally 0 reason to have the plugin part. I made as an plugin in the first place because it would make debugging easier and I have made a plugin loader which loads groovy script as a plugin before
Why would someone download it from the ecloud and use it as a plugin, when expansions can be changed in a matter of seconds, unlike plugins which require a server restart?
I mean if it brings security concerns or anything I will remove the plugin part
It does not, but it also makes no sense to be a plugin, when all it does is to call #register() onEnable
I place the plugin symlink in plugins directory and every time I build I simply do /reload confirm to reload the expansion
That's how I debug
No, that causes problems. You literally put it on the expansions folder and run /papi reload
Dont get me wrong, I'm glad that someone made an alternative for the JS expansion, I just want to sort some things out before releasing it.
I know reload could cause problems, but I just wanted to debug so that would be fine. Also, I knew /papi reload works too. That's just my preferred way
wouldn't say 'kind of' lmao
Right, then remove the plugin part if it has no use.
sure
I like Groovy more than Kotlin
It's more Java friendly
wtf lol
No is not 🤣
you can directly convert Java to Kotlin quite easily
Groovy is a scripting language essentially
and thank god Gradle has kts lmao
Also, have you done some tests to see how well it performs?
there are more features in Kotlin that can't be used in Java language for example: delegate, lambda with receiver, refined/inline, abstract property...
^^^ this is what I mainly want to know about
so it adds good things to the JVM?
what's your point lmao
Smh Star
Groovy takes things away, it is quite literally a DSL for scripting
so in this case, probably a good thing
You can't mix Java and Kotlin. In other words, You can't use code written in Kotlin in Java
you can't use code written in Groovy in Java???
you can
Groovy property automatically generates getters and setters
just like lombok
and anyways, if Groovy and Java are sooo similar, why not just learn Java and make a plugin lmao
probably much better performance
It just works "fine" but I don't know how much performance you would expect
🥴
let me do more performance tests and remove plugin part
Try to do a benchmark with your current setup, reflections on each onRequest
Sure
does this work on latest? reflections are heavily limited as of Java 16
Plugin users might want to modify String in Java code and if the plugin was written in Groovy plugin users can modify them
I feel like its kind of convenient if you already happen to know Java/Groovy and need to do something funkier than usual with placeholders.
I feel groovy is a "better version" of skript
You probably might want to add file support for it tbh, writing everything between % % is not fun
file support?
I suppose it can have its uses
Hold on, it doesnt have file support?
nope lol
Welp
In my experience at least, I have not needed much complicated placeholder parsing and stuff
yeah like the same way you'd do with the JS expansion. You basically have the script in a file and the expansion would read from that file
I tried to do it before with JS but the performance hit was waaaaaaay too big with the use case I had so I just opted in for a plugin
hmm
I mean yeah, what kinda stuff were you doing?
I'm interested to hear the actual use cases
A gamemode
Cause I barely ever need to like heavily modify placeholders
What exactly in "a gamemode"?
Jk, it was a reference to skript people making entire servers with one skript file xD
I had a custom leveling system and I needed a convenient way to put the levels in a GUI without having to make five billion guis
oh lmao
I can probably get a video I recorded hold on
Well a custom leveling system sounds like you already should've had a plugin for it lmao
No no no its just for the GUI part of it
It depends from person to person, some like to even use it for prefixes. A switch/case for %vault_rank%
The most common use case imo is to change the output of a placeholder
This is the most common one I saw yeah.
well yeah, but we have expansions for that already
Yeah but if the placeholder has multiple outputs, it doesnt work
multiple outputs?
Tbh id rather use %javascript_name% than %changeoutout_equals...%
Possible outputs
my server's performance indicators would rather me not do that lmao
Smh Star
dunno, maybe I'm just too much of a big boy java developer
but I've never had to abuse placeholders like people love to do so much lol
I dont use the expansion, but I used to, and it was handy
I agree, some go over the limit
wait I can't upload videos here :fr:
send youtube link or somethin
I've been scammed, I thought tier 2 let you do that
On offtopic maybe
oh yep
in other words, setup my first reposilite today
so, lots more big boy java developing on the way
Good
reproducible builds without mavenLocal 😌
I have many ideas but not so much free time
I got two months left, and the second is for exams
July to mid oct
I get off July as well yeah
https://imgur.com/a/3NNVosW there we go
er, I suppose end of August
it's supposed to be 3 4-month semesters in a year
Jan-Apr, May-Aug, Sep-Dec
Ah you got trimesters
We have only two here, starting with the next year, grade 12 and below will have 4 "modules"
Which sounds weird, but will see how it goes
Basically it was just one GUI and the name of each item was like %lvl_levelAtSlot_1...9%, and it would calculate the level's actual value depending on your page number. The most intensive part is that the colors of the level were a gradient from green to red, which had to be calculated like 9 times every time you flipped a page (for each item)
oh yeah my middle school and high school had quarters
so like 4 semesters kinda
but not including summer
Something like that I suppose
It has basically no performance impact as a regular plugin, but JS was fucking ripping the server apart
yeah learned the hard way lol
🤣
had a big event a few days ago, 105 players online, they spawned in like 5 ModelEngine mobs and the server TPS goes from 20 to 5 in a matter of seconds
Yeah those should be used very very scarcely.
I guess it depends on how big those 5 mobs were though
very small skeletons
yeah pretty rough
and that's why we're splitting the server into smaller instances!
and having dedicated dungeon instances with ModelEngine stuff and like a 6 player cap
Yeah that's probably the only way to do it at a large scale. has there been any movement lately in the instance splitting tech or are you guys making something from scratch?
I know MultiPaper is pretty cool
last I saw was like a couple paper forks but I've no idea how far they got
Yea that one!
but we're rolling our own thing that just synchronizes player data between servers using a Go service and RabbitMQ
Ooh, fancy
much faster than the first attempt which was a Python service and RabbitMQ lmao
multiple seconds between server jumps with that one
Oh wow MultiPaper came a long way since I last saw it
I did some performance testing.
I placed 300 command blocks that parses the placeholder below every tick
%groopi_ Bukkit.broadcastMessage("Hello, world") %
During all the command block activated, the server had 7 TPS - parsing 300 placeholders took 22ms every tick, meaning that parsing a placeholder takes 0.07 milliseconds.
https://res.cloudinary.com/dmyl8bcix/image/upload/v1651481951/profile_i4nasq.png
This is the profiler view. As you can see in this view, 95% of the execution time is consumed by generating classes with ASM bytecode modification used by Groovy runtime, and 3% is consumed by Constructor#newInstance. At this point, we can ignore reflection overhead.
To prevent generating classes, I have to cache all generated classes in some way. I could use GroovyClassLoader for that purpose, though don't want to implement class caching mechanism by myself. I might implement class caching mechanism in the future.
Also, this expansion works in java17 (I tested in java17)
Updated
I'm gonna try implementing class caching mechanism
Uhh these reflection
I wish eCloud had higher file size limitation
Spigot was it's first release, it was called "Clips PlaceholderAPI" originally before being rebranded to just "PlaceholderAPI"
https://web.archive.org/web/20160818093736/https://www.spigotmc.org/resources/placeholderapi.6245/
Great, thank you so much!
Hi. I'm not sure but I think I have found a memory leak, and at first seems related with EssentialsX (and one of their issues https://github.com/EssentialsX/Essentials/issues/4342) but it's affecting to PAPI when it shouldn't. Any one had any similar problem? Should I report it in github or I'm wrong with it? https://imgur.com/a/WfIjnq3
Turn off the baltop task in the PAPI config. Those placeholders are scheduled for removal.
The latest EssentialsX expansion has its own baltop placeholders now.
yeah. like mentioned above, there's also 2 pinned messages detailing the problem.
https://prnt.sc/g2CydE90WxcB from what plugin (pls ping)
that might just be the progress expansion
What is the option path in config?
Please respect the rules, be patient and don't ping staff members!
Sorry flash, didn't know :(
it should be something like expansions.vault.baltop
Okey, thanks :)
Hey, Why are the values not the same?
https://cdn.discordapp.com/attachments/837196217929826324/970749358662377552/unknown.png
first one is a percentage to next level
second one is how much xp the player needs to reach the next level
he's saying its not the same as the essentialsx output
I didn't notice that at first too
ah
Artsuki has 448,374,493 exp (something 9999), 2727 needed to level up
My french is horrible
tf
yeah I'm not sure lol
%player_current_exp% the solution xD
aw thats funky
nice, always struggle to find that one
you'd think %player_exp% would probably do that
Yeah the naming is pretty bad lol
i believe it's just based off the method names
which are bad
getExp() Gets the players current experience points towards the next level.
yep
lmao
idk it's all weird
yeah should be something like getExpToNextLevel or getExpRemaining
I mean you could probably try deprecating the names and eventually just remove them
you'd replace them with sane ones and just snug all the bad ones to the bottom of the page and say they'll probably not work anymore in the future
tru
also btw
that description
isn't quite accurate either
it's cut off
Gets the players current experience points towards the next level. This is a percentage value. 0 is "no progress" and 1 is "next level".
that's the full description lmao
that's why it shows the .94 whatever
Does it ever reach '1'?
actually
it'd just go back to 0 no?
@lament verge %player_current_exp% is what you want?
or %player_total_exp%
lmao
smh
bro these names :fr:
probably never reaches 1, no
i think current exp is the current xp in the level?
that's not even a method, prob added by us
calculated out
jesus
or maybe its the same as total
sorry for existing, when i do /papi ecloud download skript it says failed to find expansion named:skript but on the website on placeholders it says that exists?
the expansion was unverified as it no longer works. Also please just keep it to one channel.
so i cant use skript placeholders?
you can use this alternative expansion
Which version is for 1.7.10?
ugh. which version of PAPI? then I believe official support for 1.7.10 was dropped in PAPI 2.10.10. you might still be able to run PAPI latest on 1.7.10 but for a guaranteed working experience then I guess version 2.10.9
or something like that
so i just add this to plugin folder and then how do I use the placeholder?
not the plugins folder
the expansions folder
you can see here how to use it https://github.com/Altruiis/skript-expansion/#skript-expansion
2.10.9 didn't work
did you get any errors or anything?
do i need to restart server or can i just reload papi?
papi reload should be enough
how do I know if it added or not
you can test it. or you can do /papi dump and look at the logs to see if its registered or not
you can try. but are you sure you've placed the expansion in the correct folder?
iirc, it depends on the machine you are hosting
OH
Hey is it posibble to use placeholderapi plugin on bungeecord server?
no
if your motd plugin is a bungeecord plugin you'll need to use whatever placeholders are provided by that plugin
If anyone here is using MyCommand... Is there an option to script a bit with a PAPI placeholder? And if there is, could you please share a example? 🥺
you should be able to just use placeholders like normal in your commands
so %player_name% for example
whats the placeholder for deluxemenus to open a gui?
material: barrier
name: '%translations-cancel%'
action: BACK
thats the current back button
ugh. action: BACK is not a deluxemenus thing tho
there is no internal placeholder showing you what the last menu is either
nor external for that matter
this is from a shops plugin i just need it to open a specific gui from Deluxe menus
there is no back action in deluxemenus and there is no way to tell what the menu you're coming from is.
you can open other menus from inside a menu but you just have no real way to tell what the menu they last opened was
ah sorry ill figure it out it might be the other pl messing up
Haha! This was very helpful! I did something wrong with the symbols haha. Thx again ❤️
Please respect the rules, be patient and don't ping staff members!
Send this to whoever the developer of supremequests is.
So I have moved to 1.17.1
Latest version of FeatherBoard, PlaceholderAPI is 2.10.10.
Got this error:
?paste
Paste Services
When asking for help with a config/menu/code issue please use our paste bin:
(we prefer it over pastebin.com)
• HelpChat Paste - How To Use
If anyone might help about this.
also, if you can send the part of the error right above this
update your Server expansion
Might be from the bungee expansion
/papi ecloud download Server
/papi reload
When fixing Player expansion error?
Paste Services
When asking for help with a config/menu/code issue please use our paste bin:
(we prefer it over pastebin.com)
• HelpChat Paste - How To Use
Im not on pc right now
🥴
There is no time to wait! Ask your question @pliant sigil!
@everyone
The 'everyone' mention is disabled so you can't annoy people.
omg
@pliant sigil Is this related to #placeholder-api in any way? Or any plugins? or HelpChat?
aaand they left
noice
👍
🙂
Yeah was typing the not discord command when I read invalid user xD
Greetings
Hello
I have a question about a api expansion called parseother
Okay
i run into an issues and dont know how to solve it or maybe if its on my site be able to fix it?
Parse other allows you to parse placeholders for other players
i know
but the problem now is
when i am onlone and i parse a placeholder about me all is fine
when i use this placehodler outside too
but when i wehnt offline
the placehodler seems to turn back nothing
The placeholder that u are fetching from an offline player cant fetch data from offline players most likely
Which placeholder is it?
From what plugin?
Some plugins cant fetch data from offline players unfortunately
your answer is long, confusing and unnecessary. I understand you need xp but still
What Convace means to say is that some placeholders work for online players, some work for offline players as well some work even without a player required.
The most likely problem here is that the placeholder you're parsing for the other user %parseother_{user}_{OTHER-PLACEHOLDER}% so in this case OTHER-PLACEHOLDER might only work for online players. and since user is offline that's why it breaks or rather just returns an empty string.
Thats what i said
I didnt say it cuz exp. Im on phone so i type shorter lmao
i tried parseother the placeholder of a player that is offline.. but i just get a result of "nothing" when the player wents online i get the reight result..
i tried this from cosnole papi parse Cloude_Lecaw %parseother_{Cloude_Lecaw}_{cmi_user_meta_angeleventgewinnerplatz3uuid}% i used it two times
first time i was online
secound time not
wel in result on first try i got the right entry from the placeholder
and when i was offline the result was blank
so it looks like parseother placeholder itself just feedsbacks a blank result whenyour offline..?
it's not parseother at all
as blitz said, it's cmi
the cmi placeholder does not work for offline players
it's accessing the player's actual nbt data, which is only loaded when they're online
if you try to parse %cmi_user_meta_angeleventgewinnerplatz3uuid% when you're offline it probably won't work either
hm i see so i should ask cmi?
no

it's not going to be something you can do
its not really a lot you can do
You'll need another plugin that can store/access data regardless of the player's online state
Now, you could use the javascript expansion and give that a try if you wanted
you mean write a java script?
but that one's pretty buggy so I wouldn't really recommend that one either
yep, kind of yikes
na its to much for a normal user to ask to learn javascript now
😂
you don't have to
the code is already written
you just have to set it up by following the instructions at the link above
i just need to find the file right?^^
but as I've mentioned it is pretty buggy. sometimes store data just resets,
sometimes it returns wrong values
hm
it gives you step by step instructions on how to set it up.
hm no
damn
I had the thought of using Topper to cache the values
(leaderboard plugin for placeholders)
but obv it only works for numbers... as it is a leaderboard plugin
saj
does anybody have the answer to this?
I can't figure out any other way to type \uE000 as it's a private use character
I'm trying to use it to make custom icons and things for chat
it's a private use character that is safe to replace
is it an actual symbol or just a random unicode
hard to answer, it's kinda like a blank symbol to be used for whatever you need
ye, just a random unicode
it doesn't actually exist normally until you replace it
but for minecraft, you can replace it with a resource pack and stuff
ye ye
normally you can just use json text for vanilla minecraft stuff as it will replace the unicode
but plugins... no likey
it would be nice if there was a unicode expansion for this, I know there's one for ASCII but obviously that doesn't go above 127
something like %unicode_E000%
maybe I'll make one
that would be really nice
ya but it's a pain
I had one but I can't find it anymore
if you have a bunch of textures
Unicode Lookup is an online reference tool to lookup Unicode and HTML special characters, by name and number, and convert between their decimal, hexadecimal, and octal bases.
that's the only reason I'm down to make it
How would an expansion save you time tho? Or anything
cause I found the same thing annoying
🤷♂️
I used fake symbols
so if I copy/paste they all look the same
like that box
so I can't tell which is which
Ic
it's niche
👍
well that was quick
i gotta restart my system for my pc to show unicode in console though, wasn't actually able to check if it's the correct unicode
ig i could check with something other than a box... but i'm already ready to restart 😂
%unicode_E000%
1 line
What does the Unicode Expansion does?
Please respect the rules, be patient and don't ping staff members!
just gives a way to type unicode characters through placeholders
it just allows you to type the hex value vs having to go find the character, copy it, then paste it
basically if you know your resource hex value is ||0x||E050, then you can use it very easily in menus when configuring
oh nice that sounds very usefull
for the resourcepack people yeah lol
vs going to a website or something and typing in ||0x||E050
ye, pretty useful
and the most simple
so i canprinzout things like Ⓤ with it?
yep that hex value is 24CA
you can also copy that character now that you have it though
but still good to know it does exist 😄
like let me send you my chess title
&f七七七七七七七七七七七七
I have absolutely no idea what any of those boxes are
I know what the symbols are, it's just spacing
but the boxes I got no clue
obviously when I made it I knew and I could take some guesses
but something like an ATM
🤔
is there a placeholder to show the total amount of players on a specific server?
thanks lol
the bungee expansion
is there a placeholder to show if a server is online but to show for example (status - Online/Offline)?
there's the pinger expansion but there's been many reports saying its broken.
ah thanks
hi is there a way to get the amount of armor the player has in papi?
i've tried all the modules related to armor and player and they just return confusing values
for example %player_armor_boots_data% gives 163 for my boots and same value for every other armor piece im wearing
oh ok so i figured out it's damage that the armor piece has taken
is there a way for me to get the actual value of the armor bar?
You won't be able to upload images here directly to avoid spam, so please use https://imgur.com/upload or similar service to upload images/screenshots.
ugh. update essentialsx
or if you don't have the essentialsx plugin at all delete the essentialsx expansion
i have the last version of essentials
can you do /papi dump and send the generated link here?
you have 2 essentials expansions installed in your expansions folder. remove them both, execute a /papi reload, and redownload using /papi ecloud download essentials then /papi reload. https://i.imgur.com/P5taA5r.png
oh
can you restart and send a new papi dump?
Ok
Please respect the rules, be patient and don't ping staff members!
can you send a startup log?
Startup Log Location
Your latest startup log can be found in the logs folder of your
server directory, labeled as latest.log.
Please copy the contents and paste them to a paste service.
Type ?paste for more information.
Why does the papi detect my core, but it doesnt actually detect it, whenever i reload papi one of them dissapear, and the other is there, but doesnt work
I cant upload archives
that's why you use a paste service
Paste Services
When asking for help with a config/menu/code issue please use our paste bin:
(we prefer it over pastebin.com)
• HelpChat Paste - How To Use
the persist method
look at the wiki
btw, papi supports 1.7.10 right?
not anymore
bc i have it in my server rn, and it works
well it might work
can i like download a older version of papi and it works then?
but we don't actively support it
well I mean papi might still work just fine. but you can. the latest version that supported it was like 2.10.9 or something like that
okay, i can't find the thing u said on the wiki
persist
Nothing called that in the wiki
read this part https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/PlaceholderExpansion#with-a-plugin-internal-class
there's a persist method mentioned
public class SomeExpansion extends PlaceholderExpansion {
private final SomePlugin plugin; // The instance is created in the constructor and won't be modified, so it can be final
public SomeExpansion(SomePlugin plugin) {
this.plugin = plugin;
}
}
so i just put this in the papi config? and change it out with the names of the plugin?
I am not that good with understanding, cuz english is not main language
idk, if i am stupid or something, but i can't seem to find persist1
the thing called "full example"?
oh yeah, that i found
@Override
public boolean persist() {
return true; // This is required or else PlaceholderAPI will unregister the Expansion on reload
}
you have to add that
in the config right?
no. in your placeholder class
and where is that located?
wait I'm a bit confused.
are you making the core? like are you developing it?
or is this a plugin you just downloaded from somewhere?
ohh. I thought you're actually developing it.
you'll have to contact the developer of the plugin
nah bro, that too complicated for me
and tell them about your issue
it registers, but whenever i reload it gets removed
and none of the placeholders will show on 1.7.10
even the ones i downloaded from ecloud
yeah. well that's up to the expansions/plugins to make sure they work on 1.7.10
contact the developer of that plugin, tell them what the problem is and give them this link. https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/PlaceholderExpansion#with-a-plugin-internal-class
GitHub
okay, thank u
Hello, I have problem with placeholder to one plugin - Ultimate Stats (uStats) i can't found placeholder to this.
Can someone help mi with that?
hello! i have a problem with papi plugin. placeholders "%player_ping%, %player_displayname% dosnt works. I download essentials from papi cloud but still dosnt works. Sorry for my english ;/
%player_ping% also
i mean "extensions"
Player placeholder not working? If you are using a plugin which supports PlaceholderAPI, and the %player% placeholder doesn't work, then change it to %player_name% and download the player expansion.
Commands:
/papi ecloud download player
/papi reload
love u Barry!
I have a problem with placeholders %rank%, %deaths%, %nick%
this placeholders dosnt works
Please select a plugin,
1️⃣ - Bank [1.8 - 1.16.4] NOW WITH ADMIN GUI MENU AND NEW PLACEHOLDERS! [247 Downloads]
2️⃣ - ✅ AlonsoPlus [1.8-1.18] • HEX color! Slots! Permissions! Placeholders! [38 Downloads]
3️⃣ - FateHub | [1.7-1.18.x] Custom Menus, Queue, MySQL Sync, Placeholders + More! [19 Downloads]
4️⃣ - AdvancedItemCommands | Multiple Commands per Item | Options | Global Commands| Placeholders [17 Downloads]
5️⃣ - [Exam-Break] MotdPlaceholders [7 Downloads]
all papi placeholders are formatted: %identifier_value%
so for ex %player_deaths% (doesn't exist, but it's just an example)
sorry bro
i dont know what the actual placeholders are though
well in that case it was a common question so it was just ?player
¯_(ツ)_/¯
%player_displayname% might work for nick
and maybe some luckperms or vault placeholder for rank
and now i gtg
good luck 👍
?
Look at the statistic expansion. It has deaths and kills
wait i check this
If the placeholders are not listed on our wiki then they most likely are on the plugin's spigot page or wiki. Otherwise ask the developer of that plugin
player_deaths still dosnt works 😦
for other %statisic_deaths% works 🙂 sorry for spam 😄
Works for essentials chat only I believe
Hmmm thats weird
You can try %deluxetags_tag% to place
I can't remember if you need to parse deluxetags
assume you would need to if you are gonna use that placeholder outside DM
can you try doing /papi parse me %deluxetags_tag% ?
What does it output?
is there like a death location tracker
this is not needed anymore. it has been unverified. if you do install this expansion with the latest version of deluxetags it will just break.
you would need an extra plugin for this. I know DeluxeCombat has a functionality for that iirc but the plugin has way more functionalities than just death location
interesting
okay i found one but do i need to download with the ecloud thing
or do i only need to download the plugin
oh nvm
i did it, it worked
what plugin exactly? because each plugin can chose to either have an external expansion or not
thanks dude
death coord
ah. alright then
yeah. then no need for an ecloud downoad
it gives the x y and z of the death location
download*
okay, cheers
Is there a way to make placeholders work for 1.7.10?
its up to the expansion/plugin to add support for 1.7.10
not to placeholderapi
I heard with one of the cores, and they said they had support for both 1.7 and placeholder api
Aquacore
and when i do /papi reload, anf /papi list aqua still shows
what placeholder i use to see the time im playing
there;s some in the statistic expansion
%statistic_time_played%
you can also get it unformatted as seconds, minutes, hours etc.
not sure I Understand the issue here?
You know when i join the server with 1.7.10
the placeholders are just shown as %(whatever)%
and when i join with 1.8 they work
as they should
and the plugin i am using is supporting 1.7.10
what version of PLaceholderAPI are you using?
Is in the GitHub?
yeah.
PlaceholderAPI (2.10.9)
thats the one u said should work for 1.7.10
yeah. 1.7.10 support was removed in 2.10.10
I could get the latest if u want?
the thing is, I Kinda doubt this is a PlaceholderAPI problem for some reason.
what is your actual server version? if you do /version.
08:40:24 INFO: ● This server is running aSpigot.
08:40:24 INFO: ● Made by Scalebound.
08:40:24 INFO: ● Spigot version is 1.7.x to 1.8.x - v2.4.4.
08:40:24 INFO: -----------------------------------
what the hell is aSpigot?
Idk, apparently a spigot hcf servers use?
what spigot should i use for 1.7 and 1.8 support
well I mean idk what aSpigot is at all
can you give a link or something?
oh. I've found it https://www.mc-market.org/resources/6101/
you seem to be paying a lot of money for stuff you might not exactly need btw.
yeah, seems that way
tryna get a good server out of it, but i run into small problems all the time
why do you even want to support 1.7 in the first place?
cuz hcf is supposed to be in 1.7
like you could've done so much better if you went just paper (normal paper) 1.8.8 instead and instead of aqua core you went with some already existing plugins like Essentials, DIscordSRV, etc.
bc of the pots and etc doesnt work properly in 1.8
like in my personal opinion, those are just scams. idk
the thing about custom forks, is that they make internal changes and break other plugins that might work just fine on paper/spigot
I personally enjoy playing hcf a lot, and theres a big difference with 1.7 and 1.8 when it comes to playstyle
so i don't think ppl will wanna play on a 1.8 hcf server
yeah. but still. your custom fork, might be the one breaking plugins. like you never know. anyways I Don't think its PlaceholderAPI at all.
alr, could u link me a spigot that should work and is working for both 1.7 and 1.8?
i can try it out
Pls say u didnt get that fork from mcmarmet
All forks on there are scams
Y did u get a fork tho? For bow boosting? Or some pot function? U dont need a fork to fix those
idk, first i bought a premade, then the premade had rescripted a lot of the plugins, and the dev that sold me the premade quit, so he won't instead i bought all the plugins he had rescripted, and i just changed them out with the newer versions
so idk where he got the fork from
or idk what it even does
Y did u buy a server if u dont know how to make one? U will end up spending lots of money that u dont need to
ik how to make one, but idk like why these things doesnt work
Ok
but yeah
%statistic_time_played
only this?
yes.
Hiw fix it?
https://pastebin.com/62dGqXYy
seems to be related to a PlayTime placeholder.
not really sure how to fix other than removing the placeholder itself from the hologram
! [Fri 19:09:29 WARN ] at DecentHolograms-2.3.1 (2).jar//eu.decentsoftware.holograms.api.holograms.Hologram.updateAnimationsAll(Hologram.java:419)
! [Fri 19:09:29 WARN ] at DecentHolograms-2.3.1 (2).jar//eu.decentsoftware.holograms.api.holograms.Hologram.tick(Hologram.java:224)
! [Fri 19:09:29 WARN ] at DecentHolograms-2.3.1 (2).jar//eu.decentsoftware.holograms.api.utils.tick.Ticker.lambda$tick$1(Ticker.java:79)
Too same
hmm?
Okey 😦
DecentHolograms same problem
I understand to write directly to the plugin developer?
to the PlayTIme developer maybe. I'm not exactly sure
Oki
Which placeholder can I use for Killstreaks? I tried to use killStats but that didnt work even after /papi ecloud reload or whatever..
??
most likely
@austere hawk try this plugin out maybe https://www.spigotmc.org/resources/combatstats.94932/
guys where is the kitpvp placeholeders ecloud
yeah but KillStats has a rank thing where its like killstats_killstreak_rank
so it wouldnt work on 1.17?
no thats for leaderboards
i want it on my sidebar to say like #31 or something
in kills
not really
Please respect the rules, be patient and don't ping staff members!
so next to the kill and stuff it would say &8(&6#31&8) or something
hmm? how so?
oh well i cant even send a screenshot which wouldve made my question make sense
You won't be able to upload images here directly to avoid spam, so please use https://imgur.com/upload or similar service to upload images/screenshots.
%combatstats_placement_killstreak_YOURNAME% would return 31
theres no papi ecloud thin-
like any other plugin and the placeholders will just work
well it works but now my problem is that its not synced with actual kills
the kills got reset
well yes. because it stores its own information
by default minecraft doesn't store killstreaks and all that
it only stores kills and deaths
that's why you need an enitre plugin to even get killstreaks
so how do i get this to work
wait
ffs
i need an imgur 1 sec
its not showing the player name
ugh. change %player% to {player_name}
@turbid tide ı send a picture but ı cant
use imgur
You won't be able to upload images here directly to avoid spam, so please use https://imgur.com/upload to upload images/screenshots.
You can also use a screenshot service like gyazo or jinx and post those links here.
you still need the % at the end
wait i forgot that?
smh
sorry
still same thing
i remember deleting the percent then thinking after typing playername that i would add it back but i forogt
anyway, its till the same
@austere hawk ı dont use ımgur
what if you do /papi parse me %player_name%. what does that say?
please send my pictures
why what
you dont need an account
you just need to go to https://imgur.com/upload and drag the image there
it will do the rest for you
I cant register
it just says my mineraft ign
smhhhhh you dontneed to
no
ok. what kitpvp plugin do you use?
yes
yes. I saw. one second. what's your IGN?
Zxnus
it just says Zxnus
when i do papi parse me %player name%
ok try and do /papi parse me %combatstats_placement_killstreak_Zxnus%
what does this say?
but ı dont dowload Kitpvp placeholders because eCloud dont have folder
1 which is my current killstreak
I asked you what kitpvp plugin do you use?
what if you do /papi parse me %combatstats_placement_killstreak_{player_name}%