#placeholder-api

150650 messages · Page 117 of 151

sharp bloom
#

oh wait no just 1 cause i changed the other one to string equals

junior musk
#

what's the other one?

sharp bloom
#

smthing that gaby or bliz sent but i didnt rly bothered to change it back to string equals pepe_sad

junior musk
#

xD

sharp bloom
#
type: javascript
expression: '"%parseother_{{username}}_{player_online}%" != "no"'
#

this

junior musk
#

bruh

#

why would you use JS though thonk

#

oh wasn't there smth in old DM versions where arguments only worked in JS ?

#
type: string equals
input: "%parseother_{{username}}_{player_online}%"
output: "yes"
sharp bloom
#

ye i changed it now yesyes

#

no more javascript placeholders

#

oh wait no i think i might have somwhere more 💀

#

related to luckperms temp permission

#

cause i wanted to return minutes without the format 2m > 2

#

i dont recall if i ve used it yet but its there wat

strange bough
#

Isn't there a playtime or ontime plugin that supports papi placeholders?

nimble jasper
#

Why isn't color formatting applied?

function helloWorld() {
    return "&aHello, world!";
}

helloWorld();

Game: &aHello, world!

vivid sparrow
#

Because placeholderapi no longer does that

nimble jasper
#

and how do i use it again then?

vivid sparrow
#

you can use § instead if &

rancid lake
#

Hello, I have a problem with the statistic plugin via PlaceholderAPI, namely %statistic_mine_block% counts as 2, if you dig one, you could fix it

junior musk
#

Behold, ping colors with ranges

#

I added it

austere hawk
#

How do I get the player date

#

The local date, if it is Monday, Tuesday etc.

sharp bloom
warm plover
#

For some reason, the essentials placeholders for baltop aren't updating

#

/baltop shows completely different values then the placeholders

sharp bloom
rich glen
#

what exactly should be returned in

    @Override
    public @NotNull List<String> getPlaceholders() {
        //
    }

?

#

couldn't find anything in the docs

#

I assume it's for tab-completion, but:

  • Should it include the identifier
  • Should it include %'s?
vivid sparrow
#

yes for both iirc

junior musk
junior musk
rich glen
junior musk
warm plover
#

Darn

#

Aight, thanks!

junior musk
#

sent in dm

austere hawk
hot cape
#

When I'm using a JavaScript extension, the extension doesn't load my script properly in any mode on JDK 18. However, on another more complex JDK 18 server, it works correctly. The versions of PlaceholderAPI and the JavaScript extension are the same. I really want to know why.

candid hearth
#
String headerText = ChatColor.of("#0471FB") + "" + ChatColor.BOLD + "Welcome to Frionous SMP\n" +
                ChatColor.of("#D5D8D9") + "-------------------------------------------------\n" +
                ChatColor.of("#0471FB") + "There are currently" + ChatColor.of("#D5D8D9") + " %player_name% " + ChatColor.of("#0471FB") + "players online!";
        String footerText = ChatColor.of("#0471FB") + "MCMMO Mining Lvl:" + "%mcmmo-mining-level%" +
                "website link";

        headerText = PlaceholderAPI.setPlaceholders(event.getPlayer(), headerText);

Am I doing something wrong? When I add the last line the entire plugin breaks

modest storm
#

How can I stop players from being able to use placeholders?

austere hawk
#

Placeholder so that if a text contains "_" it is replaced by a space

modest storm
#

Is there not a way to revoke permission to use placeholders 🤔

vast oasis
vast oasis
desert current
#

hello, im new and i need help with placeholder couse it doesnt sync with luckyperms

austere hawk
vast oasis
#

hmmm

#

i can write you a tiny PAPI addon that's only for underscores if there really isn't any available

modest storm
vast oasis
#

just gimme half an hour, I need to make coffee first

austere hawk
#

It would be better for symbols, right?

vast oasis
#

wdym?

austere hawk
#

Well, replace _- with spaces or another character

#

%str_replace_minecraft_mine_our% And what is this for?

vast oasis
vast oasis
junior musk
#

replaces mine by our in the text minecraft

#

though unsure if that's the correct order

#

and I thought the expansion name was string, not str

#

uh, it's not even there

#

ah

#

it's another expansion

austere hawk
austere hawk
vast oasis
#

just drop the .jar into your plugins/ and restart

#

it's NOT an ecloud extension but a standalone plugin that hooks into PAPI

austere hawk
#

Cleaner the placeholder

vast oasis
#

but it only replaces underscores

#

hence it's called replaceunderscores

austere hawk
vast oasis
#

wdym?

austere hawk
#

And to replace -

austere hawk
wheat prism
vast oasis
#

%formatter_text_replace_-_ _this-is a test% -> "this is a test"

#

underscores is the only thing that formatter_text_replace can't do, hence I only made a plugin for underscores

austere hawk
vast oasis
#

a separate placeholder for hyphens is not needed because you can already do that with %formatter_text_replace

vast oasis
wheat prism
vast oasis
#

if so you can do this

  1. enter /lp verbose record
  2. use a placeholder in chat
  3. enter /lp verbose upload
    then send the link and we can see which plugin is causing this
wheat prism
#

okay thank u sec

austere hawk
#

%replaceunderscores_ _my_original_text% my original text

vast oasis
#

yeah

wheat prism
austere hawk
#

%str_uppercase_{replaceunderscores_ _my_original_text}%

#

is this going to work?

wheat prism
#

theres that for ya

#

i hope thats enough

#

should i have had an alt send the placeholder?

austere hawk
vast oasis
vast oasis
wheat prism
#

mine

vast oasis
#

you should try to do this as non-OP

wheat prism
#

yeah i figured lmao oops

#

one sec

vast oasis
#

that works

#

you need /papi ecloud download str

austere hawk
#

Okey

#

Yea

#

Thanks friend, just check the expansion if it is well done in case you doubt it

vast oasis
#

you're welcome

#

only took 5 minutes lol

#

maybe I can turn it into an ecloud extension

#

idk how it works to get sth officially uploaded there, never really used PAPI before

austere hawk
#

i guess you can

wheat prism
#

that should do it

#

user inky77 did the placeholder

vast oasis
#

which placeholder did you use?

wheat prism
#

%player_health%

vast oasis
#

hm I don't see anything related to placeholders in that

wheat prism
#

okay

vast oasis
#

maybe send a list of your plugins?

wheat prism
#

crying emoji

#

oh okay yes

#

AFK-Kick, AltDetector, AntiTNTDupe, AuctionHouse, BetterRTP, BuycraftX, ChatFilter, ChestShop, ChestShopNotifier, Chunky CommandPanels, CoreProtect, DeluxeTags, DropHeads, eGlow, EnchantmentNumbers, EnchBook, Essentials, EssentialsChat, EssentialsDiscord EssentialsDiscordLink, EssentialsSpawn, ExcellentCrates, ExecutableItems, FancyHolograms, GriefPrevention,GroupChat, GSit, GWarp, HeadDatabase HorseTpWithMe, InteractiveChat, ItemEdit, ItemEffects, ItemGlow, LibsDisguises, LuckPerms, Multiverse-Core, Multiverse-Inventories, Multiverse-Portals MyCommand, NBTAPI, Negativity, NexEngine, OreAnnouncer, Pl-Hide-Pro, PlaceholderAPI, PlayerParticles, PluginManager, ProtectItemPlugin ProtocolLib, PvPManager, Quests, SCore, Shopkeepers, SilkSpawners,SimpleStaffChat2, sleep-most, SuperVanish, TAB Vault, ViaBackwards, ViaVersion, VoteParty, Votifier, Vouchers, WorldEdit, WorldGuard, WorldGuardExtraFlags

