#placeholder-api

150650 messages · Page 96 of 151

junior musk
#

ChangeOutput and Server

normal dagger
#

ok i did but the * is still showing

junior musk
#

what's the full output?

normal dagger
#

What?

junior musk
#

what does it show exactly?

#

*20 or *20.0?

normal dagger
#

20 and *20 are switching

#

20.0

junior musk
#

add .0 here

normal dagger
#

Ok it works now

raw prism
#

Hello

#

Help pls

#

@floral plank

#

So?

floral plank
#

no idea

#

now you wait until someone that knows respond

#

stop pinging people its annoying

raw prism
#

I need help

tender vaporBOT
#

There is no time to wait! Ask your question @raw prism!

raw prism
#

and its not funny

#

[21:13:35 ERROR]: [PlaceholderAPI] Failed to load class files of expansion.
java.util.concurrent.CompletionException: java.lang.NullPointerException
at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.lambda$findExpansionInFile$7(LocalExpansionManager.java:428) ~[?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1604) ~[?:1.8.0_312]
at java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1596) ~[?:1.8.0_312]
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) ~[?:1.8.0_312]
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) ~[?:1.8.0_312]
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) ~[?:1.8.0_312]
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175) ~[?:1.8.0_312]
Caused by: java.lang.NullPointerException
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:98) ~[patched_1.8.8.jar:git-PaperSpigot-445]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:87) ~[patched_1.8.8.jar:git-PaperSpigot-445]
at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_312]
at java.lang.ClassLoader.loadClass(ClassLoader.java:405) ~[?:1.8.0_312]
at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_312]
at me.clip.placeholderapi.util.FileUtil.findClass(FileUtil.java:62) ~[?:?]
at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.lambda$findExpansionInFile$7(LocalExpansionManager.java:405) ~[?:?]

#

It tells this

obtuse canyon
#

Yeah, anyone else?

#

Just had that too.

#

Even after reverting

tender vaporBOT
stable mist
#

having problem papi not parsing hexa color correctly

mint fable
#

papi doesn't parse colors

#

It's up to the plugin implementing it to parse the color

#

and deluxetags has support for two formats so make sure your config is setup correctly
- Added hex/rgb colors support. It comes in 2 formats: #aaFF00 aka Standard and &#aaFF00 aka Legacy. (You can toggle between the 2 in config.yml where you'll find the legacy_hex option)

#

@stable mist

ornate hawk
#

