#placeholder-api

1 messages ยท Page 90 of 1

brisk coral
#

You parse the placeholder, and use it

rigid lance
#

I'm sending a message on join like so ```message: "%someplugin_placeholder1%"

And it doesn't send the placeholdr
brisk coral
#

I mean are you parsing the placeholder before sending the message?

rigid lance
#

How do I do that?

brisk coral
#

PlaceholderAPI#setPlaceholders(Player, String);

rigid lance
#

Is that meant to be on the onEnable() method?

#

oh

#
        if(identifier.equals("placeholder1")){
            PlaceholderAPI.setPlaceholders(player, identifier);
            return plugin.getConfig().getString("placeholder1", "value doesnt exist");
        }```
Like so I suppose?
#

Tried doing it like so

        joinText = PlaceholderAPI.setPlaceholders(player, joinText);
        player.sendMessage(joinText);
sacred bronze
#

is there a placeholder that exists which converts the player's exp to levels

sacred bronze
#
var exp = "%player_total_exp%";

function exptolvl() {

  if (exp > 1395) {
    return (Math.sqrt(72*exp-54215)+325)/18;
  }
  if (exp > 315) { 
    return Math.sqrt(40*exp-7839)/10+8.1;
  }
  if (exp > 0) {
      return Math.sqrt(exp+9)-3;
  }
  return 0;
}

exptolvl();

How would i go about returning 2 decimal places here instead of a billion

junior musk
#

idk but you coulf try to use the math expansion to remove all decimals

#

%math_{javascript_placeholder_you_made}[precision:2] % this would keep obly 2 decimal numbers

solar bison
#

Hi?

#

Does anyone help me with a problem of PlaceHolderAPI?

warm topaz
#

whats ur problem

solar bison
#

My problem is when I download the LuckPerms placeholder I get this error in the console:

#

I send you the link in pastebin because it exceeds the word limit

warm topaz
#

=paste

tender vaporBOT
#
HelpChat Paste

Please use a paste service to share configs, errors, code and long logs.
โ€ข HelpChat Paste

solar bison
#

There is

warm topaz
#

update to the latest PAPI as u are very outdated

solar bison
#

Ok

#

Thank you I will try it and let you know

#

Thanks if it worked I appreciate it very much!

sacred bronze
#

@junior musk you're a baller, that worked. ty

sacred bronze
#

@junior musk just realized that wont work with mvdw {placeholderapi_... hmm

vivid sparrow
#

@sacred bronze .toFixed(2)

next garnet
#

Hey guys, just wondering if there's a way to make it so %worldguard_region_name% will return Wilderness when in the __global__ region. Cheers

brisk coral
#

Javascript

dry citrus
#

So how does one get their Expansion verified?

junior musk
#

@junior musk just realized that wont work with mvdw {placeholderapi_... hmm
@sacred bronze
try}<calc round>{placeholderapi_yourplaceholder}</calc>

final shadow
#

@dry citrus spam staff to check it lol

dry citrus
#

Hahaha fair enough ๐Ÿ˜„

vivid sparrow
#

Start with clip

dry citrus
#

@final shadow Can you check my Expansion ๐Ÿ˜›

#

Also why am I leveling up so quickly?

vivid sparrow
#

ยฏ\_(ใƒ„)_/ยฏ

sour wadi
#

Which version would I use for 1.14.4 I'm assuming the latest should work?
I'm currently using 2.10.4 trying to list, or download an expansion I'm getting No cloud expansions are avalable at this time

bronze bison
#

@dry citrus verified Verified
Thanks for using PlaceholderAPI.

rigid lance
#

Can anybody send me the wiki page that guides you on how to make a placeholder that can be used in other plugins that support placeholderAPI

balmy marten
#

Via expansion or inbuilt into the plugin?

vivid sparrow
#

Both are on the same page anyways

rigid lance
#

What should I use? I only need to create 1 placeholder

balmy marten
rigid lance
#

Thanks ๐Ÿ™‚

balmy marten
#

If you own the plugin you might aswell make it inbuilt

rigid lance
#

Alright I will, thanks again

rigid lance
#

So if I have this

        if(identifier.equals("staff")){
            return "ยงbยงlSTAFF";
        }```
Am I able to use it in a different plugin that hooks into placeholderAPI
bronze bison
#

Yes. And by the way, you can use & there.

rigid lance
#

Ok thanks!

mild radish
#

Caused by: <eval>:1 TypeError: Math.log10 is not a function

#

Do JS prototypes not work in the js expansion?

mild radish
#

Anybody have a js function that formats custom currencies to k, M, B, T, etc. etc?

mint fable
#

ya

#

I do

#

@mild radish

#

1 second

#

i mean, it's been 40 minutes so you might have one by now

#

I just added b, t, qd, and qn. Not sure if they work

function formatNum(num){
    if(num>=1000000000000000000){
        return (num%1000000000000000000).toFixed(2)+"qn";
    }else if(num>=1000000000000000){
        return (num%1000000000000000).toFixed(2)+"qd";
    }else if(num>=1000000000000){
        return (num%1000000000000).toFixed(2)+"t";
    }else if(num>=1000000000){
        return (num%1000000000).toFixed(2)+"b";
    }else if(num>=1000000){
        return (num%1000000).toFixed(2)+"m";
    }else if(num>=1000){
        return (num/1000).toFixed(2)+"k";
    }else{
        return num;
    }
}
#

And it will show up as "50.23m" right now

#

if you want to change that, then change the toFixed(2) to toFixed(0)

mild radish
#

Yeah didnโ€™t want it with if statements, but I guess this is the only possible way. Thanks <3

sacred bronze
#

@sacred bronze
try}<calc round>{placeholderapi_yourplaceholder}</calc>
@junior musk

completely forgot about mvdw effects, <calc round> did not work, however <round decimals="2"> did, thank you so much โค๏ธ

mint fable
#

Why don't you want if statements @mild radish ?

sacred bronze
#

@mint fable bc they smell bad like u

#

oo0o0o0o0o0o0o0o0o0oo0o000o

mint fable
#

Ah...

sacred bronze
#

jk i love u

#

no ban pls

austere hawk
#

Bad joke ._.

safe lava
#

I'm trying to put the time played statistic into titlemanager playerlist, but it just reads out as %statistic_time_player% instead of the actual amount of time. Anyone know how to fix?

junior musk
#

bc they smell bad like u
that's bad ๐Ÿ˜Ÿ

#

why you bad with poor cj ?

brisk coral
#

@safe lava Do you have the expansion installed?

safe lava
#

what expansion?

brisk coral
#

Statistic

junior musk
#

does it show in /papi list ?

#

if not, do /papi ecloud download Statistic
and /papi reload

brisk coral
#

Every placeholder requires an expansion (you can get the expansion name from most by looking at the first word of the expansion) (unless the placeholders are built into the plugin), you can download the expansion using what Tangu just mentioned

safe lava
#

yeah i did do that

junior musk
#

and does it work if you /papi parse me placeholder ?

brisk coral
#

Double check the spelling of the placeholder

junior musk
#

yeah, maybe it's the wrong one

#

and what's your server version ?

brisk coral
#

Doesn't matter with this one Tangu

junior musk
#

doesn't it broke the expansion if it's not the right version ?

brisk coral
#

Just the _/: placeholders

#

Iirc

safe lava
#

it says placeholder

#

when i do that command

brisk coral
#

Copy the exact placeholder you're trying

junior musk
#

%statistic_time_played%

brisk coral
#

Remove the s Tangu

junior musk
#

thx, Idk why I always add a s lol

brisk coral
#

Cause it makes sense

junior musk
#

that's true...

safe lava
#

o it worked

#

i swear i tried that a million times

#

thx

ebon hearth
#

Hello

#

I want to Ask how can i create placeholders for the tab prefix

somber willow
#