vast oasis
#

hm no clue tbh

wheat prism
#

oh :<

#

thats awkward huh

vast oasis
#

you could install EventDebugger, then we can find out for sure

#

one second

wheat prism
#

okay

#

thank you for the help by the way!

vast oasis
#
  1. install this: https://www.spigotmc.org/resources/eventdebugger.82055/
  2. restart server
  3. edit config of EventDebugger, remove everything and add this:
exact:
  AsyncChat:
    class: "org.bukkit.event.player.AsyncPlayerChatEvent"
    methods:
      - "getFormat"
      - "getMessage"
  Chat:
    class: "org.bukkit.event.player.PlayerChatEvent"
    methods:
      - "getFormat"
      - "getMessage"
  1. Restart again. Then use a placeholder again, and the log file should tell you which plugin replaced the placeholders
wheat prism
#

thanks! on it :>

vast oasis
#

Expect a lot of console spam while EventDebugger is running. But it will 100% tell you which plugin is causing it

vast oasis
wheat prism
vast oasis
#

no, your actual latest.log

wheat prism
#

mmm i see

#

okay

vast oasis
#

you can also upload it on the site mentioned in the channel description (or dm it to me) and i'll take a look

wheat prism
#

its vouchers???

#

so weird

vast oasis
#

is it? can you paste that log part pls?

wheat prism
#

here ill dm u

vast oasis
#

ok

wheat prism
#

done!

vast oasis
vast oasis
#

is there already a PAPI extension with the identifier "replace"?

restive nova
#

please update it

tender vaporBOT
restive nova
#

😭

#

I beg

#

This extension has not been updated for a long time.

restive nova
#

when approve

#

the pending viewer darbyjack seems not online for a long time

echo tree
#

Im trying to use pinger and put in my scoreboard (scoreboard plugin: simplescore) and i did %ping% doesnt work and the others on the github doesnt work aswell well it did but is either 0 1 or -1. anyone have anyidea how to fix this?

junior musk
#

%player_ping%

sharp bloom
#

wow the lore one is awesome too

fossil turtle
#

