#placeholder-api
1 messages · Page 117 of 1
nullying, as in legit setting it to null?
I'd show you but I'm on mobile and they just moved everything to another git repo
They are forcing people to use their mineacademy now for ticket crap
gross
Ew
Can placeholders be checked for OfflinePlayer?
only if the placeholder itself supports it
ah i see. Do you know if that's a problem for many placeholders off hand?
it really depends, do you have any in mind?
basically just common ones that users might use - this is AVPN and people can set placeholders in the kick message for using a VPN, so probably things like Player and Server and maybe Luckperms/other common ones for chat/utilities
oh you're not talking about using them yourself
luckperms doesn't work offline
i know
i think most of player works
server isn't related to the player
not sure
it works for checking perms so id hope it works for papi
but shouldn't the kick message be made before the player is disconnected?
a kick message?
can't use Player cause that's only during/after PlayerLoginEvent
and yeah the whole thing
all during the good ol' APPLE
fair enough lol
/papi parse <player> <placeholder>
if users complain that's on them :kek:
hey random unrelated feature suggestion
/papi parse <OfflinePlayer> <placeholder>
loads the user to memory and then does the thing
@austere hawk you here?
Make sure to read this https://github.com/PlaceholderAPI/Javascript-Expansion/wiki/Your-First-Script
I will replace the code from that wiki to the one i will give to you
Hello?
I am reading that right now.
Your gonna be editing the wiki with the world names code?
Not possibly
function getWorldNames() {
var server = BukkitServer;
var worlds = server.getWorlds();
var worldNames = [];
for (int i = 0; i < worlds.length; i++) {
worldNames.push(worlds[i]);
}
return worldNames.join(", ");
}
getWorldNames();```
Whatever your file is named
I figured it out
function getWorldNames() {
var server = BukkitServer;
var worlds = server.getWorlds();
var worldNames = [];
for (i = 0; i < worlds.length; i++) {
worldNames.push(worlds[i]);
}
return worldNames.join(", ");
}
getWorldNames();```
I messed up between Java and js, whoops
ah okay thanks, that returns CraftWorld{name= world}, etc. Is it possible to just list them out like world1, world2, world3?
function getWorldNames() {
var server = BukkitServer;
var worlds = server.getWorlds();
var worldNames = [];
for (i = 0; i < worlds.length; i++) {
worldNames.push(worlds[i].getName());
}
return worldNames.join(", ");
}
getWorldNames();
I mean yea, the objects
appreciate it, that works. going to learn javascript now 👍
I forgot about that..
@brisk coral try BukkitServer.getWorlds().map(world => world.getName()).join(", ");
Imagine pinging me smh, ping thien
@brisk coral
@vivid sparrow i wish I can use that on ECMA5...
@rare lily,
Please respect the rules, be patient and don't ping staff members!
prime reason placeholders should be kotlin
Make the kotlin script expansion then @rancid minnow
@vivid sparrow ok
that will be an amazing addition
Use https://paste.helpch.at/ for errors, logs and configs. So we don't spam the discord.
https://paste.helpch.at/pegacabewu.md
Exception in thread "AsyncPlayerJoinThread" java.lang.NoSuchMethodError: me/clip/placeholderapi/PlaceholderAPI.setPlaceholders(Lorg/bukkit/entity/Player;Ljava/lang/String;)Ljava/lang/String; (loaded from file:/E:/Eien/plugins/PlaceholderAPI-2.10.7-DEV-107.jar by PluginClassLoader{plugin=PlaceholderAPI v2.10.7-DEV-107, pluginEnabled=true, url=plugins\PlaceholderAPI-2.10.7-DEV-107.jar}) called from class studio.trc.bukkit.litesignin.config.MessageUtil (loaded from file:/E:/Eien/plugins/LiteSignIn.jar by PluginClassLoader{plugin=LiteSignIn v1.3.5, pluginEnabled=true, url=plugins\LiteSignIn.jar}).
Thats only mildly annoying
@last mesa do you mind reporting that deprecation to the maintainers of those plugins?
sure
This problem occurred after I updated the placeholderapi from dev96 to dev107 today
@last mesa you should be able to run the latest build when it finishes compiling
Yeah, technically they would only just have to recompile their plugins and the issue would be gone, but for now I added back that method
thank you
smh Sx
so i know you've probably heard about that often. Statistics expansion not working with 1.12. it's even showing on the damn github.
Stop bitching about it not working on 1.12
but okay, i need to find a way to make it work no matter what, even if it means paying devs to add its support idc
try the jar in the pinned messages
@amber dirge,
Looks like your server can't connect to our API,
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.
Bruh
😆
i get this on startup in 1.16, will 1.16 support be added soon or is there a different scriptengine i should be choosing?
"[PlaceholderAPI] Failed to set ScriptEngine for javascript placeholder:"
u can use the dev builds in the pinned messages for 1.16 support
@rancid minnow what build is stable now?
ik u were messing about with them
the one thats on spigot?
😐
?
i switched to the dev build today but got the same error
@dapper temple is there a stacktrace that accompanies that message?
@warm topaz I'm saying none of them are really stable
You don't find stability in dev builds
You get that with releases
@dapper temple add
engine: 'nashorn' to ur javascript file in javascript_placeholders.yml
¯\_(ツ)_/¯
if i remove it from the config it won't load my javascript, why would i do that
Remove the engine entry
still throws the error even with that removed
java version "1.8.0_261"
Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)
It seems that your jvm doesnt have the nashorn engine in it then
that seems unlikely since i didn't have this problem when running 1.15.2 on the same machine
Add a debug entry to root of the javascript config section
and set it to true
That will make it print out the available script engine factories
not sure what you mean by the "root of the javascript config section"... i tried this but it did nothing:
expansions:
javascript:
debug: true
engine: javascript
Oh, its actually using the debug value in the root of the papi config itself
so then above the expansions bit even then
no, is not there already. i placed it there, again: no effect.
in yours just not in mine
?
The same default config gets generated for everyone
Can you send your current config please?
can't seem to no let me try again....
Why do you have engine set to javascript?
i don't, it does that auto. I tried removing it and it just puts it back tehre again when the plugin loads
sxtanna do you ever sleep?
Um...
I dont think thats true actually
The default value it writes is "nashorn"
Can you turn the server completely off
Change that value to nashorn, save it, and then start the server
it says "nashorn" in the javascript_placeholders.yml, yes
and i could remove that line without any difficulty... this one in config on the other hand seems unrelated and self-spawning
@mental night no
sure i can try that hold on
smart move
indeed
sleep with one eye open when kalibear is here
👀
i know what you did last summer
ok it kept the setting if i changed it while the server was off, but this had no effect, still cannot load my javascript_placeholder and i have no indication that debugging has done anything
Do you get literally 0 messages when the javascript placeholder is loading?
If debugging is set to true it prints a couple of things
just the same one I've been getting for forever: [20:14:57] [Server thread/WARN]: [PlaceholderAPI] Failed to set ScriptEngine for javascript placeholder: showping , nothing else... shows the registring of every other expansion as usual, says nothing else in regards to javascript, not a single extra character about it
can you send whats inside of latest.log please?
i know what you did last summer
@mental night this seems familiar
cant figure out what from
This just straight up doesnt make sense
i'll be back in like 30 or so mintes maybe message me if you come up with something new for me to attempt, i thought the dev build would magically fix this and since it hasn't i'm not really sure how this isn't a known issue so... anyway i'll be back in a bit
sure i'll try that after
It looks like youre using a REALLY old version, that error message was changed like 4 months ago
unregistered it, downloaded new off ecloud says version is 1.5.3 on reload gave identical error
yeah i guess this is broken on my 1.15.2 machine too now for i guess the same reason
and it has a somewhat older version of java on it still, yet it still isn't doing nashorn anymore either i guess? wonder when they took it out
and if they did what are our other options
@dapper temple I mean.... if were considering all options here
You can download the kotlin scripting expansion
lol
so you're saying nashorn is the only availble engine for javascript so people just can't use javascript at all now because java itself no longer supports it?
I suspect theres more fuckery going on here than what is obvious
nashorn is only deprecated atm
It should still work
only information i'm finding so far is that it's the only engine included in the jdk, but any engine should work and... i'm not sure what's in the runtime environment - if anything
[DeluxeMenus] Error in requirement javascript syntax - %luckperms_groups% >= helper
help me
= it's used for numbers
I can not do . to buy only a certain degree that I put it?
that placeholder returns a list of groups inherited by the player you couldn't use >= a list
you'd have to like %luckperms_groups%.forEach(item,index) {and check each item >= some value}
it doesnt work like that
Hello, is there a way to cancel/stop all the following actions if the first condition you put isn't met?
Hello, using placeholder API v2.10.6 works fine, but when using the DEV version 2.10.7 this error is created:
Caused by: java.lang.NullPointerException
at me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:99) ~[?:?]
at me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:301) ~[?:?]
at me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:630) ~[?:?]
at me.rockyhawk.commandPanels.commandpanels.openGui(commandpanels.java:432) ~[?:?]
at me.rockyhawk.commandPanels.commands.commandpanel.onCommand(commandpanel.java:343) ~[?:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[patched_1.16.1.jar:git-Paper-103]
... 27 more
Is there some API changes or does anyone know what the issue is?
.setPlaceholders() is removed?
Show me where you're using it
PlaceholderAPI.setPlaceholders(p, (List<String>) pconfig.getList("panels." + panels + ".item." + item.split("\\s")[c] + section + ".lore"))
I have a feeling it might have to do with using a List<String> but it was working before
the entire thing is here: (line 432)
https://github.com/rockyhawk64/CommandPanels/blob/master/src/me/rockyhawk/commandPanels/commandpanels.java#L432
oh yeah I forgot lol,
it only takes a string now?
I think it always took a string did it not?
idk because version 2.10.6 works fine but 2.10.7 DEV doesn't work anymore
Will OtherPlayer Expansion work if the player I m trying to parse is offline ?
depends on the placeholders
and you can also use the ParseOther expansion, it will let you use all PAPI placeholders
Is there a way to use math expressions with placeholders? For example having 10*%vault_eco_balance% output the player's balance multiplied by 10
%math_{vault_eco_balance}*10%
if you want to round, add [precision:0] before the last %
Is this built in, or does it need an expansion?
expansion
Thank you!
hi, im having problems with a custom placeholder done with javascript_expansion. It just subtract a part of the number it gets from args. Now the problem is, i want to make this placeholder work with commands (ej: /bank deposit %javascript_example_100%), but it returns NaN, and i can't figure out why.
I checked that without putting it on a command line and it work just fine (papi parse me %javascript_example_100% return the desire ammount) and i also checked that "/bank deposit %player_name%" return the player name just fine, so i know for sure is an error on my placeholder
javascript_example_100
sorry i put just example, but is javascript_example
A member of staff has requested I move your pastebin.com paste to our paste.helpch.at!
alright i just checked something
the problem is i'm using the placeholder as %javascript_example_{money}%, being money the first args you pass when you open a deluxemenu, and it seems to not work this way, i doubled checked that %javascript_example_100% works fine inside a command
also %javascriptexample{money}% works fine if not put on a command line (see line:19)
Is there some placeholder similar to Kills Stats ?
soon™️ 
Hello! Can someone please help me make a javascript for this placeholder? %vault_eco_balance_fixed%
So the placeholder displays your currency without any decimals or commas, but I want it to have commas between the 3 digits, is it possible to add them?
vault_eco_balance_commas @odd jay ?
Thanks!
Now I wanted to replace all commas with dots since that is how currency works in my country, but there is something I'm missing on my placeholder, and it turns empty: https://hastebin.com/ujevuxaver.js
What could be wrong? can someone help please?
You have no return
@brisk coral removing a method would not cause an NPE
@rancid minnow,
Please respect the rules, be patient and don't ping staff members!
It would cause a NSME
Indeed
@random hazel You're passing null in somewhere
I've been changing papi internals to no longer consume exceptions
If you do something wrong, it's going to tell you now
I do love useless error messages though like “fatal error occurred” with no more information is great fun

Words yes
He messed up both sentences 🤦♂️
What time is it for you?
5pm likely
He's american
he just sleeps
It's 4:30pm here
ohh right about 10 then
It's 10 am
.replace only changes 1 or does it change all the values that it found? and if only replace 1, what should be used to replace all?
my bad
*.replace
"Error has occured: error"
oh wait
youre talking about js
No, in JS, if its not regex, it only replaces the first value it finds


Uhhhh, I don't see an update for 1.16; does it work? (latest version). ||Sorry for nub||
👌 ❤️
Hey guys, I'm having an issue with PAPI.
I have the Player extension installed but %player_name% remains the same.
Use the commands provided in that
do /papi parse me %player_name% @rose rain
But i want everyone to be able to have it.
It's for my scoreboard.
I deleted PAPI and reinstalled it, hopefully that helps.
What scoreboard plugin are you using?
KiteBoard
is placeholderapo been updated for 1.16
Pins.
yea was just checking if that was an actuall 1.16
thanks
sorry to download do i click on #110 build
I wouldn't do anything over 98
and with 98 still work for 1.16
yes
Use the latest so we have feedback on if the latest is broken lol
How do I get papi to work with bungeechat?
I've noticed multiple servers that have the %server_unique_joins% placeholder on their bungee network
Do you know they are accomplishing this?
Would just be on the lobby server if it was using papi
Im setting up goldencrates & I would like to ask what the place holder would be if I want to use money as a reward
./eco give %player% 100 doesn't seen to be working
it sets it to my name
?player
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
thank you
hi
are their placeholders for ezblocks blocks mined?
how would i use this on holograms
holographic displays
You need to get the holographic extension plugin, and then use it with {} instead of %%
Is there any Placeholder Similar to %askyblock_leaderboard_level_<1-10>% ?
Leaderheads
any other ?
doubtful
ok thx
Hello! Sponge's download servers are down, does anyone happen to have a mirror for the sponge version of PlaceholderAPI?
PlaceholderAPI doesn't have an official Sponge version
papi3 😏
yet*
Hello! Sponge's download servers are down, does anyone happen to have a mirror for the sponge version of PlaceholderAPI?
@ivory fjord
We're not associated with that sponge version
We're working on an official build, but that is still some time away.
np
Where can I find documentation on how to write JavaScript placeholders?
Thank you!
Hey I am looking to talk to the Dev in private chat is that possible?
In regards to?
It's about using the logo
How does Dev have any relation to logo
dw its sorted
Is it possible to use placeholders within a scipt? Or would those placeholders need to be passed as arguments to the javascript placeholder?
@brisk coral One for you ^
@rotund pendant,
Please respect the rules, be patient and don't ping staff members!
Is it possible to use placeholders within a scipt? Or would those placeholders need to be passed as arguments to the within javascript placeholder?
@night owl Yeah it's possible, not sure how off the top of my head, but if you have a google around you'll find it
Thank you!
The answer is certainly
Javascript expansion can't be used as %javascript_top_#% (where # = any number, Something like a leaderboard)
Well technically it can
huh ok thx for info
is there a dev build for papi?
sweet thanks!
are they placeholders for this plugin https://www.spigotmc.org/resources/▶-quests-◀-set-up-goals-for-players.23696/ ?
if just someone would be brave enough to read a wiki once in a while xD https://github.com/LMBishop/Quests/wiki/PlaceholderAPI
welp not everywhere xD. You are welcome
i dont have to download the ecloud thing, do i?
well if they work you don't
if they don't you probably do
hmm seems like there is an expansion
to be downloaded
because it didtn work and I do /papi ecloud download quests it downloads the extention for quests from the other person
ah thanks
oh well no, this is the other quests plugin
yes
try going into plugins/PlaceholderAPI/expansions and delete the Quests one then restart the server and try the placehodlers again without downloading it
it = expansion
no problem
Javascript Placeholder
Why array.includes(element) doesn't work?
try .contains?
Still not working
@fervent jackal can you send the code youre using?
Forget it, i replaced that part with array.indexOf(element) !== -1
I am aware
fc be giving development more perms 😠
https://tenor.com/view/4head-haha-clap-applause-gif-11789360
@rancid minnow People before 2016 never thought that xd
Hey ! Is it possible to get a placeholder value of another server in a bungee cord network ?
Fetch placeholders from PlaceholderAPI across your BungeeCord network.
• Thread URL
• Homepage
• Wiki
¯\_(ツ)_/¯
Charlie ded 
thats the only way i know of
charlie not dead
he isnt dead frosty
I know Kali smh, I got a 200 SC streak with em :p
o
yeah I forgot about that
🤨
I was saying, remember the site where it is posted
Also I've just realised, is your profile picture a helicopter in minecraft?
i can test it to see if it works on 1.16 when i get on pc
but i assume it does already
Also I've just realised, is your profile picture a helicopter in minecraft?
@Niall yeah, I was using MC Heli on 1.7.10 when I started to play Minecraft =)
Lol nice
nerds
still hasn't been updated 😭
I always wanted to try out the flans mod or something
With vehicles
I could never get it to work
In the end I went with MrCrayfish's Vehicle Mod ¯_(ツ)_/¯
can placeholders be passed as arguments inside javascript placeholders?
didnt u get answered earlier?
{placeholder}
like this? %javascript_titleprice,{luckperms_check_permission_title.healer}%
Javascript Placeholder
I want to do something a little complex, I've already tried it in several ways and none of them have worked for me.
There are 3 lists:
var list1 = [];
var list2 = ["perm.one", "perm.two", "perm.three"];
var list3 = ["text1", "text2", "text3"];
I want to verify each element of the second list, if the player has the permission, the text of the third list that is in the same position of the permission will put in the first list
For example, if the player has perm.one and perm.three the first list would look like this:
var list1 = ["text1", "text3"];
index loop
:what:
@night owl no. between the javascript name and first argument there needs to be an underscore not a comma %javascript_titleprice_{luckperms_check_permission_title.healer}%
list2.forEach(function (value, i) {
if (player.hasPermission(value)) {
list1.push(list3[i]);
}
});
@fervent jackal
something like that
I dont know JS like that, but should be along those lines
Does forEach even work in js?
yes?
Interesting
That was it, thank you!
@rancid minnow
Thanks, i will try with that
/papi ecloud download mcMMO /papi reload
`/papi ecloud download mcMMO
/papi reload
sure i have all did
only
mcmmo_power_level
mcmmo_power_level_cap
work
but mcmmo_level_<skillname>
mcmmo_rank_<skillname>
not work
mcMMO maintains their own expansion. You might have better luck in their Discord since they are actively updating that.
but i ask them they said this
you might need to go talk to the papi guys, I don't know how that stuff works
I responded in their support channel and tagged the proper person for you.
okay thx 🙂
@main kettle did you try %mcmmo_level_SWORDS%?
jesus since when does mcmmo cost money??
It's going up to 20 soon.
These dudes..
@main kettle uhhhh
the placeholder totally works
what the hell?
Why did I think that would embed...
@main kettle can u try /papi parse me %mcmmo_level_swords% ?
also check if u have levels in swords
can't reach (can't open the page )
jesus since when does mcmmo cost money??
@rancid minnow it always did
||but you can download it for free from their CI pls dont do this||
ok i have fund why
when i change en_US to zh_TW
then the %mcmmo_level_swords% placeholder will not work
Locale: zh_TW
The locale in mcmMO?
yes
I would report that to them.
Theres also a design change discussion we need to have when youre free @final shadow
Well that was a roller coaster
¯_(ツ)_/¯
Are ya'll adding relational placeholders or is that just mvdw?
Is there somewhere I can read about that to learn what it is?
?
I have no idea what relational placeholders are
I think I read somewhere that it's got to do with multiple plugins interacting or something
I've only read that mvdw is working on adding them and not actually found anything explaining what they are.
I know nothing about anything else
I barely know about papi
but papi has had relational placeholders for a while
since 2018 at least
I can see how that would be useful
Like I said I had heard that it was between two plugins
That was literally what my question was
I mean that's kind of why I was confused
It's between 2 players.
Well I got that part from the java code ^
I think I read somewhere that it's got to do with multiple plugins interacting or something
Petition for papi3 to be kotlin 
That would be very fucking dumb
I have no idea if that would be very fucking dumb or not
I can't imagine why it would be useful
It seems to me like if two plugins have any kind of interaction then you could get the data you want from just one of them
I mean I can give you examples of how that could work
There could be for instance a placeholder checking a player's location against multiple land claim systems to see if the land is protected, I.E. towny and worldguard
wdym?
so imagine you had something like %worldguard_protected% and %townyadvanced_protected%
you could use some kind of an operator placeholder like ||
so it would become %worldguard_protected_||_townyadvanced_protected% and would be true or false
An expansion that allows you to use javascript for processing
• Wiki
• Community Scripts
• GitHub
• eCloud
you can do a lot with javascript
You could also use kotlin
Ah I forgot about that
because kotlin is better than javascript
Go to bed
You could also use the math expansion
I don't know kotlin, I barely know Java
which supports boolean operands
math for true false?
clip i dun wanna
&& or &? @rancid minnow
&&
v nice
good to know
that guy looks like Ron Weasley's dad minus the red hair
Would be nice if we could push an update
Would be nice if the arrows were grey
Would be nice if you could push so we have arrows
Would be nice if you didnt SQUASH my 53 commits into 1
Would be nice if we had colored commands 
centered arrows?
Would be nice if you don’t do so much in one pr
That should have been 53 prs
My team has a bad tendancy of piling everyone's changes into one branch and then making prgeddon
how are you meant to get your commit numbers up on your profile page if you don't make 53 commits in a pr
you should hear about how I'm going to boost my expansion downloads 😉
Its not even about commit count, its about actually using commits the way theyre supposed to be used
How am I meant to get my commit numbers up if my employer has something proprietary instead of github
x_x
mirror it to github obviously vergil
Don’t ask me to merge from my phone
boom fired
i'm merging gradle sx
I demand my 53 commits be tracked

Yall make me blush, I don't even know how to revert changes without fucking up my whole local repository
Probably cause youre a 4head
Now all that needs done is everything converted to kotlin and we're on a good path 
Hell no
I don't know what that means but it's entirely possible.
sx is that sourceset configuration necessary?
Break everything
Burn it all
break barry
I've never broken anything
break him
We did
On this week's episode of Breaking Barry
fuck jenkins
What’s new
Who will be promoted? Who will be fired? Who will be banned from the Discord? Is it Vergil? It's probably Vergil.
Its gross
maven's being taken out back and getting a bullet in the head clip
Btw Vergil we made a rule that if you submit an issue to papi you get banned from discord
LOL
:I
I can't even use my own emoji to demonstrate the depth of my :I
So what do I need to do to Jenkins
change it to use gradle isntead of maven
@carmine veldt unless it restores all of my commits, I dont care
I will forever have this burden upon my heart
A reminder of the day I was betrayed by git
Hey look so here's the thing. https://paste.thezomg.com/75527/77148159/
I recognize this is Maxim's fault
please just use hastebin
no
I literally can't read this
thats not maxim's fault
That version of the json library was outdated
so it doesnt work on 1.16
However comma, its updated in latest dev
thanks
Hoverever, comma,
SHUT UP
yeah I was wondering
Its 4 am
So that means Maxim has to update his json library though right?/
Its not his?
It's not?
no...
nothing todo with maxim vergil
JSONMessage.create("I am a title")
.color(ChatColor.GREEN)
.style(ChatColor.ITALIC)
.title(10, 20, 10, player);
so fucking ugly
gross
I read shit out of order and thought that was when tab did something
time to fix sx's trash formatting
so what do I need to do to fix this then?
dont FUCKING touch my files
On it boss
i don't even need to pr the arrow changes either @rancid minnow
Anything I need to know before I plop this new build in?
probably
prepare for your server to implode
Uh
Join voice pig
arrows aren't even there
Wait did you wipe all the old builds
yes
Bruh
he was using some weird ass maven jenkins plugin
that made it impossible to convert to gradle
I can't register on the eCloud =/
xD
I wanted to upload my PlayerList expansion ;-;
oh you've finished it?
yay
nice
but I didn't find a way to check a player's permissions with Vault yet x)
so RIP my offline and all lists with permissions =/
well I mean someone might be able to help you
You don't need vault to check permissions
he wants to list all players who have a permission
You don't need vault to check permissions
I do if I want it for offline players
Ok?
since the Bukkit .hasPermission("permission") only supports online players, I can't make a list of offline players with a permission, that's why I wanted to use Vault's API for that
I can't register on the eCloud =/
btw, if I try to login, apparently it finds my user name but tells me
You must verify your email to login.
but I didn't receive any emails =/
I can't register on the eCloud =/
@junior musk did you have a capital letter?
oki
yup, it works, thanks !
btw, if I want to verify it I have to upload it to github and put the link in the source URL right ?
oki ¯_(ツ)_/¯
xD
tang, is it all rewritten in java now?
Yea
nice
btw, if I want to verify it I have to upload it to github and put the link in the source URL right ?
@junior musk It's preferred but not strictly required
I was talking to blitz when I said "Ok?" btw
Ok?
tang, is it all rewritten in java now?
yup, but you're probably all going to yell at me because of how I did it x)
I'm sure I did something wrong
shouldve done it in kotlin 
fak, I called it PlayersList instead of PlayerList ;-;
get cube to remove clips listplayers, and call it that 
nah, I'm good 🙂 https://api.extendedclip.com/expansions/playerlist/
Now gotta upload the expansion to GitHub and mess with the license thingies ;-;
yeah
pretty sure it just defaults to gpl
I've never uploaded to GitHub before so idk x)
nah, I'm good 🙂 https://api.extendedclip.com/expansions/playerlist/
@junior musk Checked and'd
how do i get verified author? 
You get gud
Pretty much
😕
time to make 10 more shit expansions
trusted != shit

whats the placeholder for players online on a bungee server
i cant find it
ok so like
is %bungee_(name)%
the players online
on that names server?
remove () and yes
do /papi parse me %bungee_skyblock%
it just shows up %bungee_skyblock%
The bungeecord expansion updates the values every 30 seconds
You should be able to modify this interval in the config.yml of papi
i dont think you read the conversation correctly lol
What did I miss exactly?
It does not retrieve values immediately
it just shows up %bungee_total%
if it returns the %% u didnt download the expansion correctly
/papi reload```
what hologram plugin
holographicdisplays + holographicextention
is holographic extension enabled?
unless its disabled by default yes
is it red in /pl
nope
Did you set it to a refreshing value?
did u add an update placeholder to the line?
Holograms dont update by themselves
{fast} for example
ohh
{fast}%bungee_skyblock%
nope
🤔
am i missing a dependencie (idk how to spell that)
What was the result of you doing that?
Does it show "{fast}" on the hologram?
yes
Yes
What version?
1.8
do u have protocol lib? it shouldnt affect this but still
i think the plugin would disable without plib anyway, not surr
unless its soft depend
Wait, were you saying youre on minecraft 1.8? or holographicextension version 1.8?
Yeah, it requires protocollib for placeholders
👍
👏
Ok so I have a very specific question; when I plugman reload a plugin that uses PAPI placeholders PAPI then becomes unable to access the values in memory of the plugin. That's annoying.
Now what's really weird is that the plugin has a default behavior where no values are found for player data it will get them from the database - which PAPI does after a plugman reload. Which is weird.
This would balance itself out except that it seems like some servers (read: one very specific chinese server) seem to crash when they get overloaded with papi requests to access db data.
So I guess my question is two-fold:
- how the hell is this even happening
- is it possible to "reconnect" my plugin to papi is it is fully unloaded and loaded back in during runtime
I will say upfront that my sqlite implementation is not perfect and probably not even good in general, I'm still trying to learn how to use sql dbs in general, but it should be a fallback feature that is only accessed once in a while, not at the frequency that PAPI seems to fire when trying to fill 70+ users worth of tab list info or filling scoreboard info.
Ok so I have a very specific question; when I plugman reload a plugin that uses PAPI placeholders PAPI then becomes unable to access the values in memory of the plugin. That's annoying.
this says it all
Plugman should not be used in production
if that was all there was to it I wouldn't ask any questions honestly
Because plugman is shit and should not be used for this, there's reasons why you restart the server instead of just reload
how is it even falling back to my db though
that's the thing that sort of baffles me
I mean are you caching data?
yes
papi 1.16 bless
papi just can't see the cached data, it bypasses the cache and goes to the db
Where are you caching the data?
whats the placeholder for the player name? i want to use citizens cmd to switch my server, but i dont want people to be able to do /server, so i run the command through console
It's player_name
I mean I've tested it by accessing the same method directly through the plugin and through papi, they genuinely give two different assertions as to whether the data is cached within instants of accessing that data
Yes
and as for where I'm putting it, I keep a playedata hashmap for online players which I load from db when they log in
This is probably classloader fuckery
I briefly spoke with @final shadow about this yesterday
@rancid minnow,
Please respect the rules, be patient and don't ping staff members!
I know how i can prevent a reconnection manually to papi after a plugman reload but is there a way to actually reconnect correctly instead? that would sort of be preferable
Is your expansion in your plugin?
currently expansionless, I never really looked too much into making those or the advantages thereof
What... ?
I think he means he packs the placeholder class with his plugin
yes
That's what I just said
sorry I was pulling up the documentation again because it's been a minute
yes
That's strange
oh yeah one more fun note on the issue from before
papi can only read old cached data
it desyncs from the plugin's cached data upon reload
so anything that was in the old cached data is still going to show up but it'll never update
"upon reload" upon plugman reload I'm guessing?
yes
pLuGmAn
thoughts, insights other than plugman bad?
i mean does it work fine if u dont use plugman?
Are you unregistering the papi hook on disable of your plugin?
Idk how plugman handles reloads but I assume it disables the plugin
it does
it fires the onDIsable
I'm also not purging player data on shutdown which I assume is why the old data stays up there for papi (somehow)
So basically you're just like... Doing everything wrong
And you expected a good outcome from that?
Just by magic?
no?
Be nice sx
I was mostly just curious as to how papi was getting data like that
I'm not trying to be mean, I'm just saying
You know you're not doing things correctly
You're not deleting the old data
And you're not unregistering the old hook
By simple deduction, you should know why this is happening
The new hook would never register in that case
^
Since papi still has the old hook class stored
Is the data cache stored in the placeholder class too?
Start with unregistering on disable
I'm guessing it's PlaceholderAPI.unregisterExpansion ? does the unregisterAllProvidedExpansions work or would that affect expansions other than mine?
But yeah as sx said earlier> This is probably classloader fuckery
@rancid minnow
yeah that is probably very true
Ya the first one
This is going to be changed in the future btw, so keep that in mind
Actually, from an API perspective it might not change
also that got me curious
I think he means the classloading
I mean the classloading and the method upon which registration is handled
Right now it's kinda all over the place
I unload a lot of data on shutdown but some I never bothered because, well, it's shut down so 99% of the time that's it
is it really that bad that I'm not clearing player data specifically to handle reloads?
the hashmap gets initialized anew during startup
hm
@final shadow there's 3 different places you can poll for an expansion by name
And 3 different ways those expansions can be presented in the API
And 4 different ways to get to those endpoints
It's all over the place.
sort of reminds me of discordsrv
yeah that did the trick perfectly
thanks for the help clip, sxtanna
I think I'm gonna do this now actually
Want to entertain me in room 1 sx
suuuuurrrreeee
now I should probably figure out why it is that my dbs are so bad they crash chinese servers
1 min gonna hop on my pc
What happened to the nice one-line-per-expansion ecloud list ?
I read it. It does not say how to get the one-line-per output.
You did not read it.
The entire PR was to restore the single expansion per line
Look at the image.
Oh, well that's clear.
Thanks.
I just d/l b18. papi ecloud list installed prints 4 lines per expansion. No other command options are listed.
@grand blade ?
Please see issue #367
@junior musk 😮
V nice
wot
only setBracketPlaceholders
'd