im loosing my mind trying to put together a jsontext for deluxejoin trying to get both a hover event and click event to work on the same text, can someone send me an example of how i would do that?

junior musk
somber willow
#

Join our Discord for Updates and to drop a suggestion! * is what im doing but when i take the output from that generator and parse it with a json parser it fails, and loading the output to DeluxeJoin it does not show that added line

#
["",{"text":"Join our Discord for Updates and to drop a suggestion! ","color":"yellow"},{"text":"*","bold":true,"color":"gold","clickEvent":{"action":"open_url","value":"url redacted to not promote my server"},"hoverEvent":{"action":"show_text","value":"Click Here!"}}]
#

this isthe json it spit out

junior musk
#

did you put it between ""?

#

and what does it have to do with PlaceholderAPI ?

final shadow
#

ah

#

use this @somber willow

#
{"text":"Join our Discord for Updates and to drop a suggestion! ","color":"yellow"},{"text":"*","bold":true,"color":"gold","clickEvent":{"action":"open_url","value":"url redacted to not promote my server"},"hoverEvent":{"action":"show_text","value":"Click Here!"}}
somber willow
#

i just realized this is the placeholderapi channel, my apologies

#

hey clip, you wonderful person, that is working all except the * character in the second text field does not show up in the motd, tried changing it to another character to no avail, any idea why that would be?

brisk coral
#

Add a random letter and see if that shows up

#

(in the same string block)

somber willow
#

i had tried a T

#
{"text":"Join our Discord for Updates and to drop a suggestion! ","color":"yellow"},{"text":"t","bold":true,"color":"gold","clickEvent":{"action":"open_url","value":"url redacted to not promote my server"},"hoverEvent":{"action":"show_text","value":"Click Here!"}}
final shadow
#
{"text":"Join our Discord for Updates and to drop a suggestion! ","color":"yellow"}&&{"text":"*","bold":true,"color":"gold","clickEvent":{"action":"open_url","value":"url redacted to not promote my server"},"hoverEvent":{"action":"show_text","value":"Click Here!"}}
somber willow
#

thank you! that worked!

final shadow
sacred bronze
#

why you bad with poor cj ?
@junior musk i love cj i follow him on twitch

mint fable
#

What seems to be the issue neo?

#

@velvet furnace

velvet furnace
mint fable
#

Type /papi parse me %checkitem_mat:ROTTEN_FLESH,amt:1%

#

what does it return?

velvet furnace
#

"si"

mint fable
#

That's why, your placeholderapi config was changed

#

Can I see your papi config?

#

=paste

tender vaporBOT
#
HelpChat Paste

Please use a paste service to share configs, errors, code and long logs.
โ€ข HelpChat Paste

velvet furnace
#

sure one secondo

mint fable
#

Okay

#

So change yes to si in your deluxemenus

velvet furnace
#

alright

#

holy shit that worked

#

thanks alot, spent like 2 days trying to fix it lol

mint fable
#

๐Ÿ‘ most placeholders will return the value set in config

#

Always good information to know

meager vault
#

Hello,

I have a problem of lags with placeholders : the baltop placeholder of vault.
If I create a Deluxemenus' menu where I use the variable
%vault_eco_top_balance_formatted_#%
it will work, but if I have more than 2000 players in essentials database, it will create lags each time I do /baltop

I'm using placeholderapi 2.10.4 and and paper 1.15.2 build 126

bronze bison
#

Well tbh no wonder its lagging with 2k, gonna have to improve that cuz I've done it badly ๐Ÿ˜…

final shadow
#

Cache the top

#

Only a certain amount

#

Like the top couple hundred

#

Anyone else is irrelevant

vivid sparrow
#

top 100 should be enough

#

but you still have to loop over everyone thonking

final shadow
#

Then just have a task run to get the top

#

Call it async every so often

#

Update cache with new results every time and should be good

#

That way the actual placeholder only gets a value from the map

bronze bison
#

exactly what i wanted to do

final shadow
#

Iโ€™ll do it in a sec

#

Is this in the vault expansion

warm topaz
#

damn. clip has reformed :()

bronze bison
#

Oh cool, yes its in vault

#

I remember ive improved that part recently, dont remember if I merged the PR or not

#

if you have free time, there's an issue with enjin expansion too. would be great if you checked it

warm topaz
#

๐Ÿ˜ฎ

#

thats in papi config right?

final shadow
#

ya

warm topaz
#

so we need a new papi update to add these options?

final shadow
#

no lol

#

the expansion adds them automatically

warm topaz
#

neat

#

never knew that existed

final shadow
#

you can just add this method to an expansion

#

and it will generate a config section in the papi config

warm topaz
#

๐Ÿ‘Œ

final shadow
#

then to get the value

#

ez

winter turret
final shadow
#

I changed a few things with the vault expansion

warm topaz
#

downloaded ๐Ÿ‘Œ

final shadow
#

install it and see if the baltop placeholders work

#

seems to be working for me

static crescent
#

Is there an offline player expansion?

final shadow
#

what u mean

static crescent
#

A couple updates ago you released offline player support

limber ice
#

clip are you changing the format on how you name your expansions

final shadow
#

the player expansion already supports offline player support

#

for those placeholders

warm topaz
#

vault expansion seems to be working fine for me too

static crescent
#

What i am asking is for other expansions. Is there a way to return placeholders from offline placeholders from other expanions?

final shadow
#

depends on the expansion

static crescent
#

Specifically cmi.

#

Would i have to contact the creator of that expansion?

final shadow
#

yeah

vivid sparrow
#

Clip can you setup jenkins build papi expansions from github when new code is pushed?

limber ice
#

@final shadow on that vault expansion, it works but will display players in top list if that are exempt from baltop

trim mist
#

@final shadow This is important ^

final shadow
#

what do you mean "exempt from baltop"

warm topaz
#

i believe it is a setting in essentials so users cannot be shown on baltop

limber ice
#

I don't recall how I set it up, but when I do baltop my user is not in list

final shadow
#

that would have to depend on the essentials expansion to make a baltop placeholder then

#

this just uses vault to get all offline players balances

limber ice
#

ok

#

I was testing not trying to use it on my server

trim mist
#

Fair point

#

My bad

near nimbus
#

Wondering if there is a way to get the countdown message unformatted as to use the view_requirement in deluxemenus to check if it is zero or something along the lines

limber ice
#

@near nimbus ess has a way to check that via placeholder

near nimbus
#

javascript?

limber ice
#

what plugin or way are you tracking the countdown

near nimbus
#

the placeholderapi placeholder

#

%server_countdown_<SimpleDateFormat>_<time>% ex. %server_countdown_MM/dd/yyyy-HH:mm_10/11/2019-06:30%

limber ice
#

your using a papi expansion

near nimbus
#

i was thinking javascript but I don't know it

#

yea the "Server" expansion.

bronze bison
#

that does return 0 when it finishes?

near nimbus
#

i can't seem to remove the formatting (spaces and m, D, s, etc.)

limber ice
#

thats what I was wondering

near nimbus
#

lemme double checkk

bronze bison
#

what does that return?

near nimbus
#

oops sorry it got cut off.

#

it returns 0

bronze bison
#

Ok then, its a string output: "0" not an integer.

near nimbus
#

Same result, nothing in the console either.

bronze bison
#

priority 2? is there more than two items in that slot?

near nimbus
bronze bison
#

more than two items
No. Switch priorities.

near nimbus
#

oh so it's not like weights.

#

gotcha, i had it mixed up. ๐Ÿ˜›

bronze bison
#

No, lowest number = highest priority.

#

All good ๐Ÿ˜„

near nimbus
#

thought it was like luckperms weight for groups but its the other way round, gotcha. thanks for the help! โค๏ธ

quartz orchid
#

can't see EZRanksPro on /papi list ๐Ÿ’”

mint fable
#

Run those commands @quartz orchid ^

quartz orchid
#

