Pull Request
Type
- [ ] Internal change (Doesn't affect end-user).
- [ ] External change (Does affect end-user).
- [x] Wiki (Changes towards the Wiki).
- [ ] Other: __________
Description
Update PlayerList expansion's description as of PlayerList 3.0.0
1 messages ยท Page 2 of 1
Update PlayerList expansion's description as of PlayerList 3.0.0
Considering the above issue is only present for external expansions (ecloud), the change should reflect that, and not change the behavior for both (plugin and ecloud expansions).
added an entry for Soul plugin.
added an entry for Soul plugin.
3b84bc7 Update Placeholders.md - vk2gpz
7c805aa Merge pull request #950 from TeamVK/wiki - Andre601
New API feature
Would it be possible to add support for Folia?
Folia url: https://github.com/PaperMC/Folia
No response
No response
No response
Folia is pretty new. Furthermore, it's already a WIP via this tab here. With some small changes, I was able to get some components of the resource working, including some expansions. Feel free to check its progress here: https://github.com/PlaceholderAPI/PlaceholderAPI/tree/feature/folia-support
Yeah it should really emphasize that 99.99% of the time, you want to make an internal expansion. Also would be good to add the benefit that you don't need to match versions between the expansion and the plugin, and that setup is easier since it doesn't require downloading from the ecloud.
Build: 174
Status: success
Changes:
e862ab Start 2.11.4 DEV cycle - adminb4e60b Prevent loading of extensions outside of the expansions folder using the register command - julianArtifacts:
Fetch all expansions and display a different message if the expansion that the player is trying to download is not verified and cloud_allow_unverified_expansions is false
Closes N/A
2d86870 feat: distinguish expansions (external or inter... - iGabyTM
external: located in the expansions folder
internal: registered by a plugin
Closes N/A
6465aea docs: deprecate register() - iGabyTM
I'm not sure it is a good idea to advertise this option. People will see it is possible to enable it and just not care why expansions are not verified or even not know. I think the first message is enough.
Given that this only happens with expansions that aren't verified, I doube the problem is that big here.
After all will people usually stick to the ol' reliable ones like Player or Server expansion...
But given the current situation regarding verification of expansions (That every new release results in them being auto-unverified), is this imo a change needed as otherwise people will yell about bugs to expansions devs that have been fixed already. I speak from experience.
The change on the ecloud wasn't made just to be easily nullified tho.
Thinking about it, you might be right, Blitz, the first message is foolproof enough. Plus, you don't download expansions every day. A simple message telling you that the expansion exists, but it is not verified due to various reasons, but you can still download it manually gives enough info.
And @Andre_601 the expansions are usually re-verified after a short period of time.
Yeah I think it would be smart to not advertise the config option - expansions are unverified for a reason, namely safety, and disabling this by wanton server owners blindly is just going to be more cause for problems.
Hi there,
I was just searching for this exact thing. I'd like to add a global flag like {greeting: Welcome to %worldguard_region_name%!}.
From my current understanding, this would not be possible, right?
Any chance this will get added in the future?
Thank you for your work and in advance for any answer.
Have a good one.
Plugin Bug
If I have a plugin which has a built in expansion and there's an expansion on the ecloud w...
Would it be possible to expose the boolean in some way for internal use?
It would allow us to check if the expansion is internal or external for stuff like checking for Updates on the ecloud (Avoiding false positives)
Do we actually need this? Since it's marked as Internal API usage is it imo not really necessary to add docs and also deprecate what is supposed to be only used by us.
Line 304 should have a && isExternalExpansion added to avoid checking for updates with a local expansion.
I mean, there's nothing wrong with documenting and deprecating internal use methods.
Yo, how do i compile this to use in my maven project for building my plugin?.. i don't see any pom.xml file in the repo so that's why i am asking
It's a Gradle project, so if you want to build it, you have to use Gradle instead of Maven for PlaceholderAPI.
The command should be gradlew clean shadowJar (or ./gradlew clean shadowJar if you're on Windows).
Tho, if your goal is to hook into PlaceholderAPI is it highly recommended to use the external repository instead of using jar files.
A starter guide is found here: https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/Hook-into-PlaceholderAPI
e970bde Use details for examples - Andre601
Moved code examples and the explanation of the methods into details. I kinda dislike that details are barely noticable, but I think it should be fine.
Hi, Download link doesn't work and I really need this for my minecraft server.
Could someone help me?
Suggestion:
Add the possibility to add more ping values/colors in the PlaceholderAPI configuration.
Example:
player:
ping_color:
extremelyhigh: '&4&l'
veryhigh: '&4'
higherthanhigh: '&c'
high: '&6'
medium: '&e'
low: '&b'
lowerthanlow: '&a'
verylow: '&d'
extremelylow: '&5'
ping_value:
extremelyhigh: 250
veryhigh: 200
higherthanhigh: 150
high: 100
medium: 50
...
Closes N/A
Small grammar improvement (I hope).
These are available for each arena, with `<arena>` being the name of it:
bab7280 Update Placeholders.md - MrEAlderson
5146032 Fixed typo in Placeholders.md - MrEAlderson
27d3c81 Merge pull request #956 from MrEAlderson/wiki - Andre601
Plugin/Server Incompatability
A Linkage Error exception spammed the console when a player joined the ...
willing to colaborate to find a solution. the weird thing is the reboot that fixes it. Others have suggested to check if some plugin was shading PAPI but I checked all of them and no shading of papi was found
Btw I've also posted this in Help Chat with no luck, so all help is welcome
PlaceholderAPI does not allow to hijack requests for replacement. This PR adds new event PlaceholderRequestEvent that is fired whenever a user requests for placeholders. Developer then can change what result will be produced for this request.
What would be the actual use case here?
Like I myself can't see a real justification for allowing a plugin to just override any text PAPI parses.
If a plugin parses Hello %player_name% but receives a completely different message because another plugin altered is that imo bad, since you expect some specific outputs.
What would be the actual use case here? Like I myself can't see a real justification for allowing a plugin to just override any text PAPI parses.
If a plugin parses
Hello %player_name%but receives a completely different message because another plugin altered is that imo bad, since you expect some specific outputs.
The use-case is that if you want to integrate your own system but don't want to lose compatibility with other plugins who use papi and not your system, with this even...
So basically for example when i use the %checkitem_getinfo:mainhand_lorecontains:1% placeholder it is supposed to return only the 2nd line of the item but instead it returns all the lores in a lore. In the screenshot, there are 2 different items from 2 different plugins
first one with the &4test in it its from Executableitems and the 2nd one is from ecoitems. The checkitem expansion version that i use is 2.6.8



Here is also the versions i have + a minion item from another plugin
even if i do %checkitem_getinfo:mainhand_lorecontains:1000% i still get the same result
f73c992 fix: random EOFException on PLAYERS_CHANNEL - iGabyTM
Old version was being used. Version shown in pictures above was from /papi ecloud info checkitem for anybody wondering.
Suggest using https://placeholderapi.com/ecloud as the url so we can redirect if needed in the future
Suggest using placeholderapi.com/ecloud as the url so we can redirect if needed in the future
Looks like the redirect is not setup right, /javascript redirects to https://api.extendedclip.com/home//javascript - notice the double /
New API feature
Relational placeholders is useful, but not enough abstract. What if I want to pass, for example, relation to the block, not other players?
Let's use the concept of Context.
Every call to PlaceholderAPI is, in general, call with context. Target of the message...
I can't really imagine the example here.
How is this useful compared to just hooking into a Plugin's API (if it provides one) or the Server API?
I'm fairly sure that what you showed here would be doable by just using the Spigot/Paper API and maybe the plugin itself.
Also, as a side-note: In your example are you not even using the Block you get from the context...
How is this useful compared to just hooking into a Plugin's API (if it provides one) or the Server API?
I deliberately chose an example that requires abstraction. Without context we can't provide the information of what block mining statistics should be collected.
In your example are you not even using the Block you get from the context...
Fixed.
This is way too complicated for what can be boiled down to basic string serialization. Just serialize whatever data you need when you make the request into part of the placeholder, you fully control the placeholder format besides the surrounding characters and the name. This would require a ton of effort and drastically complicate parsing of placeholders for little to no benefit.
This is way too complicated for what can be boiled down to basic string serialization. Just serialize whatever data you need when you make the request into part of the placeholder, you fully control the placeholder format besides the surrounding characters and the name. This would require a ton of effort and drastically complicate parsing of placeholders for little to no benefit.
This idea is completely irrelevant to string parsing, it should not change at all.
It is not. You can easily describe what block you want to get the statistics for by putting it in the placeholder string. In fact, this is literally what the Statistic expansion already does for the blocks mined statistics: %statistic_mine_block:<material>%.
It is not. You can easily describe what block you want to get the statistics for by putting it in the placeholder string. In fact, this is literally what the Statistic expansion already does for the blocks mined statistics:
%statistic_mine_block:<material>%.
You didn't understood the idea. The block is dynamic, like players. I can't just put the specific block in config if I, for example, receive that block from command /block <name>.
You can easily modify the placeholder from that config file to add the required context in string form. Like making "%OreCounter_blockDigged%" into "%OreCounter_blockDigged_" + block.toString() + "%".
You can easily modify the placeholder from that config file to add the required context in string form. Like making
"%OreCounter_blockDigged%"into"%OreCounter_blockDigged_" + block.toString() + "%".
If I can hard link two plugins, the placeholder api is not needed at all. The main idea of placeholder api is to achieve less coherence and more abstraction. Why am I even explaining this to you here?
It's not "hard linking" two plugins. The point of PlaceholderAPI, as most programming is, is to make contracts with what you accept. If you accept any block name in a well-defined format in your placeholder, as you should, then any plugin with the proper integration can use placeholders for it.
Every single expansion we have ever had until now has worked without this mysterious "context", which ends up just looking like a Map<String, Object>, which brings its own type safety problems re...
It's not "hard linking" two plugins.
What is it than? If I can type name of plugin in code, than I can there type plugin api and get rid of placeholder api at all.
Every single expansion we have ever had until now has worked without this mysterious "context", which ends up just looking like a
Map<String, Object>, which brings its own type safety problems regardless.
Judging by the existence of relative placeholders, you needed it after all.
If I can type name of plugin in code, than I can there type plugin api and get rid of placeholder api at all.
Bingo. If you want a rich integration, use their plugin API, that's what it's there for.
The point of placeholders in scenarios like these is to allow arbitrary integration without special need for compatibility, a server owner can just put a full string in specifying what they want, in this case I suppose a block name for the blocks broken statistic, and it will be filled.
In ...
How would this actually even work out in practice? How would one plugin using setContextPlaceholders even know what values to pass in the context? How would, say, a tablist plugin that passes a configured string for tablist header, know it needs to pass X or Y context values?
The point of placeholders in scenarios like these is to allow arbitrary integration without special need for compatibility, a server owner can just put a full string in specifying what they want, in this case I suppose a block name for the blocks broken statistic, and it will be filled.
That's what I'm describing now.
Not sure what this means, relative placeholders are about parsing relations between two players, nothing else. It's for scenarios like direct messaging where you want t...
How would this actually even work out in practice? How would one plugin using
setContextPlaceholderseven know what values to pass in the context? How would, say, a tablist plugin that passes a configured string for tablist header, know it needs to pass X or Y context values?
Just passing everything context-specific. In practice it may be command arguments, or, for example, item with what was killed player in player kill message. Tablist probably shouldn't pass anything to context exce...
If I can hard link two plugins, the placeholder api is not needed at all. The main idea of placeholder api is to achieve less coherence and more abstraction. Why am I even explaining this to you here?
The main purpose of PlaceholderAPI is above anything else to be a simple core utility to allow cross-plugin placeholder parsing, so that you don't need to support countless placeholder parsing methods from X plugins.
What you want is from what I get pointless boilerplate code that only b...
Papi dump:
`Generated: April 25, 2023 at 10:02:18 AM UTC
PlaceholderAPI: 2.11.3
Expansions Registered:
FateHub [Author: [BGHDDevelopmentLLC], Version: 2.2.18]
bungee [Author: clip, Version: 2.3]
luckperms [Author: Luck, Version: 5.4-R2]
player [Author: clip, Version: 2.0.4]
spark [Author: Luck, Version: 1.10.37]
Expansions Directory:
Expansion-luckperms.jar
Expansion-Bungee.jar
Expansion-player.jar
Server Info: 1.19.4-R0.1-SNAPSHOT/git-Purpur-1...
Hey, i installed your Expansion on PlaceholderAPI. I want to show the OnlineCount with %bungee_total% in my own scoreboard plugin. But it always says there would be "0" players online... I use the latest PlaceholderAPI version and the latest of yours!
Greetings
Plugin Bug
When returning a list of placeholders from the getPlaceholders method they do not show up ...
From what I know does the tab completion for placeholders pull these from the ecloud and not the expansion.
Perhaps a solution could be to check if the placeholders list returns a non-empty list and if true, use that instead of the ecloud data?
From what I know does the tab completion for placeholders pull these from the ecloud and not the expansion.
Perhaps a solution could be to check if the placeholders list returns a non-empty list and if true, use that instead of the ecloud data?
I've looked at the code and it first gets the placeholders from PlaceholderExpansion#getPlaceholders if there is a local expansion with the same identifier and then also gets them from the ecloud.
The person that had this issue seems to ...
okay so it doesnt not update im sry the fetching of the player count works
17db3ea chore(deps): gradle 8.1.1 + dependency bumps - darbyjack
5925c13 chore(deps): updated deps - darbyjack
Proposed changes reduce API calls by caching a players timezone for a determinate period of time (1 day) and similarly, local-time placeholders are much more consistent with a retryDelay being ran in the event that a players timezone is unable to be fetched due to API rate-limits.
This should functionally mitigate a common occurrence of the expansion being "unable to fetch a players timezone" due to excessive API calls resulting in a rate-limit. The expansion has also been made to be comp...
Closes N/A
Closes N/A
What particular reason is behind this one-line change?
What particular reason is behind this one-line change?
There is no folia api-1.19.4-R0.1-SNAPSHOT.pom file in https://repo.codemc.org/repository/maven-public
Yeah this bug is quite annoying please fix it
Are you sure that none of the plugins have PAPI shaded?
The plugins arent shading as far as I can see. I can send the JAR if requested. But this is the plugin thats trying to access the placeholder https://github.com/NEZNAMY/TAB
I had to put it in a ZIP file but this file contains the plugin thats using TAB to give a player a scoreboard.
This scoreboard has certain PAPI placeholders which throw those errors from time to time.
plugin.zip
Note that this error DOESNT happen 100% of the time but only sometimes after a restart. For it to be solved the server has to restart again
@porudev are you facing this problem on 1.8 as well or on newer versions (ideally one released in the past 12 months not years)
@porudev are you facing this problem on 1.8 as well or on newer versions (ideally one released in the past 12 months not years)
i've only encounter this problem on 1.8 (Papermc latest 1.8.8 build)
Then this is probably a 1.8 exclusive issue unless someone can provide logs displaying the same issue with a newer (And by that I mean the last 3 major releases) server version.
When using %checkitem_getinfo:mainhand_loreequals:%, it returns the lore line without the last letter.
Example:
Item with lore (i tried different methods of adding the lore to the item, the issue was still the same)
_Parsing the placeholder outputs...
I will take a look when I get home. I think I know why it happens.
Just to be sure, are you using the latest checkitem version?
762f5ed Implements #55, Fixes #59, Other bug fixes - cj89898
Ex: %checkitem_getinfo:mainhand_nbtints:CustomModelData=0% would return 43010
:)
Hi, I wanted to know if it's possible a countdown placeholder that only uses seconds without format. My issue is that the countdown returns Hh Mm Ss and when the time is reached returns only 0, so I'm trying to use a javascrypt expression:
%server_countdown_MM/dd/yy/HH:mm_{server_time_MM}/{server_time_dd}/{server_time_yy}/12:00% == 0
Expression works great when the countdown reach 0 but in the meantime it spams errors because the format Hh Mm Ss is not a number like 0.
Using "string equals" instead of == solved the issue
This might very well be the case. I also run basically the same setup on a 1.19.4 server and havent seen it happen.
But due it it being an old version does that mean this wont get fixed? (Just to know what I can expect)
I know LinkageErrors are hard to figure out whats actually causing it so...
But just so you know im willing to help where I can
Updated LotterySix placeholders
Closes N/A
I'm not sure if this issue is related to this expansion, but it has been bugging me a while.
[01:01:53 WARN]: java.lang.NoSuchFieldException: ping
[01:01:53 WARN]: at java.base/java.lang.Class.getDeclaredField(Class.java:2610)
[01:01:53 WARN]: at com.extendedclip.papi.expansion.player.PlayerUtil.getPing(PlayerUtil.java:46)
[01:01:53 WARN]: at com.extendedclip.papi.expansion.player.PlayerExpansion.onRequest(PlayerExpansion.java:298)
[01:01:53 WARN]: at Placeh...
Cleaned up Code + fixed an Issue where sometimes if there was players on your server, it'd add an additional player on (eg. Steve is online, %bungee_total% would return 2 players online)
I am trying to use it, but it always return yes. Even when my item is CMD:6380001, but I enter "checkitem_custommodeldata:45687"
Oh, when i restarted papi, it jus fixed itself
Add a new placeholder:
%player_exp_commas% # 100,000
Instead of:
%player_total_exp% # 100000
I have looked all over the Placeholders wiki there is no placeholder for exp using commas.
I'm trying to use the %essentials_safe_online% placeholder in my DiscordSRV bot's status but instead of it saying like "8 players" it only says " players", does anyone know what the issue could be
Plugin Bug
when i reload plugin (/papi reload) i dont get any information about reload was succesful ...
Please provide a /papi dump as requested.
The best guess I can give right now is that your server is blocking the connection to the ecloud and that PAPI is failing silently (Swallows exceptions without mentioning anything).
Another guess is, that the server breaks stuff... again. It's Purpur and they implement pufferfish patches... which broke PlaceholderAPI in the past, so it wouldn't be surprising if something similar happens here again.
If possible, could try out on a Paper server and see if that works?
The best guess I can give right now is that your server is blocking the connection to the ecloud and that PAPI is failing silently (Swallows exceptions without mentioning anything).
Another guess is, that the server breaks stuff... again. It's Purpur and they implement pufferfish patches... which broke PlaceholderAPI in the past, so it wouldn't be surprising if something similar happens here again.
If possible, could try out on a Paper server and see if that works?
paper do...
Does it work if you remove any of the plugins that hook into PAPI (Add their own expansions) like the alonso plugins?
Because my next best guess is, that one of those may have a broken expansion causing some strange loading behaviour (Tho that imo seems unlikely).
The issue with a blocked internet connection may also still be the case. How do you host your server?
Does it work if you remove any of the plugins that hook into PAPI (Add their own expansions) like the alonso plugins?
Because my next best guess is, that one of those may have a broken expansion causing some strange loading behaviour (Tho that imo seems unlikely). The issue with a blocked internet connection may also still be the case. How do you host your server?
i disabled every plugin that has hook to papi but with no success
server is hosted advinservers
i found solution to this but doesnt work everytime
do /papi list
rename plugins that has hooks ig. .jar to .jarr
stop and start server
install expansions using ecloud
/papi reload
stop server using /stop - by player
rename back plugins to normal
start server
skip installing expansions if you have alr installed everything you need
everytime you install new plugin that have hooks redo this
We need a player placeholder for when mounting a mob instead of a vehicle, for example a horse or something like this... ive been searching for it for days and couldnt find one
Hello i was trying to add prefi that will swap player lvl / player ping
ping is coded in plugin but how can i add lvl number?
server is on paper and after adding %player_level% it not show lvl just "%player_level% as text
dodatek:
change-interval: 8000
texts:
- ' &6%ping%'
- '&a%player_level%'
-
placeholders:
date-format: "dd.MM.yyyy"
time-format: "[HH:mm:ss / h:mm a]"
time-offset: 0
register-tab-expansion: true
Could you elaborate more on where you would like to use the placeholders? Which plugin? TAB?
Did you actually download the expansion and reloaded PlaceholderAPI as you should?
Same, it happens to some of my servers:
Lobby safe
Survival happen
OneBlock happen
Creative safe
All of my server is clone each other (so there's no high diffs), got everything same like the plugins version, etc.
I tried disabled ecloud and restarted the server. Then, this what actually happen:
Before running
/papi reloadafter restarted server withecloud off
After running
/papi reload/after restarted server withecloud on(it getting worse, like the beginning before turning off the ecloud ๐) being used by AnimaBossBar, the plugin was removed and this issue still occurs for user.
Before running
/papi reloadwith AnimaBossBar deleted.
After running
/papi reloadwith AnimaBossBar deleted (i shall regret this, like... just do not run/papi reloadfor now)
Add support for attributes
For myself, its not probably PAPI's fault at all, because this happens to the Geyser too. Just like there's must be a plugin to block some "connections" on the server causing PAPI went offline (cannot fetching when /papi reload, etc.) and Geyser not listening to its address/port (maybe we can call it "offline" too).
After hard-debugging, I finally found the impostor. It's Skungee's fault (after the 1.20 updates thing ig). The solution is, try removing that plugin (if you have any) or...
Minor Code improvement (Won't affect Servers)
When I looked at the plugin's commands, I only saw the _/papi ecloud placeholders _ command, but I couldn't see the _/papi placeholders _ command.
**The reason this feature was added is because the authors of some older plugins...
The question is, how should we obtain the placeholders?
A placeholder can be virtually anything and the ecloud command only works because authors can set their placeholders there for PlaceholderAPI to download.
There is iirc a method to return a list of Placeholders inside the PlaceholderExpansion itself. The issue I see with this is, that barely anyone knows about this, so I doubt people would use it.
60bc8fa feat: add support for player ping in 1.20 - darbyjack
Version in PlayerExpansion.java needs to be changed to 2.0.5. Not sure how this stuff works entirely.
hmm no so it will be a base of problem prodably
b516ac0 fix: update version in main class as well - darbyjack
28287c7 1.20 NMS version support - Andre601
74d8fec Bump Spigot version - Andre601
Closes N/A
Adds the 1.20 NMS package name to the NMSVersion enum to properly support the latest release of spigot.
Also bumps the Spigot version to 1.20-R0.1-SNAPSHOT
The question is, how should we obtain the placeholders?
A placeholder can be virtually anything and the ecloud command only works because authors can set their placeholders there for PlaceholderAPI to download.
There is iirc a method to return a list of Placeholders inside the PlaceholderExpansion itself. The issue I see with this is, that barely anyone knows about this, so I doubt people would use it.
**I think this might be the most necessary command for the plugin. Becau...
Please read again what I've written as you clearly ignored the majority of my points.
We can add a command. That wouldn't be the problem.
The problem is where to get the necessary data from.
PlaceholderAPI doesn't have any kind of algorithm or similar that can recognize what kind of Placeholder Pattern an expansion has.
The fact that the ecloud placeholders command works is simply due to the fact that every expansion page has a Placeholders section, which PlaceholderAPI pulls data f...
Please read again what I've written as you clearly ignored the majority of my points.
We can add a command. That wouldn't be the problem. The problem is where to get the necessary data from.
PlaceholderAPI doesn't have any kind of algorithm or similar that can recognize what kind of Placeholder Pattern an expansion has. The fact that the
ecloud placeholderscommand works is simply due to the fact that every expansion page has a Placeholders section, which PlaceholderAPI pull...
Caused by: java.lang.IllegalArgumentException: Attempt to get net.minecraft.server.level.PlayerInteractManager field "net.minecraft.server.level.EntityPlayer.e" with illegal data type conversion to int
Add Custom Advancements placeholders to the wiki
List is sorted alphabetically, so make sure this one is above Custom Items
See my previous post. This entry should be before Custom Items
Plugin/Server Incompatability
in 1.20 %player_ping% does not work. error:
Request adaptation 1.20.1
...
You didn't attach an actual /papi dump output, but I'm guessing you're on an older version. A Player expansion release for 1.20 (2.0.5) was released yesterday, you can download it from this url or in-game with the ecloud.
Hello @welove69,
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...
mcMMO is internalizing papi expansion
Removed download command for mcMMO, they are internalizing the expansion.
- 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
- 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...
8ebdf21 Update Placeholders.md - cj89898
0f0ad8d Merge pull request #972 from cj89898/wiki - Andre601
7bd64a9 feat: use Player#getPing for 1.17+ - iGabyTM
This was suggested by @tanguygab on [discord](#placeholder-api message):
Hey, just realized that 1.17 added a getPing method in the Player class, it could be better to use that in the Player Expansion in case another version changes the ping field, so you use reflection as usual for 1.16- (the field is just "ping" I think) and on 1.17+ you use the method
It would prevent the placeholder to break on new MC versions, again
9c063f5 feat: include VersionHelper - iGabyTM
e9198ef feat: add potion_has and potion_level (clos... - iGabyTM
Plugin Bug
Typing a simple command like /ping %checkitem_give_mat:bedrock,amt:2304%
Gives you a inve...
Hello @Yertled,
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 **Gi...
ffe143a Disabled give and remove placeholders by default - cj89898
Updated for checkitem 2.7.1
Checkitem 2.7.1
a22192b Update Placeholders.md - cj89898
364b27e Merge pull request #974 from cj89898/wiki - Andre601
Added mcmmo placeholders
Added mcmmo placeholders
What is the index number target cursor slot ?
165134f Update Placeholders.md - cj89898
eecc526 Merge pull request #975 from cj89898/wiki - Andre601
185782b feat: update ecloud url - iGabyTM
I've looked at the Paper API and it only exposes the ticks from the last 5s. I highly suggest to use the mspt placeholders of https://spark.lucko.me/
I highly suggest to use the mspt placeholders of spark.lucko.me
With spark, would we use %spark_tickduration% and/or its variants?
wouldn't it make more sense for this to be called something like "has_potion_effect_<effect-name>"?
Perhaps. I just wanted to have the same prefix to be easier to search. I guess I will have to sacrifice that for more readability.
I think that is the best. And when someone goes to the list of placeholders it would be probably better for them to be able to search directly for what they want "has potion effect" instead of having to see what the standard is and go thru each placeholder.
Build: 175
Status: success
Changes:
ecd4c0 Add environment variable to block individual ecloud expansions. - julianArtifacts:
I'm not sure, try and see :D
84d3df2 feat: rename placeholder - iGabyTM
dcfeec9 fix: move potion placeholders outside the `swit... - iGabyTM
ade2c78 feat: rename potion_level placeholder - iGabyTM
Build: 176
Status: success
Changes:
f91b4e feat: fetch all expansions (#952) - githubArtifacts:
I want to keep checkitem based on the inventory itself. I don't count the cursor as inside the user's inventory.
added an entry for EntityControl plugin.
added an entry for EntityControl plugin.
The expansion is unable to grab my players' timezone, and always returns the default.
No errors in console, only the following message:
[LocalTime] Couldn't get untuned's timezone. Will use default timezone.
This pull request adds the environment variable PAPI_ALLOW_UNVERIFIED_EXPANSIONS.
It allows overriding the option set in the config.yml.
Accepted values are (case-insensitive) true, yes and 1 to allow expansions or false, no and 0 to forbid them.
If the environment...
e8892c7 Update Placeholders.md - vk2gpz
9416841 Renamed VKAutoPickup to AutoPickup. - vk2gpz
2ef77d1 Added an entry for VKBackPack. - vk2gpz
7e4dd4e Merge pull request #976 from TeamVK/wiki - Andre601
Nice idea, tho I personally feel like supporting all these specific options for what is basically true/false is not needed.
Just allow true false and then use env.equalsIgnoreCase("true") to check.
Nice idea, tho I personally feel like supporting all these specific options for what is basically true/false is not needed. Just allow true false and then use
env.equalsIgnoreCase("true")to check.
That would also be ok with me, I could make the change to that if requested
There is also this shortcut https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html#getBoolean-java.lang.String-
And I agree with Andre, true and false are enough.
There is also this shortcut https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html#getBoolean-java.lang.String-
And I agree with Andre, true and false are enough.
That method is just return value.equalsIgnoreCase("true"); xD
Plugin Bug
The problem is not from placeholder directly, I'm using citizen on my server (the build Ci...
I highly doubt that papi is causing this. It doesn't have any listener for entity damage, and I don't see how this would happen. Can you try to remove the expansions and see if the issue still persists?
Also, the reason you are being banned from the Citizens discord is because you are using several leaked plugins :)
I use Citizens and PlaceholderAPI on my Server and there are no knockback issues whatsoever. This issue is most likely caused by a 3rd plugin that changes something when PlaceholderAPI is added. Actually test it on a fresh server with just Citizens and PlaceholderAPI themself. If it works fine, then another plugin causes this.
Okey thx for the answer.
But how can i found the 3rd plugin who will cause the problem ? If i see no errors.
Thx for the answer of the banning but like i said on the spigot page, before banning, it can be nice to communicate the problem.
which plugins are leaked ? You said there is several plugins. Ok, which ones ? I bought by myself so much of these plugins so i will be happy to know which ones are the premade plugins who are not bought ?
I will contact my mate to have informations ...
Added Folia support using https://github.com/Anon8281/UniversalScheduler
ping 0 to 20 milliseconds color blue
After manually compiling the expansion with an added debug log, turns out the issue is rate limiting. Every response is coming back with a 429 error.
Contacting IPAPI to request a trial API key and appending it to the end of the request fix the errors, however this shouldn't be a permanent solution.
Hey guys,how did you resolve it?I want to do it with the same method.
Thanks!
Remove the # and it works. This should still be fixed though.
Just saw this pop up in the discord, and was just curious about adding has_potion_effect when we already have has_potioneffect.
I noticed extra code was also put in for the new one, instead of them running the same thing code.
I am trying to make a team joining system (Kinda like bedwars), I suceeded on the command for joining a team but I can't figure out how to display how many players there are in a team and also who is in the team. I would apprieciate it alot of anyone could help me because I started programming in minecraft a week ago.
The only thing I found was this: https://github.com/Paul19988/TeamsExpansion/ but I don't understand how it works...
Plugin Bug
I often get an error in the console without executing any command, I notice that this erro...
Hello @Faobi69,
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 **Gi...
Plugin Bug
show the numbers and not %%
Hello @4kKoZ,
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 **GitH...
Expansions Registered:
atr [Author: [Morelaid], Version: 10.9]
auctionhouse [Author: klugemonkey, Version: 3.5]
discordsrv [Author: [Scarsz, Androkai, Vankka], Version: 1.26.2]
excellentcrates [Author: NightExpress, Version: 4.3.0]
gcore [Author: GuillaumeVDN, Version: 1.0.0]
supervanish [Author: [MyzelYam], Version: 6.2.17]
Expansions Directory:
You don't have the expansions installed ๐ (statistic and vault)
why is this ticket closed though if its still in progress?
Does placeholder already support folia?
7e7646e feat: add expansion type to PlaceholderExpansion - iGabyTM
4a32f59 feat: disable eCloud check for internal expansions - iGabyTM
Line 304 in LocalExpansionManager should have a
&& isExternalExpansionadded to avoid checking for updates with a local expansion.
Done
Placeholders that say:
what was it?
I solved, it was a small problem, I feel so stupid, you can close the issues
Is not possible to use guava's cache instead of making your own system?
Use PAPI's logger to avoid confusion and keep the id of the expansion as prefix
Minor Code improvement (Won't affect Servers)
I am kindly requesting the listing of ChatControl Red plugin as compatible with PlaceholderAPI at https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/Placeholders
A list of its variables that work with PAPI is found here:
https:...
Hello @kangarko,
Thank you for reaching out to us about the wiki.
We would like to inform you, that you are able to directly commit your changes to the wiki through a Pull request.
When doing so, make sure you follow these steps:
wiki branch of the Repository.Corrected - previous usage of Bukkit's logger was for parity with the original source code
Thank you for pointing that out. Previously I was using my own system to avoid additional dependencies, and have more granular control over the cache, however in this context that really isn't necessary. Latest commits now reflect the appropriate changes
Added an entry for Enchantment standalone expansion.
added the download link to Github release page.
Plugin Bug
I would just like to notify you that the /papi dump command is not working.
We are experiencing some issues with our host. The paste is offline.
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...
API Bug
Missing placeholders in essentialsX extansion. For example in 1.19.3 there not %essentials_ba...
What is that issue exactly about? The Plugin? The Wiki?
If it is the Wiki, then use the discussions and not issues for this.
If it is about the plugin, then this is not a PlaceholderAPI issue at all and should be moved to the right issue tracker.
Could support be added for using an API key? People on shared hosts may not be able to use this regardless if other people on the same machine are making API calls. See: #3
it is about placeholder. it lacks placeholders for essentials as I explained in my problem. I agree go see them who told me that the problem is with placeholder api. so either your wiki is not up to date or you have lost placeholders like those mentioned for 1.19.3
I don't know where I should go to report this issue. this is the only place i have found to report a few things
Hello @mat37dev,
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...
Missing placeholders in essentialsX extansion. For example in 1.19.3 there not %essentials_baltop_balance_% or or similar placeholders. (other example: %essentials_baltop_player_%)
Plugin PlaceholderAPI v2.11.3 generated an exception whilst handling plugin message
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:4...
I'm having this same issue!
Adds my plugin to the wiki pages
Using the resident getter from TownyUniverse can yield to a null object which causes the placeholder replacement to fail with a NullPointerException.
This pull request lets the method return "" in the case of any Exception and when the Resident object is null where it shouldn't.
36fa9ac feat: distinguish expansions (external or inter... - iGabyTM
Build: 177
Status: success
Changes:
36fa9a feat: distinguish expansions (external or internal) (fixes #945) (#953) - githubArtifacts:
Hey,
I use the Pinger expansion to get the amount of players on my bungeecord network, but it always shows a player count of 0.
My server is running under ImanitySpigot 1.8.8 and i use the latest version of PlaceholderAPI.
This is not aplaceholder api problem.
Adds AngelChest to the Plugin/Placeholder lists
Plugin Bug
[00:39:45 INFO]: ImRama issued server command: /papi parse me %player_ping%
[00:39:45...
Hello @iRama7,
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 **Git...
195158b Use new format for note block [skip ci] - Andre601
Add BetterTeams placeholders to the wiki
Plugin Bug
i download plugin playerstats using command /papi ecloud download PlayerStats and reload a...
Hello @bebraamogusa,
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.
----<br><br> > [!NOTE]<br> > *This is an automated response crea...
Plugin Bug
my friends player name is player_unfounded When he exits the game, the command line wi...
How does your config for "tabplugin" looks like?
The errors first of all point to an expansion provided by some plugin, so this is most likely an issue by whatever this plugin is that adds this expansion.
How does your config for "tabplugin" looks like?
ๆจ็ใๆจ็ฑคๅคๆ็จๅผใ้ ็ฝฎๆฏไป้บผๆจฃ็๏ผ
i use this https://www.spigotmc.org/resources/tab-plugin-1-20.110126/
and this is my config file
#The config for changing your tablist!
#NOTE: ALWAYS use "" for text. PlaceholderAPI + Animations are supported! Find more information at https://github.com/Niall7459/KiteBoard-Documentation/wiki/Animations-and-Modifiers
#If you still see %...% do '/papi ecloud download player' + '/papi ecloud download server' ...
The issue is caused by the animation expansion, as it doesn't check if the player is still online before parsing the placeholders.
I'm trying to use this PAPI expansion with a 1.20.1 Purpur Server, I've downloaded it and used papi reload. When I enter the command papi parse me %geolocation_country% or just any geolocation placeholder I get invalid identifier. Does this still work? Am I doing something wrong?
I know this is an old PR, but it seems like this code is good. Maybe if it could integrate well with the current codebase for this expansion. I do like the features added by this PR, so as long as any merge conflicts could be resolved, then it's my opinion that this should be merged.
Having the same issue, please fix
Closes N/A
Adding the PocketHorses, PremiumReports and UltimateServerManager plugins to the wiki
c8e603b Update Placeholders.md - zPikaa
9308125 Update Plugins-using-PlaceholderAPI.md - zPikaa
6f349d7 Merge pull request #996 from zPikaa/wiki - Andre601
Plugin Bug
After updating our server to 1.20, the javascript placeholders seem to have stopped workin...
Hello @OfficialBlueseph,
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.
----<br><br> > [!NOTE]<br> > *This is an automated response ...
For the moment, downgrade to PlaceholderAPI 2.11.2. This is but that was accidently introduced in 2.11.3, and it will be fixed in the next release.
62f53d0 feat: add prefix, format and suffix - iGabyTM
Confirmed by @pyke666 on HelpChat's Discord
Fix localtime expansion bug returning server default time to all players, permanent, temporary or an alternative such as being able to obtain the timezone and thus use %localtime_timezone_{gettimezone}%
How do you reset statistics for all players?
ๅฐ่ฏไฝฟ็จQuickJS๏ผๆดๆนPAPI้ ็ฝฎ๏ผ
QuickJS didn't work (on my server)
After downgrading to version 2.11.2, I still seem to be having issues with the Javascript placeholders
API Bug
My plugin is not loading even though the PlaceHolderAPI is present and has already loaded.
...
this is not coming from the PlayerExpansion, nor from the ParseOther expansion but from the OfflineManager one which you're using in one of your DeluxeMenus menus
Lots of changes ๐
Moved to Gradle
Added %player_health_full(_rounded)%, %player_time_since_last_played(/join)%, %player_time_since_join%, %player_item_in_hand_lore% with its offhand and armor variants (closes #64) and %player_last_damage_given% (closes #13, can't believe it took 4 years just for that)
Since I'm using enhanced switch statements now (lots of them :D) I'm guessing this now requires at least Java 14, though most servers should have updated to 17 now and other expan...
Why? Please remove this.
Use real names for methods
Use java 8, this applies to the rest of the files too.
8fc41e3 [Wiki] Add paper-plugin.yml example - Andre601
Closes N/A
Adds paper-plugin.yml examples to the "Hook into PlaceholderAPI" page on the wiki.
This adds missing NotNull annotations to three setBracketPlaceholders methods. As they all internally just call methods which already are annotated with NotNull for both the return value and the parameters, it's safe to add the annotations t...
Plugin Bug
Can't install skript placeholder
Install Skript Placeholder
Looks like the expansion isn't verified. PlaceholderAPI won't retrieve nor download expansions that aren't verified on the ecloud for safety reasons.
API Bug
Hello,
This has been mentioned a couple of times before but I'm finding that none of them ...
The logs (Especially the error) is hard to read. I assume you just copied straight from the console?
Maybe copy the latest.log instead?
Remove the townychat expansion jar, the plugin is not installed from what I can see.
but then why have it in placeholder list and i have seen pic of it in there before.
i am having the same problem i am just trying to add a skript var in my scoreboard can you please fix this
but then why have it in placeholder list and i have seen pic of it in there before.
We have a large text at the very top of the page that explains why:
Note
We only add and/or update placeholders on request.
We aren't responsible, to keep the placeholders of your plugin(s) up to date.
If anything about your expansion/plugin has changed, consider making a Pull request to commit the changes yourself.You can...
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...
Build: 178
Status: success
Changes:
28287c 1.20 NMS version support - github74d8fe Bump Spigot version - github195158 Use new format for note block [skip ci] - githubArtifacts:
Hi, maybe you can fix the %localtime_time% localtime placeholder using the EssentialsX GeoIP API
Update the Essentials expansion by adding the following placeholders with the EssentialsX GeoIP API
%essentials_geoip_timezone% = player time zone
%essentials_geoip_localtime% = player local time
good to merge, my comments are just on capitalisation which doesn't really matter, idc if the things I highlighted get changed or not
internal -> Internal
just small capitalisation error
f7ee0ce Fix capitalization errors - Andre601
(I still think you should more explicitly warn against making external expansions if youโre the plugin dev as per previous review!)
(I still think you should more explicitly warn against making external expansions if youโre the plugin dev as per previous review!)
I'm personally against that. While internal expansions may have benefits is making an external one not inherently bad. So "warning" them about that would be the wrong aproach.
The current setup should imo be the best aproach here, as it explains internal ones first with their benefits before later tackling external ones.
(I still think you should more explicitly warn against making external expansions if youโre the plugin dev as per previous review!)
I'm personally against that. While internal expansions may have benefits is making an external one not inherently bad. So "warning" them about that would be the wrong aproach.
I donโt have metrics on hand but Iโd wager 85%+ of the developers reading this bit of documentation are looking to add placeholders for their plugin. I just donโt see a compe...
If a warning isnโt what youโd like to add, maybe some examples? Like โWho is an external expansion good for?โ โ> Bespoke / independent extra placeholders, add-ons for existing plugins made by other authors VS. โWho is an internal expansion good for?โ โ> If you want to add placeholder support for your own plugin.
External exp...
yeah okay, I do see this now :) thanks for highlighting it to me. I did give it a read through; my eyes mustโve glanced over this.
I honestly won't have this discussion here, as this is just pointless nitpicking that would barely give any benefits whatsoever
No offence intended!! All in good heart from my end :) โ your wo...
Perhaps the ecloud itself should be updated and have like a large banner informing the user that it's recommended to try and make internal expansions... Or to mention the most common types of expansions this ecloud is meant for.
I just feel like the wiki itself shouldn't be the only source here and we should also stay away from being so opinionated here. Each type has its benefits and drawbacks and we shouldn't tell users "This one is much more awesome!" tbh...
It's a Gradle project, so if you want to build it, you have to use Gradle instead of Maven for PlaceholderAPI.
The command should be gradlew clean shadowJar (or ./gradlew clean shadowJar if you're on Windows).
Tho, if your goal is to hook into PlaceholderAPI is it highly recommended to use the external repository instead of using jar files.
A starter guide is found here: https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/Hook-into-PlaceholderAPI
@iGabyTM I see this is not being included, do you prefer me making a pull request?
Hello @kangarko,
Thank you for reaching out to us about the wiki. We would like to inform you, that you are able to directly commit your changes to the wiki through a Pull request. When doing so, make sure you follow these steps:
- The Pull request is based on AND targets the
wikibranch of the Repository.- You followed the general Styling Guidelines mentioned in the wiki's [README](https://github.com/Placehol...
I believe you can read, do you not?
Could've been said a bit more nicely imo, but yeah. It's often better to make PRs towards the wiki branch to update stuff. That way can you provide all possible placeholders and maybe also a link to a documentation or alike...
If you have any questions about submitting a PR for the wiki or have any other questions don't hesitate to ask us about it.
I can. "If you have any questions about submitting a PR for the wiki or have any other questions don't hesitate to ask us about it."
Hello @kangarko,
Thank you for reaching out to us about the wiki. We would like to inform you, that you are able to directly commit your changes to the wiki through a Pull request. When doing so, make sure you follow these steps:
- The Pull request is based on AND targets the
wikibranch of the Repository.- You followed the general Styling Guidelines mentioned in the wiki's [README](https://github.com/Pl...
I believe you can read, do you not?
Could've been said a bit more nicely imo, but yeah. It's often better to make PRs towards the wiki branch to update stuff. That way can you provide all possible placeholders and maybe also a link to a documentation or alike...
Thanks, will do!
there is currently no expansion that support such function of detecting whether a player is using elytra flying and glide, if possible please add it, thank you
Could you provide an example, so that we can better understand it?
@PiggyPiglet @darbyjack are you considering to merge this PR?
Build: 179
Status: success
Changes:
92a7d5 Add environment variable to override cloud_allowunverified_expansions - julian42cfe1 simplify env values to true/false - julianArtifacts:
A new PlaceholderAPI release is now available.
Below is the full changelog of what has been changed and/or added to PlaceholderAPI. Enjoy.
Thanks to @iGabyTM will PlaceholderAPI now fetch all available expansions from the eCloud, no matter their verification state.
Should you try to download an expansion from the eCloud that isn't verified will PlaceholderAPI info...
Build: 180
Status: success
Changes:
5b1a8e 2.11.4 release - githubArtifacts:
Build: 181
Status: success
Changes:
c0f824 Update build.gradle.kts - githubArtifacts:
Build: 182
Status: success
Changes:
d35a49 Update plugin.yml - githubArtifacts:
Remove unused toggle permissions
Been using it for a while and I have 0 issues with it on prod
changed %randomnumber_number% to %randomnumber_value%
updated the placeholders for RandomNumber
As in, the statistic add-on, I could do /placeholder (theplaceholder) set (value) (..)
af0b475 Add Hangar and BuiltByBit pages to readme - Andre601
PlaceholderAPI is also available on Hangar (Paper's own plugins sharing platform) and BuiltByBit (formerly mc-market).
This PR adds those links to the readme to allow them to be found more easily. Maybe a announcement in the discussions tab should be made too to in...
d3646a9 Change Built By Bit to BuiltByBit Page - Andre601
491abd6 BuilT not BuilD - Andre601
API Bug
java.lang.IllegalArgumentException: Attempt to get boolean field "net.minecraft.server.le...
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...
The issue is caused by the player expansion, not PlaceholderAPI itself.
oh sorry then, my mistake, thanks for reply !
Fixed with 2.0.5
same error on 1.20.2, using 2.0.5
same had no issues after using for months
New API feature
Folia servers have good multi-core performance, which allows many operators to avoid purchasing servers with high clock rates
No response
No response
No response
Pretty sure this issue is no longer relevant?
Or are there still issues with this particular version?
#980
Already planned.
My 1.12.2 server is always marked as offline with the expansion but it works fine with newer versions such as 1.20.2. I have tried almost everything, adding debugs to the expansion ect.
Plugin Bug
When parsing ping or using a ping placeholder in any other capacity it fails to work.
###...
Update the player expansion
Hello @Strahilchu,
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.
----<br><br> > [!NOTE]<br> > *This is an automated response create...
[15:42:43 INFO]: Strahill issued server command: /papi parse Strahill %player_ping%
[15:42:43 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'papi' in plugin PlaceholderAPI v2.11.4
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[purpur-api-1.20.2-R0.1-SNAPSHOT.jar:?]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:168) ~[purpur-api-1.20.2-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbuk...
Version 2.0.5 Release Notes
Adds support for ping on 1.20.x
For me it shows that the latest version is 2.0.5 updated on June 16, 2023, this pull request was merged on August 27, 2023.
On 1.20.2, version 2.0.5 is broken with the error shown in issue #88
Ahh I see. I will release an update in a few.
It is live @NicoNekoDev you can download it manually from the eCloud, it will take 1-2h to be available in game due to caching.
The code of the expansion on the ecloud doesn't match the one from the repo, people are still experiencing the issue (I just tried and I can confirm it still happens)
Updated ParseOther for UUID addition
Updated ParseOther for UUID addition
eba3b62 Update Placeholders.md - cj89898
7493dfa Merge pull request #1010 from cj89898/wiki - Andre601
Closes N/A
adding my plugin to the wiki
API Bug
javascript expansion not loading
should just load the javascript ext...
6025003 Update Placeholders.md - aabssmc
da04d44 Update Plugins-using-PlaceholderAPI.md - aabssmc
e5df574 Merge pull request #1011 from aabssmc/wiki - Andre601
Zip file closed
This means that something closed the class loader PlaceholderAPI uses, resulting in this issue.
This also means that this is not an issue caused by PlaceholderAPI nor one we are likely able to fix.
After using: /papi ecloud download Bungee
And started using the "%bungee_myserver%" placeholder I'm getting this error:
This has been happening for some time now but apparently no one has commented yet.
It seems someone already mentioned this at #11
@darbyjack @Speedy11CZ @cj89898 I would appreciate it if you could take a look at this.
I understand that everyone has their own personal life and your free time may be limited, but this is the only expansion that I know about bungeecord and it is verified on PlaceholderAPI, which gives us no other option.
Closes N/A
Is there any documentation for how to use this addition? Release notes only mention the inclusion of the feature, not how to pass the %server_time% placeholder in the %server_countdown% placeholder
Did this ever get documentation, because I still can't figure out how to do it correctly.
same had no issues after using for months
+1
Warn and prevent users from using old expansions that pose a security vulnerability if threat actor has permission to trigger placeholders
In my opinion, this could help some networks prevent security issues
Any suggestions are highly appreciated since I know my code doesn'...
The idea is nice, but having the values hardcoded into the plugin is a bad idea.
Because every time there would be a new security issue with an expansion version would we need to update the code and publish a new version for people to download. This would just be bloat.
A better aproach would be to have an option in the ecloud's expansion version output and have PAPI check that.
The idea is nice, but having the values hardcoded into the plugin is a bad idea. Because every time there would be a new security issue with an expansion version would we need to update the code and publish a new version for people to download. This would just be bloat.
A better aproach would be to have an option in the ecloud's expansion version output and have PAPI check that.
Well my intial idea was to ask pigplet or someone to make an endpoint at ecloud api but i doubt they wi...
Build: 183
Status: success
Changes:
c7a490 remove ability to download unverified expansions - PiggyPigletArtifacts:
Build: 184
Status: success
Changes:
b64f02 fix config version variable and set release version - PiggyPigletArtifacts:
Build: 185
Status: success
Changes:
57fa68 change version to .6-dev - PiggyPigletArtifacts:
Title says nothing at all, how is it "not working" ? Does it not parse (= return %player_level% instead of a value), does it return 0 ? does it not return the right number? Are you using the placeholder in a plugin that supports PlaceholderAPI?
In case the placeholder doesn't parse, make sure you downloaded the Player expansion (/papi ecloud download Player and /papi reload, you can check if it's loaded with /papi list)
In case it still doesn't return the correct value, please p...
This has finally been fixed in 2.0.7
I added this in my Player expansion fork if you're interested
https://github.com/Tanguygab/Player-J17-Expansion/releases/tag/1.0.1
Added nameless_store_credits placeholder, and changed namelessmc_ prefix to nameless_ because apparently it was wrong all this time https://github.com/NamelessMC/Nameless-Plugin/issues/355
Not merging this as we now have applied some patches on the ecloud and in the plugin to hopefully avoid these security issues in the future.
Added the plugin ItemRenamerReloaded to "Plugins using PlaceholderAPI" in the wiki.
Closes N/A
e12f969 Update Plugins-using-PlaceholderAPI.md - Llopeando
440e270 Merge pull request #1017 from Llopeando/feature... - Andre601
73f9e93 [Wiki] Add AdvancedServerList - Andre601
Adds AdvancedServerList to the wiki pages of Placeholders and Plugins supporting PlaceholderAPI.
Closes N/A
995d5c8 Add entry to Placeholders.md - Andre601
4cdecf4 Remove useless extra space - Andre601
73f9e93 [Wiki] Add AdvancedServerList - Andre601
995d5c8 Add entry to Placeholders.md - Andre601
4cdecf4 Remove useless extra space - Andre601
87cb643 Merge pull request #1018 from PlaceholderAPI/fe... - Andre601
It crashes [MoreFish] plugin and this is the log for it
server log - https://paste.helpch.at/jazaroriso.rb
papi dump - https://paste.helpch.at/uluvemobeg
Is there a way to solve this problem?
MoreFish is using a no longer existing part of PAPI that has been removed for pretty much years now.
Just remove the plugin, or check if there is an updated version
Hello, I want to use Placeholders and I am using them, Tho I want to Show the Top player of an Placeholder wich is named statistic_fish_caught and I want to show him in My Scoreboard (simplescore is the plugin) and I want to show the 1st Place of The fish caught Placeholder and I didnt find how to do that, It would be very Helpfull if someone Could Help :)
Neither PlaceholderAPI nor the statistics extension provide a leaderboard functionality.
Tho, there is AJLeaderboards, which allows a leaderboard system with pretty much any placeholder from PlaceholderAPI. Maybe give that a look.
Thanks for the fast Reply, tho I tried The Ajlb Placeholder, if im dumb here im sorry im pretty new but I tried: statistic_fish_caught_1_alltime and it didnt recognize it, I understand That its probably because of Simplescore Because it Doesnt Use The Ajlb Placeholder functionallity
Thankyou For the Suggestion, It works Now! I forgot to Add the %statistic_fish_caught% to ajlb so it didnt recognize it ofc Thankyou so so much!
Plugin Bug
Hi! Every time when I start my server, I get this error. Does anyone know, how to fix it?
...
Hello. This issue seems to be related to the Server Expansion you have installed on your server: https://api.extendedclip.com/expansions/server/. This is not related to PlaceholderAPI the plugin but with one of the expansions. I suggest you open an issue on this repository: https://github.com/PlaceholderAPI/Server-Expansion/
Hello @1kdani,
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.
----<br><br> > [!NOTE]<br> > *This is an automated response created by...
I had the same issue and downgraded Paper from 1.20.2 to 1.20.1 and that solved it, looking forward for an update or better solution.
looks like it is happening again, but only locale placeholders is what doesn't work, it happens on PaperMC with just PAPI plugin and Player expansion, happening only in 1.20.2, this is what shows up in console
only locale related placeholders don't work
Not a PAPI issue but one related to the player expansion.
all the placeholders related to Player Locale won't work on 1.20.2, even in a fresh server with only PAPI and Player Expansion
this is all what i get in console when parsing the locale
Closes N/A
It's hard to say which is better. In my opinion, "mandatory" sounds better than "required", but perhaps it's still too much.
Yeah. The current change is fine enough. We can consider a change for the future perhaps...
Will merge this now as I can't see why we should delay this small change any further and not promote the alternative download locations.
Build: 186
Status: success
Changes:
af0b47 Add Hangar and BuiltByBit pages to readme - githubd3646a Change Built By Bit to BuiltByBit Page - github491abd BuilT not BuilD - githubArtifacts:
Every time I add the placeholderAPI plugin to my plugins it does not detect the expansions of other plugins such as Vault, Luck Perms and others.
"But you can use the command /papi ecloud download "
It works for plugins that are in the cloud, but any Scoreboard plugin I use doesn't work.
it literally doesn't work, someone help me, I'm using the SimpleScore Plugin
The plugins you mentiond don't include the expansions by themself, meaning you have to install them using the PAPI ecloud command.
Also, it's up to the scoreboard plugin to actually provide PlaceholderAPI support. If the plugin doesn't add it, then there is nothing we can do.
Double check that the plugin actually supports PlaceholderAPI and that you actually use the right placeholder patterns.
What are you saying by "if the plugin was added" why was it supposed to be added when installing SimpleScore?
I never said that. Read again.
Plugin/Server Incompatability
I get the warning when starting the server.
This error only occurs i...
Nothing in the error points to this being an issue of PlaceholderAPI. It at most is caused by a separate plugin, which also has been pointed out in the issue you mentioned.
However, it only occurs when playerholderapi is used on the server.
Still doesn't mean it's PAPI's fault here... At least from the error you provided.
If you want help, share the full log too. But so far nothing here points at PlaceholderAPI being at fault. At most could it be an expansion, which isn't our responsability here.
Will this PR be supported in versions 1.20.3 and 1.21 in the future?
I receive the following warning with this extension.
https://github.com/PlaceholderAPI/PlaceholderAPI/issues/1024#issuecomment-1828859844
All it changes is it adds my new placeholders
Closes N/A
9c5c837 Update Placeholders.md - aabssmc
c530b11 Merge pull request #1025 from aabssmc/wiki - Andre601
hava 1.20.1? please,i very need
Supports both bukkit and folia
Are there any benefits compated to #980 which also tries to add Folia support?
This PR is based on https://github.com/handy-git/FoliaLib
Advantages:
You can compare the two underlying projects to determine which one needs to be merged
Plugin/Server Incompatability
I am using MythicMobs and PlaceholderAPI. I got the following error in ...
Hello @MarvinKlar,
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.
----<br><br> > [!NOTE]<br> > *This is an automated response create...
I got the following error in my console: https://pastebin.com/eTCRYHcj
"java.lang.NullPointerException at com.extendedclip.papi.expansion.checkitem.CheckItemExpansion.onPlaceholderRequest(CheckItemExpansion.java:583)"
See https://github.com/PlaceholderAPI/PlaceholderAPI/issues/1027
Plugin Bug
I have identified a potential remote code execution (RCE) exploit in PlaceholderAPI, spe...
This was an issue with the javascript expansion and it was patched. The versions that were vulnerable can no longer be downloaded from the eCloud, and as a matter of fact the expansion is not even verified anymore.
Open an issue on https://github.com/PlaceholderAPI/Essentials-Expansion/issues if this is still a problem and the placeholder doesn't work at all - not only on DSRV.
Open an issue on https://github.com/PlaceholderAPI/Essentials-Expansion/issues if this is still a problem and the placeholder doesn't work at all - not only on DSRV.
MoreFish is using a no longer existing part of PAPI that has been removed for pretty much years now.
Just remove the plugin, or check if there is an updated version
Might be worth looking at the release notes of the most recent release,
https://www.spigotmc.org/resources/placeholderapi.6245/update?update=521295
As you said, the exploit exists only on older versions of the javascript expansion, and we can't do anything about that. The problem was patched and we made an announcement to let everyone know about the issue and that they must update ASAP!
Why are you reporting this only now? Do you use one of the affected versions by any chance? If that's the case, download the latest version manually from the eCloud and it will be fine.
1a94666 feat: add raw countdown / count-up placeholders... - iGabyTM
Changes:
Additions:
Dev note: Player#getLocale exists since 1.12
Typo? I assume you meant Cannot instead of Count not?
I think this should be updated to work with the new Config location. Just in case this old path may eventually not exist anymore in paper.
Is there any other use for CURRENT_VERSION outside the IS_1_17_OR_HIGHER part?
If not, then we could check for the existance of Bukkit.getServer().getMinecraftVersion() that was added in 2020, and if it does, get the version through it, remove dots and use that version.
And if it doesn't exist is the build from before 2020, so before ~1.16 itself.
Alternatively, just use Bukkit.getServer().getBukkitVersion().split("-")[0] like we do already somewhere else...
This entire thin...
Currently this is only used for one check, yes, but in the future we might implement more placeholders that target a certain version. Plus, the code only runs once and then the number is cached.
The code turns 1.20 into 1200 and 1.12.2 into 1122. Without the extra 0 for 1.20, 1.12.2 would be greater than 1.20.
Perhaps the usage of protocol versions here could be beneficial. They are always increase per protocol with only a few MC versions sharing the same protocol version (Usually ones with bug fixes).
A method for it would be available through the Unsafe class. Not sure since when it exists tho and if it is only in Paper o also in Spigot...
PlaceholderExpansion already provides logging methods. log, info, warning, severe.
this is 1 mebibyte MiB, not 1 megabyte MB.
The standard is MiB, but it should probably be made clear what it is in the comment and variable name.
PR REJECTED!!! WHERE IS clazz? ๐คฃ
Considering this is a big rewrite, should we maybe consider a translatable option for this? I think the easiest is just add 5 new options in config and default them to w, d, h, m, s.
The issue with that is, that it isn't available on all versions... If people decide to use an outdated PAPI version would this cause issues...
I see. Well, I don't mind either way. It was just a mention. I personally am of the opinion that people shouldn't use outdated versions of PAPI, but it is what it is.
I'm attempting to parse the following: %parseother_sewdohe_playertime_time%
and I get the following error in my server console:
[21:47:56 INFO]: Sewdohe issued server command: /papi parse --null %parseother_sewdohe_playertime_time%
[21:47:56 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'papi' in plugin PlaceholderAPI v2.11.5
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar...
You need to include the {} in the placeholder
For general support I'd visit the HelpChat Discord
So, every time i try to give a user an item eg. %checkitem_give_mat:TORCH,amt:1% that amt: value is * by 3 so if i do %checkitem_give_mat:TORCH,amt:2% it will give 6, %checkitem_give_mat:TORCH,amt:3% will give 9.
The same issue happens with the %checkitem_remove_mat:TORCH,amt:2% it will * by 3 and it will take 6 instead of 2. Only these two placeholders seem to have that issue, the rest are fine
~ CheckItem Expansion: 2.7.2
~ Server: Paper-318 (MC: 1.20.2)
Plugin Bug
I needed to use the %world_player_% placeholder but i didnยดt worked because the plugin cou...
The expansion is not verified, you have to download it manually from here: https://api.extendedclip.com/expansions/world/
Your issue has beeen marked as invalid.
This means that it either doesn't follow any provided template, or isn't related to PlaceholderAPI.
Please make sure to use one of the issue templates and provide the requested information.
Currently available Templates are:
The same problem occurs occasionally in my environment.
[11:04:56] [Server thread/ERROR]: Failed to load class files of expansion.
java.util.concurrent.CompletionException: zip file closed (expansion file: /data/plugins/PlaceholderAPI/expansions/Expansion-math.jar)
at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.lambda$findExpansionInFile$7(LocalExpansionManager.java:443) ~[?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(Unknown Source) ~[?:?]
at ...
Perhaps it depends on when the "stream" object here is destroyed?
Placeholder API is dropping sometimes the following issue on startup an no of the extensions are going to work. What can I do?
`[03:35:55] [Server thread/ERROR]: [PlaceholderAPI] Failed to load class files of expansion.
java.util.concurrent.CompletionException: zip file closed (expansion file: /home/container/plugins/PlaceholderAPI/expansions/Javascript-Expansion-2.1.2.jar)
at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.lambda$findExpansionInFile$7(LocalExpansionManag...
I'm so sorry - I should've read the docs more closely.
Thank you!!
@cj89898 Do you have any clue why I get this error?
I was trying to contact you in the HelpChat Discord, which is a lot better for quick support for issues like this.
Can you try updating the expansion first? If that doesn't work, please provide the exact placeholder you are having an issue with.
ParseOther security update changes
16bf445 Update Placeholders.md - cj89898
06579f4 Merge pull request #1030 from cj89898/wiki - Andre601
https://www.spigotmc.org/resources/headhunter-rpg-system-discontinued.32459/
Hey i have buy'd haedhunter RPG plugin and installed it and configured it to my needs.
The only problem i am faceing right now is how do i get placeholder to support this commands in the plugin?
HeadHunter_Level
HeadHunter_LevelPercent
HeadHunter_XP
HeadHunter_XPPercent
HeadHunter_PlayerSkulls
HeadHunter_MobHead_{EntityType}
is it possible that this can be hooked or something, so i can use it in my s...
This PR acts as a proposal to move the wiki from its current location in the wiki tab of this repository, to a dedicated page using GitHub Pages and the static site generator MkDocs.
Here are some reasons for why a move is recommended:
I want to also mention that there would be certain steps required to be made in this repository, should this PR and the move be accepted:
Pages setting would you need to set the source to GitHub ActionsEnvironments setting would you need to update the github-pages environment (or make one if not present) to have the wiki branch set. This one is important as it will otherwise prevent the action from running.New config option
Allow one placeholder to be used as an argument to another placeholder.
For example, I would like to put one placeholder inside another
Placeholder 1: %example_placeholder_%
Placeholder 2: %second_placeholder%
I would like to do this: %example_place...
A. This already exists in the form of Bracket Placeholders.
B. PAPI doesn't control how placeholders are directly parsed, expansions are in charge of parsing. Some do bracket placeholders, some don't.
Add a way to set in cache some javascript, so for heavy javascript, if a plugin parse it every second, it uses a lot of cpu/ram
So make a cache of 5-10s (configurable) would help this, and save a lot of performances
I am getting the following build error:
10:22:07 Could not determine the dependencies of task ':shadowJar'.
10:22:07 > Could not resolve all dependencies for configuration ':runtimeClasspath'.
10:22:07 > Could not find com.github.Anon8281:UniversalScheduler:0.1.3.
10:22:07 Searched in the following locations:
10:22:07 - https://oss.sonatype.org/content/repositories/snapshots/com/github/Anon8281/UniversalScheduler/0.1.3/UniversalScheduler-0.1.3.pom
10:22:07 -...
Sorry guys, forgot about repo
The TPS Calculation needs to change I recommend adding placeholders for
The TPS Calculation needs to change I recommend adding placeholders for
- Lowest Region TPS
- Median Region TPS (I think this should replace normal server_tps on Folia)
- Highest Region TPS
- Player Region TPS
- (Maybe Specific Region TPS, but I don't think this is needed)
This should be part of a folia expansion, I don't think is worth to add extra placeholders in the server expansion that will be available only for folia.
The TPS Calculation needs to change I recommend adding placeholders for
- Lowest Region TPS
- Median Region TPS (I think this should replace normal server_tps on Folia)
- Highest Region TPS
- Player Region TPS
- (Maybe Specific Region TPS, but I don't think this is needed)
This should be part of a
foliaexpansion, I don't think is worth to add extra placeholders in the server expansion that will be available only for folia.
If so, then I think th...
I tested it and the server_tps is always 20
Should I make an issue on Server-Expansion about the TPS when this PR is merged ?