Hello! Help please, I made a plugin, but it does not work, I searched the entire Internet, I did not find anything about this problem anywhere. The loading order doesn't seem to be broken, first PlaceHolder and then my plugin, but it doesn't work(( https://paste.helpch.at/cohutipivo.css

junior musk
#

you shaded PlaceholderAPI

#

if you're using Maven, set the scope of the dependency to compile, if you're using Gradle, instead of compile or implementation, use compileOnly

fossil turtle
#

<scope>compile</scope>? (im use maven)

junior musk
#

yeah

#

oh my bad

#

it's provided instead of compile

fossil turtle
fossil turtle
#

but not work

junior musk
#

did you add PlaceholderAPI to your plugin.yml's softdepend?

fossil turtle
junior musk
#

send your server logs

fossil turtle
junior musk
#

that's the first error

fossil turtle
junior musk
junior musk
fossil turtle
#

ah one sec

tender vaporBOT
junior musk
#

thonk PAPI loaded before

#

can you send me your plugin jar in DM?

fossil turtle
#

Okk

junior musk
#

it looks fine ManyThink

#

I can't find anything wrong =/

fossil turtle
junior musk
#

nope, it throws the error for me as well

fossil turtle
#

oh, wtf mystic

junior musk
#

yeah weird

fossil turtle
#

I managed to fix it! I switched from PaperAPI to SpigotAPI and it worked!

true elbow
#

Hello, someone knows because the expansion Javascript does not work for me, the plugin load correctly but the test a placeholder does not leave me anything in the chat and does not give me any error.

tender vaporBOT
fading blaze
#

hi, i want to read from placeholder every 30 seconds and send the value to a database

#

the sending is done

#

but

#

i dont know how to read from a placeholder

#

in a plugin

#

I only found the "setPlaceholders" but thats not what i need

vast oasis
#

that is what you need

#
String result = PlaceholderAPI.setPlaceholders(somePlayerOrNull, "%placeholder_you_want_to_get%");
#

@fading blaze

fading blaze
#

but wait.

#

The somePlayerOrNull should be placed with player's name who's value should be readed right?

vast oasis
#

yes

fading blaze
#

thank you

vast oasis
#

well not the name

#

but the OfflinePlayer or Player object

fading blaze
#

uuid?

#

ohh

#

mb

#

xd

waxen shell
#

Is there anyway i can resets all stats for players?, such as "%statistic_deaths%" as we've been testing, the server hasn't launched, but i want to have all players start with 0 deaths,

i already deleted playerdata and stats as i saw a tutorial, but that data seems to still be stored

vast oasis
#

<serverFolder>/world/stats/

#

there's one file per UUID

#

just stop the server, delete that folder, and there you go

restive nova
#

Why I can't register String expansion in the lastest papi>

#

Just tell me Failed to find .....

vivid sparrow
#

It is not verified

#

Download it manually

restive nova
#

I regitsered it manually

#

/papi register Expansion-String.jar

round marsh
#

dumb question but is there a code-api part of the plugin that allows me to use the placeholders in smthn like python code?

sharp bloom
#

isnt there any placeholder that returns a boolean or smth when the item in offhand is still maxed?

#

i m aware of the %player_item_in_offhand_durability% but that returns the durability :/

vast oasis
sharp bloom
#

yuh ik but i want it for multiple menus so the value ll have to change for different tools

#

thats why i m asking if there is smthing boolean :/

vast oasis
#

oh well for armor there's %armor_durability_left_<slot>% and %armor_durability_max_<slot>% that you could compare

#

but not for offhand

sharp bloom
#

🤷🏻‍♂️

vast oasis
#

i could write you a tiny expansion that returns the max durability for the currently held item, then you could throw that into %string_equals%

sharp bloom
#

nah its fine no biggie i can change the output values

vast oasis
#

alrighty

junior musk
#

it starts from 0

#

durability is the opposite

sharp bloom
#

what _damage :/ ?

#

I can't find any placeholder related to offhand about the dmg

junior musk
#

maybe it's just not listed

#

try player_item_in_offhand_damage

#

I know it's there because I saw it in the code xD

dapper mauve
junior musk
#

I think your expansion needs to be open-source to get verified

dapper mauve
#

Its not obfuscated, you can decompile it easily

vivid sparrow
#

Publish it on a repo

half jewel
#

%checkitem_amt:7,mat:paper......% don't work
all materials work but not Paper why ?

dapper mauve
sharp bloom
junior musk
#

seems like it's _data

#

forgot about that

sharp bloom
#

oh yee that works

#

it returns 0 when it doesnt have any dmg taken

#

thankss pepe_love

uneven terrace
#

Good day, i cant seem to get placeholders to work (by thelooks of it), i have the plugin installed i have tried doing ecloud and stuff but nothing seems to work

#

help would be glady appreciated!!

solid hazel
#

Hiya! On request of PhoenixCrates is anyone able to make it happen an API to make sure that specific cases happens, such as setting block, opening the crate for the user and so on 😄 ?

Please @ me if u know how Or if you know a plugin which already does this ^^

sharp bloom
frank glacier
#

what's the best way to prevent this message in console for people who haven't killed/died yet? this math is to calculate KD - can i force it to 0 or something if it fails?
[21:17:09 WARN]: [PlaceholderAPI] [math] Invalid Placeholder detected!
[21:17:09 WARN]: [PlaceholderAPI] [math] Placeholder: %math_{statistic_player_kills}/{statistic_deaths}%
[21:17:09 WARN]: [PlaceholderAPI] [math] Cause: '0/0' is not a valid Math expression.

dapper mauve
#

its linked at the extension's page

vast oasis
frank glacier
#

oh cool ok thank you

vast oasis
#

hmmm does PAPI not allow double nested placeholders?

mint fable
#

use utils

#

%utils_parse_math...%

#

but

#

you shouldn't need it

#

math has a max function

#

or min

vast oasis
#

but that'd still be a double nested placeholder

mint fable
#

%math_{statistic_player_kills}/MAX({statistic_player_deaths}, 1)% maybe

mint fable
#

it's part of evalex

#

or

#

it should be MAX

#

not min

#

i was right the first time

vast oasis
#

nah that also just returns the palceholder

mint fable
#

does it give an error

vast oasis
#

no

mint fable
#

do you have math

#

and statistic?

#

the issue is that 0/0 is not a valid expression because you can't divide by 0

vast oasis
#

yes

#

i have both

#

does an expansion have to handle placeholders in placeholders themselves?

#

or is that a normal PAPI feature

mint fable
#

/papi parse me %statistic_player_kills%

vast oasis
#

that obv works fine

mint fable
mint fable
vast oasis
#
> papi parse Stullenesser_ %math_{statistic_player_kills}/MAX({statistic_player_deaths}, 1)%
[00:08:51 WARN]: [PlaceholderAPI] [math] Invalid Placeholder detected!
[00:08:51 WARN]: [PlaceholderAPI] [math] Placeholder: %math_{statistic_player_kills}/MAX({statistic_player_deaths}, 1)%
[00:08:51 WARN]: [PlaceholderAPI] [math] Cause:       0/MAX(Unknown statistic 'player is not a valid integer number.
[00:08:51 INFO]: %math_{statistic_player_kills}/MAX({statistic_player_deaths}, 1)%
>

mb I didnt see the error msg lol

mint fable
#

O.o

vast oasis
mint fable
#

what about /papi parse me %statistic_player_deaths%

vast oasis
#

it looks like it can only handle one nested placeholder?

mint fable
#

there are no nested placeholders

vast oasis
#
 papi parse Stullenesser_ %statistic_player_deaths%
[00:10:11 INFO]: Unknown statistic 'player_deaths', check https://helpch.at/docs/1.20.1/org/bukkit/Statistic.html for more info
>

mint fable
#

ah, that's wrong then

vast oasis
mint fable
#

it's {statistic_deaths}

vast oasis
#

yeah the correct one is %statistic_deaths%

#

but we used that before

mint fable
#

the expansion, math, supports placeholders with {}

vast oasis
#

oooh but we didnt use it with your MAX thingy

mint fable
#

again

#

max is also not a placeholder

#

it is a function of evalex

#

%math_{placeholder_{placeholder}}% would be nested, and that can be done with utils

vast oasis
#

yeah this correctly returns 0.000 @frank glacier %math_{statistic_player_kills}/MAX({statistic_deaths}, 1)%

#

is utils builtin? I cannot find it on the placeholders list on github

mint fable
#

no

#

it's on the ecloud

frank glacier
#

thank you both very much

vast oasis
#

I always thought PAPI had support for nested placeholders builtin 🥲 guess I gotta rewrite my expansion because right now it's useless lol

#

I guess I can just throw the match of this regex at setPlaceholders until it stops matching ^.*({[^}]*}).*$

frank glacier
#

massive rip

lethal breach
#

I added my expansion inside my plugin. However, if I type /papi reload, the placeholders no longer work. May I ask how can I fix it so that the expansion on my plugin also reload or at least still work?

junior musk
#

override the perists method and make it return true

lethal breach
vast oasis
#

Is there a reason why setBracketPlaceholders(OfflinePlayer, ...) is annotated with NotNull, but setBracketPlaceholders(Player, ...) isn't?

junior musk
#

you create a method called persists that returns a boolean, and you make it return true

#

if you use IDEA, type @Override, then it'll suggest you Override/Implement or smth like that

lethal breach
junior musk
#

then you can choose the persists method from there

#

yeah, with lowercase p

vast oasis
lethal breach
lethal breach
junior musk
#

send your entire class

vast oasis
junior musk
#

?paste

tender vaporBOT
lethal breach
junior musk
#

oh my bad

#

thought it was persists

junior musk
vast oasis
#

huh, Override must not throw an error there

#

was the Uppercase the problem?

junior musk
#

that way, you were able to find out that it was persist without the s

vast oasis
#

i usually just type @ Ov, press enter, and then you can choose the method from a list in intelliJ lol

lethal breach
sharp bloom
#

Tanguygab be carrying this channel fr fr

junior musk
#

nah

vast oasis
#

yaay my first PAPI pull request \o/

#

damn and it's issue #1000

#

huehue

fallen nacelle
#

running arclight 1.16.5
so my machine ran out of storage space, causing a player to loose his playtime, i basically have a gui with an item with this lore:
- '&#ffffffYour current playtime is &#14fa1c%<% &#ffffffhours and &#14fa1c%math_0:half-up_(({statistic_minutes_played} / 60) - {statistic_hours_played}) * 60% &#ffffffminutes!'
but the values for statistic got reset, when i run /cmi playtime <playerName> he only has a few hours, how could i manually fix this?

#

i just need to override his playtime

#

but i cannot find where its storing its data

vast oasis
#

stop the server, then take a look at world/stats/<uuid>.dat

#

it's a huge .json file, maybe open it with some proper json viewing tool online, because all the stuff is on one line in a normal text editor

fallen nacelle
#

could it be a <uuid>.json file?

mint fable
#

cmi also provides placeholders

mint fable
#
%cmi_user_playtime_formatted% – Formatted playtime
%cmi_user_playtime_days% – Playtime in days
%cmi_user_playtime_dayst% – Playtime in days with fraction
%cmi_user_playtime_hours% – Playtime in hours
%cmi_user_playtime_hoursf% – Total playtime in hours
%cmi_user_playtime_hourst% – Total playtime in hours with fraction
%cmi_user_playtime_minutes% – Playtime in minutes
%cmi_user_playtime_minutest% – Total playtime in minutes
%cmi_user_playtime_seconds% – Playtime in minutes
%cmi_user_playtime_secondst% – Total playtime in minutes

and maybe
%cmi_user_stats_playtime%

mint fable
#

O.o

#

it's using the stats folder that mfnalex mentioned

#

I'm just telling you that CMI also provides placeholders if you want to use them instead

fallen nacelle
#

oh

#

yea thank you

vast oasis
#

I even said it's a .json file lol. stupid me

fallen nacelle
#

so i couldnt find any playtime in the json file, this is the content https://paste.md-5.net/axulewavih.json
so i went to playerdata folder and found the <uuid>.dat file of the player, with NBTExplorer i found this firstPlayed: 1691160430216 under the bukkit sector, and deluxemenus:reward-2-playtime: 6115 deluxemenus:reward-1-playtime: 7701 , i imagine thats the issue? i dont see how the placeholder could be taking that value instead of the playertime instead

#

thats the image

#

i cant send it here

#

should i just copy the value of firstPlayed and paste it in deluxemenus:reward-2-playtime and deluxemenus:reward-1-playtime?

#

feel free to tag thanks 😄

sharp jay
#

?imgur

tender vaporBOT
mint fable
#

not sure why you wouldn't use the cmi placeholder instead though, since that seems a lot easier to reset

#

especially if you're doing it often and for many players

#

or actually "minecraft:play_one_minute" in your file

#

Ah, I see it won't be done often or for many players

fallen nacelle
#

yea its a random case ideally i dont change anything

#

other than the value for this one player

mint fable
#

right

sharp bloom
#

hey cj i remember that u ve mentioned before that if an items plugin has a take command we should use that instead of the checkitem remove. why is that :/ ? is there smthing wrong with the checkitem?

junior musk
#

because commands have permissions, while the checkitem placeholder can be used by anyone who can parse placeholders

#

so if you have a plugin that parses placeholders in a player's input, it could lead to serious issues if the placeholder is parsed for someone else, or even for the player himself if he uses the give placeholder

sharp bloom
#

hm

junior musk
#

& compared to commands, placeholders aren't logged in console

#

so there'd be no trace anything even happened

sharp bloom
#

eh i ll still risk it using it on one of my menus :/

#

cause i wanna remove an item from offhand

#

i mean how could possibly a user gets access to it :/

junior musk
#

¯_(ツ)_/¯

sharp bloom
#

%checkitem_remove_amt:1,inhand:off,_nbtstrings:PublicBukkitValues..executableitems:ei-id=slimy_castmaster% i like dis 🤷🏻‍♂️

#

the chat plugin can parse placeholders in chat but players wont have permission to it

#

hmm mby by disabling it ll add more security ThinkEyes

summer glacier
#

hello

#
  'raktas':
    material: TRIPWIRE_HOOK
    slot: 13
    display_name: '&5▶ &d&lPLATINUM RAKTAS'
    lore:
    - ''
    - '&7Už auksinius galite įsigyti Platinum raktą!'
    - ''
    - '&d▎ &7Kaina: &d&l1500 auksinių&7.'
    - ''
    - '&7Paspauskite norėdami įsigyti!'
    left_click_commands:
    - '[console] coins take %player_name% 1500'
    - '[console] crates give p platinum 1 %player_name%'
    - '[sound] ENTITY_FIREWORK_TWINKLE'
    - '[message] &e▶ &6&lAUKSINIAI &8| &7Jūs sėkmingai įsigijote Platinum raktą!'
    - '[close]'
    right_click_commands:
    - '[console] coins take %player_name% 1500'
    - '[console] crates give p platinum 1 %player_name%'
    - '[sound] ENTITY_FIREWORK_TWINKLE'
    - '[message] &e▶ &6&lAUKSINIAI &8| &7Jūs sėkmingai įsigijote Platinum raktą!'
    - '[close]'
    left_click_requirement:
      requirements:
        coins:
          type: '>='
          input: '%coinsengine_balance_raw_coins%'
          output: '1500'
      deny_commands:
      - '[close]'
      - '[message] &e▶ &6&lAUKSINIAI &8| &7Jūs neturite &6&l1500 auksinių&7!'
    right_click_requirement:
      requirements:
        coins:
          type: '>='
          input: '%coinsengine_balance_raw_coins%'
          output: '1500'
      deny_commands:
      - '[close]'
      - '[message] &e▶ &6&lAUKSINIAI &8| &7Jūs neturite &6&l1500 auksinių&7!'
#

requirement not working

junior musk
#

/papi parse me %coinsengine_balance_raw_coins%

#

what does it return?

summer glacier
#

i can't send here photos...

tender vaporBOT
summer glacier
true girder
vivid sparrow
dapper mauve
tender vaporBOT
dapper mauve
#

sorry

vivid sparrow
#

What

dapper mauve
mint fable
#

like opening a deluxemenus with args would let the user parse the placeholder

austere hawk
#

How do I remove decimal numbers from a number

#

example 4.72 to 4

#

what i want to do is %placeholder_value_number% ÷ 100 = number without decimal

mint fable
#

%math_0:_{placeholder}%

#

@austere hawk this

austere hawk
#

Thanks man

austere hawk
violet void
#

Yes

mint fable
#

you can add the /100 as well if needed

austere hawk
#

And to make a division

#

Divide the value of a placeholder by 100 and remove the decimals

mint fable
austere hawk
#

Thank you

warm plover
#

%placeholder_parse:5_math_0:_{string_substring_5,6_{block_data}}+1%

#

Any idea how I can make this parse correctly?

#

%block_data% is from another plugin that supports PAPI being used within their built in placeholders

mint fable
#

right?

warm plover
#

I'm using the old placeholder format

#

Let me try utils anyway tho

mint fable
#

I never knew of that one

warm plover
#

It was short lived lol

mint fable
#

right...

#

you also shouldn't need parse:5 anymore

#

just parse

#

should work pretty good

warm plover
#

.

#

I'll check it out, ty!

mint fable
#

ya, using an in-between build lol

#

for sure, lmk if anything arises

warm plover
#

Parses as this

#

%util_parse_math_0:_{string_substring_5,6_{block_data}}+1%

mint fable
#

well, {block_data} is presumably a deluxemenus arg, is that right?

warm plover
#

huh, I feel like util isn't working period

mint fable
#

it doesn't look like you need utils at all actually

#

if it is a deluxemenus arg

#

is block_data a placeholderapi placeholder?

warm plover
#

Nah, it's a placeholder from ConditionalEvents

#

It just outputs [age=7] and the author has made these plugin placeholders built to work with placeholderapis placeholders

#

But I dunno for sure if you can nest them lol

mint fable
#

well test it out, if it works: you probably don't need utils at all

warm plover
#

I just tried parsing %util_parse_{math_0:_3+1}% and it parses as itself, is my util broken maybe?

mint fable
#

shouldn't start with {} probably

#

oh

#

you did util

#

it is utils

warm plover
#

...

#

whoops

#

let's ignore that

#

So %utils_parse_math_0:_{string_substring_5,6_{block_data}}+1% parses as math_0:__}+1

#

The goal is for it to be parsing as 7+1

mint fable
#

{block_data} won't parse as anything

#

you'll need to test it using the conditional event

warm plover
#

oh

#

well I'm dumb too

mint fable
#

it's parsing string_substring_5,6_{block_data as a placeholder and returning _ fyi

warm plover
#

Yeah I noticed that now ;-;

#

Yeah seems like I cannot do that

#

I think I have another solution to this that just uses a string replace

mint fable
#

{block_data} doesn't turn into [age=7] before parsing the placeholderapi placeholder?

warm plover
#

It does, but not when nested

#

Well, it parses as age=7, thought it had square brackets but nope lol

mint fable
#

that's... weird

#

if conditional events changes it, there shouldn't be any interference from papi

warm plover
#

Yeah I'm guessing it's just some weird thing on CE's end

#

Thanks for the help tho! I think I can do what I'm trying to do with replacements

mint fable
#

@warm plover it's not {block_data} right?

#

it would be %block_data%

#

it's not a papi placeholder, so switching it to {} wouldn't do the trick

#

try %block_data%: if conditionalevents changes it before parsing for papi placeholders, it should work

warm plover
#

It's %block_data but a recent update to CE allows you to use {block_data} for PAPI support

mint fable
#

ahh

mint fable
warm plover
#

I think so

mint fable
#

what if you put %block_data%

#

to test

warm plover
mint fable
#

ah

warm plover
#

It just parsed as the whole placeholder

mint fable
#

parsed?

warm plover
#

Outputted*

mint fable
#

ok

warm plover
#

I have a message on an event on the plugin to send the message

mint fable
#

right

#

actually, it should work with {block_data} judging by this

message: &7IP of &a%arg_1% &7is: %otherplayer_ip_{arg_1}%

warm plover
#

Should I try the parse number?

mint fable
#

%math_0:_{string_substring_5,6_{block_data}}+1%

warm plover
#

wait

#

Why did I even try using utils

#

I acted like that placeholder came from papi lol

warm plover
#

Also doesn't work.. why I have no idea

#

It should

mint fable
#

prob a ce issue idrk

warm plover
#

Sadly yep

#

I appreciate the help tho ofc, hopefully I can make it work with replace

mint fable
#

gl

fallen nacelle
#

how is this wrong?
- '&#ffffffYour current playtime is &#14fa1c%cmi_user_playtime_hoursf% &#ffffffhours and &#14fa1c%math_0:{cmi_user_playtime_minutest}-(60*{cmi_user_playtime_hoursf})% &#ffffffminutes!'

mint fable
#

@fallen nacelle should start %math_0:_ with a _

#

also not sure what the f is after hours

#

or the t after minutes

#

unless those are just your placeholders

fallen nacelle
#

its total time

#

instead of non afk time

mint fable
#

ah

hardy sonnet
#

nested placeholders don't seem to be working with cmi's chat format, returning just a '%', even though running /cmi placeholders parse does produce the right result

junior musk
#

?imgur

tender vaporBOT
junior musk
#

?paste

tender vaporBOT
timid bough
#

Hi, I would like to know if there is any placeholder that displays the health of your teammates somehow. Thanks!!

restive nova
#

Why I can't use String placeholder in papi 2.11.3

#

Failed to find expansion in file: plugins\PlaceholderAPI\expansions\Expansion-String.jar

#

I tried every version

gilded lantern
restive nova
#

yes

#

all the lastest

gilded lantern
#

latest is 2.11.4 Build 177

austere hawk
#

Any localtime alternative?

#

Why do I have to pay for the test key, right?

thick steppe
#

I'm trying to make a death leaderboard with papi and DecentHolograms and ajleaderboards, I have the statistics placeholder installed to papi and %stastic_deaths% installed to ajleaderboards. This is an example of what my deaths hologram yml file looks like:

enabled: true
display-range: 48
update-range: 48
update-interval: 20
facing: 0.0
down-origin: false
pages:
- lines:
  - content: "&4&lTOP DEATHS"
    height: 0.3
  - content: "#1 %ajlb_lb_statistic_deaths_1_alltime_name% &7- %ajlb_lb_statistic_deaths_1_alltime_value%"
    height: 0.3
  - content: "#2 %ajlb_lb_statistic_deaths_2_alltime_name% &7- %ajlb_lb_statistic_deaths_2_alltime_value%"
    height: 0.3
  - content: "#3 %ajlb_lb_statistic_deaths_3_alltime_name% &7- %ajlb_lb_statistic_deaths_3_alltime_value%"
    height: 0.3
  - content: "#4 %ajlb_lb_statistic_deaths_4_alltime_name% &7- %ajlb_lb_statistic_deaths_4_alltime_value%"
    height: 0.3
  - content: "#5 %ajlb_lb_statistic_deaths_5_alltime_name% &7- %ajlb_lb_statistic_deaths_5_alltime_value%"
    height: 0.3
  - content: "#6 %ajlb_lb_statistic_deaths_6_alltime_name% &7- %ajlb_lb_statistic_deaths_6_alltime_value%"
    height: 0.3
  - content: "#7 %ajlb_lb_statistic_deaths_7_alltime_name% &7- %ajlb_lb_statistic_deaths_7_alltime_value%"
    height: 0.3
  - content: "#8 %ajlb_lb_statistic_deaths_8_alltime_name% &7- %ajlb_lb_statistic_deaths_8_alltime_value%"
    height: 0.3
  - content: "#9 %ajlb_lb_statistic_deaths_9_alltime_name% &7- %ajlb_lb_statistic_deaths_9_alltime_value%"
    height: 0.3
  - content: "#10 %ajlb_lb_statistic_deaths_10_alltime_name% &7- %ajlb_lb_statistic_deaths_10_alltime_value%"
    height: 0.3
  actions: {}
``` but it doesnt show the death count in game.. it looks sorta like:
`TOP DEATHS
 #1  --- - ---
 #2  --- - ---
 #3  --- - ---
 #4  --- - ---
 #5  --- - ---
 #6  --- - ---
 #7  --- - ---
 #8  --- - ---
 #9  --- - ---
 #10  --- - ---`
open stone
raw forum
#

Hi has everyone, I made my own extension how do I publish it on ecloud?

sharp bloom
#

from a placeholder that returns 3+ names in a list <name1>,<name2>,<name3>... is it possible to get a specific name out of it with one of the papi expansions?

trail lantern
#

Hello everyone, I need help using javascript( %javascript_<your placeholder identifier>% )

#

How to use them now?

trail lantern
#

thank

grizzled parrot
#

Hello

#

is this the place to get support for DeluxeMenus?

open stone
# thick steppe 2

do u have in ajlb config enable-dontupdate-permission set on false?

junior musk
austere hawk
#

Why do I have to pay for the test key, right?

open stone
open stone
austere hawk
#

is there a placeholder to show how old a server is (like in days for example)?

sharp bloom
austere hawk
#

also whats the difference between %server_tps_1_colored% %server_tps_5_colored% %server_tps_15_colored%

sharp bloom
#

no i meant somethiing like Created: 9/1/2023

austere hawk
#

ahh i see

austere hawk
#

like 835 days later, look at the server now!

mint fable
#

hmm

sharp bloom
#

i ve never heard of such placeholder tbh

#

sadly u cant use math for dates 💀

austere hawk
# sharp bloom 1 1min 5 5min 15 15min

i think the tps thing is a bit innacurate. i use %server_tps_1_colored% and i have never seen the tps at 18.5 (for example), while it has been at 18.5 at some point

#

like ive never seen tablist say "19.62 TPS"

#

is there a more specific one?

mint fable
sharp bloom
#

if think the tab plugin use a different placeholder for the tps?

junior musk
#

they retrieve the same data from Spigot

mint fable
#

you can set the start date of the server and it will get the difference, you can customize the output

sharp bloom
#

oh

junior musk
#

if Spigot returns the wrong TPS, then both placeholders will be wrong

#

but I don't see how it could be wrong xD

austere hawk
mint fable
#

see the wiki

sharp bloom
junior musk
#

check the Home page of the wiki link you were sent

sharp bloom
#

its from clip and its not verified? wat

mint fable
#

correct, it has to be manually installed

austere hawk
#

i see

#

so how do i enter in the day the server was made?

mint fable
#

look at the script

#

you have to save that and set it up

#

instructions on the wiki

austere hawk
#

thank you

sharp bloom
#

also isnt the tps affected if your server isnt dedicated?

#

like it is with ram

mint fable
#

theoretically this could be entirely made with a math placeholder as well I bet

#

but I'm not gonna be the one to do that 😂

#

javascript is just a little slower

mint fable
austere hawk
#

Any localtime alternative?

#

Why do I have to pay for the test key, right?

mint fable
#

i don't think there has been any movement on it that I see

austere hawk
# mint fable i don't think there has been any movement on it that I see

so i downloaded the js expansion, placed it in papi/expansions, reloaded the server, in the javascripts folder i made a file named ServerAge.js with the following code:

    // year, month, day, hour, minute, second
    // months start at 0 and end at 11
    // January is 0. December is 11
    var startDate = new Date(2023, 8, 1);
    var endDate = new Date();
    var difference = endDate - startDate;

    var months = Math.floor(difference / (1000 * 60 * 60 * 24 * 31));
    var days = Math.floor(difference % (1000 * 60 * 60 * 24 * 31) / (1000 * 60 * 60 * 24));
    var hours   = Math.floor(difference % (1000 * 60 * 60 * 24) / (1000 * 60 * 60));
    var minutes = Math.floor(difference % (1000 * 60 * 60) / (1000 * 60));
    var seconds = Math.floor(difference % (1000 * 60) / (1000));

    // XXmo XXd XXh XXm XXs (changeable)
    return months + "mo "+ days + "d " + hours + "h " + minutes + "m " + seconds + "s";
}

