#papi-updates

1 messages ยท Page 1 of 1 (latest)

still narwhalBOT
still narwhalBOT
#
[PlaceholderAPI/Vault-Expansion] New branch created: rewrite
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#
[PlaceholderAPI/PlaceholderAPI] branch deleted: 1\.18
#
[PlaceholderAPI/PlaceholderAPI] branch deleted: fix/771\-identifier\-replacement
still narwhalBOT
#

Clip does have the code, but it's kept private for reason I don't know myself (Could be anything from fear of copy-cats to simply not liking the current state of the code).

Perhaps in the future the plugin will be made open source, but for now is this the situation we have.

ok we understand
will we ever get patched version of DeluxeMenus for MC 1.8 (compiled on java8)

thanks in advance

#

Clip does have the code, but it's kept private for reason I don't know myself (Could be anything from fear of copy-cats to simply not liking the current state of the code).
Perhaps in the future the plugin will be made open source, but for now is this the situation we have.

ok we understand will we ever get patched version of DeluxeMenus for MC 1.8 (compiled on java8)

thanks in advance

Making it OS, won't add 1.8 compatibilty but now people can maintain their own for...

still narwhalBOT
#

Clip does have the code, but it's kept private for reason I don't know myself (Could be anything from fear of copy-cats to simply not liking the current state of the code).
Perhaps in the future the plugin will be made open source, but for now is this the situation we have.

ok we understand will we ever get patched version of DeluxeMenus for MC 1.8 (compiled on java8)
thanks in advance

Making it OS, won't add 1.8 compatibilty but now people can mainta...

#

ok i 100% understand, but we can't even fork it i hope we will at least get some source code, at least from 10 versions behind latest one, ANY source so we can do stuff, because for now we can't anyhow update any DeluxeMenus source to again be compatible with latest PAPI (because no source is public)

Thanks a lot for answer

The source of DeluxeMenus was already here on GitHub. It just is private as of right now. And as clip said, the code will be made available in the near future.

still narwhalBOT
#

Confirmation

  • [X] My issue isn't already found on the Issue tracker.
  • [X] My issue is about PlaceholderAPI and not any expansion or external plugin
  • [X] The issue isn't already fixed in a Spigot Release or Development Build.
  • [X] The Common Issues page doesn't mention this issue.

Type

API Bug

What happens?

Right now is PlaceholderAPI's expansion loading broken in a sense that it may load the same e...

still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#

I personally don't think there's a reason to struggle with replacing jars that are named differently but have the same expansion name but it would be nice to only load one of them and warn the user that there's 2 or more expansions with the same name installed.

yeah. It would be difficult as PlaceholderAPI would need to "remember" the jar names used for a particular expansion (Which could be done through a txt file for caching) which isn't that good of an option tbh.

I'm currently wor...

still narwhalBOT
#
[PlaceholderAPI/PlaceholderAPI] New branch created: fix/duplicate\-expansion\-loading
#

Pull Request

Type

  • [x] Internal change (Doesn't affect end-user).
  • [ ] External change (Does affect end-user).
  • [ ] Wiki (Changes towards the [Wiki]).
  • [ ] Other: __________

Description

Closes #864

Fixes an issue where the same expansion would be loaded twice, if the jar file used has a slightly different name.

Now PlaceholderAPI checks if the used identifier is already registered and in such a case prints a warning and doesn't load the expansion.
...

still narwhalBOT
still narwhalBOT
still narwhalBOT
#

I will push to get deluxemenus in a public repo this week. It is currently in a private repo managed by helpchat.

Hey! Sorry to refer to but this week has ended 3 days ago .-. will we get it?

I'm afraid not. We've realised there's some major changes we need to make before we do this. We're working on it but it might be slower than clip expected since he wasn't around for a while, he did not know about these changes.

#

I will push to get deluxemenus in a public repo this week. It is currently in a private repo managed by helpchat.

Hey! Sorry to refer to but this week has ended 3 days ago .-. will we get it?

I'm afraid not. We've realised there's some major changes we need to make before we do this. We're working on it but it might be slower than clip expected since he wasn't around for a while, he did not know about these changes.

ok thanks a lot for blitz-fast response, c...

still narwhalBOT
still narwhalBOT
still narwhalBOT
#

I will mention that I've seen reports of this happening before to other people as well. I've never had it happen to me but here are some logs from other people:

https://paste.helpch.at/aliletibor.sql
https://pastebin.com/n46Wxdsn
https://paste.helpch.at/acugididec.sql
https://paste.helpch.at/dovatagucu.sql

These are just a few I got from the helpchat discord server. So it clearly is a very common issue, but not sure where. hopefully these extra logs can be of a bit more assistance to...

still narwhalBOT
#

What I notice, is this particular part here:

Caused by: java.lang.NullPointerException: Cannot invoke "java.lang.Class.getClassLoader()" because "result" is null
    at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:113) ~[pufferfish-api-1.19.2-R0.1-SNAPSHOT.jar:?]

It seems to somehow mess up the Class loader in the FileUtils maybe?
Or Pufferfish and Purpur changed something in the PluginClassLoader that causes this, since the NPE first points to that...

still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#
[PlaceholderAPI/PlaceholderAPI] New branch created: remove\-ecloud\-toggle\-command
still narwhalBOT
#

We got another report in the discord server. Its purpur once again: https://paste.helpch.at/tuzukibiwa.sql
Their full message was:

Good evening - I have a second time error with placeholderapi (dev build 160)
https://paste.helpch.at/tuzukibiwa.sql
Server restart solves the problem, but it's a second time this month. How can I prevent from that or maybe a fix please?

Waiting for a dump and will edit the message with it when I get it.

#

Removing this patch breaks flare. Why is PAPI trying to look up classes from unloaded plugins?

From my understanding: It doesn't.

PlaceholderAPI's FileUtils creates a URL from whatever File it is given - which in this case is the Expansion Jar file - and with the PlaceholderExpansion.class as its parent.

So technically should it not "try to look up other plugin classes"
Perhaps it's an unwanted side effect of Expansions that use instances of a Plugin in their register method or ...

still narwhalBOT
#

Not sure where swapping one exception out for another really fixes the issue, considering the FileUtils.findClass method is used like this