i did

mint fable
#

Any errors in console?

quartz orchid
#

no errors tho

mint fable
#

Can you send the log over?

#

=paste

tender vaporBOT
#
HelpChat Paste

Please use a paste service to share configs, errors, code and long logs.
โ€ข HelpChat Paste

quartz orchid
tender vaporBOT
#

@quartz orchid

Possible Solution Found:

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.

mint fable
#

^

#

barry's amazing

quartz orchid
#

best bot, thanks man

delicate oasis
#

hey! not a PAPI problem per se, but is there a placeholder for getting a random player's username?

austere hawk
#

I feel dumb why this does not work?


function always() {
    if (p < 60) {
        return p + " sekund";
    } else if (p >= 60 && p < 120) {
        return "1 minut\u0119 i " + (p-60) " sekund";
    } else if (p === 120) {
        return "2 minuty";
    } else if (p === "W") {
        return "Wkr\u00f3tce";
    } else {
        return "&cB\u0142\u0105d";
    }
}
always();```
#

PLEASE ping me when someone answers. PLZ @austere hawk .

vivid sparrow
#

You forgot a + on the second return @austere hawk

austere hawk
#

OMG Thank you

uncut pilot
#

using a javascript how would i remove .0-9 from a placeholder, example 154.5 turns into just 154

brisk coral
#

Get the number and return number.toFixed(0);

uncut pilot
#

how would i do that?

brisk coral
#
var amount = "%placeholder%";

function fixAmount()
{
  return amount.toFixed(0);
}
fixAmount();
#

Try if this works

uncut pilot
#

ok

#

script error

vivid sparrow
#

because you have to parse it as a number first

#

parseInt(amount).toFixed(0)

brisk coral
#

Ah

austere hawk
#

There's a bit illogical in this somehow

#

Because 154.0 is double

#

And converting to int already fixed the decimal part?

bronze bison
#

Its not java
And that is a string

#

Also that can be done with math expansion

unique arch
#

hey I use the placeholder %server_time_HH:mm:ss%, but it shows me the wrong time.... so it shows me 10:47, but in my country it is 11:47 xD

#

How can I change the servertime?

bronze bison
#

It displays the time based on you machine/server timezone.

unique arch
#

is there maybe a placeholder which shows the time from the player and not from the server?

bronze bison
#

Currently no. It's on my to-do list.

somber quartz
#

Hey

#

I have a ezrankspro issue

#

It comes up with that when you have op, is there a fix for this?

brisk coral
somber quartz
#

ook

#

@brisk coral

tender vaporBOT
#

@somber quartz

Hey!

Please respect the rules, be patient and don't ping staff members!

somber quartz
#

Sorry, done.

mental night
#

#ezrankspro

carmine glade
#

Does PAPI 2.10.4 work with LeaderHeadsRevamped? If I install PAPI on a fresh server with LeaderHeads it already shows the placeholders as available (but needing an update), but when I do papi ecloud download LeaderHeads it disappears completely and doesn't show as being installed

austere hawk
#

i running server 1.12.2

#

placeholder error say [Craft Scheduler Thread - 0/WARN] [me.clip.placeholderapi.PlaceholderAPIPlugin]: [PlaceholderAPI] Plugin PlaceholderAPI v2.10.4 generated an exception while executing task 11
java.lang.NullPointerException: null

#

@idle coral

tender vaporBOT
#

@austere hawk

Hey!

Please respect the rules, be patient and don't ping staff members!

warm topaz
#

show the full error message

austere hawk
#

i cant send picture

#

[22:27:47] [Craft Scheduler Thread - 0/WARN] [me.clip.placeholderapi.PlaceholderAPIPlugin]: [PlaceholderAPI] Plugin PlaceholderAPI v2.10.4 generated an exception while executing task 11
java.lang.NullPointerException: null
at me.clip.placeholderapi.expansion.cloud.ExpansionCloudManager.lambda$null$3(ExpansionCloudManager.java:181) ~[?:?]
at java.util.Map.forEach(Unknown Source) ~[?:1.8.0_241]
at me.clip.placeholderapi.expansion.cloud.ExpansionCloudManager.lambda$fetch$4(ExpansionCloudManager.java:172) ~[?:?]
at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:78) ~[CraftTask.class:0a0b4b5]
at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:52) [CraftAsyncTask.class:0a0b4b5]
at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) [ServerSchedulerReportingWrapper.class:0a0b4b5]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_241]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_241]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_241]

tender vaporBOT
#

@austere hawk

Possible Solution Found:

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.

warm topaz
#

do as the bot says^

austere hawk
#

Now i have Expansion-Server , Expansion-Players , ExpansionV-Vault

#

Want more?

warm topaz
#

and these expansions actually work now?

#

make sure papi has been reloaded / restarted server

austere hawk
#

sure

#

this show when i running server success

carmine glade
#

How do you access a placeholder inside javascript?

brisk coral
#
var placeholder = "%placeholder%";
carmine glade
#

Thanks

#

I'm trying to upgrade PAPI from an old version and the new system is insanely complicated compared to before

brisk coral
#

Not really

#

There's a wiki in case you need it

carmine glade
#

The wiki is pretty much useless

#

It doesn't even tell you what you just told me about the placeholder

#

There should be a lot more examples listed on there

brisk coral
#

There's a ton of javascript examples on it

brisk coral
carmine glade
#

Thanks, this is helpful

brisk coral
#

(you can find that under the Community Scripts on GH)

carmine glade
#

Yeah I guess I missed that before

#

You can't use // for comments?

#

Guess you have to use /* */ because it injests as a single line

bronze bison
#

You can use //.

copper flame
#

Hello, is it possible to retrieve information from a player on bungee (on several servers) ??

brisk coral
#

PlaceholderAPI currently doesn't support bungee, so no

copper flame
#

thank ^^

carmine glade
#

Does anyone know how to check if a player has a nickname? I've tried to check %essentials_nickname% != '' and %essentials_nickname% != player.GetName() and neither of those return true

#

Nevemind, comparing to p.getName() does work, I just had bad logic

junior musk
#

if %essentials_nickname% != %player_name% I guess ?

carmine glade
#

I did this:

var name = p.getName(); /* actual name */
    var nickname = "%essentials_nickname%";

    if (nickname != name) {
        nickname = ' &7(Nickname:&r ' + nickname + '&7) ';
    }
    else {
        nickname = '';
    }
junior musk
#

== not =

#

I think

#

but why don't you use the in built nickname prefix from essentilas btw lol ?

carmine glade
#

If they are equal it means they have no nickname

#

I am using this in a mouse hover event to show both their nickname and their actual name

brisk coral
#
var nickname = "%essentials_nickname%";
var player = "%player_name%";

function hasNickname()
{
  return nickname == "" ? player : player + " &7(Nickname:&r " + nickname + "&7)";
}
hasNickname();
carmine glade
#

Formatted as "Name (Nickname: NickHere)" or just "Name" if they don't have one

#

I suppose I could use a ternary operator

brisk coral
#

oof fancy then

lost canyon
#

yooo

#

why is it telling me "An Internal error occured when performing this command"

#

when I do /papi reload

warm topaz
#

whats the error

#

=paste

tender vaporBOT
#
HelpChat Paste

Please use a paste service to share configs, errors, code and long logs.
โ€ข HelpChat Paste

lost canyon
#

message is too long

#

=paste

tender vaporBOT
#
HelpChat Paste

Please use a paste service to share configs, errors, code and long logs.
โ€ข HelpChat Paste

lost canyon
warm topaz
#

remove the voteparty expansion from ur /placeholderapi/expansions folder
in 2.0 the expansion is built in

lost canyon
#

ok

#

Should I restart server or reload PAPI/

warm topaz
#

uh

#

just restart

#

it wont hurt

lost canyon
#

works

#

You're a genius. ๐Ÿ˜„

warm topaz
#

np

tardy fox
#

hey, is there a placeholder to get a player's current server?

tardy fox
#

or make the server in my server selector show up only if player not connected to it

floral geode
#

Hello is there a way to put a Placeholder scoreboard in an amount? When I try it does not detect it and therefore passes the condition.
thanks a lot for your help

pulsar zodiac
#

Wondering if there is a specific version that works best with Pixelmon Reforged 7.2 and Spigot 1.12

#

I already loaded the most recent version on my server and it didnt seem responsive

brisk coral
#

@floral geode A bit more info than that would help

junior musk
#

Wondering if there is a specific version that works best with Pixelmon Reforged 7.2 and Spigot 1.12
@pulsar zodiac Pixelmon is a minecraft Mod, Spigots uses plugins not mods

pulsar zodiac
#

@junior musk Okay well I put everything in a mods folder so its a force of habit

#

Im looking for the best placeholder-api version that works best with Spigot 1.12

final shadow
#

Latest

pulsar zodiac
#

Do I not get any additonal folders or files then?

#

The .jar is in the mods folder and I restarted the server and nothing happened. And I already have installed numerous plugins in

vivid sparrow
#

Papi only run on spigot atm.

pulsar zodiac
#

What if Im using Spigot with pixelmon?

vivid sparrow
#

Isnt pixelmon a mod?

#

Mods doesnt run on spigot

pulsar zodiac
#

the server jar is minecraft.1.12 and reforged.jar

#

Ive seen other pixelmon servers use scoreboards so I figured there was earlier versions that would work since the most recent one doesnt

vivid sparrow
#

No, theres a copy of papi on sponge

#

v3 will support more platforms

pulsar zodiac
#

Link? :c

vivid sparrow
#

Idk, google

pulsar zodiac
#

Google papi sponge v3?

vivid sparrow
#

Keep in mind that this isnt an official version and we cant support it

#

For any questions is better to contact the author

pulsar zodiac
#

Gotchya ill try to run the version 3 of them

#

thank you

vivid sparrow
#

Papi 3 will be made by us

#

v2 and older only support spigot

pulsar zodiac
#

Im running Spigot tho

#

For mc version 1.12

#

And Reforged 7.2.0

#

Which is pixelmon

vivid sparrow
#

Idk then

brisk coral
#

Asuming that's a forge mod?

tender vaporBOT
#
๐Ÿ“‹ Your paste, Duskley
https://paste.helpch.at/ocajixigik

A member of staff has requested I move your message to a paste,
Most likely beacause it contains a config/error/code snippet.

floral geode
#

Hello thank you for your answer I will try to be clearer ^^. What I put in bold is considered a string and not an int and if I remove the apostrophes it considers that it is a mistake
Ps: I use the ScoreboardObjectives expansion from PlaceHolderAPI and my two scoreboards are initialized to 1 for echange and 50 for calcul

#

the code is above the text

tardy fox
#

So placeholder to know if user is on X server?

uncut pilot
#

1.13.2 placeholderapi not allowing to download off ecloud. (No cloud expansions are available at this time)

brisk coral
#

?ecloudblock

tender vaporBOT
#
FAQ Answer:

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.

floral geode
#

no that's not it

#

can i use placeholder in amount of a requirement ?

#

it is difficult to explain ^^

vivid sparrow
#

use >= instead of has money

floral geode
#

ok thnks I'm stupid sometimes ^^

#

i can use with type has item ?

vivid sparrow
#

No

floral geode
#

arf

vivid sparrow
#

But if you need a certain amount you can use the checkitem expansion which allows you to use placeholders inside

floral geode
#

Ok thanks

uncut pilot
#

could someone write a js for me using %uskyblock_island_level% but make it so it doesnt return level.0-9 (level is just numbers)

vivid sparrow
#

parseInt("%uskyblock_island_level%").toFixed(0);

floral geode
#

parseInt is a method in Java you can use java in deluxemenu ?

vivid sparrow
#
function fixed() {
  if (args.length == 0) {
    return "";
  }

  return parseInt(args[0]).toFixed(0);
}

fixed();``` @uncut pilot
`%javascript_fixed_{placeholder}%`
#