time();
sharp bloom
#

i use the localtime expansion pretty much fine ;-;

austere hawk
austere hawk
sharp bloom
#

don't ask me lol i suck with javascript

austere hawk
#

Returns the default time to all players

sharp bloom
#

what localtime r u trying to get

austere hawk
austere hawk
sharp bloom
#

stop pinging me i told ya idk how to help u with the date thingieOKK

#

i m bad with js

austere hawk
#

and me?

sharp bloom
#

no not u xd

sharp bloom
#

i mostly use the expansion to get specific timezones

austere hawk
#

So to get the player's time there is no other alternative?

#

Why doesn't it work with localtime

sharp bloom
#

what would u even use it for to get the localtime of a player :/

#

mby some players don't want their localtime to be shared

junior musk
#

because MC doesn't give the player's timezone information

#

the only way to get it is to check the player's IP location, and that requires some website to do so

#

and those websites require API keys which usually are paid

#

There is another way this would work, and that is to get the player's locale, the language they chose in their MC settings

#

though if I'm in France and I play MC in English US, I'd get the US's timezone so it's not really perfect🤷

mint fable
#

@austere hawk looks like you did all the steps, now just use the placeholder

austere hawk
#

How do I do that?

mint fable
#

did you add it to the javascript_placeholders.yml?