It fixes it further up the chain in the big long convoluted maze that is classloader inheritance. Returning null results in an NPE being thrown later on. But a ClassNotFoundException exception is caught, handled, and eventually re-thrown as a NoClassDefFoundError, which is caught by FileUtils.findClass. Thus solving the root cause of the probl...

still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#
[PlaceholderAPI/PlaceholderAPI] New branch created: feature/wiki\-add\-faq\-question
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#

Confirmation

  • [X] My issue isn't already found on the Issue tracker.
  • [X] My issue is about PlaceholderAPI and not any expansion or external plugin
  • [X] The issue isn't already fixed in a Spigot Release or Development Build.
  • [X] The Common Issues page doesn't mention this issue.

Type

API Bug

What happens?

When importing PlaceholderAPI into code I'm getting errors

It's allowing me to import Pla...

still narwhalBOT
still narwhalBOT
still narwhalBOT
#

Well how would I go about this though since I'm using eclipse? I was to believe I was able to just add the jar file to the libraries/java build path directory and it would work that way?

I'm sure you can google the answer. It's usually better to use maven or gradle to manage dependencies and Eclipse should support both (Maybe through plugins/add-ons)

No idea why but I fixed this issue by downgrading to version 2.10 of PlaceholderAPI
I guess in the newer versions it only allows ...

still narwhalBOT
#

Confirmation

  • [X] My issue isn't already found on the Issue tracker.
  • [X] My issue is about PlaceholderAPI and not any expansion or external plugin
  • [X] The issue isn't already fixed in a Spigot Release or Development Build.
  • [X] The Common Issues page doesn't mention this issue.

Type

Plugin Bug

What happens?

Currently the /papi bcparse/parse command has different behavior for different senders a...

still narwhalBOT
#
[PlaceholderAPI/PlaceholderAPI] New branch created: fix/872\-fix\-inxonsisten\-parsing
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#

I don't think right now this is being done but I'd love to see the argument separator provided inside each script context. The separator is currently configurable from the config. This would be helpful if all people wanted was 1 long argument that could also contain whatever the separator is. This way people can just take the arguments and join them together and they don't have to hard code the separator everywhere.

still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#

I am also having this same issue. but on a 1.19.2 server with Via backwards back to 1.17.x listed here: https://paste.helpch.at/qidupirusi Server software being Purpur. I have also replicated the same issue on 1.19.2 paper Spigot listed here: https://paste.helpch.at/agegaqusaf I don't know if this will help your diagnostics but I have only been getting this issue with 1.19.x servers we had a 1.18.x server that didn't have this issue. Hope it helps to resolve this :) It is worth noting that I ...

#

I am also having this same issue. but on a 1.19.2 server with Via backwards back to 1.17.x listed here: https://paste.helpch.at/qidupirusi Server software being Purpur. I have also replicated the same issue on 1.19.2 paper Spigot listed here: https://paste.helpch.at/agegaqusaf I don't know if this will help your diagnostics but I have only been getting this issue with 1.19.x servers we had a 1.18.x server that didn't have this issue. Hope it helps to resolve this :) It is worth noting that ...

#

I am also having this same issue. but on a 1.19.2 server with Via backwards back to 1.17.x listed here: https://paste.helpch.at/qidupirusi Server software being Purpur. I have also replicated the same issue on 1.19.2 paper Spigot listed here: https://paste.helpch.at/agegaqusaf I don't know if this will help your diagnostics but I have only been getting this issue with 1.19.x servers we had a 1.18.x server that didn't have this issue. Hope it helps to resolve this :) It is worth noting tha...

#

unfortunately the same issue is still occurring on my local test server. dump after removing a broken placeholder expansion on my local server due to a missing plugin and via backwards: https://paste.helpch.at/ivutatacuj also appears to still occur even after removing ViaVersion itself.

The dump itself doesn't help us at all understanding the issue.
Please open a separate issue to track this properly as I doubt this is related to this issue here.

still narwhalBOT
#

Confirmation

  • [X] My issue isn't already found on the Issue tracker.
  • [X] My issue is about PlaceholderAPI and not any expansion or external plugin
  • [X] The issue isn't already fixed in a Spigot Release or Development Build.
  • [X] The Common Issues page doesn't mention this issue.

Type

Plugin Bug

What happens?

Placeholder API using 1.19.2 server software PurpurMC (1762) or Paper Spigot (135) doesn't...

#

2 things:

  1. You are not on latest Purpur dev build, so maybe consider updating
  2. "Zip file closed" usually indicates that the jar was closed before the classloader (or whatever opened the jar) has finished whatever it did. In this case would my guess be that something (forcefully) closed the jar of an expansion before PAPI had the chance to complete anything.

Could you for the sake of testing quickly test if the error also appears on latest Purpur with just PlaceholderAPI installed?
...

still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#

I want to use a the placeholder %checkitem_nameequals:&7Cube &8- &aLevel 4% on a condition to show an item or not in a BossShopPro menu but the placeholder can't be used by the plugin due to the spaces on them.

When i do a /papi parse me with the placeholder no problem to get yes or no

Is it possible for you to implement a method to replace those spaces by something (maybe double underscore to replace spaces or another thing you thing will be easier) ?

still narwhalBOT
still narwhalBOT
still narwhalBOT
#
[PlaceholderAPI/PlaceholderAPI] New branch created: add\-attribute\-placeholders
still narwhalBOT
#
[PlaceholderAPI/PlaceholderAPI] branch deleted: add\-attribute\-placeholders
still narwhalBOT
#

Hi, how can i get a placeholder to count the lowest value as the "top" place? For instance, lowest time on a parkour should be first place.
Example using Parkour plugin:
ajlb_lb_parkour_player_personal_best_Easy_milliseconds_1_alltime_value%'
I want line to return the lowest time. In my example, it returns the highest time."

I am trying to create a leaderboard for best times on a parkour course. It should look like:

  1. Name: Time
  2. Name: Time
  3. ect.
still narwhalBOT
still narwhalBOT
still narwhalBOT
#

2 things:

  1. You are not on latest Purpur dev build, so maybe consider updating
  2. "Zip file closed" usually indicates that the jar was closed before the classloader (or whatever opened the jar) has finished whatever it did. In this case would my guess be that something (forcefully) closed the jar of an expansion before PAPI had the chance to complete anything.

Could you for the sake of testing quickly test if the error also appears on latest Purpur with just PlaceholderAPI...