parseInt is a javascript method

uncut pilot
#

ty

#

i'll give it a go now

floral geode
#

too for java ^^

vivid sparrow
#

Integer.parseInt()

floral geode
#

it's cool that you can use javascript for deluxemenu

uncut pilot
#

which is correct %javascript_fixed_{uskyblock_island_leve}% or %javascript_fixed_uskyblock_island_leve%

#

or do i have to add/change anything in the js?

vivid sparrow
#

{}

uncut pilot
#

it just returns %javascript_fixed_{uskyblock_island_leve}%

brisk coral
#

Make sure u registered it

uncut pilot
#

register it how?

brisk coral
uncut pilot
#

doing /papijs reload returns an unknown command even tho i have the javascript placeholder

#

running 1.13.2 btw

brisk coral
#

/papi reload

vivid sparrow
#

We know about that

uncut pilot
#

and running the /papi parse me %javascript_fixed_{uskyblock_island_leve}% doesnt work

#

just returns %javascript_fixed_{uskyblock_island_leve}%

vivid sparrow
#

is that the name of the file? "Fixed"?

uncut pilot
#

no

#

it's levels.js

#

should i make it fixed.js?

vivid sparrow
#

The file name is used for the placeholder name

uncut pilot
#

so the filename should be?

tardy fox
#

So the placeholder to know where a player is (which server on bungee), I though %player_server% did it but it simply replies itโ€™s not in the server extension but I canโ€™t find something doing the same in the server expansion

#

I read something on GitHub about the placeholder being %server_name%, is this correct?

junior musk
#

I read something on GitHub about the placeholder being %server_name%, is this correct?
@tardy fox that's just saying the name lf the server in your PAPI config (or server.properties I don't remember)

#

there's no placeholders to get the server name of another player

tardy fox
#

The thing is I want my placeholder to show ยซ Hub1ย ยป or ยซย Hub2ย ยป since I want my hubs to run the same config for deluxemenu and make the menu detect via placeholder the server itโ€™s on

junior musk
#

ah, then use %server_name%

#

and add a requirement to check if the server name is Hub1 for example, and if yes it will do/show what you want

tardy fox
#

Iโ€™m seeing tonight from where it gets the server name

#

Well it seems it pulls it from the PAPI config which is not perfect for me

junior musk
#

you can change it easily

tardy fox
#

Since I want to make both Hub1 and Hub2 share the Plugins folder

junior musk
#

ah

#

yeah that's a problem

tardy fox
#

Thatโ€™s why I want to go conditional in my deluxe menu

#

Because I was simply putting text ยซย you are on this serverย ยป depending on the DeluxeMenu config per server

ember crown
#

Hello, why doesn't work /papi ecloud download Jobs? I have latest PAPI and Jobs Reborn

bronze bison
ember crown
#

Thanks! ๐Ÿ˜‰

potent eagle
#

Hello

#

@final shadow can you help me?

tender vaporBOT
#

@potent eagle

Hey!

Please respect the rules, be patient and don't ping staff members!

warm topaz
#

?help

tender vaporBOT
#
FAQ Answer:
ยป Give the helpers some details
ยป Ask suitable questions
ยป Be polite
ยป Wait

Source

potent eagle
#

?help

tender vaporBOT
#
FAQ Answer:
ยป Give the helpers some details
ยป Ask suitable questions
ยป Be polite
ยป Wait

Source

potent eagle
#

Clip please help me with placeholder api

warm topaz
#

ยป Donโ€™t ask to ask

#

say ur question, someone will reply soon enough

potent eagle
#

When I used %bungee_<server>%, it works on two servers, but not on the third.

#

It writes 0 players online, but one player on the server is, placeholder is 100% well entered

#

Please help me :/

#

@here

hearty flame
#

.