balmy grove
#

Failed to load external expansion votingplugin. Identifier is already in use.

opal saffron
#

is there a plugin support channel

thick steppe
#

I am trying to add playtime feature to my SimpleScore scoreboard but when I add %playtime_player% it doesnt work. It says no download needed.

junior musk
#

usually, you can click on the name of the expansion on the wiki and it'll redirect you to the plugin page

austere hawk
austere hawk
#

oh sry

austere hawk
#

got it, nevcermind

#

thanks

#

also, is there a placeholder to show the size of the server (disk space)?

quick thunder
#

Guys I am trying to parse my variables to a placeholder

#

but when I use the placeholder chat it returns nothing

junior musk
#

what placeholder did you use?

quick thunder
#

I am using %kalanistilasure% for my long value

#

it will return a string

junior musk
#

the syntax is %identifier_params%

#

so you have to use %invasion_kalanistilasure%

quick thunder
#

Okey I see

#

still same I used this %invasion_kalanistilasure%

junior musk
#

/papi parse me %invasion_kalanistilasure%

#

what does it return?

quick thunder
#

it returns %invasion_kalanistilasure%

junior musk
#

check /papi list

#

did invasion register?

quick thunder
#

yeah registered it say invasion

junior musk
#

just checked your code again and it doesn't mention kalanistilasure anywhere