Hey, anyone got a Java 8 javascript jar? eCloud removed all the older versions and I cant download it using /papi ecloud download javascript 1.6.0 (and it's not listed on the website)

jaunty parcel
#

@mint fable ecloud not working ?

jaunty parcel
tender vaporBOT
tender vaporBOT
mint fable
#

working for me @jaunty parcel

spring saffron
#

How to use placeholders with gradient

random quest
#

Where do you need, in the chat ?

floral plank
random quest
#

yeah in decent holgrams tht woks

#

works*

stable mist
tender vaporBOT
stable mist
#

here first line is with parse me %deluxetags_tag% I am awarer I need to remove & signs

#

but second line is placeholder in side deluxe chat

#

and it if destroyed

#

here

#

so what is solution here

floral plank
stable mist
#

should do it

#

before

floral plank
#

deluxe tags is not a chat plugin

stable mist
#

Deluxe Chat

floral plank
#

check your chat plugin.

stable mist
#

well it provides tags which contain color

#

and it works thru papi parsing

#

so tag plugin should do it thing

floral plank
#

no, then the tag plugin parses them before sending

stable mist
#

before deluxechat

#

can u use lagacy

#

colors

floral plank
#

all you need to know is that it does not get colored in papi

stable mist
#

in ChatChat

floral plank
#

so talk with your plugin devs to fix the issue

stable mist
#

how would fix something

#

wath has no source code provided

#

?

#

dude

floral plank
#

deluxechat is no longer supported afaik

stable mist
#

and ChatChat is horrible

#

to format

floral plank
#

🤷‍♂️

stable mist
#

why is Legacy & color codes

floral plank
#

you need another chat plugin then

stable mist
#

removed from ChatCHat

#

Can some body tell me that

floral plank
#

the whole & chat coloring is outdated

#

i believe chatchat uses kyori adventure to parse

stable mist
#

and so on

#

like why

floral plank
#

yes its minimessage

stable mist
#

but why

#

would you replace

#

something short like &7

floral plank
#

why not, it allows for concise coloring

stable mist
#

with 6 characters

#

I will cry

floral plank
#

you can create an issue to add support for & coloring again

#

dont think it would be a big deal

stable mist
#

in my 30 years I did't saw that stupid way of thinking

floral plank
#

it should support & coloring actually

#

i am looking at chatchat source atm

#

they internally convert & to adventure coloring

#

not sure if its fully implemented yet, but it should be on its way

stable mist
#

@floral plank this look implimented

#

nop

#

xd

#

how would it be

floral plank
#

you gotta wait then

#

or use another chat formatter

stable mist
#

to just make ChatColor.translatAlternateColorCodes

floral plank
#

except that thats not how it works internally

stable mist
#

yes it is

#

you just need to do it after applaying hexa

#

and all done

floral plank
#

no, they use components

stable mist
#

one line of cod e

#

@floral plank it there a list of <colors>

#

on there wiki

floral plank
#

its minimessage

stable mist
#

I just can't find it

floral plank
#

type kyori minimessage

stable mist
floral plank
floral plank
#

source is on github

stable mist
#

because I like to complain

floral plank
#

you are not getting any sympathy, mini message formatting is above

#

your best bet is to either use that or switch to another one until chat chat is fully done

stable mist
spring saffron
balmy marten
stable mist
tender vaporBOT
stable mist
#

like no other plugin is supported

#

so litterly

#

placeholders like %vault_prefix% if contains & colors brakes plugin

#

like lol

balmy marten
#

Currently with use of the kyorify expansion

#

Which converts legacy formats to minimessage on the fly

stable mist
#

and then what

#

I need to put each place holder seperatly

#

in side

#

%kyorify_<placeholder>%

balmy marten
#

%kyorify_<placeholder>% for plugins that use legacy formats

stable mist
#

or I can just take whole line

#

and drop it in ?

balmy marten
#

Not sure if that works

stable mist
#

think about it I mean first thing which needed to be inforced in plugin if you are making something like that is legacy colors

#

this makes so many complications

balmy marten
#

Keep in mind chatchat is still in beta, nothing is final

stable mist
balmy marten
#

There won't be

stable mist
#

why not

balmy marten
#

Clip's plugin, his choice

#

Plus you really dont wanna see it lol

stable mist
#

why is all my text bolded

#

now

#

bolded should be only on G

#

but it is passed

#

to other placeholders now

#
  • '%kyorify_ultraprison_rank% %deluxetags_tag%<dark_gray>[%kyorify_vault_prefix%<dark_gray>]'
balmy marten
austere hawk
twin breach
#

so I am using %statistic_use_item:carrot% and created a top10 who ate the most carrots, but there are players planting carrots and counting how they ate them, is there any way to not count when they plant?

mint fable
#

prob need a plugin to track it

ornate hawk
mint fable
#

no

#

You'd have to compile it yourself

ornate hawk
#

where can I find the source

mint fable
#

linked on the cloud

ornate hawk
#

only version 2.1.2 on the cloud

mint fable
#

gotta get an old commit version or something

#

idk how github works

turbid tide
topaz ruin
#

Hello! I've been fighting with Javascript attempting to get it to pick a random command between 2 options for me, I've tried many variations of math.random but no matter what I try I get spammed with errors in console when parsing the file. I'm running on Arclight 1.16.5 and have been trying to use DeluxeMenus to have a makeshift wondertrade for my pixelmon server that doesn't randomly break and crashes the server. I've tried both Blitz's and clip's code but all of them just give me the same error.

Is there anything I'm doing wrong or am I just screwed running Arclight? the server is running on Pterodactyl's standard Java 11 and Forge 32.2.39. I have PAPI Javascript and Player as extensions I'm trying to use for this script and my current script is looking like this: https://pastebin.com/knb9JvF1

mint fable
#

what error

twilit terrace
#

Can someone help me with an small issue?

#

@mint fable ?

tender vaporBOT
magic rock
twilit terrace
#

the PAPI plugin don't register the .jar files

#

i mean

#

every single time i restart the server

#

i have to register all again

#

don't save the info and idk why

tender vaporBOT
topaz ruin
topaz ruin
#

Well, confirming my javascript through webtoolkitonline just makes it push out the wanted result, yet when it's loaded into the papi expansion and executed through either server console or a player it just doesn't work :(

austere hawk
#

so i was using the worldguards placeholder extension, and i noticed that it doesn't format the capitalized placeholder correctly

#

specifically %worldguard_region_name_capitalized%

#

I want it to say "The Pit", but it says "The_pit"

raw rune
#

Hello! How can i return player's nick by placeholder's value?

idle marsh
#

%essentials_home_<number> % how this placeholder works?

topaz ruin
#

isn't it %player_name% with players extension?

orchid hull
#

Yo. Is there any way for me to figure out which placeholder needs an update and how to update it? (Unless I just redownload it?)

5 placeholder hook(s) registered! 1 placeholder hook(s) have an update available.
#

I just ran /papi ecloud download, for all 5 of them but 1 keeps saying it has an update for some reason

austere hawk
#

Something like that

mint fable
#

probably has the wrong version coded in

orchid hull
orchid hull
mint fable
#

bungee is cursed a little

#

it has 2 expansions in 1 file somehow idk what's up with that, one of them is not updated, one of them is

#

you can ignore the message if it's working

#

if it's not working... well somebody gotta fix the bungee expansion idk who/when tho

olive terrace
#

Anyone knows why placeholders doesnt load before server restart?
i need to use /papi reload each time i restart server :(

austere hawk
#

is there a server age placeholder? like 1 week, 2 days, etc

#

or how can I make one?

vivid sparrow
#

no

sharp jay
# austere hawk is there a server age placeholder? like 1 week, 2 days, etc

this will be $100 dolla


function getEllapsedTime() {
  return formatMilliseconds(Date() - start);
}

function formatMilliseconds(milliseconds) {
  var seconds = milliseconds/ 1000;
  var minutes = seconds / 60;
  var hours = minutes / 60;
  var days = hours / 24;

  milliseconds %= 1000;
  seconds %= 60;
  minutes %= 60;
  hours %= 24;

  var builder = "";
  if (days > 0) {
    builder += days + "d";
  }

  if (hours > 0) {
    if (days > 0) builder += " ";
    builder += hours + "h";
  }

  if (minutes > 0) {
    if (days > 0 || hours > 0) builder += " ";
    builder += minutes + "m";
  }

  if (seconds > 0) {
    if (days > 0 || hours > 0 || minutes > 0) builder += " ";
    builder += seconds + "s";
  }

  return days > 0 || hours > 0 || minutes > 0 || seconds > 0 ? builder : "0s";
}

getEllapsedTime();```
austere hawk
#

haha thanks Adam, but I just copied the one from Blitz a while ago

function getEllapsedTime() {
  return formatMilliseconds(Date.now() - new Date("2022-08-27T00:00:00"));
}

function formatMilliseconds(milliseconds) {
  var seconds = milliseconds/ 1000;
  var minutes = seconds / 60;
  var hours = minutes / 60;
  var days = hours / 24;

  milliseconds %= 1000;
  seconds %= 60;
  minutes %= 60;
  hours %= 24;

  var builder = "";
  if (days > 0) {
    builder += days.toFixed(0) + "d";
  }

  if (hours > 0) {
    if (days > 0) builder += " ";
    builder += hours.toFixed(0) + "h";
  }

  if (minutes > 0) {
    if (days > 0 || hours > 0) builder += " ";
    builder += minutes.toFixed(0) + "m";
  }

  if (seconds > 0) {
    if (days > 0 || hours > 0 || minutes > 0) builder += " ";
    builder += seconds.toFixed(0) + "s";
  }

  return days > 0 || hours > 0 || minutes > 0 || seconds > 0 ? builder : "0s";
}

getEllapsedTime();
sharp jay
#

yup its from blitz

lilac sable
#

anyone know a <center> placeholder that makes other placeholders like say %vault_prefix% be centered?

magic rock
#

you cannot center stuff universally

lilac sable
#

In a scoreboard

midnight cradle
#

oh, sorry!

slow crystal
#

@slow crystal

midnight cradle
#

@idle coral do you know how to fix it?

vivid sparrow
#

Kicked.

modern spire
#

How do I reset a scoreboard? When I try it says I have to reset the data in in the target placeholder? idk what that is

mint fable
#

which placeholder(s) are you trying to reset @modern spire ?

steady hornet
#

DeluxeTags placeholder for chat isn't working how do i get it to work?

mint fable
#

which chat plugin

steady hornet
#

I am currently using EssentialsxChat

modern spire
#

if thats what your asking

mint fable
#

the statistic expansion uses the vanilla statistics stored in the world/stats folder

#

@modern spire

modern spire
#

ok thanks

#

and what about statistic_time_played

#

same thing?

#

@mint fable

tender vaporBOT
mint fable
#

yes all statistics

modern spire
#

and if I delete them it wont affect player items or anything right?

#

only scoreboards?

mint fable
#

correct

modern spire
#

thanks

#

would I need to restart server for it to apply changes?

mint fable
#

maybe?

modern spire
#

ok

gritty wagon
#

what am i doing wrong with this check item placeholder? %checkitem_mainhand mat:DIAMOND_PICKAXE,amt:1, enchantments:DIG_SPEED=1;DIG_SPEED%
its only checking if i have a diamond pick in my inv

mint fable
#

is that the actual placeholder with spaces in it?

gritty wagon
#

thats the acual placeholder

mint fable
#

%checkitem_inhand:main,mat:DIAMOND_PICKAXE,amt:1,enchantments:DIG_SPEED=1;DIG_SPEED%

gritty wagon
#

its still only checking for a diamondpickaxe in my inv and not for a Diamond pickaxe in my main hand with digspeed 1 on it

mint fable
#

hmm

#

what version are you on

gritty wagon
#

1.19.2

mint fable
#

%checkitem_inhand:main,mat:DIAMOND_PICKAXE,amt:1,enchantments:DIG_SPEED=1%

#

parse that again

#

any errors in console

gritty wagon
#

not that i see

#

when i do /papi parse FizzTags %checkitem_inhand:main,mat:DIAMOND_PICKAXE,amt:1,enchantments:DIG_SPEED=1% it just say no

#

no errors

mint fable
#

try efficiency

#

or EFFICIENCY

gritty wagon
#

it is saying yes now

#

but in deluxemenu it doesnt want to work

#

which i don't understand

mint fable
#

/dm dump <menu>

gritty wagon
mint fable
#

that's not the updated placeholder

mint fable
gritty wagon
#

omg you are a lifesaver

#

i been at this for 4 days now

#

thank you so much

mint fable
long hamlet
#

ah

hard basin
#

i cant download the skript expansion

short shoal
#

You have to download it manually

austere hawk
#
  • Issue with quests -
    Upon doing: /papi ecloud download Quests 1.0
    But doing: /papi ecloud download Quests 1.6
#
When quests 1.6 is installed:
[PlaceholderAPI] Failed to load class files of expansion.```

When quests 1.0 is installed:
[PlaceholderAPI] Failed to load expansion class QuestsExpansion (Is a dependency missing?)```

Code error when doing 1.6: https://paste.helpch.at/ovabojojaf.rb
Code error when at 1.0: https://paste.helpch.at/upovusisol.rb

Note: Trying to download: PlaceholderExpansion-Quests 1.6 to see if it fixes it does not, I think 2 plugins for quests are colliding.

foggy token
#

Can someone help me with this issue

#

placeholder are not showing, i updated the plugin

turbid tide
#

It requires that for the expansion to work

turbid tide
twin breach
tender vaporBOT
twin breach
#

sorry

mint fable
#

Bruh I said it was outdated even

cobalt cave
#

im trying to parse this %ajpk_stats_top_score_{commandpanels_data-lbstart,Jonathan_Nathan}% but i keep getting the placeholder instead of --- ---

mint fable
#

it doesn't look like ajparkour supports using other placeholders with {} from what I can see in the source

cobalt cave
#

is there any other way i can do it

mint fable
#

could use the javascript expansion

tender vaporBOT
cobalt cave
tender vaporBOT
ornate matrix
#

hello, recently it gives an error that occurs at will. I have 3 lobbies that restart daily at night and after restarting the PlaceholderAPI on one of the 3 lobbies, it gives an error that completely stops loading placeholders. How can it be solved?

Error: https://hastebin.com/sefupiziju.sql

rigid egret
#
    1:
      chance: 100
      cooldown: 2
      effects:
        - '%changeoutput_equals_{player_direction}_N_TELEPORT location=~0|0|-8_WAIT:0%'
        - '%changeoutput_equals_{player_direction}_NE_TELEPORT location=~6|0|-6_WAIT:0%'
        - '%changeoutput_equals_{player_direction}_E_TELEPORT location=~8|0|0_WAIT:0%'
        - '%changeoutput_equals_{player_direction}_SE_TELEPORT location=~6|0|6_WAIT:0%'
        - '%changeoutput_equals_{player_direction}_S_TELEPORT location=~0|0|8_WAIT:0%'
        - '%changeoutput_equals_{player_direction}_SW_TELEPORT location=~-6|0|6_WAIT:0%'
        - '%changeoutput_equals_{player_direction}_W_TELEPORT location=~-8|0|0_WAIT:0%'
        - '%changeoutput_equals_{player_direction}_NW_TELEPORT location=~-6|0|-6_WAIT:0%' ```

```[19:49:56] [Server thread/ERROR]: [AdvancedEnchantments] Effect "%changeoutput_equals_{player_direction}_N_TELEPORT location=~0|0|-8_WAIT:0%" used with an invalid location: "0|0|-8_WAIT:0%". Using default location. ```

https://api.extendedclip.com/expansions/changeoutput/
https://pastebin.com/9xMpeLBq
how can I set location? I have error...
marsh spire
#

I have a huge region with priority 0 and a small region inside the big region with priority 10, how do I get the Placeholders %worldguard<AnyWGPlaceholder><Priority(LowestNumber=HighestPriority)>% to give me the name of the smaller region, when I use %worldguard_region_name_10% it doesn't vote anything but if I use %worldguard_region_name_1% it gives me the name of the big region.
I have already downloaded the extension and cloud download WorldGuard for my respective version.

coarse vortex
#

anyone know how to get %essentials_baltop_player_<rank>% to work on holographic displays? just appears as the placeholder and not the actual info

eternal hill
#

Maybe that will work

#

If that doesn't then remove <rank> and add number like1

coarse vortex
#

your line and changing rank to a number works! why does that work but the officially documented way doesn't wtff

mint fable
#

HD3 changed the format to a weird format

#

I think in beta 3

rigid egret
mint fable
#

if you're on the newer version of changeoutput the syntax has changed

#

@rigid egret this

marsh spire
#

I have a huge region with priority 0 and a small region inside the big region with priority 10, how do I get the Placeholders %worldguard<AnyWGPlaceholder><Priority(LowestNumber=HighestPriority)>% to give me the name of the smaller region, when I use %worldguard_region_name_10% it doesn't vote anything but if I use %worldguard_region_name_1% it gives me the name of the big region.
I have already downloaded the extension and cloud download WorldGuard for my respective version.
please help

#

como sirve esta api %worldguard<AnyWGPlaceholder><Priority(LowestNumber=HighestPriority)>%

dense sequoia
#

Hi, any know if papi support bungeecord?

reef tusk
#

Hi! PAPI is giving me this error.

[12:13:18 ERROR]: [PlaceholderAPI] Failed to load class files of expansion.
java.util.concurrent.CompletionException: java.lang.NoClassDefFoundError: me/blackvein/quests/quests/IQuest
        at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?]
        at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?]
        at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770) ~[?:?]
        at java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760) ~[?:?]
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?]
        at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?]
        at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?]
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?]
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?]
#
        at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?]
        at java.lang.Class.privateGetDeclaredMethods(Class.java:3402) ~[?:?]
        at java.lang.Class.getDeclaredMethods(Class.java:2504) ~[?:?]
        at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.lambda$findExpansionInFile$7(LocalExpansionManager.java:413) ~[PlaceholderAPI-2.11.3-DEV-160 (2).jar:?]
        at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
        ... 6 more