bronze bison
#

@potent eagle Is that third server listed in your bungee config?
Did you remove the <> and wrote the server name correctly?
There's an update interval, it could be the issue.

potent eagle
#

Yes, i have listed it in config and i removed <>

modest spindle
#

something went wrong for me when i press /papi parse me %checkitem_mat:stonebrick% it's return no but my stone brick it's in my inventory when in my hand it's return no too (version 1.8.8)

#

but /papi parse me %checkitem_mat:98% it's yes

tender ledge
#

Simular issue, Iโ€™ve tried to parse if a kit is available and it says yes, then Iโ€™ve tried to parse time remaining after claiming at it sticks at 0

#

Using essentials

#

UT Kit delay is 7 days (in seconds), %essentials_kit_time_until_available_UT% is the placeholder which is outputting 0 and %essentials_kit_is_available_UT% is the placeholder outputting yes

#

Trying to use it in a rewards system via deluxe menus, I previously used a JavaScript cool down for when you could claim it but players were able to bypass it so I switched the system to give the items via kits

#

Any configs can be supplied

sleek pewter
#

guys spongeforge cannot use %player_ping__<playername>%?

junior musk
#

something went wrong for me when i press /papi parse me %checkitem_mat:stonebrick% it's return no but my stone brick it's in my inventory when in my hand it's return no too (version 1.8.8)
@modest spindle
it's smooth_brick

#

guys spongeforge cannot use %player_ping__<playername>%?
@sleek pewter the SpongeForge version isn't related to the Spigot one

sleek pewter
#

oh

junior musk
#

Simular issue, Iโ€™ve tried to parse if a kit is available and it says yes, then Iโ€™ve tried to parse time remaining after claiming at it sticks at 0
@tender ledge you probably have the * permission or essentials.* who let's yiu bypass the kits cooldowns

uncut pilot
#

using fabledskyblock and im trying to make a javascript to change "true" to "Yes" can someone help with a js

#
function IslandExists() {
  return "%fabledskyblock_island_exists%" == "true" ? "Yes" : "No";
}
IslandExists();```returns only No
brisk coral
#

/papi parse me %fabledskyblock_island_exists%

uncut pilot
#

it returns true

brisk coral
#

Double check both outputs

uncut pilot
#

true returns &atrue and false returns &cfalse

brisk coral
#
var placeholder = "%fabledskyblock_island_exists%";

function hasIsland()
{
  return placeholder == "&atrue" ? "Yes" : "No"
}
hasIsland();
uncut pilot
#

Thank you โค๏ธ

brisk coral
#

Try that otherwise youre gonna have to strip the color

uncut pilot
#

i wouldnt know how to strip the colour, but that works

brisk coral
#

Nice

uncut pilot
#

ok no i move to general-plugins xD

#

now*

gloomy crater
#

what am I doing wrong?

#

[Tue, 10. Mar 2020 14:51:00 CET ERROR] [DeluxeMenus] Error in requirement javascript syntax - vault_eco_balance >= 100

vivid sparrow
#

you forgot %%

gloomy crater
#

No

#

If I use that, the menu wont load in

#

Oh shit

#

Lol

brisk coral
#

I was about to convert it to a paste smh

gloomy crater
#

Oh lol

#

Ill send agaun, am on phone

tender vaporBOT
#
๐Ÿ“‹ Your paste, Gummy
https://paste.helpch.at/inebelicij

A member of staff has requested I move your message to a paste,
Most likely beacause it contains a config/error/code snippet.

gloomy crater
#

Ty

brisk coral
#

On mobile as well

#

Put '' around the vault placeholder

gloomy crater
#

Ooooh

#

Lmao

#

So '%placeholder% > 69' ?

#

Or 'placeholder' > 69

brisk coral
#

Second, and then put the entire thing in ""

gloomy crater
#

Oh okay

#

Tyvm

brisk coral
#

Lemme know if all works well

gloomy crater
#

Gonna be in an hour as school started again :P

#

Ill let you know

safe echo
#

Hello

#

i parsed placeholder %player_has_permission_askyblock.island.range.100% and it returned yes

#

but i didn't add that permission

#

I tried /pex user Dogbu remove askyblock.island.range.100 but it still return yes

#

How can i remove that permission ?

austere hawk
#

Fun fact is you have to rejoin the game to actually take effect

safe echo
#

i have tried to rejoin

#

ah okay

#

i have fixed it

#

I added permission askyblock.island.*

wintry pebble
#

what are the placeholders for Voteparty?

warm topaz
#

#spigot-linking

vivid sparrow
#

not bad

#

Jk, good job mate

final shadow
#

I figure u can tidy up the command stuff

vivid sparrow
#

why not "papijs"

final shadow
#

Idk

vivid sparrow
#

or even "papi js"

final shadow
#

Change it if u want

#

Papi needs the ability for an expansion to register a command though

vivid sparrow
#

or a papi subcommand

final shadow
#

Ya that would work too

vivid sparrow
#

hm

#

what if you implement onCommand()?

junior musk
#

or maybe /jsexp ?

vivid sparrow
#

that's ugly

final shadow
#

It wouldnโ€™t be hard to implement a handler for custom sub commands of daddy

vivid sparrow
#

dont ever mention that lmfao

junior musk
#

lel

final shadow
#

I think thatโ€™s a better approach

#

That way all expansion commands are sub commands of papi

vivid sparrow
#

๐Ÿ˜‰

final shadow
#

So I can handle access through that

vivid sparrow
#

make a method that will be called when /papi is run to check the commands

final shadow
#

Nah itโ€™ll be easy

vivid sparrow
#
void onHelp(CommandSender sender) {
    if (sender.hasPermission("placeholderapi.admin") {
        sender.sendMessage("/papi js git download [name] - Download a script");
    }
}```
#

@final shadow

#

that's what I meant

ember crown
#

already_working:
type: string equals
input: '%jobsr_user_isin_Dล™evorubec%'
output: true

Is it okay or not?

junior musk
#

set true in ""

ember crown
#

Still don't work :/

vivid sparrow
#

parse it in chat

ember crown
#

It writes "True"

#

Command: /papi parse me %jobsr_user_isin_Dล™evorubec%

vivid sparrow
#

then type True

#

string equals is case sensitive

ember crown
#

And how I can fix it?

vivid sparrow
#

then type True
or use string equals ignorecase

ember crown
#

Still don't work

#

So what? ๐Ÿ˜„

tender ledge
#

@tender ledge you probably have the * permission or essentials.* who let's yiu bypass the kits cooldowns
@junior musk

I just saw this, my other players without the bypass permission also see 0 as the cool down

tender ledge
#

Daily:
delay: 86400
items:
- /vouchers give {player} Daily 1

And that's the essentials kit entry it relates to

#

Anyone who can shed some light on this for me I'll love you forever, papi parses the time as 0 to all players regardless of permission so its unusable.

turbid tide
#

%essentials_kit_is_available_Daily% so this says that it is available even if they don't have acces to that kit?

#

if that is the problem than you can add another requirement to check if they have acces to it

#
type: has permission
permission: 'permission.here'
final shadow
#

Nope

tender ledge
#

Nope?

final shadow
#

Yep

tender ledge
#

Blitz, that's just the daily kit.

#

I'll grab one for an actual member reward now, they have a permission check

final shadow
#

Who

#

We need names

tender ledge
#

What? ๐Ÿ˜

#

That's the deluxemenu entry for the 'champion' rank in game

#

Champions can see it, but they're given the second option with a cooldown of 0.

#

They have the needed permission for both the kit and required permission for DM

#

Its really confusing me ngl

final shadow
#

Same

#

And I made it

tender ledge
#

I'd be happy to send you all the involved configs, allow you on the server with permissions to check my permission groups and try it for yourself.

#

I don't see why it doesn't work

final shadow
#

I wonโ€™t be around a computer for an I it 14 hrs