#

I see istilakalansure and savunmakalansure but no kalanistilasure

quick thunder
#

okey istilakalansure

#

thanks

sharp bloom
#

i try to use this placeholder: %aoneblock_rank% which returns the rank of a member in the island but it seems that it cant get parsed when the user is offline, i ve tried to parse it both with utils and parseother expansions but no luck :/ any other alternatives?

junior musk
#

if the placeholder doesn't work for offline players, then there's no other way 🤷

#

you try to ask the devs to make it work

sharp bloom
#

eh :/ ye i will

modern hornet
#

please get me id nether_wart minecraft 1.12.2

#

statistic

#

Invalid material: NETHER_WART/100

junior musk
#

?materials

tender vaporBOT
modern hornet
gloomy mist
#

For a server im working on im using this plugin called realistic seasons and in order for me to change the location of the temperature shown i use placeholder api and it places the temperature on the actionbar by default where can i find the names of the places i can change the location to?

mint fable
#

placeholderapi only provides placeholders, it doesn't add anything to an actionbar

#

That will be another plugin you have

gloomy mist
#

what i want to do is make the thing display not on the action bar

#

like at the top right of my screen or sumthn

mint fable
#

Yes, you need to find which plugin is making that happen and look at the config

#

placeholderapi does not put it on the actionbar

gloomy mist
#

i believe its protocol lib because it made me download that to get the plugin to work

mint fable
#

realistic seasons is the plugin

gloomy mist
#

(im sorry for this trouble im really bad at anything involving code)

mint fable
#

look here, it tells you how to change it

#

if you want it to show in your scoreboard, you will need a scoreboard plugin that supports placeholderapi

#

it looks like realistic seasons only has support for actionbar

gloomy mist
#

ive got titlemanager that ive downloaded a little while ago but hadnt set anything up on it yet

#

would i be able to use that?

mint fable
#

yes

gloomy mist
#

so how would i input the code so it shows in title manager?

gloomy mist
#

ooh okay

#

lines:

  • '&b&m----------------------------------'
  • '&b> &3&lPlayer Name:'
  • '&b%{name}'
  • '&r'
  • %rs_temperature%
  • '&b> &3&lPing:'
  • '&b%{ping} MS'
  • '&r&r'
  • '&b> &3&lServer Time:'
  • '&b%{server-time}'
  • '&b&m----------------------------------&r'
#

would this be correct?

#

it turned - into bulleten points lol

#

or do i need to put the placeholder in between ' '

feral parcel
#

%essentials_baltop_rank% isn't showing -
I have essentials and vault ecloud installed

#

when I run /papi parse me %essentials_baltop_rank% it returns me 1 which is correct. however in the hologram of the npc it does not appear.

shy nimbus
#

Hello!

I'm wondering if the params of the placeholder hook (#onPlaceholderRequest()) have any limitations in what characters to use.

For example, could %abcplugin_{"abcdef"}.ef()% be a valid expression, and PAPI will pass {"abcdef"}.ef() as the plain text to the abcplugin? I could test it, and it might just work, but I want to make sure if that's the intended behavior.

junior musk
#

anything works aside from %

shy nimbus
#

Awesome thank you!

austere hawk
#

is there a placeholder to show the size of the server (disk space)?
is there a placeholder to show all the chunks that have ever been loaded in the server?

solar swift
#

placeholder
%premiumvanish_bungeeplayercount@<server>%

is dead, i trying get players from survival so after @survival but it displays only placeholder, what's wrong? There is no download for vanish ;//

prisma sonnet
#

Hey!

#

Will we be able to return Components in future with PAPI?

sudden kindle
#

How do I use Velocity placeholders to get things like player server player counts? I've installed PAPIProxyBridge, do I need to do anything else?

delicate sluice
#

So. I made the sweet mistake of deleting a pre setup placeholder config. And now I'm full on lost on what to do. I need to fix a few things, like %player_name% etc. But I don't know how to add them. And I already added essentials etc the extentions I perhaps needed. I'm newish to this, and there's not really many guides...