Caused by: java.lang.ClassNotFoundException: me.blackvein.quests.quests.IQuest
        at java.net.URLClassLoader.findClass(URLClassLoader.java:445) ~[?:?]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:587) ~[?:?]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
        at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?]
        at java.lang.Class.privateGetDeclaredMethods(Class.java:3402) ~[?:?]
        at java.lang.Class.getDeclaredMethods(Class.java:2504) ~[?:?]
        at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.lambda$findExpansionInFile$7(LocalExpansionManager.java:413) ~[PlaceholderAPI-2.11.3-DEV-160 (2).jar:?]
        at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
        ... 6 more```
floral plank
reef tusk
#

Oh, ok, got it

#

i removed an old plugin

#

sorry this server dosn't run from 6 months hahaha

stone thorn
#

What's the resource friendly way of pulling placeholder data from a database?

dense trail
#

Who here updates the Player expansion?

sharp jay
#

@dense trail Glare does

dense trail
#

How to contact Glare

#

There are various issues with the player_item_in_hand_ENCHANTMENT placeholder

sharp jay
#

@trim mist ^

dense trail
#

Just finished it :)

sharp jay
#

Fairly sure the Checkitem does the inhand enchantment check aswell

dense trail
#

I thought so yeah, but the syntax is so confusing

#

all I am able to retrieve is "yes"

sharp jay
#

send me what your trying

dense trail
#

Retrieving the level of e.g. fortune from the item the user is holding.

sharp jay
#

send the placeholder

dense trail
#

/papi parse me %player_item_in_hand_level_LOOT_BONUS_BLOCKS%

sharp jay
#

the checkitem

#

one

dense trail
#

That's the issue, I don't know how to i'm reading the wiki right now

#

/papi parse me %checkitem_inhand:main,enchantments:LOOT_BONUS_BLOCKS%

sharp jay
#

that should be it

#

does that work?

dense trail
#

it parses "no"

sharp jay
#

add =lvl

#

🙂

#

says it right there in the doc

dense trail
#

then it parses "yes"

sharp jay
#

enchantments:<enchantment=lvl>

dense trail
#

it needs to parse the level

#

not yes or no

sharp jay
#

%checkitem_inhand:main,enchantments:LOOT_BONUS_BLOCKS=lvl%

#

smh

dense trail
#

lol

#

I'm telling you it doesn't work xD

sharp jay
#

hmmm

#

@mint fable hi 😉 ^

dense trail
#

ahahah

#

I love how 1 placeholder issue can stop my entire development lol

sharp jay
#

oh so =lvl means put a lvl and it will return its level if its the same

#

for example =1 will return if they got the same one

#

make sense?

dense trail
#

Meaning if item is enchanted with fortune 500 and i do =500 it will display 500 ?

#

myth busted.

sharp jay
#

=500 will still show yes/no

dense trail
#

it shows "no" indeed.

#

fairly useless for the thing I need it for

sharp jay
#

what you trying to make?

dense trail
#

My own enchantment menu

sharp jay
#

ah

#

its possible to do it with these placeholders just alot longer

#

to make it

dense trail
#

Before u say anything about other plugins or other things that can do this, not possible xD

#

I know it's possible because it worked in the past

#

But since I've updated like all plugins it broke,

sharp jay
#

rip

dense trail
#

Yeah, and binary search won't work here unless I want to to that the next 5 years.

#

I think it's something to do with the method used to retrieve enchantment levels

#

since there's a purpur way and a paper way

#

(I have no coding experiences, i learned all of this in the matter of a few hours by talking to devs lol)

sharp jay
#

lmao

dense trail
#

It's annoying though

#

such a small little thing

#

gawd damn enchantment player placeholder.

sharp jay
#

well just wait be patient

#

You can get your own made 🙂

dense trail
#

I've received plenty of offers already, yet they have no clue what they're talking about

sharp jay
#

lol

dense trail
#

Mentioned that it should work flawlessly between Vanilla enchants & EcoEnchants (even though ecoenchants are basically implemented as vanilla enchants)

#

I've had devs say to me that it's not possible what i want to achieve :_:

#

while it was working like 2 days ago before i updated 💀

dense trail
#

I'll be paying $20 to the dev that fixes it first

mint fable
#

Uh

#

@dense trail

#

I haven’t read it all

#

But have you tried vanilla enchants

#

Like FORTUNE

#

also lvl needs to be a number

#

Otherwise just remove =lvl and you check for any level

dense trail
#

Tried both all broken

#

But I got it fixed by a dev

#

@bleak palm fixed it 🤷‍♂️

#

(the original issue from player expansion)

mint fable
#

lmao did you really pay

#

if so I need to know more people like you 😎

#

and ya, checkitem's getinfo placeholder retrieves a lot of info, but you kind of need to sift through it with javascript or something to probably get a result you need

#

because the best you could return I think is FORTUNE:50

mint fable
#

now because of you and 1 other people I added checking individual enchant levels to checkitem

#

%checkitem_getinfo:mainhand_enchantments:fortune%

#

it only works if it's completely by itself

#

Added individual enchant checking. Example %checkitem_getinfo:mainhand_enchantments:fortune% would return 3. It only works if enchantments is the ONLY modifier, and there is only ONE enchant listed.

round island
#

I installed the essentials hook however when reloading, it doesn't seem to install it for some reason- I run /papi reload however is just says 0 placeholder hook(s) registered! and the placeholders dont seem to be working which I presumed is something to do with this

mint fable
#

/papi dump

round island
#

There you go

lyric umbra
#

is it possible to insert placeholders inside placeholders? like %placeholder1_%placeholder2%%?

mint fable
#

depending on the placeholder, use {} internally

#

?startuplog

tender vaporBOT
mint fable
#

@round island can you send that over this

round island
#
[17:45:23] [Server thread/INFO]: [PlaceholderAPI] Placeholder expansion registration initializing...
[17:45:23] [Server thread/INFO]: [PlaceholderAPI] Fetching available expansion information...
[17:45:23] [Server thread/ERROR]: [PlaceholderAPI] Failed to load expansion class EssentialsExpansion (Is a dependency missing?)
java.lang.NoSuchMethodError: 'net.essentialsx.api.v2.services.BalanceTop com.earth2me.essentials.Essentials.getBalanceTop()'
    at com.extendedclip.papi.expansion.essentials.EssentialsExpansion.register(EssentialsExpansion.java:78) ~[?:?]
    at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.register(LocalExpansionManager.java:191) ~[?:?]
    at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
    at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[?:?]
    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) ~[?:?]
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[?:?]
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?]
    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) ~[?:?]
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
    at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[?:?]
    at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.lambda$registerAll$4(LocalExpansionManager.java:350) ~[?:?]
    at me.clip.placeholderapi.util.Futures.lambda$null$0(Futures.java:46) ~[?:?]
    at ```