still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#

Hi please help this error?:

21:09:04[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(Unknown Source) ~[?:?]
at java.util.concurrent.CompletableFuture.completeThrowable(Unknown Source) ~[?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(Unknown Source) ~[?:?]
at jav...

still narwhalBOT
#

2 things:

  1. You are not on latest Purpur dev build, so maybe consider updating

  2. "Zip file closed" usually indicates that the jar was closed before the classloader (or whatever opened the jar) has finished whatever it did. In this case would my guess be that something (forcefully) closed the jar of an expansion before PAPI had the chance to complete anything.

Could you for the sake of testing quickly test if the error also appears on latest Purpur with just Plac...

still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#
[22:22:33 WARN]: java.lang.NullPointerException: Cannot invoke "String.replace(java.lang.CharSequence, java.lang.CharSequence)" because "localeStr" is null
[22:22:33 WARN]:        at com.extendedclip.papi.expansion.player.PlayerExpansion.onRequest(PlayerExpansion.java:200)
[22:22:33 WARN]:        at PlaceholderAPI-2.11.3-DEV-160.jar//me.clip.placeholderapi.replacer.CharsReplacer.apply(CharsReplacer.java:119)
[22:22:33 WARN]:        at PlaceholderAPI-2.11.3-DEV-160.jar//me.clip.placeho...
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#

Describe the bug
The placeholder %player_item_in_hand_ENCHANTMENT% e.g. %player_item_in_hand_LOOT_BONUS_BLOCKS% parses up to 255 and not higher.

To Reproduce
Steps to reproduce the behavior:

  1. Enchant any item with fortune (higher than 255) e.g. 500
  2. Use the command /papi parse me %player_item_in_hand_LOOT_BONUS_BLOCKS%
  3. As you will see it will parse 255 instead of 500

Screenshots
![image](https://user-images.githubusercontent.com/108452793/192725880-29cc5...

still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#

If you are on 1.14+ put the item in a chest and press CTRL+I while pointing the crosshair at that chest and send the /setblock command here, my guess is the enchantment isn't really set on the item. There's no limit set, we just return whatever spigot give to us.
https://github.com/PlaceholderAPI/Player-Expansion/blob/dabc840d90f3edd2e8a555109de2a9f61cc97984/src/main/java/com/extendedclip/papi/expansion/player/PlayerExpansion.java#L186

#
  1. Placeholder that would display the level of set potion type that player has applied? For example if I have strength potion of level 3 the placeholder would be smth like: %player_potionlevel_strength% and it would display a number 3 (for as long as the player has the effect)

I will add this to the to-do list

  1. Placeholder that would display the amount of set attribute on the item that's player currently holding? Example: Player holds a sword with attribute attack_damage in it, ...
#
[PlaceholderAPI/Vault-Expansion] branch deleted: rewrite
still narwhalBOT
#
[PlaceholderAPI/Vault-Expansion] New branch created: fix\-registration
#
[PlaceholderAPI/Vault-Expansion] branch deleted: fix\-registration
still narwhalBOT
#
[PlaceholderAPI/Vault-Expansion] New branch created: change\-the\-eco\_balance\-placeholder
#
[PlaceholderAPI/Essentials-Expansion] New branch created: fix\-53
#
[PlaceholderAPI/Essentials-Expansion] New branch created: add\-is\_clearinventory\_confirm
#
[PlaceholderAPI/Statistics-Expansion] New branch created: change\-format\-time\-method
#

What if we use docs.docdex.helpch.at instead? The reason why I didn't made it return the spigot javadoc link is because different versions have different statistics @BlitzOffline

I know why you haven't but I am thinking that somehow, make it so that it returns the spigot link when you're on the latest version. Idk how it would detect that, but it's what I actually meant in my comment.

#
[PlaceholderAPI/Statistics-Expansion] New branch created: add\-server\-version
still narwhalBOT
still narwhalBOT
still narwhalBOT
#

Confirmation

  • [X] My issue isn't already found on the Issue tracker.
  • [X] My issue is about PlaceholderAPI and not any expansion or external plugin
  • [X] The issue isn't already fixed in a Spigot Release or Development Build.
  • [X] The Common Issues page doesn't mention this issue.

Type

Plugin Bug

What happens?

i am using maven to get placeholderapi dependence but when i insert it in my pom.xml it do...

still narwhalBOT
#

Confirmation

  • [X] My issue isn't already found on the Issue tracker.
  • [X] My issue is about PlaceholderAPI and not any expansion or external plugin
  • [X] The issue isn't already fixed in a Spigot Release or Development Build.
  • [X] The Common Issues page doesn't mention this issue.

Type

Plugin Bug

What happens?

In PR #354, CharReplacer and RegexReplacer added.

The CharReplacer allows using s...

still narwhalBOT
#

The issue you encounter is not considered a bug and rather an intentional behaviour of PlaceholderAPI and/or one of its expansions.
If you still believe that it is a bug, provide more information and a maintainer of this repository may look at it more closely.

Before providing more info, always make sure to use the latest version of PlaceholderAPI, as the issue you encounter might already be fixed in a newer version.
Optionally can you also try out [development builds](https://ci.extendedc...

still narwhalBOT
#

Confirmation

  • [X] My issue isn't already found on the Issue tracker.
  • [X] My issue is about PlaceholderAPI and not any expansion or external plugin
  • [X] The issue isn't already fixed in a Spigot Release or Development Build.
  • [X] The Common Issues page doesn't mention this issue.

Type

Plugin Bug

What happens?

Placeholder API (2.11.2) using (Paper(138) 1.19.2-R0.1-SNAPSHOT Dosn't parse placeholders...

still narwhalBOT
#

I believe thisissue is caused by CMI and not PlaceholderAPI itself.

Nothing in PlaceholderAPI would add extra % symbols. It checks if a placeholder is a valid format, if the expansion for it is present and if said expansion returns a non-null value.
If any of the above fails does PlaceholderAPI just return the unchanged String.

Tl;dr: Ask the CMI dev for help as this is most likely not a PlaceholderAPI issue.

I'll leave this issue open for now.

still narwhalBOT
still narwhalBOT
still narwhalBOT
#
[PlaceholderAPI/Essentials-Expansion] branch deleted: fix\-53
#
[PlaceholderAPI/Statistics-Expansion] branch deleted: add\-server\-version
#
[PlaceholderAPI/Essentials-Expansion] branch deleted: add\-is\_clearinventory\_confirm
still narwhalBOT
#

Confirmation

  • [X] My issue isn't already found on the Issue tracker.
  • [X] My issue is about PlaceholderAPI and not any expansion or external plugin
  • [X] The issue isn't already fixed in a Spigot Release or Development Build.
  • [X] The Common Issues page doesn't mention this issue.

Type

Plugin/Server Incompatability

What happens?

[23:30:19] [placeholderapi-io-#0/INFO]: Successfully downloaded expansi...

still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#

Relevant code line
https://github.com/PlaceholderAPI/eCloud-backend/blob/98415b4bef4d7fc30d3c83ddf28969bcc0051c09/api/main/views.py#L319

On 9 Aug 2022, at 15:00, Andre_601 @.***> wrote:

There's currently no escaping of _ causing webhook messages about new expansions to have the Placeholders list malformed and displayed incorrectly.

The system should automatically escape these kinds of things.

Example image
[image]<https://user-images.githubusercontent.com/11576465/1836...

still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#
[10:14:09 ERROR]: [PlaceholderAPI] Failed to load expansion class JavascriptExpansion (Is a dependency missing?)
java.lang.NoClassDefFoundError: Could not initialize class com.koushikdutta.quack.QuackContext
        at com.extendedclip.papi.expansion.javascript.evaluator.QuickJsScriptEvaluator.execute(QuickJsScriptEvaluator.java:17) ~[?:?]
        at com.extendedclip.papi.expansion.javascript.evaluator.QuickJsScriptEvaluatorFactory.attemptBasicEvaluation(QuickJsScriptEvaluatorFactory....
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#

Is there any way to run Javascript-Expansion on ARM cpu?

[16:36:17 ERROR]: [PlaceholderAPI] Failed to load expansion class JavascriptExpansion (Is a dependency missing?)
java.lang.UnsatisfiedLinkError: /tmp/quickjs-1.0.0/libquickjs.so: /tmp/quickjs-1.0.0/libquickjs.so: cannot open shared object file: No such file or directory (Possible cause: can't load AMD 64 .so on a AARCH64 platform)
        at jdk.internal.loader.NativeLibraries.load(Native Method) ~[?:?]
        at jdk.inte...
still narwhalBOT
still narwhalBOT
#

Confirmation

  • [X] My issue isn't already found on the Issue tracker.
  • [X] My issue is about PlaceholderAPI and not any expansion or external plugin
  • [X] The issue isn't already fixed in a Spigot Release or Development Build.
  • [X] The Common Issues page doesn't mention this issue.

Type

API Bug

What happens?

ok when you do /papi ecould download essentials while using essentials 2.17.8 with essentials...

still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#

Confirmation

  • [X] My issue isn't already found on the Issue tracker.
  • [X] My issue is about PlaceholderAPI and not any expansion or external plugin
  • [X] The issue isn't already fixed in a Spigot Release or Development Build.
  • [X] The Common Issues page doesn't mention this issue.

Type

Plugin/Server Incompatability

What happens?

Plugin unable to parse ALL placeholder when an invalid expansion is ins...

still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#

One question I have is, where this happens.

Like do all placeholders across different plugins fail to parse, or is only one specific location/plugin (i.e. chat) affected?
If it is the second one, then it may be an issue within that plugin itself.

Either way, it would be of great help if you could share your full logs through https://paste.helpch.at, as that usually provides extra info for us to work with.

still narwhalBOT
still narwhalBOT
#

You're using Pufferfish it seems.

PlaceholderAPI encountered issues with it in the past, namely that it would close jars while PlaceholderAPI was loading them, causing errors (https://github.com/PlaceholderAPI/PlaceholderAPI/issues/868).
The devs since have implemented a fix for it, tho I wouldn't be surprised if they messed up again.

Could you try it with a Paper server and see if everything resolves?

still narwhalBOT
#

You're using Pufferfish it seems.

PlaceholderAPI encountered issues with it in the past, namely that it would close jars while PlaceholderAPI was loading them, causing errors (#868). The devs since have implemented a fix for it, tho I wouldn't be surprised if they messed up again.

Could you try it with a Paper server and see if everything resolves?

https://paste.helpch.at/tulatacoki
seems no, also, i have tested few other expansions but only Quests getting make Placeholder...

still narwhalBOT
#

Hello,
With the placeholder %checkitem_getinfo:mainhand_nbtints:% I get the list of nbts.

But I want to get the value of a specific nbt in my case that of "INTEGER:ae_enchantment;haste:3" And therefore get the number 3.
The %checkitem_getinfo:mainhand_nbtints:ae_enchantment% displays the list of nbts. Same for %checkitem_getinfo:mainhand_nbtints:ae_enchantment=% / %checkitem_getinfo:mainhand_nbtints:ae_enchantment=haste% / %checkitem_getinfo:mainhand_nbtints:ae_enchantment=1%

still narwhalBOT
#

Confirmation

  • [X] I checked the Issues and Pull request tab for any existing issues or PRs.
  • [X] My Feature Request is for PlaceholderAPI and not any expansion or other plugin.

Type

New API feature, Major Code improvement (Will affect Servers)

Description

See https://discord.com/channels/164280494874165248/1040979624039022602

Code Example

No response

Jar file

No response

Additional Information

No response

still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#

Confirmation

  • [X] My issue isn't already found on the Issue tracker.
  • [X] My issue is about PlaceholderAPI and not any expansion or external plugin
  • [X] The issue isn't already fixed in a Spigot Release or Development Build.
  • [X] The Common Issues page doesn't mention this issue.

Type

API Bug

What happens?

PlaceholderAPI (Statistical) does not work. I'm trying to make time in the game, but when I e...

still narwhalBOT
#

Hello @SMServers,

The issue you encountered is caused by an Expansion and not PlaceholderAPI itself.
This issue-tracker is reserved for Bug reports and feature requests towards PlaceholderAPI.

Please report this issue to the Expansion's main issue-tracker.
A list of known Expansion repositories and their issue trackers can be found here.


Note
*This is an automated response created by a **...

still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#

Confirmation

  • [X] My issue isn't already found on the Issue tracker.
  • [X] My issue is about PlaceholderAPI and not any expansion or external plugin
  • [X] The issue isn't already fixed in a Spigot Release or Development Build.
  • [X] The Common Issues page doesn't mention this issue.

Type

Plugin Bug

What happens?

Having an issue with placeholder API registering placholders. If I manually reload the plu...

still narwhalBOT
#

This is most likely not caused by PlaceholderAPI.
The error mentions this:

java.util.concurrent.CompletionException: java.lang.IllegalStateException: zip file closed

This line means that the Jar file has been closed by something while PlaceholderAPI was loading.
Usually, this is caused by either the server (see #868) or another plugin, if they happen to interact with any kind of ClassLoader.

Your best option could be to remove half the plugins and see if that fixes it. If not, re...

still narwhalBOT
still narwhalBOT
#

I am not able to reproduce. I installed PAPI 2.11.2 & ChestShop 3.12.2 on paper 1.19.2-307, Temurin-17.0.3+7.

Installed the player expansion, restarted the server, and immediately parsed %player_name% once the server had started again. Placeholder parsed fine, no exceptions in console.

Does the issue happen when you have only PAPI + a shop plugin installed? Or does it happen when you have papi, all your other plugins, and a shop plugin installed?

#
[PlaceholderAPI/PlaceholderAPI] branch deleted: feature/expansion\-queue
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#

[PlaceholderAPI] Failed to load expansion class StatisticsExpansion - One of its properties is null which is not allowed!
java.lang.NullPointerException: The expansion version is null!
at java.util.Objects.requireNonNull(Objects.java:228) ~[?:1.8.0_312]
at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.register(LocalExpansionManager.java:181) ~[?:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_312]
...

still narwhalBOT
still narwhalBOT
still narwhalBOT
#

Confirmation

  • [X] My issue isn't already found on the Issue tracker.
  • [X] My issue is about PlaceholderAPI and not any expansion or external plugin
  • [X] The issue isn't already fixed in a Spigot Release or Development Build.
  • [X] The Common Issues page doesn't mention this issue.

Type

Plugin Bug

What happens?

The expansion version isn't checked in the right way, so PlaceholderAPI is updating the ex...

still narwhalBOT
still narwhalBOT
#

If we take a look deeper into implementation, we will see that every placeholder request, simply creating new object of the engine which is generally unnecessary and destructive to GC.

Current code doing smth like that (nashorn):

import javax.script.ScriptException;

import org.openjdk.nashorn.api.scripting.NashornScriptEngineFactory;

public class Leak {
    public static void main(String[] args) throws ScriptException {
        var factory = new NashornScriptEngineFactory...
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#

Mind sorting them a bit?
Would make stuff a bit more readable imo

  %ptr_playtime%
  %ptr_playtime_days%
  %ptr_playtime_days_trimmed%
  %ptr_playtime_hours%
  %ptr_playtime_hours_trimmed%
  %ptr_playtime_minutes%
  %ptr_playtime_minutes_trimmed%
  %ptr_playtime_seconds%
  %ptr_playtime_seconds_trimmed%
  %ptr_sessiontime%
  %ptr_sessiontime_days%
  %ptr_sessiontime_days_trimmed%
  %ptr_sessiontime_hours%
  %ptr_sessiontime_hours_trimmed%
  %ptr_sessiontime_mi...
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#
[PlaceholderAPI/Javascript-Expansion] New branch created: fix/issue\-\#73
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#

Confirmation

  • [X] My issue isn't already found on the Issue tracker.
  • [X] My issue is about PlaceholderAPI and not any expansion or external plugin
  • [X] The issue isn't already fixed in a Spigot Release or Development Build.
  • [X] The Common Issues page doesn't mention this issue.

Type

Plugin Bug

What happens?

I'm trying to make a countdown for a certain hour, but the plugin keeps returning 0.
Pla...

still narwhalBOT
#

Hello @matipoirierg,

The issue you encountered is caused by an Expansion and not PlaceholderAPI itself.
This issue-tracker is reserved for Bug reports and feature requests towards PlaceholderAPI.

Please report this issue to the Expansion's main issue-tracker.
A list of known Expansion repositories and their issue trackers can be found here.


Note
*This is an automated response created by a...

still narwhalBOT
#

I'm not an expert, but I think Java's SimpleDateFormat (which is used for the HH.mm pattern) doesn't support just providing the hour and minute without any real date.

It's just a guess, but I assume that Java doesn't know what date to use, so it perhaps default to a very low value (Perhaps start of the epoch timestamp?).

What the expansion does is essentially take the provided date (in your...

still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#

As the title said, whenever I use the checkitem placeholder to check for enchantments for certain items. It would sometimes print out an error. It's very random as well, like it would behave differently on different types of items. For example I was checking if the first slot on the hotbar has a protection enchantment using this placeholder %checkitem_getinfo:0_enchantments:protection%. If there's not item in that slot it would return blank , which means it works. If I put a tool/armor for ex...

still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#
[PlaceholderAPI/Vault-Expansion] branch deleted: change\-the\-eco\_balance\-placeholder
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#

Hello @JoshJames04,

The issue you encountered is caused by an Expansion and not PlaceholderAPI itself.
This issue-tracker is reserved for Bug reports and feature requests towards PlaceholderAPI.

Please report this issue to the Expansion's main issue-tracker.
A list of known Expansion repositories and their issue trackers can be found here.


Note
*This is an automated response created by a ...

still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#

%checkitem_getinfo:mainhand_enchantments:Unbreaking%
That returns a number if the item has unbreaking, returns the level.
If it doesn't have the enchant, it returns a blank message, instead of 0.
That causes problems with conditional events, a plugin similar to Skript, since it doesn't get a number to compare with.

In fact it has a variable called %empty% that equals to a "blank"

still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#
[PlaceholderAPI/Conversion-Expansion] New branch created: master
still narwhalBOT
#
[PlaceholderAPI/Variables-Expansion] New branch created: master
still narwhalBOT
still narwhalBOT
#

Confirmation

  • [X] I checked the Issues and Pull request tab for any existing issues or PRs.
  • [X] My Feature Request is for PlaceholderAPI and not any expansion or other plugin.

Type

New API feature

Description

Hello, is it possible to add a new placeholder to check the placed block data (when a player looking/interact with block)?

Like anvil face direction, and other blocks screen example:

![ฮตฮนฮบฯŒฮฝฮฑ](https://user-images.githubusercontent.com/8740881/218887942-e8ea4...

#

Hello @Reeferx7,

The issue you encountered is caused by an Expansion and not PlaceholderAPI itself.
This issue-tracker is reserved for Bug reports and feature requests towards PlaceholderAPI.

Please report this issue to the Expansion's main issue-tracker.
A list of known Expansion repositories and their issue trackers can be found here.


Note
*This is an automated response created by a **G...

still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#
[PlaceholderAPI/Essentials-Expansion] New branch created: misc\-fixes
still narwhalBOT
#
[PlaceholderAPI/Essentials-Expansion] branch deleted: misc\-fixes
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#
[PlaceholderAPI/PlaceholderAPI] New branch created: update\_vault\_placeholders
mint valveBOT
still narwhalBOT
mint valveBOT
mint valveBOT
still narwhalBOT
mint valveBOT
still narwhalBOT
#
[PlaceholderAPI/PlaceholderAPI] branch deleted: fix/872\-fix\-inxonsisten\-parsing
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#
[PlaceholderAPI/PlaceholderAPI] branch deleted: feature/wiki\-add\-faq\-question
still narwhalBOT
still narwhalBOT
still narwhalBOT
#

โ€ฆrough eCloud but through a plugin, if this is true, there is no need to check against eCloud entries.

Pull Request

Type

  • [x ] Internal change (Doesn't affect end-user).
  • [ ] External change (Does affect end-user).
  • [ ] Wiki (Changes towards the [Wiki]).
  • [ ] Other: __________

Description

Since .persist() is to indicate that the expansion is not provided through eCloud but through a plugin, if this is true, there is no need to check against eCloud entri...

#

This issue occurs frequently with Paper 1.19.3-420, and has since many previous releases.

> papi list
[13:42:26 INFO]: A total of 32 placeholder hook(s) are active: 
atr, bentobox, biomeremap, bskyblock, citizensplaceholder, cmil, combatlogx, coordinatetool, deluxemenus, disease
essentials, extrahardmode, frp, level, luckperms, multiverse, plan, player, pyroweatherpro, quests
residence, server, shortcut, spark, stat, statistic, str, thirst, treefeller, vault
wesv, worldguard
> pap...
#

Yes, one scenario I can think of is that someone started an expansion as the plugin-provided, but later move to eCloud, and the eCloud version is newer.

The best solution would be to implement a proper version number check rather than using equalsIgnoreCase. Then we don't need to check local.persist() and rely on proper version check.

However, in order for the version number check to work properly, PlaceholderAPI team should set the version number convention so that PAPI can implement ...

still narwhalBOT
#

However, in order for the version number check to work properly, PlaceholderAPI team should set the version number convention so that PAPI can implement a proper version check.

I don't think it's needed too much. Most Expansions I know of use a proper SemVer format (or SemVer-like).
And for the checks could a simple lib like FlexVer be used to allow a more flexible version check to be done here.

Alternatively could we put the version check in ...

#

However, in order for the version number check to work properly, PlaceholderAPI team should set the version number convention so that PAPI can implement a proper version check.

I don't think it's needed too much. Most Expansions I know of use a proper SemVer format (or SemVer-like). And for the checks could a simple lib like FlexVer be used to allow a more flexible version check to be done here.

Alternatively could we put the version ...

still narwhalBOT
#

"most"... you should not make such an assumption. when it comes to version numbering, one can define anything.
x.x.x, x.x.x-RCx, x.x.x.build#, x.x-beta, x.x.x-alpha....
If you guys think some lib like FlexVer is good enough, you should implement it instead of equalsIgnoreCase.

FlexVer would be a lib to cover the most common cases here like the ones you mentioned, as it was made for MC mods in mind, which have all kinds of... interesting formats for their versions like f.e. `1.2.3...

#

The only real other fix I can imagine for the local (part of plugin) vs cloud expansion issue is to have some way for the dev to tell PAPI that their expansion is part of a plugin and not the ecloud (i.e. a getter they can override that returns a boolean value). Issue with that is, that it again depends on the dev to do the work, which most will not bother with.

According to the document, this is exactly "persist()"'s purpose, that's why I originally submitted this PR. but I guess...

still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#
[PlaceholderAPI/ParseOther] New branch created: master
still narwhalBOT
still narwhalBOT
#

Paper 1.19.3-431 (and previous for quite some time)

> version PlaceholderAPI
[11:14:45 INFO]: PlaceholderAPI version 2.11.3-DEV-165
> papi list
[11:15:16 INFO]: A total of 20 placeholder hook(s) are active: 
atr, bentobox, biomeremap, bskyblock, citizensplaceholder, cmil, combatlogx, coordinatetool, deluxemenus, extrahardmode
frp, level, plan, pyroweatherpro, residence, server, spark, stat, treefeller, wesv
> papi ecloud list installed
[11:15:33 INFO]: Installed Expansions
   ...
#

It would be useful if the error message identified the expansion that caused the issue.

I definitely agree. I've asked for this feature before. While it is true that each expansion should deal with it's own problems, I think PlaceholderAPI should probably safely load each expansion and if it fails, it shouldn't break the entire loader but instead it should catch the exception, log it with more information such as expansion it is coming from and then continue loading the other expansions....

still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#

Pretty sure this can't be fixed at all.
All the expansion does is ping the server. Whatever is returned by that ping is what the expansion uses.

Not sure if the MC client sends some specific data that makes it receive diffrent data, including a different MOTD, but it could be exactly that to be honest here.

Either way, if you understand a bit of Java code, look at this section here:
https://github.com/PlaceholderAPI/Pinger-Expansion/blob/master/src/main/java/com/extendedclip/papi/expa...

still narwhalBOT
#

In addition to splitting on ยง, it's also important that we check ยง as the first character, not &.

I think the current code is trying to support two different ping formats. If the packet starts with ยง, the code should read according to this format: https://wiki.vg/Server_List_Ping#1.6. Otherwise, it should read according to this format: https://wiki.vg/Server_List_Ping#1.4_to_1.5, which is why it has to split on ยง.

still narwhalBOT
#

Huh, okay, this issue is weirder than I originally thought. I've now done some more testing, and the problem is definitely that ยง is supposed to be used instead of & when handling the ping packets. But, to my surprise (after a bunch of debugging), I can't reproduce this issue when using the Pinger expansion from eCloud, only when building the source code from this repository. It turns out that there have been changes here in the source code which have not been built and released on eCloud...

still narwhalBOT
#

Relates to #2, but does not fix the issue

As explained in https://github.com/PlaceholderAPI/Pinger-Expansion/issues/2#issuecomment-1453463643, the source code uploaded to this repository differs from the source code that was used to build the JAR file which has been uploaded to eCloud. Commit 0128494c1104e666d696f4abbb10838371734394 reverts the seemingly accidental change to the source code, which means that the plugin once again works if built from this source code. Commit 2c8819528...

still narwhalBOT
#

I have now provided a fix for the packet decoding in #8, as well as some code cleanup and comments to explain what the current code is doing.

As far as fixing this issue goes (again, it only happens on Minecraft 1.8 - 1.12), the only solution I see is to change the code to use the Minecraft 1.7+ ping request format, which is not affected by the Spigot MOTD bug. I am not interested in working on this, especially since there is already an alternative plugin (based on, or at least inspired by...

still narwhalBOT
still narwhalBOT
still narwhalBOT
#

Confirmation

  • [X] My issue isn't already found on the Issue tracker.
  • [X] My issue is about PlaceholderAPI and not any expansion or external plugin
  • [X] The issue isn't already fixed in a Spigot Release or Development Build.
  • [X] The Common Issues page doesn't mention this issue.

Type

Plugin Bug

What happens?

When server starts, and placeholders load, %bungee_servername% shows 0 players even if tha...

#

Hello @RETAMROVEC,

The issue you encountered is caused by an Expansion and not PlaceholderAPI itself.
This issue-tracker is reserved for Bug reports and feature requests towards PlaceholderAPI.

Please report this issue to the Expansion's main issue-tracker.
A list of known Expansion repositories and their issue trackers can be found here.


Note
*This is an automated response created by a *...

still narwhalBOT
still narwhalBOT
#

Pull Request

Type

  • [ ] Internal change (Doesn't affect end-user).
  • [X] External change (Does affect end-user).
  • [ ] Wiki (Changes towards the [Wiki]).
  • [ ] Other: __________

Description

This PR adds a convenient base class for PlaceholderExpansion with constructor, so people no longer need to implement getVersion(), getIdentifier(), getAuthor() as they're annoying as hell to read.

Example from my actual plugin:
![image](https://user-images.githubuserco...

still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#

EssentialsX Placeholderapi expansion baltop placeholders only uptaded If I do /papi reload What can I do for reload itself? Normally automatic update is required.

Enable this to also log all transactions from other plugins through Vault.

This can cause the economy log to fill up quickly so should only be enabled for testing purposes!

economy-log-update-enabled: true

The only setting I can find remotely related is this one - I enabled it and restarted and the results were still th...

still narwhalBOT
#
[PlaceholderAPI/PlaceholderAPI] New branch created: feature/update\-adventure
still narwhalBOT
still narwhalBOT
#
[PlaceholderAPI/PlaceholderAPI] branch deleted: fix/duplicate\-expansion\-loading
mint valveBOT
still narwhalBOT
#
[PlaceholderAPI/PlaceholderAPI] New branch created: fix/kotlin\-build\-system
still narwhalBOT
still narwhalBOT
#
[PlaceholderAPI/PlaceholderAPI] branch deleted: feature/update\-adventure
#
[PlaceholderAPI/PlaceholderAPI] New branch created: fix/missing\-class\-exception\-breaks\-expansion\-loading
#
[PlaceholderAPI/PlaceholderAPI] branch deleted: fix/kotlin\-build\-system
mint valveBOT
#
still narwhalBOT
still narwhalBOT
#
[PlaceholderAPI/PlaceholderAPI] branch deleted: fix/missing\-class\-exception\-breaks\-expansion\-loading
still narwhalBOT
#

I myself can't really see the overall benefit of this... Like how is a super("identifier", "version", "author") any better to read than the getters?

IMO do the getters actually help clarify what the value returned is: The identifer, the version or the author. With the constructor, it's more difficult to know what is what exactly.

Tho, obviously is this just my opinion.
Nothing is changed functionality-wise. It makes no sense to enforce 3 getters instead of a constructor for...

#

Pull Request

Type

  • [x] Internal change (Doesn't affect end-user).
  • [ ] External change (Does affect end-user).
  • [ ] Wiki (Changes towards the [Wiki]).
  • [ ] Other: __________

Description

Added shouldUpdate() method to PlaceholderExpansion.ย  The default implementation is equalsIgnoreCase() as implemented in CloudExpansionManager.ย  This will maintain the current behaviour. This implementation should be replaced by the proper version string check.ย  In the me...

still narwhalBOT
#
[PlaceholderAPI/PlaceholderAPI] New branch created: feat/update\-nms\-options
still narwhalBOT
still narwhalBOT
#
[PlaceholderAPI/PlaceholderAPI] New tag created: 2\.11\.3
#

What's Changed

Changes

Fixes

still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
still narwhalBOT
#

Confirmation

  • [X] My issue isn't already found on the Issue tracker.
  • [X] My issue is about PlaceholderAPI and not any expansion or external plugin
  • [X] The issue isn't already fixed in a Spigot Release or Development Build.
  • [X] The Common Issues page doesn't mention this issue.

Type

API Bug

What happens?

It seems like creating a relational expansion requires you to have an underscore to be able t...

still narwhalBOT
still narwhalBOT
#

Yeah, my bad. Never noticed that the charsreplacer accepts a %identifier% pattern as valid placeholder.

To be honest, the relational placeholder system seems a bit dated in my opinion as the rel_ requirement is weird...
Perhaps merging it and making the CharsReplacer check for if the expansion is a relational one could be useful here to do and get rid of that rel_ prefix requirement...
Tho, at the same time do I fear that it would break existing placeholder expansions that may offe...

still narwhalBOT
#

Andre is wrong this time. While I agree with him that it shouldn't work if it doesn't have at least one _ to split the identifier from the rest of the arguments, it is currently inconsistent and normal placeholders work without it. I've reported this before in discord but my message got lost to time and other conversations.

I don't mind either or, it's just that what would be nice would be for this to be specified in the wiki and also made consistent.

still narwhalBOT
still narwhalBOT
still narwhalBOT
#
[PlaceholderAPI/PlaceholderAPI] New branch created: feature/fetch\-all\-expansions
still narwhalBOT
still narwhalBOT
#
[PlaceholderAPI/PlaceholderAPI] New branch created: feature/folia\-support
still narwhalBOT
#

Pull Request

Type

  • [x] Internal change (Doesn't affect end-user).
  • [ ] External change (Does affect end-user).
  • [ ] Wiki (Changes towards the [Wiki]).
  • [ ] Other: __________

Description

Relational placeholders require an underscore after the identifier to be considered valid. For example: %rel_chatchat_% is valid but %rel_chatchat% is not. Normal placeholders did not require this and %chatchat% worked the same as %chatchat_%.

This can be considere...

still narwhalBOT
still narwhalBOT
still narwhalBOT
#

Type
Plugin Bug

What happens?
When using %parseother_{offline_player}_{player_online} returns an error and doesnt output a value.

Expected Behaviour
value "false"

How to Reproduce
Use the placeholder like this "%parseother_{offline_player}_{player_online}" or just %player_online%

/papi dump Output
https://paste.helpch.at/otimonecil

Console Log
https://pastebin.com/G4QRMMmx

Errors
No response

Additional Info
Im using this in another plugin, but every plugin i use t...

still narwhalBOT
#
[PlaceholderAPI/PlaceholderAPI] New branch created: feat/improve\-placeholderexpansion\-page
#

On the double, this is definitely an improvement, though I definitely still think it could be made even more clear not to create external expansions if you're the plugin developer, as they really are intended more for developers wishing to provide additional placeholders for existing other projects.

I also think this would be better split into multiple pages given its length;

  • the introduction and common elements
  • registering an internal expansion provider
  • creating an external PAP...
still narwhalBOT
still narwhalBOT
still narwhalBOT
#

This came up in the HelpChat Discord the other day. We came to a conclusion that automatically updating the baltop is something that shouldn't be left to a PAPI expansion to handle.

Reason being it can't be done every time a placeholder is requested, as the calculations would be way too much to handle since placeholders could be called multiple times per second and thousands of users need to be calculated. It would need a custom scheduler.

Normally...

still narwhalBOT
still narwhalBOT
#

Apologies for the late response.

So the issue I'm facing is reloading an expansion (by reloading a plugin - shutting it down and reregistering) while the server is running results in PAPI not being able to reregister is, thus resulting in it erroring out - and since 90% of the plugins do not actually unregister the expansions themselves, this causes issues.

As for the reasoning behind this issue in the first place, sounds to be more of an issue with the implementing plugin, rather tha...

still narwhalBOT
#

The issue in your case would more be doing stuff that nobody encourages.

Reloading the server (or in your case individual plugins) is something no plugin dev would recommend to you. And the issues you describe are one reason why.

PlaceholderAPI doesn't monitor plugins that register expansions to then unload them when the plugin itself shuts down. This at most happens with expansions that defined a required plugin (See [here](https://github.com/PlaceholderAPI/PlaceholderAPI/blob/81ef464d...

still narwhalBOT
#

Confirmation

  • [X] My issue isn't already found on the Issue tracker.
  • [X] My issue is about PlaceholderAPI and not any expansion or external plugin
  • [X] The issue isn't already fixed in a Spigot Release or Development Build.
  • [X] The Common Issues page doesn't mention this issue.

Type

Plugin Bug

What happens?

Reloading a plugin that provides an expansion through [ServerUtils](https://github.com/Fra...

still narwhalBOT
still narwhalBOT
#

I have had this issue for years and havent bothered reporting it, since installing Papi Essentails, every boot I get hundreads of these messages:

[10:40:35] [Craft Scheduler Thread - 21 - Essentials/INFO]: [Essentials] Found UUID 7cfc8a43-14b5-408d-bae8-8afedd3a692b for player JayKay47, but player already has a UUID (73e1e507-b683-45dd-ae88-ab807f45213e). Not replacing UUID in usermap.
java.lang.RuntimeException: null
	at com.earth2me.essentials.UserMap.trackUUID(UserMap.java:155) ~...
still narwhalBOT
still narwhalBOT
#

Have you considered not reloading plugins? Just wondering.

It's already been noted what the general stance is on reloading plugins. Reiterating, it "is generally unsafe and not supported". However, also noted in my post above, it's not the root of this issue. It's that #866 prevents an expansion from registering only if a user attempts to register two expansions with the same id. To me, it makes sense that PAPI does not restrict this and whatever happens afterwards is only on the user.

still narwhalBOT
still narwhalBOT
#

Also, just to clarify here a bit further (In case some people are confused):

The pull request was made to fix an existing issue where two expansion jars with the same identifier, but different file name could be registered, causing one to override the other.

This had bad side-effects like an older version of the same expansion overriding the newer one, making PAPI think that it is outdated, even tho you got the latest version.

The only other solution I myself could see back then was ...

still narwhalBOT
#

Pull Request

Type

  • [x] Internal change (Doesn't affect end-user).
  • [ ] External change (Does affect end-user).
  • [ ] Wiki (Changes towards the [Wiki]).
  • [ ] Other: __________

Description

This pull request prevents loading expansions from folders other than the expansions folder.
In previous versions, you could use path traversal with ../ to load expansions from other directories, e.g. /papi register ../../../world/expansion.jar would load an expansion from the w...

still narwhalBOT
#

Pull Request

Type

  • [x] Internal change (Doesn't affect end-user).
  • [ ] External change (Does affect end-user).
  • [ ] Wiki (Changes towards the Wiki).
  • [ ] Other: __________

Description

This commit adds the environment variable "PAPI_BLOCKED_EXPANSIONS" which can contain a case-insensitive, comma separated list of blocked expansions. Expansions on this list can no longer be downloaded using commands.
By default, all extensions will remain downloadable.

still narwhalBOT
#

Confirmation

  • [X] My issue isn't already found on the Issue tracker.
  • [X] My issue is about PlaceholderAPI and not any expansion or external plugin
  • [X] The issue isn't already fixed in a Spigot Release or Development Build.
  • [X] The Common Issues page doesn't mention this issue.

Type

Plugin Bug

What happens?

  1. Unloading all placeholders when reloading the "/papi reload" plugin
  2. No message that...