junior musk
junior musk
junior musk
junior musk
junior musk
delicate sluice
junior musk
#

send the link you get from /papi dump

delicate sluice
junior musk
#

you didn't redownload it

#

/papi ecloud download Player
/papi reload

delicate sluice
#

oh! I see! That worked.

#

Also. I have interactivechat downloaded there. But it's not showing up.

#

for placeholders with papi. I mean.

junior musk
#

make sure it loaded correctly

#

uh, idk if it has any placeholders

#

and it doesn't even show up in the plugin list of the paste you sent

delicate sluice
#

It requires placeholder to use it. According to yt.

junior musk
#

yeah it requires the plugin, but doesn't add any

#

as far as I know

#

but since it doesn't even show up in the plugin list, it may have thrown an error when loading

#

check your server logs

#

oh it does have placeholders too 👀

#

but yeah, won't work if the plugin isn't loaded anyways

delicate sluice
#

It's not showing up. When I had put it under plugins, it didn't give me a config like the rest either.

#

Besides the point, since that's off topic. Thanks for the help with papi. I was pretty confused

junior musk
#

yeah as I said it may have failed to load because of some error

delicate sluice
#

Yes please

austere hawk
junior musk
#

uh, I thought it would return that since it's total

#

I don't think there is then

delicate sluice
#

temp. Back over here. Papi is still missing a few placeholders for tab. Things like %server_tps_1_colored% and %server_uptime% etc.

junior musk
#

did you download the server expansion?

#

/papi ecloud download server
/papi reload

delicate sluice
#

Ah! Working now!

#

This is definitely not going to be my last question, since there's a lot of confusing things here. But I think I'm getting the hang of it :)

junior musk
#