#
    at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:468) ~[patched_1.16.5.jar:git-Paper-"e04368045"]
    at net.minecraft.server.v1_16_R3.MinecraftServer.b(MinecraftServer.java:1427) ~[patched_1.16.5.jar:git-Paper-"e04368045"]
    at net.minecraft.server.v1_16_R3.DedicatedServer.b(DedicatedServer.java:436) ~[patched_1.16.5.jar:git-Paper-"e04368045"]
    at net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1342) ~[patched_1.16.5.jar:git-Paper-"e04368045"]
    at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1130) ~[patched_1.16.5.jar:git-Paper-"e04368045"]
    at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:291) ~[patched_1.16.5.jar:git-Paper-"e04368045"]
    at java.lang.Thread.run(Thread.java:831) [?:?]```
mint fable
#

if you delete the expansion in the directory and type /papi ecloud download essentials then /papi reload does it say the same

#

not sure if you did those steps before

round island
#

I have done it before, and it did, yea

dense trail
#

can the math placeholder show dots between big numbers ?

#

e.g. if the result is 300000000 it would display as 300.000.000

sharp jay
#

@dense trail ya I think if you do math_1 and _2 does something maybe?

dense trail
#

how would i integrate that into this
%math_((1/({player_item_in_hand_level_FORTUNE}+2))+(({player_item_in_hand_level_FORTUNE}+1)/2))/10%

sharp jay
#

oh my

dense trail
#

HAHAHAHA

sharp jay
#

it should be math_1((1

#

ect

#

I think

dense trail
#

ehh no

sharp jay
#

you try 2?

dense trail
#

did both

#

doesn't do anything

#

wait

#

wrong placeholder

#

%math_MAX(500,{player_item_in_hand_level_FORTUNE}*1375)%

#

that one

lyric umbra
tender vaporBOT
lyric umbra
#

Ah, sorry for the ping, I forgot to disable the reply ping

mint fable
#

Just for the inside placeholder

#

%placeholder_{placeholder_example}%

dense trail
#

Phrased it incorrectly
%math_MAX(500,{player_item_in_hand_level_FORTUNE}*1375)%

this placeholder parses e.g. with a fortune level of 2498 3434750.000 but i want it to parse as 3.434.750,000 or 3.434.750

mint fable
#

Check math settings in papi config

#

And the precision info on the wiki

round island
mint fable
#

Otherwise might need formatter expansion/JavaScript

round island
#

Hm, seems to be

java.lang.NoSuchMethodError: 'net.essentialsx.api.v2.services.BalanceTop com.earth2me.essentials.Essentials.getBalanceTop()'
        at com.extendedclip.papi.expansion.essentials.EssentialsExpansion.register(EssentialsExpansion.java:78) ~[?:?]
        at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.register(LocalExpansionManager.java:191) ~[?:?]
        at me.clip.placeholderapi.commands.impl.local.CommandExpansionRegister.lambda$evaluate$0(CommandExpansionRegister.java:79) ~[?:?]
        at me.clip.placeholderapi.util.Futures.lambda$null$0(Futures.java:46) ~[?:?]
        at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:100) ~[patched_1.16.5.jar:git-Paper-"e04368045"]
        at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:468) ~[patched_1.16.5.jar:git-Paper-"e04368045"]
        at net.minecraft.server.v1_16_R3.MinecraftServer.b(MinecraftServer.java:1427) ~[patched_1.16.5.jar:git-Paper-"e04368045"]
        at net.minecraft.server.v1_16_R3.DedicatedServer.b(DedicatedServer.java:436) ~[patched_1.16.5.jar:git-Paper-"e04368045"]
        at net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1342) ~[patched_1.16.5.jar:git-Paper-"e04368045"]
        at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1130) ~[patched_1.16.5.jar:git-Paper-"e04368045"]
        at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:291) ~[patched_1.16.5.jar:git-Paper-"e04368045"]
        at java.lang.Thread.run(Thread.java:831) [?:?]``` which I dont think I can do anything about it can I?
dense trail
#

the only stuff thats there about math

mint fable
#

prob gonna have to use javascript

#

because I would suggest formatter expansion but you'd have to nest placeholders which you can't do really

round island
#

EssentialsX

mint fable
#

?startuplog

tender vaporBOT
mint fable
#

can you send that over

round island
#

Do you think checking for updates could help?

#

?paste

tender vaporBOT
mint fable
#

That always can help

round island
dense trail
#

There's no way to nest placeholders?

round island
#

Please excuse that error my plugin keeps throwing out, haven't found time to fix it yet

mint fable
#

try updating essentials @round island

#

newest stable build is 2.19.7

round island
#

Alright, I'll try it real quick

mint fable
#

why do you say that

#

was updated a bit over a month ago

dense trail
#

Because it doesn't parse.

#

/papi parse me %nested_<math_MAX(500,{player_item_in_hand_level_FORTUNE}*1375)>_<formatter_number_format_1234567>%

mint fable
#

or maybe you're using it wrong

#

<> usually is not included in things when used for a format

#

remove those

dense trail
#

tried all methods

#

tried %% tried <> tried {}

mint fable
#

probably not for what you want this

#

different nesting ig

dense trail
#

ugh

#

if only numbers were displayed normally

round island
mint fable
#

normal is relative

#

I find 389.849.209 very not normal 😉

#

389,849,209 however fingerguns

dense trail
#

huh

#

how does the second one make sense xD

#

you write 1 million as 1.000.000

mint fable
#

we use commas in america

dense trail
#

oh ew

mint fable
#

you do

#

I do not

dense trail
#

that's so confusing xD

mint fable
#

to you

#

😉

dense trail
#

isn't it confusing for you that i use . ?

mint fable
#

a little, but I understand it

#

known it for a long time ig so

#

comes a bit more natural over timme

#

but however, using js to format your thing

dense trail
#

how would that work

mint fable
#

which you would just replace , with .

#

and . with ,

tender vaporBOT
mint fable
#

don't got time to help atm but here is info about the js expansion this

warm plover
#

At the moment it doesn't work with titles and actionbars due to not updating

mint fable
#

iirc the expansion is 1 frame per parse

#

so you'd need to have it updating