#

But Iโ€™d be willing to help when I do

tender ledge
#

Sure, thanks man... It's 10:38pm for me so that's around midday tomorrow, I should be online and ready. If you don't mind could you drop me a DM whenever?

#

I find I often get lost in support chats

final shadow
#

Drop me a dm bro

#

When u wake up

tender ledge
#

Ayee, alright thanks man, I hate doing it without permission makes me feel naggy

vivid sparrow
#

@final shadow can I pr papi js?

final shadow
#

What

#

Yes

vivid sparrow
#

ok

final shadow
#

A script?

#

Or a change in the expansion

#

Either way yes

vivid sparrow
#

I want to try to give access to more bukkit stuff

#

Like ChatColor

#

because you assign a value to githubScripts only if the github_script_downloads option is enabled

final shadow
#

Fixed in build 22

#

I missed that

vivid sparrow
#

OMG

final shadow
#

What

vivid sparrow
vivid sparrow
#

am I doing smth wrong? Caused by: <eval>:1 TypeError: PlaceholderAPI.setBracketPlaceholders is not a function
engine.put("PlaceholderAPI", PlaceholderAPI.class);

#

ah I think I need an instance of papi

brisk coral
#

@vivid sparrow hella smexy shit

vivid sparrow
#

ikr

vivid sparrow
#

Update, PlaceholderAPI.static.method() works @final shadow

unique arch
#

Is there a placeholder to get the killer of a player after a death and the death reason?

#

pls make @unique arch if you know the answers

arctic loom
#

I just received this random error when reloading PAPI after updating an expansion (Vault)

> papi reload
[02:41:42 INFO]: PlaceholderAPI configuration reloaded!
[02:41:42 INFO]: [PlaceholderAPI] Successfully registered expansion: server
[02:41:42 INFO]: [PlaceholderAPI] Successfully registered expansion: statistic
[02:41:42 INFO]: [PlaceholderAPI] Successfully registered expansion: vault
[02:41:42 INFO]: [PlaceholderAPI] Successfully registered expansion: math
[02:41:42 INFO]: [PlaceholderAPI] Successfully registered expansion: player
[02:41:42 INFO]: 8 placeholder hooks successfully registered!
[02:41:43 WARN]: [PlaceholderAPI] Plugin PlaceholderAPI v2.10.4 generated an exception while executing task 842
java.lang.NullPointerException: null
        at org.bukkit.craftbukkit.v1_15_R1.CraftServer.getOfflinePlayers(CraftServer.java:1587) ~[patched_1.15.2.jar:git-Paper-120]
        at org.bukkit.Bukkit.getOfflinePlayers(Bukkit.java:946) ~[patched_1.15.2.jar:git-Paper-120]
        at com.extendedclip.papi.expansion.vault.BalTopTask.run(BalTopTask.java:44) ~[?:?]
        at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftTask.run(CraftTask.java:84) ~[patched_1.15.2.jar:git-Paper-120]
        at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54) ~[patched_1.15.2.jar:git-Paper-120]
        at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[patched_1.15.2.jar:git-Paper-120]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
        at java.lang.Thread.run(Thread.java:834) [?:?]
#

It now constantly sends it every 5+ seconds

#

The error is gone once I downgrade the Vault expansion

balmy marten
#

Guessing @final shadow broke it

arctic loom
#

I quickly file an issue on the repo

#

Would there be a specific place where I could make suggestions for the E-cloud? Or would that be more v3 stuff?

balmy marten
#

Throw it in the v3 issues

vivid sparrow
#

what expansion isnt loading?

#

ah

unique arch
#

Is there a placeholder to get the killer of a player after a death and the death reason?
pls make @unique arch if you know the answers

final shadow
#

Weird @arctic loom is that a server you have never been on

#

The npe is coming from Bukkit.getOfflinePlayers

arctic loom
#

Nope

final shadow
#

Weird

bronze bison
#

Guess thats from paper or something??
this shouldn't be null in spigot