you have a list of most placeholder epansions available here, you can see that some are standalone and have to be downloaded (like the Server one), some are bound to a plugin and require that plugin to be installed, and there are others that may not be listed that are either integrated directly within plugins (usually their placeholders are listed on that plugin's wiki) or you can find other expansion on the PAPI eCloud https://api.extendedclip.com/all/

solar swift
junior musk
#

then the plugin where you're using the placeholder does not support PlaceholderAPI

solar swift
#

using tab

#

and on the tab there is problem

#

but only on survival

#

on the lobby all is good

junior musk
#

send a screenshot

#

?imgur

tender vaporBOT
solar swift
#

from survival or lobb

junior musk
#

anywhere it doesn't work

austere hawk
#

how can i fix the %player% palceholder in a menu? (from deluxemenus)

#

its a lore

#

this

#
      - ''
      - '&e&l⚡ &8%player_name%&7: Hello'
      - ''
      - '&7&k.&f&lJ&4&lP&f&lN&7&k.&r &8%player_name%&7: Hello'
      - ""
      - '&7Left or Right Click to preview in chat!'
``` config
fair parrot
#

is there a placeholder for the servers entire balance/worth?

like the value at the top of /baltop within EssentialsX

austere hawk
#

and the second question is

#

why it shows purple

#

XD

solar swift
#

First - lobby (working @survival placeholder)
Second - survival, not working

junior musk
#

if yes, do you have the TAB-Bridge on all servers ?

tender vaporBOT
junior musk
#

make sure you executed the commands

austere hawk
#

but the purple color...xd

junior musk
#

what's your DeluxeMenus version?

austere hawk
#

1.10.5 for 1.8 version

#

if i try other dont work

junior musk
#

downgrade PlaceholderAPI to 2.11.2

#

or use § instead of & in DM menus

austere hawk
#

ok

#

it work, thanks <3

hollow fox
#

Hello there!

I worried about how bad my solutions actually are from the optimization point of view.
I wrote a small plugin to help me organize some things I need, and surprisingly it works completely fine and solves my issues.

But to do so, I write a config file list of player names and display it via the holograms using PAPI.

I did it that way:
When using the add command:

  1. get a List<String> values from the config file,
  2. add that playername to that list
  3. write that new list into the config file.

Same principle with the delete and the list commands.

So I have required list of players in the file.

Now, the placeholders and API:
To display that list, I just implemented this if in the onRequest() method in my plugin's class that extends PlaceholderExpansion.

# onRequest()
if(params.equalsIgnoreCase("list")) {

            File tournamentFile = new File(OmhmsMcPlugin.getInstance().getDataFolder(), "tournamentDatabase.yml");
            FileConfiguration tournamentConfig = YamlConfiguration.loadConfiguration(tournamentFile);
            String participants = String.valueOf(tournamentConfig.getStringList("tournament_participants"));

            return participants;
        }

You may notice that for each onRequest() I read the file to get a list of players.
So my question is: **how bad this is from the performance point of view? **

Thanks in advance!

junior musk
#

implement Taskable, override start() and retrieve the FileConfiguration from there and save it in a field

hollow fox
#

Uhm, could you give any.. examle? Please

molten tiger
#
java.lang.IllegalStateException: java.io.EOFException
        at com.google.common.io.ByteStreams$ByteArrayDataInputStream.readUTF(ByteStreams.java:472) ~[guava-31.1-jre.jar:?]
        at com.extendedclip.papi.bungeeexpansion.BungeeExpansion.onPluginMessageReceived(BungeeExpansion.java:123) ~[?:?]
        at org.bukkit.plugin.messaging.StandardMessenger.dispatchIncomingMessage(StandardMessenger.java:455) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.handleCustomPayload(ServerGamePacketListenerImpl.java:3546) ~[?:?]
        at net.minecraft.network.protocol.game.ServerboundCustomPayloadPacket.handle(ServerboundCustomPayloadPacket.java:37) ~[?:?]
        at net.minecraft.network.protocol.game.ServerboundCustomPayloadPacket.handle(ServerboundCustomPayloadPacket.java:15) ~[?:?]
        at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:51) ~[?:?]
        at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.20.1.jar:git-Paper-68]
        at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?]
        at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1339) ~[paper-1.20.1.jar:git-Paper-68]
        at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:197) ~[paper-1.20.1.jar:git-Paper-68]
        at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?]
        at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1316) ~[paper-1.20.1.jar:git-Paper-68]
        at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1309) ~[paper-1.20.1.jar:git-Paper-68]
        at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?]
        at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1287) ~[paper-1.20.1.jar:git-Paper-68]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1175) ~[paper-1.20.1.jar:git-Paper-68]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:318) ~[paper-1.20.1.jar:git-Paper-68]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.io.EOFException
        at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:346) ~[?:?]
        at java.io.DataInputStream.readUTF(DataInputStream.java:595) ~[?:?]
        at java.io.DataInputStream.readUTF(DataInputStream.java:570) ~[?:?]
        at com.google.common.io.ByteStreams$ByteArrayDataInputStream.readUTF(ByteStreams.java:470) ~[guava-31.1-jre.jar:?] ```
junior musk
solar swift
#

on all servers

junior musk
#

then make sure PremiumVanish is on the servers where the placeholders don't work

vivid sparrow
#

@junior musk the repo of the item expansion is private?

junior musk
#

uh?

#

my bad

#

made it public

vivid sparrow
#

Aight

austere hawk
#

%math_0:_470/100% returns 5

#

Placeholder to remove the last two characters of a text

#

Example of 1278 return 12

junior musk
#

check the second substring placeholder of the String expansion

#

or you could use Math, divide by 100 and set decimals amount to 0

#

so the last 2 digits would become decimals and since you're showing 0 decimals then they won't be shown

austere hawk
junior musk
#

then do that

junior musk
#

what's the issue?

austere hawk
junior musk
#

oh

#

try math_0:half-down

austere hawk
#

470÷100 = 4.7 = 4

austere hawk
junior musk
#

yeah

austere hawk
#

And what does half-down specifically do?

junior musk
#

round to the lower number

#

3/2 = 1.5
1 < 1.5 < 2
half-down < no rounding < half up

austere hawk
#

%math_0:half-down_{servervariables_value_exp}/100%

#

It's ok right?

junior musk
#

looks alright

#

try it and see

austere hawk
austere hawk
junior musk
#

there's no "fix"

austere hawk
#

Oh

junior musk
#

there's no other way than the current way

austere hawk
#

Something like geolocation should work right?

#

Get address with IP and time

junior musk
#

that's exactly what the expansion is doing

#

but the geolocalisation is done through a website's api

#

and that website has a rate limit for non-subscribers

solar swift
junior musk
#

unsure why it doesn't work in TAB then

solar swift
#

idk I will make again vanish system but and again connected to the mysql all server

austere hawk
#

In an issue is that with the test key it works, and you have to pay to get it, right?

junior musk
#

if you find one that's fully free, please share

austere hawk
junior musk
austere hawk
#

The geolocation website

junior musk
junior musk
#

you need a key to make it work, yes

austere hawk
#

where is the subscription

junior musk
#

Pricing page

austere hawk
#

What they have to do with the IP is to obtain the timezone, right?

austere hawk
junior musk
#

try it

#

it's the same thing

#

you'll see in its config that it requires a key as well

austere hawk
#

How much is the key here?

junior musk
#

Idk, ask them

austere hawk
junior musk
#

uh?

#

you mean the localtime expansion?

#

I told you to check that ipapi.co website thing

#

there's a Pricing tab

austere hawk
junior musk
#

I have no idea

#

please let me be NotLikeThis

#

I've already told you all I know

austere hawk
#

By the way essentials geoip occupies a geo2lite key which is free

junior musk
#

I don't know 🤷

austere hawk
junior musk
#

I don't know 🤷

austere hawk
junior musk
#

I don't know 🤷

austere hawk
#

._.

spring rune
#

Currently I'm coding a plugin but I don't know how to display values related to that plugin in scoreboad. For example, when picking up an item, I don't know how to code it to show %count_pick_up% 😦

junior musk
#

%statistic_pickup%

#

though if you're making your own plugin with scoreboard, you can get the player's Statistic.PICKUP statistic

worn chasm
#

Hi. Good afternoon: I have a issue with the Pinger PAPI. Let me explain. I've configured the Pinger Papi but not refresh for a offline server

#

I see this discord in the official wiki

#

And i supose the community can solve my issue

austere hawk
vivid sparrow
junior musk
#

o

#

welp

#

guess I'll have to yeet that

tender shore
#

Hello, is there any expansion to get the player's uuid with a variable?

#

i found one that was called RandomID but it hasn't been updated since 1.13 and doesn't work now

#

or something to get the player's name but in lowercase only

junior musk
#

Player expansion, %player_uuid%

#

for the lowercase, you can try the String expansion combined with the Player expansion

#

%string_lowercase_{player_name}%

dense trail
#
      - "&fMember 0: %playerlist_ismembers_0% &7= &fMined Dirt: &e%utils_parseother:[playerlist_ismembers_0]_{statistic_mine_block:dirt}%"
      - "&fMember 1: %playerlist_ismembers_1% &7= &fMined Dirt: &e%utils_parseother:[playerlist_ismembers_1]_{statistic_mine_block:dirt}%"
#

Why does this parse the amount of mined dirt with %%

#

e.g. user 0 of the island member list has 236 mined dirt it shows %236%

mint fable
#

umm

#

I think don't include the {}

#

@dense trail

#

the first placeholder doesn't need {}, only deeper-nested ones

dense trail
#

You have to elaborate on that one

#

I'm losing my mind with the nesting placeholders

mint fable
#

don't put {}

#

you're not really nesting anything

#

just parse it without the {} and see if it works

dense trail
#

Like this?

#

%utils_parse_math_0_%utils_parseother:[playerlist_ismembers_0]_math_0_%statistic_mine_block:dirt%%%

mint fable
#

no

#

just remove the {}

#

the format is %utils_parseother:[]_<placeholder>%

#

<placeholder> being player_name

#

for example

#

not {player_name}

#

%utils_parseother:[playerlist_ismembers_1]_statistic_mine_block:dirt%

mint fable
#

this is a different placeholder entirely

dense trail
#

Ignore that one, ment this one
%utils_parseother:[playerlist_ismembers_0]_{statistic_mine_block:dirt}%

mint fable
#

so confused on what is going on there

#

ok lol

dense trail
#

I have like 20 different of these...

mint fable
#

right...

dense trail
#

let me try the one u sent

#

yes... good finally.

dense trail
#

now how do I add two placeholder values with math?

#

e.g.

%utils_parseother:[playerlist_ismembers_0]_statistic_mine_block:dirt%
+
%utils_parseother:[playerlist_ismembers_1]_statistic_mine_block:dirt%

#

although I'll have to do that for 0 1 2 3 4

mint fable
#

%utils_parse_math_0:_{utils_parseother:[playerlist_ismembers_0]_statistic_mine_block:dirt}+{utils_parseother:[playerlist_ismembers_1]_statistic_mine_block:dirt}%

#

@dense trail

dense trail
#

<3 so much

#

%utils_parse_math_0:_{utils_parseother:[playerlist_ismembers_0]_statistic_mine_block:dirt}+{utils_parseother:[playerlist_ismembers_1]_statistic_mine_block:dirt}+{utils_parseother:[playerlist_ismembers_2]_statistic_mine_block:dirt}+{utils_parseother:[playerlist_ismembers_3]_statistic_mine_block:dirt}+{utils_parseother:[playerlist_ismembers_4]_statistic_mine_block:dirt}%

#

is it not possible to add more to it or is my placeholder incorrect?

mint fable
#

it looks right on the surface

#

are you testing by parsing it in chat?

#

it might be cut off

dense trail
#

Nope testing in GUI

#

can't send screenshots ffs

tender vaporBOT
dense trail
#

1s

dense trail
#

Yup added 10 + 6 = 16

mint fable
#

any errors in console

junior musk
#

someone tried the exact same thing with Utils a few days ago and got an error

mint fable
#

do all 5 island members exist?

dense trail
#

[22:15:04 WARN]: [PlaceholderAPI] [math] Invalid Placeholder detected!
[22:15:04 WARN]: [PlaceholderAPI] [math] Placeholder: %math_0:_10+6+++%
[22:15:04 WARN]: [PlaceholderAPI] [math] Cause: '10+6+++' is not a valid Math expression.

junior musk
#

still didn't check but yeah

#

oh

junior musk
#

well that's not an issue with Utils then

dense trail
mint fable
#

looks like maybe the island members don't exist

#

that's why it's erroring

junior musk
#

yeah

#

that's more likely

mint fable
#

so

#

what you could do

#

hmm

dense trail
#

changeoutput for if it returns empty change it to 0

junior musk
#

changeoutput? lol

mint fable
#

changeoutput lol

junior musk
#

yeah xD

dense trail
#

not that i know how to xD

mint fable
#

i was thinking min

dense trail
#

I tried that before

#

and I gave up badly

mint fable
#

but min wouldn't work with no value