warm plover
#

Typewriter doesn't seem to have anything for that

mint fable
#

Ya I read the second part after responding

#

placeholders can't update themselves in something else

warm plover
#

huh.. so I'm kind of out of luck there, eh?

mint fable
#

typewriter api?

warm plover
#

I probably wouldn't be able to do anything with that lol

#

atleast, myself

mint fable
#

is that not what you were referring to?

warm plover
#

Huh? Maybe I misunderstood, I'm just using typwriter in a placeholder.

dense trail
tender vaporBOT
sharp jay
#

no?

dense trail
#
var price = '%math_MAX(500,{player_item_in_hand_level_FORTUNE}*1375)%';
var nlFormat = price.toLocaleString('nl-NL');

return nlFormat;
#

what's wrong with this

#
[05:48:29 ERROR]: [PAPI] [Javascript-Expansion] An error occurred while executing the script 'SortedFortunePrice
javax.script.ScriptException: <eval>:4:0 Invalid return statement
return nlFormat;
^ in <eval> at line number 4 at column number 0
mint fable
#

nothing to return from

#
var price = '%math_MAX(500,{player_item_in_hand_level_FORTUNE}*1375)%';
var nlFormat = price.toLocaleString('nl-NL');

nlFormat;
#

really don't need the last line, but 🤷‍♂️

dense trail
#

How do i make it return the value like sorted

mint fable
#

wym by that

dense trail
#

What is the code for it to work

#

Because I don't understand shit of it

mint fable
tender vaporBOT
dense trail
#

wait

#

I made a mistake there

vivid sparrow
#

@dense trail

function something() {
    var level = Math.max(500, parseInt("%player_item_in_hand_level_FORTUNE%") * 1375);
    return PlaceholderAPI.static.setPlaceholders(BukkitPlayer, "%" + "formatter_number_format_nl-NL:" + level + "%");
}

something();```
I guess this should work
vivid sparrow
#

hm

#

Maybe now?

velvet ingot
#

Hi, is there placeholder to show how old is world? (days)
Cant find it. Thanks.

vivid sparrow
#

no

long mauve
#
java.util.concurrent.CompletionException: java.lang.NoClassDefFoundError: com/artemis/the/gr8/lib/kyori/adventure/text/TextComponent
    at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?]
    at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?]
    at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770) ~[?:?]
    at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.lang.NoClassDefFoundError: com/artemis/the/gr8/lib/kyori/adventure/text/TextComponent
    at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?]
    at java.lang.Class.privateGetDeclaredMethods(Class.java:3402) ~[?:?]
    at java.lang.Class.getDeclaredMethods(Class.java:2504) ~[?:?]
    at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.lambda$findExpansionInFile$7(LocalExpansionManager.java:413) ~[PlaceholderAPI-2.11.2.jar:?]
    at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
    ... 1 more
Caused by: java.lang.ClassNotFoundException: com.artemis.the.gr8.lib.kyori.adventure.text.TextComponent
    at java.net.URLClassLoader.findClass(URLClassLoader.java:445) ~[?:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:587) ~[?:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
    at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?]
    at java.lang.Class.privateGetDeclaredMethods(Class.java:3402) ~[?:?]
    at java.lang.Class.getDeclaredMethods(Class.java:2504) ~[?:?]
    at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.lambda$findExpansionInFile$7(LocalExpansionManager.java:413) ~[PlaceholderAPI-2.11.2.jar:?]
    at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
    ... 1 more```
Why when i try /papi reload it does this in console?
dense trail
#

is it possible to use rounding within a placeholder? (math expansion)

#