@NotNull
public static OfflinePlayer[] getOfflinePlayers() {
#

and that part is the same in the old version too

#

oh

#

might be cuz its running async @final shadow ?

tardy fox
#

Is there a placeholder to get the server motd from server.properties?

#

No bot, itโ€™s not there

brisk coral
#

Server name, it takes it from the papi config tho

tardy fox
#

Thatโ€™s why it doesnโ€™t work for me

junior musk
#

%pinger_motd_<server/ip>:<port>%

tardy fox
#

Not goot for me also

junior musk
#

Motd or server name ?

tardy fox
#

Server name from bungeecord or motd from server.properties

#

Not from a plugin config

#

Or saying an ip:port

junior musk
#

I don't think you can for the server name from Bungee but you can with the motd form server.properties with the placeholder I sent above

#

%pinger_motd_<server/ip>:<port>%

tardy fox
#

Yeah but that still doesnโ€™t work out for me

junior musk
#

and did you set the right ip and right port ?

tardy fox
#

No, it doesnโ€™t work for what I want to use it for

junior musk
#

and what do you want to use it for ?

tardy fox
#

I would use the motd in server.properties for server identification since they are useless in bungee

junior musk
#

then use what I sent

tardy fox
#

It doesnโ€™t work out for me

#

I want the server to know who he is

#

Not another server

junior musk
#

then set the ip and port of this server

tardy fox
#

From pulling directly from the server.properties I would put hub1 in motd, then hub1 would know itโ€™s hub1

#

But if another server I donโ€™t want the server to get ยซย hub1ย ยป

junior musk
#
  • set motd of the server to whatever you want
  • %pinger_motd_<server ip of the server you want with motd>:<port of that same server>%
tardy fox
#

I want it to output hub1 only if the server using the placeholder is hub1

#

If hub2 uses the same placeholder it would pull it from his config

#

And say hub2 in this cade

#

I want to use that for deluxemenu to change depending on the current server

#

Not motd of a predefined server, current server

junior musk
#

ooooooh you're the same guy that asked last time for DM with the plugins folder shared between servers

tardy fox
#

Yeesss

junior musk
#

yeah idk if that's still possible

tardy fox
#

Maybe with a spigot/bungee plugin

brisk coral
#

Papi doesn't work for bungee, so your best bet is to use the server name set in the papi config (which is seperate in each server) and then use view requirement to change it, but since neither papi and dm are bungee you can just have static values since the user viewing the menu will always be on the server you statically set the value for

ie.
If a user is in Hub1 the menu would always show Hub1 so you can just make it static

tardy fox
#

@brisk coral i plan on sharing the plugins folder between hub1 and hub2

#

So config per server is the problem

brisk coral
#

Are the hubs their own server instance

tardy fox
#

Yeah but theyโ€™ll use symlinks to the hub1 plugins folder

#

so hub2, hub3, hubX will pull plugins folder from hub1

brisk coral
#

:whytho:

tardy fox
#

Optimization

#

Easy to add more hubs

#

Easy to do config changes

brisk coral
#

I mean ctrl + c, ctrl + v

tardy fox
#

Change config on hub1, restart the others

brisk coral
#

You can still change it and then copy with 1 click to the rest

tardy fox
#

Update plugin on one, restart all

#

Thatโ€™s why

#

And saves space

#

I even though of simply sharing the whole server folder and just set hub2, hub3, hubX in read-only

#

Since they all use the same map and all

#

Adding real bungee support would be nice though

final shadow
#

@arctic loom paper said update your outdated server and its probably an issue with the environment your server is running idk

#

cant replicate locally

plain compass
#

anyone here use placerholderapi in a bungee plugin?
i made a fork of the free mod blocker plugin for bungee but ive never messed with placeholderapi

#

im not seeing the info on wiki

tidal geode
#

Do someone know xp level placeholder? Only from PAPI

wheat delta
#

Hello, I was looking how to use advancement placeholders, I tried the default syntaxe from the wiki but it just wrote me "NO_WORKING" and threw a tons of errors on console

#

I tried %Advancements_<advancement>%

#

It throw NPE

#

Could someone explain me how it work ? Thank ๐Ÿ˜‰

tidal geode
#

%player_exp% and %player_total_exp% don't work for me, it return 0

wheat delta
#

u installed player libs ?

tidal geode
#

I using a player placeholders

#

We moving to another plugins from mvdw and in our menu we using mvdw placeholder for xp levels %mvdw_xp_level%

#

for mvdwplaceholderapi you need 1 plugin from mvdw

wheat delta
#

/papi ecloud download Player

#

do this command

tidal geode
#

I have it already....

wheat delta
#

u did /papi reload ?

tidal geode
#

Yeah

wheat delta
#

try to replace by that %player_uuid%

tidal geode
#

only xp don't work

wheat delta
#

oh

tidal geode
#

all player placeholders are working

wheat delta
#

maybe u don't have xp lvl... ?

tidal geode
#

i have 2 levels

#

above to 0 is tested %player_uuid%

wheat delta
#

i'm trying on my server

#

%player_level% is working

tidal geode
#

oh, outdated player placeholders?

#

there are these 2 placeholders lol

#

i am blind

#

nvm

#

thanks man

wheat delta
#

^^

tidal geode
#

show me that error

wheat delta
#
[01:22:34 WARN]: java.lang.NullPointerException
[01:22:34 WARN]: java.lang.NullPointerException
[01:22:34 WARN]: java.lang.NullPointerException
[01:22:34 WARN]: java.lang.NullPointerException```
#

it just spam an NPE

tidal geode
#

but when you parse advancement placeholder

wheat delta
#
  line-8:
    text:
    - '&8&lProgrรจs: &d%Advancements_player_<player>;<advancement>%'
    random: false
    interval: 2
    score: 0```
tidal geode
#

first when you want add some placeholders do /papi parse me %placeholder% to test

wheat delta
#

oh

#

I installed the libs

#

ooooh I see

#

awesome

tidal geode
#

first test, then implement into configs ๐Ÿ˜›

wheat delta
#

it throw me NO_WORKING

tidal geode
#

So, do you have enabled advancements in spigot.yml?

wheat delta
#

let me check

#
advancements:
  disable-saving: false
  disabled:
  - minecraft:story/disabled``` well Idk
tidal geode
#

and player data?

wheat delta
#

where I found it

tidal geode
#

same file

#

spigot.yml

#

i think there is option above

wheat delta
#

what's the yml key ?

tidal geode
#

I got this:

advancements:
  disable-saving: true
  disabled:
  - '*'
stats:
  disable-saving: true
  forced-stats: {}
wheat delta
#

and placeholder work ?

tidal geode
#

send me what you tried

wheat delta
#
  line-8:
    text:
    - '&8&lProgrรจs: &d%Advancements_player_<player>;<advancement>%'
    random: false
    interval: 2
    score: 0```
tidal geode
#

example of advancement?

wheat delta
#

what do u mean

tidal geode
#

I want to try it: /papi parse me %advancements_player_ArcadeFighterX;

#

but i don't know any advancement

wheat delta
#

me too lol

tidal geode
#

i need <advancement>

wheat delta
#

ohhh

#

that's a variable

tidal geode
#

yeah

wheat delta
#

well the problem came from here

#

then the real problem is "how I can make a achieved advancements like 4/51"

tidal geode
#

try this: /papi parse me %Advancements_story/root%

wheat delta
#

returned true

tidal geode
#

try this now: /papi parse me %Advancements_story/mine_stone%

wheat delta
#

got true again

tidal geode
#

so it works, but there is no like completed advancements

wheat delta
#

nothing it return the syntaxt..

tidal geode
#

Did you change <your-nickname> to your nick in game?

#

without <>

wheat delta
#

tried with <> and without

tidal geode
#

%Advancements_playerList_ArcadeFighterX%

#

this

#

change my name to yours

wheat delta
#

u just gaved me the wrong syntaxe

#

/papi parse me %Advancements_playerList_Corazun% it work

tidal geode
#

that placeholder is on github

#

lol

wheat delta
#

<-- dumb

tidal geode
#

huh?

#

๐Ÿ˜„

wheat delta
#

i'm dumb bruh I didn't knew I had to remove <>

tidal geode
#

xd

wheat delta
#

so the next question is, could I got the true achivement as a number ?

#

please don't tell me I have to use js

tidal geode
#

If advancement return true/false you don't have to choose, but i can solve your problem with js

static dragon
#

is there a way to center text using PAPI?

balmy marten
#

Placeholder api is just an api to manage placeholders. It's up to the individual plugins to centre text

plain compass
#

centering text is dumb because texture packs can have different fonts with diff spacing

#

space in one texturepack is bigger/smaller than another

wheat delta
#

Could someone help me, I have problems with js papi integration. I try to compare a string from a collection to "true" to check if the player got the achievement

#
var achievements = [
                "%Advancements_story/root%", 
                "%Advancements_story/mine_stone%", 
                ...
                "%Advancements_story/upgrade_tools%", 
                "%Advancements_story/smelt_iron%"
                   ];

var achieved = 0;

function getAllAdvancements() {
    for (var achievement in achievements) {
        if (achievement == "true") achieved++;
    }

    return achieved;
}

getAllAdvancements();``` the condition isn't filled even if the player have the achievement also that kind of code work (I tested it) ```js
...
if ("%Advancements_story/root%" == "true") achieved++;
...```
#

and I don't want to make a switch bruh

crisp stratus
#

[23:23:35 ERROR]: [PlaceholderAPI] Failed to init placeholder expansion from class: com.extendedclip.papi.expansion.factions.MCoreFactionsExpansion
[23:23:35 ERROR]: [PlaceholderAPI] com/massivecraft/factions/RelationParticipator

#

Getting that error for relational placeholders

tidal geode
#

Do someone know how %vault_prefix_color shows whole prefix? (Using LP)

vivid sparrow
#

@wheat delta maybe try to use the other for loop? for (var i = 0; i < achievements.length;i++)

wheat delta
#

well the problem doesn't came from the loop but from the condition

#

but I will try

vivid sparrow
#

ah

wheat delta
#

like achievement NEVER equal "true"

#

also if I try "%Achievement_story/mine_stone%" == "true" it work

vivid sparrow
#

So if you parse it in chat it doesnt return true?

wheat delta
#

if I parse an achievement it return true in chat

vivid sparrow
#

try equals()

wheat delta
#

achievement.equals("true") ?

#

I think the problem came cuz js is stupid with var type

brisk coral
#

Did that work ^ ?

wheat delta
#

let me try ^^

#

also papi throw random NPE error on console

#

related to js

brisk coral
#

=paste

tender vaporBOT
#
HelpChat Paste

Please use a paste service to share configs, errors, code and long logs.
โ€ข HelpChat Paste

wheat delta
#

not working for the .equals()

#

it happend on /papi reload

brisk coral
#

@final shadow ^

vivid sparrow
#

Sec

#

Let me send you the latest version

final shadow
#

Fixed in latest dev build

vivid sparrow
#

Also, clip, how do you build on ci?

final shadow
#

I donโ€™t have the GitHub trigger enabled to build on push but just gotta run build on Jenkins

vivid sparrow
#

Ah

final shadow
#

Do we not have a dev build out with the fix

vivid sparrow
#

I will send it in a sec

final shadow
#

Build 22

#

Has the fix

vivid sparrow
wheat delta
#

so I add papi expansion jar ?

vivid sparrow
#

ye, just replace yours

final shadow
#

Gaby the latest build on Jenkins has the latest changes

vivid sparrow
#

I didnt push my changes 1d ago

wheat delta
#

Got the same error

vivid sparrow
#

strange

#

tested it and everything works fine

wheat delta
#

well

#

I changed in my script i++ to i = i + 1

#

and it doesn't throw errors on reload...

vivid sparrow
#

strange

wheat delta
#

ok now that's weird no more errors even with i++...

wispy birch
#

not sure where to put this, but how do I report a broken/out of date expansion?

warm topaz
#

whats the issue?

wispy birch
#

on newer versions of McMMO, the (3rd party) expansion for it, the %skill_rank% returns internal error

turbid tide
#

do you have the latest expansion for McMMO?

wispy birch
#

i was gonna contact the author but it hasnt been updated in 3 years

#

yeah, 2.0.0

#

my mistake, last updated may 2018

turbid tide
#

also what is the error in console?

wispy birch
#

one sec

turbid tide
#

use

#

=paste

tender vaporBOT
#
HelpChat Paste

Please use a paste service to share configs, errors, code and long logs.
โ€ข HelpChat Paste

wispy birch
#

does papi parse not work in the console?

turbid tide
#

i don't think it does

warm topaz
#

it does. u have to use an actual player name instead of 'me'

turbid tide
#

oh right ๐Ÿ™‚ didn't think about that

wispy birch
#

I just did /papi parse ChewLeKitten %mcmmo_rank_fishing% with no output in the console but an error ingame

#

looks like there's a new rank system

#

as of jan 26, 2019 anyway

wispy birch
#

alright i found a more up-to-date and working placeholder but it's not on the cloud, ah well

turbid tide
#

so I have a test server for 1.12.2

#

I have the latest PlaceholderAPI

#

and when I do /papi ecloud download Vault

#

and /papi reload

#

it doesn't download the extension

#

i don't get any errors btw

#
[21:38:29 INFO]: [PlaceholderAPI] Fetching available expansion information...
[21:38:29 INFO]: [PlaceholderAPI] Download of expansion: Vault complete!
[21:38:30 INFO]: BlitzGamer_88 issued server command: /papi reload
[21:38:30 INFO]: [PlaceholderAPI] Successfully registered expansion: essentials
[21:38:31 INFO]: [PlaceholderAPI] 168 placeholder expansions are available on the cloud.
vivid sparrow
#

Is vault installed? @turbid tide

turbid tide
#

yeah it wasn't ๐Ÿ™‚ I figured it out

#

forgot I was on a test server

#

and not all plugins are installed

hearty galleon
#

Hello guys, how can i make to players see what version he/she use? sry my bad english ๐Ÿ˜ฆ

hearty galleon
#

thanks, but i like to use ProtocolSupport

vivid sparrow
#

ยฏ\_(ใƒ„)_/ยฏ

junior musk
#

go yell at the dev to add a placeholder for that

hearty galleon
#

or whats the better? i can try it

junior musk
#

I prefer ViaVersion personnally

turbid tide
#

yeah

#

but does it work backwards?

#

I think you need BackwardsVersion

hearty galleon
#

Okey, i will try it

junior musk
#

you need ViaBackwards for that

#

and if you want 1.8 and 1.7 then with ViaVersion, you'll need ViaBackwards and ViaRewind

turbid tide
#

oh that is the name

hearty galleon
#

Okey guys, thank you ๐Ÿ™‚

tender ledge
#

Someone gimme a hand, clip didnโ€™t understand what the problem was and Iโ€™m waiting for him to get back to me but if we got any smart asses here someone might spot something

junior musk
#

what's the problem ?

tender ledge
#

Iโ€™ve checked perms

#

They should be offered the first option if a kit is available in dm, instead theyโ€™re given option two, when parsing the cool down for any rank I get given 0, and all players see 0 as the cool down

junior musk
#

can you remove the code text ? it's really annoying on phone to copy paste the links x)

#

thx

tender ledge
#

Youโ€™re welcome

junior musk
#

first I can see that there's a space missing before - 0
EDIT: nvm, it's probably my phone removing a space or Pastebin having the same problems as SpugotMC

#

for the first item slots

vivid sparrow
#

Kit names should be wrote with lower case in placeholders

tender ledge
#

Iโ€™ll check that now, I think thatโ€™s just in paste because itโ€™s not there in my text editor or online ftp... Gaby, even if the kit name is caps?

vivid sparrow
#

Yes

junior musk
#

sorry, I wanted to help but I had other discord servers to help, I'm switchong from one server to another, so it's kinda complicated ๐Ÿ˜…

tender ledge
#

Iโ€™ll try to fix my dm now and let you know if it helps

bronze bison
sharp jay
#

๐Ÿ˜ฎ

turbid tide
#

Thanks a lot

quasi tendon
#

Hello

#

how can i use VoteParty placeholder on FeatherBoard?, i didn't find the PAPI

warm topaz
#

#spigot-linking

quartz dagger
#

Need help

#

When i do /papi ecloud download essentials

#

and then papi reload

#

it doesnt get added

#

to the papi list

#

cant see it there

#

it says it was downloaded

#

and have the latest version also

warm topaz
#

any errors?

quartz dagger
#

yuo

#

yup

#

@warm topaz

warm topaz
#

thats all there is in the error?

quartz dagger
#

ye

quasi tendon
#

@warm topaz now i'm verified

warm topaz
#

and u have the latest essentials?

quartz dagger
#

Yup

#

Wait

#

Ill try something

#

out

#

Maybe this will help

tender ledge
#

@vivid sparrow I tried to make kit names lowercase in placeholders but it didnโ€™t change anything

tender vaporBOT
#

@tender ledge

Hey!

Please respect the rules, be patient and don't ping staff members!

tender ledge
#

Oh, shit sorry Barry

#

Yeah same error as before though still shows a 0 cool down

#

Anyone a smorty?

royal parcel
#

how to disable deluxemenus in some world ?

#

i use luckperm

brisk coral
#

Open requirements

fervent spire
#

@royal parcel You could just deny the permission in LP for deluxemenus for that world lp user|group <name> permission set <permission> false world=<world name>

royal parcel
#

lp group member permission set deluxemenus.open.gui_ce false world=world_num_1 ? ~~

#

i can't find deluxemenus permission

brisk coral
#

Omega, /dm open <menu> requires a permission, whereas the regular menu command does therefor it'd be easier and more organised to make a requirement which checks the users world

turbid tide
#

yeah

#

and maybe if you want it in multiple worlds make a js expansion so there are not a lot of view requiremenents

onyx mauve
#

Is it possible to use another placeholder if the current placeholder isn't "active"?

For example i use %tab_tabsuffix% but when that is "null" i want a text to be displayed, if you you understand

brisk coral
#

javascript

onyx mauve
#

ehhm.. okay...

#

And how do i use that?

turbid tide
#

you need to make your own placeholder using javascript

onyx mauve
#

okay

vivid sparrow
#

that's an update from 2015

#

the js expansion still exists but the format have been changed

onyx mauve
#

okay

#

I think i found it

final shadow
#

@onyx mauve if you use /papi ecloud download javascript

#

u can then download an example script from within the expansion

onyx mauve
#

I did that

final shadow
#

run /jsexpansion git list

vivid sparrow
#

update it clip

#

:3

final shadow
#

wym i thought it was

vivid sparrow
#

actually I will do it, I forgot to change the version

final shadow
#

do u have an account on my jenkins

onyx mauve
#

Do i need to set "github_script_downloads: false" to true?

vivid sparrow
#

no clip

final shadow
#

yes

onyx mauve
#

It says that it is disabled in the config

final shadow
#

set to true and do papi reload

onyx mauve
#

okay

final shadow
#

gaby

#

can u add a command to the expansion to enable / disable by command

#

or should i if u arent up for it

onyx mauve
#

so i should not use the JavaScript

vivid sparrow
#

if we edit the config through code the comments will be removed @final shadow

#

it's the same thing but that has a bug fixed

onyx mauve
#

okay

vivid sparrow
#

we will post it on the ecloud a bit later