( I don't want to round using the config.yml )

junior musk
#

%math_[precision]:[rounding]_<expression>%

dense trail
#

yes

#

how does the rounding work

#

I don't understand it

#

%math_MAX(500,{player_item_in_hand_level_FORTUNE}*1375)%

junior musk
#

it's a number

dense trail
#

how to implement it in that

junior musk
#

the amount of numbers you want it to show after the decimal

dense trail
#

0

#

i don't want it to show anything

junior musk
#

then %math_0_MAX(500,{player_item_in_hand_level_FORTUNE}*1375)%

dense trail
#

I love you

paper pewter
long mauve
#

it doesnt load just the Player either tho

paper pewter
#

That one isn't mine, I can't help you with that one. I'd try updating PlayerStats first, and see if you still get errors then

long mauve
#

k

upbeat musk
#

I have a question. Does PlaceholdersAPI automatically detect where a Placeholder is used and update it? For example if I use %player_name% in a gui... Or I have to translate manually?

mint fable
#

nope that'd be impossible

#

the plugin using placeholderapi has to update and re-parse the placeholder itself

upbeat musk
#

so question, let's say I make a plugin that has it's own values. I register the expansions and all. Now I want that In the creation of an item, the placeholder's in it's lore translate all the placeholders on it. Would I iterate through every line and bring up an updated value provided by PlaceHolders or how would that work? Because in that case I could just do my own replace method.

lethal basin
#

yo folks, was I just dreaming or bungee placeholders got new format? (Cant find anything about this in papi updates thats why im asking, if I wasnt just trippin)

lethal basin
#

ty

floral plank
turbid tide
# upbeat musk so question, let's say I make a plugin that has it's own values. I register the ...

Yeah. What Aki said. The idea of PlaceholderAPI is to bring easy integration between plugins. Otherwise if you were to make those items in another plugin you'd have to hook into your other plugin's API to get those values. And people will want support for thousands of plugins which PlaceholderAPI has fixed by implementing a common API that they all can use in a way that you don't have to worry about other plugins, just yours and then other plugins can worry about their stuff as well.

#

Instead of me having to go hook into all the thousands of plugins my users might want support for, I just hook into PAPI and let the other plugins make sure they offer the data the users might want to see.

floral plank
floral plank
#

the amount of times i have seen (especially when people ask me to redo a plugin) where people use sql queries etc in placeholders is quite high

#

and its an extremely common use case i feel like

floral plank
vivid sparrow
#

People should be responsible of their own shit though

clever pebble
#

Good evening, the JavaScript extension is not available through the download command?

elder palm
#

Download it manually

clever pebble
#

Where can I find it please ? I don't have any releases on the github

floral plank
tender vaporBOT
floral plank
vivid sparrow
#

not our problem

vivid sparrow
#

(last eco set value is 0.001) @turbid tide does this look good for %vault_eco_balance%? Currently String.valueOf(balance) does some weird stuff when the balance is like 0.001, as mentioned here https://github.com/PlaceholderAPI/Vault-Expansion/issues/18
Economy#fractionalDigits returns -1 by default, that's why I added that Math#max

turbid tide
vivid sparrow
#

yes

#

though the extra zero doesn't mean anything

#

Also, I suggest we should remove %statistic_mine_block% because it won't ever work perfectly

turbid tide
vivid sparrow
#

I meant the placeholder for total mined blocks

#

Which is mine_block, for a specific material you add :MATERIAL

turbid tide
vivid sparrow
#

Nah..

turbid tide
#

why is it not working? I've used it before and it worked alright

vivid sparrow
#

We tried to just add all materials together, but some share the same statistic value

#

E.g. if you mine one dirt it will count as 2, because dirt and grass block share the same value

turbid tide
#

well can't we just make it ignore 1 of them?

#

like, completely.

vivid sparrow
#

Yeah, I tried doing that, but there's more

#

Sand and redsand as well

turbid tide
#

well. how hard is it to just make a list of all the duplicates, check if name is inside duplicates list and continue

#

or is this not documented anywhere?

#

the duplicates I mean

vivid sparrow
#

Yes, ofc it is not

turbid tide
#

hmm. I really don't like the idea of removing it.

vivid sparrow
#

Well at least not somewhere that I know

#

Yeah ik, but it is not working properly so it wont make any difference if we remove it at all

turbid tide
#

I mean there's situations it might work tho. Not everyone uses it for dirt and sand. Even tho those are small cases, it still works sometimes 😦

vivid sparrow
#

We had many people reporting that it doesnt work, wdym xD

turbid tide
#

Well yeah. but there's servers where you don't deal with duplicates. Mostly minigames. And for those it might still be useful

#

I think we should look into a fix a bit more than removing it

warm plover
#

Hi there, how does the string replacements work? I'm trying to use this but it doesn't parse anything. %string_replace_characters_small_100%

#

string: replacements: small: '0': ₀

#

Replace isn't even listed there

vivid sparrow
#

Yeah, blitz probably forgot to add it

warm plover
#

On the ecloud site it's %string_replace_characters_<configuration>_<input>%, and on github it's %string_replaceCharacters_<configuration>_<string>%

vivid sparrow
#

Hm

warm plover
#

but neither work so not sure what's up with that

vivid sparrow
#

replaceCharacters should

warm plover
#

I believe it should be like this: %string_replaceCharacters_small_100%

#

Which, it doesn't work that way either

#

huh?

#

ah.. it has a replace. Shouldn't String's replace be working tho?

turbid tide
#

maybe

#

I don't even remember when the ReplacementConfiguration was even added

vivid sparrow
#

I added it

turbid tide
#

I know. Just don't remember it

vivid sparrow
#

Try %string_replacecharacters_small_100%

#

And also add "" around that symbol

warm plover
#

Doesn't parse anything

#

Ah alright

#

Still nothing sadly

#

string: replacements: small: '0': "a"

#

("a" just for testing)

turbid tide
#

what version of String are you running?

warm plover
#

1.0.1

turbid tide
#

yeah that should be right

vivid sparrow
#

Was the replacements section generated when you download the expansion?

warm plover
#

Yeah

vivid sparrow
#

It should have a default configuration, small-numbers

turbid tide
#

this did you see and remove that?

#

Or did you never see that.

warm plover
#

ah I removed that, I forgot that was default and thought I made that

turbid tide
#

ok. then yeah. you're on the right version.

warm plover
#

I downloaded 1.0.1 a bit ago haha

vivid sparrow
#

Try to delete the whole string section and reload papi

#

Then do %string_replacecharacters_small-numbers_100%

turbid tide
#

why the hell isn't String verified?

warm plover
#

Nothing

#

just outputs the placeholder

vivid sparrow
#

Hmm, weird

#

I will test tomorrow but I'm sure it should work, hmm

warm plover
#

I would use "str" for replace, but I can't

#

I need it to replace multiple things like String does

turbid tide
#

replacecharacters

vivid sparrow
turbid tide
warm plover
#

Can you copy paste that same exact command?

turbid tide
#

/papi parse me %string_replacecharacters_small-numbers_2022%

warm plover
#

Just results in %string_replacecharacters_small-numbers_2022% for me

vivid sparrow
#

Do you parse it in chat?

turbid tide
#

you most likely have the wrong version then. Or maybe duplicates

#

can you execute /papi dump

#

and send the generated link here?

warm plover
warm plover
turbid tide
#

string [Author: BlitzOffline, Version: 1.0.0]

warm plover
#

whattt let me check ;-;

turbid tide
#

maybe restart the server?

warm plover
#

StringExpansion-1.0.1.jar is in my expansion folder

#

and I have no other string expansion, haven't for weeks, it's been the 1.0.1 jar

vivid sparrow
#

How can it generate the section but 1.0.0 be loaded?

warm plover
#

No idea

turbid tide
#

restarts never hurt

turbid tide
#

The version is right. I downloaded and tested it all.

warm plover
#

[23:05:09 INFO]: [PlaceholderAPI] Successfully registered expansion: string [1.0.0]

#

so yeah.. some kind of duplicate maybe

turbid tide
#

delete and redownload

warm plover
#

that's from /papi reload btw not restart

turbid tide
#

maybe it's a corrupted jar

warm plover
#

will do

turbid tide
#

or something

warm plover
#

Delete this jar and restart then add the new one and /papi reload right?

#

Because I did just redownload before I asked in support, but I didn't restart just /papi reload

turbid tide
#

and start again

warm plover
#

ah alright

turbid tide
#

both work

warm plover
#

[23:09:58 INFO]: [PlaceholderAPI] Successfully registered expansion: string [1.0.0]

#

huh.

vivid sparrow
warm plover
#

Is this the right place?

turbid tide
#

This confuses the hell out of me. I am thinking duplicated hidden jar

#

if you completely remove the 1.0.1 jar does it still register the 1.0.0 version?

#

delete and restart

warm plover
#

I stopped the server, deleted the current jar, downloaded from the site above, put it in, started and it says 1.0.0 in console

#

but the jar says 1.0.1

turbid tide
#

yeah. but completely delete he 1.0.1 jar

#

see if it still registers a string expansion

warm plover
#

ohhh alright gotcha one sec

#

nope, deleted it and it doesn't load

#

So.. that's weird

turbid tide
#

yeah. very weird

turbid tide
#

how many kB?

warm plover
#

6.13kb

turbid tide
#

that's definitely wrong. mine is 6.3 kB

#

try this jar.

warm plover
#

That says 6.13 on discord lol

turbid tide
#

oh. yeah wtf.

warm plover
#

I didn't check on my server files btw, right clicked it and checked properties

turbid tide
#

on my machine.

warm plover
#

???

turbid tide
warm plover
#

yeah perhaps

#

should I try that jar anyway?

turbid tide
#

yeah

warm plover
#

[23:18:47 INFO]: [PlaceholderAPI] Successfully registered expansion: string [1.0.1]

#

oh

#

it's a miracle

turbid tide
#

so yeah. I'm guessing you're having some caching issues with the ecloud

#

it might've tried to download the new one and that's why it was giving it the new name but it was actually giving you an old jar you maybe have downloaded before.

#

idk. just a theory. welp. going to sleep. good night

warm plover
#

good night, thanks so much lol

#

Can replace parse other placeholders to replace?

#
    type: custom
    custom_event_data:
      event: org.bukkit.event.player.PlayerGameModeChangeEvent
      player_variable: getPlayer()
      variables_to_capture:
      - '{gamemode};getNewGameMode()'
    actions:
      default:
      - 'title: 8;12;8;&r;%royalmc_colors_white_no&%Gamemode switched to &a%string_replacecharacters_gamemode_{gamemode}%%royalmc_colors_white_no&%.'```
#

This is a plugin that allows you to make events to perform actions

#

And I'm trying to replace {gamemode} with a lowercase version (like CREATIVE to Creative) and it doesn't replace. It just sends CREATIVE

#

But if I parse it with CREATIVE instead of {gamemode} it works

vivid sparrow
#

I mean, if {gamemode} gets replaced by GAMEMODE before the placeholder is parsed, sure.

warm plover
#

I would guess it's not the replace feature and it's the plugin though

vivid sparrow
#

Is gamemode a registered configuration?

warm plover
#

gamemode: 'SURVIVAL': Survival 'CREATIVE': Creative 'SPECTATOR': Spectator 'ADVENTURE': Adventure

#

/papi parse me %string_replacecharacters_gamemode_SURVIVAL% works, just not the plugins variable

vivid sparrow
#

Hmm, I see.

#

Yeah then it probably replaces the variables after it sets papi placeholders

warm plover
#

Dang, all good then

vivid sparrow
#

You should contact the dev, because I'm sure that most of the times you would want to use the variables in placeholders, not the other way around

warm plover
#

Yeah I'll contact them soon, ty

vivid sparrow
#

Np

warm plover
#

should have a workaround for now though

frigid lake
#

Is there any change that script expansions will be verified in the future?

#

I heard that JsExpansion had a permission error and got unverified

sharp jay
#

@balmy marten ^

balmy marten
golden merlin
#

Who can rewrite the Expansion for Placeholder API

austere hawk
golden merlin
#

Change

austere hawk
#

Change what?

#

I think you can use Google translate or something

golden merlin
#

Yes

#

I need to change the extension to display the days until the end of the privilege

austere hawk
#

What plugin do you use for limited-time ranks?

golden merlin
#

LuckPrems + TAB premium

austere hawk
#

You use /lp user/group <user|group> parent addtemp <group> <duration> [temporary modifier] [context...] to give players limited-time ranks, right? Lemme see...

golden merlin
#

I have an extension but it doesn't work for me
because it is universal
those. automatically determines the Group And for this there is a bug with the display.

#

It is necessary that separately for each Group

#

and when Donat forever beat ∞.
and when it was written 30d for a month

austere hawk
golden merlin
#

So I need expansive

#

If you use another command, another bug appears

austere hawk
#

If you use LuckPerms these placeholders are automatically hooked to PlaceholderAPI, so you don't have to install any expansions.

#

Maybe you want Math expansion to calculate how many days are remaining, though.

golden merlin
#

@Override
public String onRequest(OfflinePlayer player, @NotNull String group) {
Set<Group> groups = LuckPermsProvider.get().getGroupManager().getLoadedGroups();
for (Group grp : groups) {
if (grp.getName().equals(group)) {
User user = LuckPermsProvider.get().getUserManager().getUser(Objects.requireNonNull(player.getName()));
assert user != null;
for (Node node : user.getNodes()) {
if (node.getKey().equals("group." + group) && Objects.nonNull(node.getExpiryDuration())) {
return Long.toString(node.getExpiryDuration().toDays());

#

Need something like this

#

Only with this display if (node.getKey().startsWith("group.") && Objects.nonNull(node.getExpiryDuration())) {
return Long.toString(node.getExpiryDuration().toDays());
}
else if (node.getKey().startsWith("group.") && !Objects.nonNull(node.getExpiryDuration())) {
return "∞";

gritty swallow
#
    @Override
    public @NotNull String getIdentifier() {
        return "DVExpansion";
    }

    @Override
    public @NotNull String getAuthor() {
        return "sqlskid";
    }

    @Override
    public @NotNull String getVersion() {
        return "1.0.0";
    }

    @Override
    public boolean persist() {
        return true;
    }

    @Override
    public @Nullable String onRequest(OfflinePlayer player, @NotNull String params) {
        if(params.equals("gems")){
            //return DarkVanillaAPI.getGems(player.getUniqueId()) + "";
            return "bombales";
        }
        return null;
    }
}```
#

this is in my onEnable method if(Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null) { new DVExpansion().register(); }

#
[10:33:28 INFO]: Uspesne pripojen k databazi!
[10:33:28 INFO]: [PlaceholderAPI] Successfully registered expansion: DVExpansion [1.0.0]
fathom rock
#

I have a problem with the detection of an item description.
My goal is to give a potion effect when my item is equipped according to the level of the enchant. When I put only the enchant that should give my life boost on my item, my code works fine. However when I have several on my item, the life effect is not given correctly or not given at all. Can you help me to solve this problem?

https://paste.helpch.at/fonosozuma.pl

smoky spoke
#

what js feature should i use to create a placeholder where i can type out stuff like
%javascript_dataset_try:10% or smthng
i wanna run the value of 10 in a js placeholder and have it return something

junior musk
eager sapphire
#

why when I add my own plug-in, placeholders work only in it and their raw form is displayed in other plug-ins?

brave arrow
#

For some reason I cant use essentials place holders in a chat format other than {player}

sage root
#

How do I change %essentials_afk% to say [AFK] instead of just yes or no?

tidal falcon
#

what placeholder i should use to give item to player

lean basalt
#

why do i get an error when i implement the placeholderapi dependencies

tender vaporBOT
sharp jay
#

No

#

use ?paste

#

not clicking that link

#

?paste

tender vaporBOT
lean basalt
#

ow oke

#

?paste

tender vaporBOT
lean basalt
#

and now?

sharp jay
#

read what it says to do

#

smh

lean basalt
#

?paste

tender vaporBOT
lean basalt
eager sapphire
#

@idle coral sorry for ping but i still need help, why my plugin blocks parsing placeholders in another plugin?
I haven't found any solutions on the internet

https://youtu.be/PvjewOykeAU

vivid sparrow
#

why @idle coral WHY

eager sapphire
#

anyone can help me? this help Chat has not been of any help to me

nova turret
#

Hello I an Issue with the placehodlers of Vault

#

So my placeholderAPI version: PlaceholderAPI-2.11.1

#

my mc version : 1.8

#

and, I have a issue with the ranking money with vault

#

%vault_eco_top_player_1%, don't work, I have tried, to reload papi, restart the server nothing works

#

and in the config of placeholderAPI I Have :

  vault:
    formatting:
      thousands: k
      trillions: T
      quadrillions: Q
      billions: B
      millions: M

And nothing other

#

so if someone know why it does this

brittle cave
#

https://media.discordapp.net/attachments/1013866457144246417/1026312631973335081/unknown.png

I am trying to make it so if the person looking at the tab menu has the resource pack enabled it shows the custom image as seen in this screenshot. If you see that some people have text prefixes and only 1 person has a image prefix.

This is changing the text based on if the person has the resource pack loaded or not. I want it to change based on the viewing player's resource pack loaded status rather than based on what the person in the row is viewing.

Any ideas?

brittle cave
#

Using relational fixed it for tab menu.

left matrix
#

hello, is it possible to turn this placeholder the number from (1233.00000) to something like (1.2k)? the placeholder is %eps_tokens%

#

if i do /papi parse me %eps_tokens% it shows my token balance as 1233.0000000 and i want it to turn to 1.2k instead

left matrix
#

please anyone?

eager sapphire
signal torrent
#

Hello guys. Any help with this?

I have a leadrboard system and every week the leaderboard resets in sunday. I want to show a countdown timer that shows how much time is left until sunday 12:00
any way to do it?

brittle cave
brittle cave
# left matrix hello, is it possible to turn this placeholder the number from (`1233.00000`) to...

private static final Pattern REGEX = compile("(\\d+(?:\\.\\d+)?)([KMG]?)");
private static final String[] KMG = new String[] {"", "K", "M", "G"};

static String formatDbl(double d) {
  int i = 0;
  while (d >= 1000) { i++; d /= 1000; }
  return d + KMG[i];
}

static double parseDbl(String s) {
  final Matcher m = REGEX.matcher(s);
  if (!m.matches()) throw new RuntimeException("Invalid number format " + s);
  int i = 0;
  long scale = 1;
  while (!m.group(2).equals(KMG[i])) { i++; scale *= 1000; }
  return parseDouble(m.group(1)) * scale;
}
brittle cave
signal torrent
eager sapphire
brittle cave
#

Is the placeholder you are trying to call to inheriting the relational class or not.

eager sapphire
eager sapphire
#

I do not know why you ask me about something when I wrote it on this server 10 times and still no help, on spigot although some attempts were made to help me

eager sapphire
#

i finaly fix it

flint frost
#

can someone help me make place holders in my plugin?>

deep hollow
#

Someone has a placeholderapi expansion for format big numbers? Like giving a 1000000 to return 10M for example, I know there's a javascript but javascript is making me some memory leaks, so I can't use it

#

thanks 🙂

twilit terrace
#

hello+

#

i have an issue with PAPI

#

don't want to let me register anything

warm bobcat
#

Hello, I just added a bunch of expansion packages and am now getting this on startup. How do I fix? (What expansion is this comming from?)
https://controlc.com/ffafe525

toxic kernel
#

None of my placeholders are parsing correctly for some reason.

Server version - Paper 1.19.2-R0.1-SNAPSHOT
Placeholder API version - 2.11.2

#

There is no errors in console and I can't seem to post images in here

toxic kernel
left matrix
magic rock
left matrix
#

what's that for?

vivid sparrow
#

Java

vivid sparrow
untold ridge
#

Good morning, I have the following issue with the Placeholder-API plugin:

> papi ecloud update all
[07:32:05 INFO]: Updating expansions: [Bungee]
[07:32:05 INFO]: Successfully downloaded updates, registering new versions.
[07:32:05 INFO]: [PlaceholderAPI] Successfully registered expansion: bungee [1.0.1]
[07:32:05 INFO]: Registered expansions:
  bungee 1.0.1
[07:32:10 WARN]: [PlaceholderAPI] Task #93 for PlaceholderAPI v2.11.2 generated an exception
org.bukkit.plugin.messaging.ChannelNotRegisteredException: Attempted to send a plugin message through the unregistered channel `BungeeCord'.
        at org.bukkit.plugin.messaging.StandardMessenger.validatePluginMessage(:544) ~[GuardSpigot-1.16.5.jar:git-Airplane-"3fbf522"]
        at org.bukkit.craftbukkit.v1_16_R3.entity.CraftPlayer.sendPluginMessage(:1618) ~[GuardSpigot-1.16.5.jar:git-Airplane-"3fbf522"]
        at com.extendedclip.papi.bungeeexpansion.BungeeCordExpansion.getServers(BungeeCordExpansion.java:108) ~[?:?]
        at com.extendedclip.papi.bungeeexpansion.BungeeCordExpansion.access$100(BungeeCordExpansion.java:45) ~[?:?]
        at com.extendedclip.papi.bungeeexpansion.BungeeCordExpansion$1.run(BungeeCordExpansion.java:201) ~[?:?]
        at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(:101) ~[GuardSpigot-1.16.5.jar:git-Airplane-"3fbf522"]
        at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftScheduler.mainThreadHeartbeat(:485) ~[GuardSpigot-1.16.5.jar:git-
untold ridge
#
Airplane-"3fbf522"]
        at net.minecraft.server.v1_16_R3.MinecraftServer.b(:1500) ~[GuardSpigot-1.16.5.jar:git-Airplane-"3fbf522"]
        at net.minecraft.server.v1_16_R3.DedicatedServer.b(:451) ~[GuardSpigot-1.16.5.jar:git-Airplane-"3fbf522"]
        at net.minecraft.server.v1_16_R3.MinecraftServer.a(:1413) ~[GuardSpigot-1.16.5.jar:git-Airplane-"3fbf522"]
        at net.minecraft.server.v1_16_R3.MinecraftServer.w(:1139) ~[GuardSpigot-1.16.5.jar:git-Airplane-"3fbf522"]
        at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$1(:288) ~[GuardSpigot-1.16.5.jar:git-Airplane-"3fbf522"]
        at java.lang.Thread.run(Thread.java:831) [?:?]
untold ridge
# tender vapor

Done: [07:38:42 INFO]: 9 placeholder hook(s) registered! 1 placeholder hook(s) have an update available.

short shoal
#

"GuardSpigot" don't tell me you are using something made by mcprotection

final shale
#

How to remove % from %aoneblock_visited_island_percent_done%?

paper pewter
short glen
#

When doing /papi ecloud download Player it tells me it successful, but then it tells me to /papi reload which doesn't work and gives this error.

https://hastebin.com/opivokakek.sql

turbid tide
#

Yeah it's one of those bukkit + forge hybrid servers. Those are not supported and are known to just break random stuff.

remote mirage
#

luckperms expiry time error

rough python
#

Someone now how to do gradients on nicknames player above world on json?

mint fable
#

Are the issues only for 1.7.10?

#

because there won't be an update just to support 1.7.10

lime hearth
#

I have not tested on other versions
But second issue is up to 1.12.2 (checked 1.7.10, 1.8.8, 1.12.2)

mint fable
#

might get the same thing tbh

#

1.12.2 is pretty old

#

have you tried any older player expansions

#

you can also do /papi ecloud download <expansion> <version>

lime hearth
# mint fable have you tried any older player expansions

As i figured out, player expansions didn't have support for older versions before.
And since 1.16.5 the ping field is entityPlayer.ping, so it has always used the getInt method => on any version there was a issue with getting ping

solar scroll
#

Hi ! I have a problem when i want to download PlayerStats expension

#

Logs :

#
[19:35:15 INFO]: NASTOUH issued server command: /papi ecloud download PlayerStats
[19:35:15 INFO]: [PlaceholderAPI] Fetching available expansion information...
[19:35:18 INFO]: NASTOUH issued server command: /papi reload
[19:35:18 INFO]: [PlaceholderAPI] Placeholder expansion registration initializing...
[19:35:18 INFO]: [PlaceholderAPI] Fetching available expansion information...
[19:35:18 ERROR]: [PlaceholderAPI] Failed to load class files of expansion.
java.util.concurrent.CompletionException: java.lang.NoClassDefFoundError: com/artemis/the/gr8/playerstats/statistic/request/StatRequest
at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?]
at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770) ~[?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760) ~[?:?]
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?]
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?]
at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?]
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?]
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?]
Caused by: java.lang.NoClassDefFoundError: com/artemis/the/gr8/playerstats/statistic/request/StatRequest
at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?]
#
at java.lang.ClassLoader.loadClass(ClassLoader.java:587) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?]
at java.lang.Class.privateGetDeclaredMethods(Class.java:3402) ~[?:?]
at java.lang.Class.getDeclaredMethods(Class.java:2504) ~[?:?]
at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.lambda$findExpansionInFile$7(LocalExpansionManager.java:413) ~[PlaceholderAPI v2.11.2.jar:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
... 6 more
mint fable
#

do you have the playerstats plugin

solar scroll
#

Ouh.. sorry 👀

lofty sage
#

is there a placeholder then and parse and receive the exact latency of a player to a specific server

wet basinBOT
#

@mint fable Unknown expansion.

mint fable
#

hmm, not sure

vivid sparrow
#

Probably not

wise lark
#

JavaScript ext is not downloading on my server.

#

Nvm, manually downloaded it

twilit terrace
#

¿

mossy fox
#

How can we use placeholder of one server to another server ?

#

i have a network of servers

#

i want to show up some smp placeholder to lobby server

#

who can i do that

#

anyone ?

#

know ?

mossy fox
#

@sharp jay

tender vaporBOT
mossy fox
#

?

#

Hello ?

mossy fox
sharp jay
#

bruh

mossy fox
#

but i am waiting for so long

mossy fox
sharp jay
#

You cant you would need to find another plugin

#

to make it work

mossy fox
sharp jay
#

I dont know which ones

mossy fox
#

ok np

#

thanks

twilit terrace
#

Hello i found an error and says that i have an file not allowed, how i do allow it / fix it?

#
java.lang.NullPointerException: The expansion version is null!
        at java.util.Objects.requireNonNull(Objects.java:233) ~[?:?]
        at ```
#
        at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
        at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[?:?]
        at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) ~[?:?]
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[?:?]
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?]
        at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) ~[?:?]
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
        at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[?:?]
        at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.lambda$registerAll$4(LocalExpansionManager.java:350) ~[?:?]
        at me.clip.placeholderapi.util.Futures.lambda$null$0(Futures.java:46) ~[?:?]
        at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:98) ~[forge:?]
        at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:462) ~[forge:?]
        at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:1057) ~[?:?]
        at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:338) ~[?:?]
        at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:1003) ~[?:?]
        at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:818) ~[?:?]
        at net.minecraft.server.MinecraftServer.func_240783_a_(MinecraftServer.java:269) ~[?:?]
        at java.lang.Thread.run(Thread.java:831) ~[?:?]```
short shoal
twilit terrace
warm topaz
#

mohist is not supported

wind panther
#

Can you get the amount of players in a certain bungeecord sub server?

mint fable
#

@wind panther this

wind panther
hoary ice
#

Why JavaScript doesn't work

worthy matrix
#

Hello all! Does anyone know of a plugin that can store all placeholders into a database? I am trying to make a webapp and a database for all the placeholders would be great.

worthy matrix
#

please share!! @magic rock

#

I would love to use it

magic rock
#

im not on pc rn could you ping me tomorrow

worthy matrix
#

yikes 😦

#

Not public on git?

#

I dont mind to compile it

magic rock
#

well its in private repo and will not make it public but i can send you code snippets

worthy matrix
#

Anyone else know of a plugin that can utilize a db for all placeholder values?

wide reef
#

tbh that sounds like a bad idea

#

storing placeholder values to a db is just yikes

#

if your talking about getting the string value of a placeholder expansion like %example_placeholder% for every available placeholder, theres not currently a way to detect every placeholder so you would have to store them all manually

#

like look at the source of every placeholder expansion you want and then add them to the db

#

and also to find the placeholders that exist in plugin that dont require an expansion aswell

#

very time consuming

worthy matrix
#

I found the weirdest work around

#

We stats will store custom placeholders in a mysql db. How they handle there stat pages though was not favorable. So I use the db function and just use an external tool to display the stats from it

#

I will likely write a plug-in to do it

tidal jewel
#

is there a placeholder for DEATHS AND KILLS PER WORLD?

warm topaz
#

not per world, ud need a plugin to handle that data

junior musk
#

I made a PerWorldDeathCount expansion, I could try to add per-world kills as well if you want

real skiff
#

console keeps spamming this msg when player joined

#

[11:14:27 ERROR]: Could not pass event PlayerJoinEvent to PlaceholderAPI v2.11.2

#

any reason for that?

mint fable
#

?startuplog

tender vaporBOT
mint fable
#

send that over with the whole error this

real skiff
#

thats the only error msg related to papi

junior musk
mint fable
#

what a legend

tidal jewel
#

cheers

junior musk
#

oh f forgot to rename the jar name

tidal jewel
#

should i keep that as the name or change it aha?

junior musk
#

shouldn't matter

#

just aesthetic x)

junior musk
#

send the entire error

mint fable
#

?startuplog

tender vaporBOT
mint fable
#

send that over please this

real skiff
#

?paste

tender vaporBOT
real skiff
#

the whole latest.log?

mint fable
#

sure