placeholderapi / player-expansion Goto Github PK
View Code? Open in Web Editor NEWAdds player placeholders
License: GNU General Public License v3.0
Adds player placeholders
License: GNU General Public License v3.0
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)
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, its amount is 10. So the placeholder would be smth like %player_attributelevel_attack% and it would display number 10 (as long as the player holds the item)
I updated to the latest version and my ping starts at red and goes green if it gets laggy.
Should be the other way around.
Can we get an supplementary placeholder that returns proper title text, e.g. "Warm Ocean" instead of "WARM_OCEAN". I thought it might be useful information to display to my players on their scoreboard. Yes I could just write a Js hook for this, but I feel it would increase server overhead, when the string could just as easily be formatted in papi. Perhaps, just %player_biome_formatted% would be nice to have. Thanks.
Ability to check player recipe status. Can be useful on servers with doLimitedCrafting gamerule.
%player_can_craft_<recipe>%
%player_can_craft_minecraft:iron_hoe%
%player_known_recipes%
Spigot 1.14.3 (Spigot 5e4e7f32349feb)
PlaceholderAPI 2.10.3
What is the issue? Describe it like you would tell a friend.
Basically when using the Player expansion placeholders, namely %player_time%, %player_timestamp% and %player_biome% they don't act as intended. And after testing these 3 different player placeholders I'm guessing all of these are broken.
What should PlaceholderAPI do?
It should give the corresponding information for those placeholders.
What does PlaceholderAPI actually do?
It just prints out the placeholder names instead of their intended output.
What steps did you made, to get this bug?
i thing this also effects other placeholders of this expansion in my case its the ping one
[22:35:51] [Craft Scheduler Thread - 88/WARN]: java.lang.NoSuchFieldException: ping
[22:35:51] [Craft Scheduler Thread - 88/WARN]: at java.base/java.lang.Class.getDeclaredField(Class.java:2549)
[22:35:51] [Craft Scheduler Thread - 88/WARN]: at com.extendedclip.papi.expansion.player.PlayerUtil$1.cacheReflection(PlayerUtil.java:88)
[22:35:51] [Craft Scheduler Thread - 88/WARN]: at com.extendedclip.papi.expansion.player.PlayerUtil$1.apply(PlayerUtil.java:61)
[22:35:51] [Craft Scheduler Thread - 88/WARN]: at com.extendedclip.papi.expansion.player.PlayerUtil$1.apply(PlayerUtil.java:49)
[22:35:51] [Craft Scheduler Thread - 88/WARN]: at com.extendedclip.papi.expansion.player.PlayerUtil.getPing(PlayerUtil.java:95)
[22:35:51] [Craft Scheduler Thread - 88/WARN]: at com.extendedclip.papi.expansion.player.PlayerExpansion.retrievePing(PlayerExpansion.java:345)
[22:35:51] [Craft Scheduler Thread - 88/WARN]: at com.extendedclip.papi.expansion.player.PlayerExpansion.onRequest(PlayerExpansion.java:294)
[22:35:51] [Craft Scheduler Thread - 88/WARN]: at me.clip.placeholderapi.replacer.CharsReplacer.apply(CharsReplacer.java:160)
[22:35:51] [Craft Scheduler Thread - 88/WARN]: at me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:70)
[22:35:51] [Craft Scheduler Thread - 88/WARN]: at me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:98)
[22:35:51] [Craft Scheduler Thread - 88/WARN]: at com.Zrips.CMI.Modules.Placeholders.Placeholder.updatePlaceHolders(Placeholder.java:586)
[22:35:51] [Craft Scheduler Thread - 88/WARN]: at com.Zrips.CMI.Modules.Placeholders.Placeholder.updatePlaceHolders(Placeholder.java:451)
[22:35:51] [Craft Scheduler Thread - 88/WARN]: at com.Zrips.CMI.Modules.TabList.TabListManager$3.run(TabListManager.java:777)
[22:35:51] [Craft Scheduler Thread - 88/WARN]: at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftTask.run(CraftTask.java:81)
[22:35:51] [Craft Scheduler Thread - 88/WARN]: at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54)
[22:35:51] [Craft Scheduler Thread - 88/WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
[22:35:51] [Craft Scheduler Thread - 88/WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
[22:35:51] [Craft Scheduler Thread - 88/WARN]: at java.base/java.lang.Thread.run(Thread.java:831)
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.
ping 0 to 20 milliseconds color blue
[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.craftbukkit.v1_20_R2.CraftServer.dispatchCommand(CraftServer.java:1003) ~[purpur-1.20.2.jar:git-Purpur-2076]
at org.bukkit.craftbukkit.v1_20_R2.command.BukkitCommandWrapper.run(BukkitCommandWrapper.java:64) ~[purpur-1.20.2.jar:git-Purpur-2076]
at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:265) ~[purpur-1.20.2.jar:?]
at net.minecraft.commands.Commands.performCommand(Commands.java:338) ~[?:?]
at net.minecraft.commands.Commands.performCommand(Commands.java:322) ~[?:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.performChatCommand(ServerGamePacketListenerImpl.java:2274) ~[?:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChatCommand$20(ServerGamePacketListenerImpl.java:2234) ~[?:?]
at net.minecraft.util.thread.BlockableEventLoop.lambda$submitAsync$0(BlockableEventLoop.java:59) ~[?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[purpur-1.20.2.jar:git-Purpur-2076]
at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1349) ~[purpur-1.20.2.jar:git-Purpur-2076]
at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:193) ~[purpur-1.20.2.jar:git-Purpur-2076]
at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?]
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1326) ~[purpur-1.20.2.jar:git-Purpur-2076]
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1319) ~[purpur-1.20.2.jar:git-Purpur-2076]
at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?]
at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1297) ~[purpur-1.20.2.jar:git-Purpur-2076]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1185) ~[purpur-1.20.2.jar:git-Purpur-2076]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:318) ~[purpur-1.20.2.jar:git-Purpur-2076]
at java.lang.Thread.run(Thread.java:1589) ~[?:?]
Caused by: java.lang.IllegalArgumentException: Attempt to get boolean field "net.minecraft.server.level.EntityPlayer.f" with illegal data type conversion to int
at jdk.internal.reflect.FieldAccessorImpl.newGetIllegalArgumentException(FieldAccessorImpl.java:130) ~[?:?]
at jdk.internal.reflect.FieldAccessorImpl.newGetIntIllegalArgumentException(FieldAccessorImpl.java:193) ~[?:?]
at jdk.internal.reflect.MethodHandleBooleanFieldAccessorImpl.getInt(MethodHandleBooleanFieldAccessorImpl.java:87) ~[?:?]
at java.lang.reflect.Field.getInt(Field.java:614) ~[?:?]
at com.extendedclip.papi.expansion.player.PlayerUtil$1.apply(PlayerUtil.java:66) ~[?:?]
at com.extendedclip.papi.expansion.player.PlayerUtil$1.apply(PlayerUtil.java:50) ~[?:?]
at com.extendedclip.papi.expansion.player.PlayerUtil.getPing(PlayerUtil.java:131) ~[?:?]
at com.extendedclip.papi.expansion.player.PlayerExpansion.retrievePing(PlayerExpansion.java:481) ~[?:?]
at com.extendedclip.papi.expansion.player.PlayerExpansion.onRequest(PlayerExpansion.java:403) ~[?:?]
at me.clip.placeholderapi.replacer.CharsReplacer.apply(CharsReplacer.java:119) ~[PlaceholderAPI-2.11.4.jar:?]
at me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:71) ~[PlaceholderAPI-2.11.4.jar:?]
at me.clip.placeholderapi.commands.impl.local.CommandParse.evaluateParseSingular(CommandParse.java:117) ~[PlaceholderAPI-2.11.4.jar:?]
at me.clip.placeholderapi.commands.impl.local.CommandParse.evaluate(CommandParse.java:57) ~[PlaceholderAPI-2.11.4.jar:?]
at me.clip.placeholderapi.commands.PlaceholderCommandRouter.onCommand(PlaceholderCommandRouter.java:114) ~[PlaceholderAPI-2.11.4.jar:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[purpur-api-1.20.2-R0.1-SNAPSHOT.jar:?]
... 23 more
%player_direction%
This provides the wrong direction.
I am facing North but the placeholder says East
https://www.spigotmc.org/threads/need-help-with-deluxemenus.329656/
https://www.spigotmc.org/wiki/placeholderapi-placeholders/#player-placeholders
I believe there is an issue with the %player_hasitem-mat:-amt:-data:% placeholder. I covered the issue in the thread I linked above <3
Add the ability to check if the player has health boost:
%has_health_boost%
Add the ability to check how much total health the health boost is adding:
%health_boost%
This would be useful for developers making RPG-style tools or armor sets that increase the health of a player.
On minecraft versions below ~1.16.5 player ping is double, not int.
Tested on 1.7.10, 1.8.8, 1.12.2
Hey there.
I was wondering if it was possible to add a placeholder to get the parsed player's yaw and pitch (rotation). There is already a %player_direction%
which returns the name of the cardinal direction (W/E/N/S) but it'd be much nicer to have the actual number.
My idea is to simply have %player_yaw%
and %player_pitch%
.
Thanks for your consideration.
%player_exp% returns 0.044944559 if the player has 86,438 experience
Player Absorption placeholder vairable which measures the absorption of a player.
Source: https://minecraft.fandom.com/wiki/Absorption
Absorption is a status effect that impacts a player's health bar in a positive manner by adding "extra hearts" in addition to a player's typical 20 HP. Absorption adds 4 HP per level of extra health to the player. Once enough damage has been taken by a player to deplete an absorption heart (or after the effect wears off), the extra hearts will disappear from the user's health bar permanently until a player gets the status effect back.
%player_absorption%
E.g: The maximum value for absorption after eating a Golden Apple would be 4.
Would be very useful for many servers.
Hi.
Have an bug after install the expansion: player on my 1.17 server
Console output
[18:33:35] [Server thread/INFO]: [PlaceholderAPI] Successfully registered expansion: mvdw
[18:33:35] [Server thread/INFO]: [PlaceholderAPI] Successfully registered expansion: player
[18:33:35] [Server thread/WARN]: java.lang.ClassNotFoundException: net.minecraft.server.v1_17_R1.MinecraftServer
[18:33:35] [Server thread/WARN]: at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:433)
[18:33:35] [Server thread/WARN]: at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:586)
[18:33:35] [Server thread/WARN]: at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519)
[18:33:35] [Server thread/WARN]: at java.base/java.lang.Class.forName0(Native Method)
[18:33:35] [Server thread/WARN]: at java.base/java.lang.Class.forName(Class.java:375)
[18:33:35] [Server thread/WARN]: at com.extendedclip.papi.expansion.server.ServerExpansion.(ServerExpansion.java:64)
[18:33:35] [Server thread/WARN]: at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[18:33:35] [Server thread/WARN]: at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:78)
[18:33:35] [Server thread/WARN]: at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[18:33:35] [Server thread/WARN]: at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
[18:33:35] [Server thread/WARN]: at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
[18:33:35] [Server thread/WARN]: at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.createExpansionInstance(LocalExpansionManager.java:336)
[18:33:35] [Server thread/WARN]: at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.register(LocalExpansionManager.java:138)
[18:33:35] [Server thread/WARN]: at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
[18:33:35] [Server thread/WARN]: at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
[18:33:35] [Server thread/WARN]: at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
[18:33:35] [Server thread/WARN]: at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
[18:33:35] [Server thread/WARN]: at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
[18:33:35] [Server thread/WARN]: at java.base/java.util.stream.ReduceOps$5.evaluateSequential(ReduceOps.java:257)
[18:33:35] [Server thread/WARN]: at java.base/java.util.stream.ReduceOps$5.evaluateSequential(ReduceOps.java:248)
[18:33:35] [Server thread/WARN]: at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
[18:33:35] [Server thread/WARN]: at java.base/java.util.stream.ReferencePipeline.count(ReferencePipeline.java:709)
[18:33:35] [Server thread/WARN]: at me.clip.placeholderapi.expansion.manager.LocalExpansionManager.lambda$registerAll$2(LocalExpansionManager.java:288)
[18:33:35] [Server thread/WARN]: at me.clip.placeholderapi.util.Futures.lambda$null$0(Futures.java:46)
[18:33:35] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftTask.run(CraftTask.java:81)
[18:33:35] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:400)
[18:33:35] [Server thread/WARN]: at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1252)
[18:33:35] [Server thread/WARN]: at net.minecraft.server.dedicated.DedicatedServer.b(DedicatedServer.java:436)
[18:33:35] [Server thread/WARN]: at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1200)
[18:33:35] [Server thread/WARN]: at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1027)
[18:33:35] [Server thread/WARN]: at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:307)
[18:33:35] [Server thread/WARN]: at java.base/java.lang.Thread.run(Thread.java:831)
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
papi reload
(or restart server)[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.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:71)
[22:22:33 WARN]: at PlaceholderAPI-2.11.3-DEV-160.jar//me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:99)
[22:22:33 WARN]: at InteractiveChat-4.2.3.8.jar//com.loohp.interactivechat.utils.PlaceholderParser.parse0(PlaceholderParser.java:104)
[22:22:33 WARN]: at InteractiveChat-4.2.3.8.jar//com.loohp.interactivechat.utils.PlaceholderParser.parse(PlaceholderParser.java:83)
[22:22:33 WARN]: at InteractiveChat-4.2.3.8.jar//com.loohp.interactivechat.modules.PlayernameDisplay.processPlayer(PlayernameDisplay.java:104)
[22:22:33 WARN]: at InteractiveChat-4.2.3.8.jar//com.loohp.interactivechat.modules.PlayernameDisplay.process(PlayernameDisplay.java:85)
[22:22:33 WARN]: at InteractiveChat-4.2.3.8.jar//com.loohp.interactivechat.listeners.OutMessagePacket.processPacket(OutMessagePacket.java:530)
[22:22:33 WARN]: at InteractiveChat-4.2.3.8.jar//com.loohp.interactivechat.listeners.OutMessagePacket.access$200(OutMessagePacket.java:83)
[22:22:33 WARN]: at InteractiveChat-4.2.3.8.jar//com.loohp.interactivechat.listeners.OutMessagePacket$1.lambda$onPacketSending$0(OutMessagePacket.java:415)
[22:22:33 WARN]: at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
[22:22:33 WARN]: at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[22:22:33 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[22:22:33 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[22:22:33 WARN]: at java.base/java.lang.Thread.run(Thread.java:833)
Currently, when used in conjunction with ParseOther, it returns no results for an offline player's %player_displayname%, although it is able to return a result with the %player_uuid% placeholder, as well as the %player_name% placeholder.
It is also unable to get the user's last %player_gamemode%, returning a blank result instead.
Should return the cardinal direction the player is facing...
{iteminhand:typeid} {iteminmainhand:typeid} are both the same and they both show only the base ID unlike /itemdb command in essentials which shows base:data
For example when I have a jungle plank in my hand, but instead of just "5" I want there to be an option to make it "5:3"
or for grass "2" -> "2:0"
Please add this it is very important for my creative server and will help a lot! All help will be greatly appreciated.
Add the possibility to add more ping values/colors in the PlaceholderAPI configuration.
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
low: 30
lowerthanlow: 20
verylow: 10
extremelylow: 1
%player_absorption%
with this method https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/Damageable.html#getAbsorptionAmount()
This is a suggestion from PlaceholderAPI/PlaceholderAPI#56
Idea would be to add a placeholder to show the last damage a player has given to an entity.
My idea there is to change %player_last_damage%
by splitting it up into %player_last_damage_taken%
for damage the player took and %player_last_damage_given%
(or dealt?) that shows the last damage the player dealt to a entity.
Only issue I see is to (temporary) store the info, since it doesn't seem like there's a way the damage a player has given is stored somewhere to easy access.
Title says it all. Running purpur 1.20.1
^^
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:
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 PlaceholderAPI-2.11.3.jar//me.clip.placeholderapi.replacer.CharsReplacer.apply(CharsReplacer.java:119)
[01:01:53 WARN]: at PlaceholderAPI-2.11.3.jar//me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:71)
[01:01:53 WARN]: at PlaceholderAPI-2.11.3.jar//me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:99)
[01:01:53 WARN]: at InteractiveChat-4.2.6.0.jar//com.loohp.interactivechat.utils.PlaceholderParser.parse0(PlaceholderParser.java:104)
[01:01:53 WARN]: at InteractiveChat-4.2.6.0.jar//com.loohp.interactivechat.utils.PlaceholderParser.parse(PlaceholderParser.java:83)
[01:01:53 WARN]: at InteractiveChat-4.2.6.0.jar//com.loohp.interactivechat.modules.PlayernameDisplay.processPlayer(PlayernameDisplay.java:104)
[01:01:53 WARN]: at InteractiveChat-4.2.6.0.jar//com.loohp.interactivechat.modules.PlayernameDisplay.process(PlayernameDisplay.java:85)
[01:01:53 WARN]: at InteractiveChat-4.2.6.0.jar//com.loohp.interactivechat.listeners.OutMessagePacket.processPacket(OutMessagePacket.java:598)
[01:01:53 WARN]: at InteractiveChat-4.2.6.0.jar//com.loohp.interactivechat.listeners.OutMessagePacket.access$200(OutMessagePacket.java:84)
[01:01:53 WARN]: at InteractiveChat-4.2.6.0.jar//com.loohp.interactivechat.listeners.OutMessagePacket$1.lambda$onPacketSending$0(OutMessagePacket.java:483)
[01:01:53 WARN]: at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
[01:01:53 WARN]: at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[01:01:53 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[01:01:53 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[01:01:53 WARN]: at java.base/java.lang.Thread.run(Thread.java:833)
[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:300)
[01:01:53 WARN]: at PlaceholderAPI-2.11.3.jar//me.clip.placeholderapi.replacer.CharsReplacer.apply(CharsReplacer.java:119)
[01:01:53 WARN]: at PlaceholderAPI-2.11.3.jar//me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:71)
[01:01:53 WARN]: at PlaceholderAPI-2.11.3.jar//me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:99)
[01:01:53 WARN]: at InteractiveChat-4.2.6.0.jar//com.loohp.interactivechat.utils.PlaceholderParser.parse0(PlaceholderParser.java:104)
[01:01:53 WARN]: at InteractiveChat-4.2.6.0.jar//com.loohp.interactivechat.utils.PlaceholderParser.parse(PlaceholderParser.java:83)
[01:01:53 WARN]: at InteractiveChat-4.2.6.0.jar//com.loohp.interactivechat.modules.PlayernameDisplay.processPlayer(PlayernameDisplay.java:104)
[01:01:53 WARN]: at InteractiveChat-4.2.6.0.jar//com.loohp.interactivechat.modules.PlayernameDisplay.process(PlayernameDisplay.java:85)
[01:01:53 WARN]: at InteractiveChat-4.2.6.0.jar//com.loohp.interactivechat.listeners.OutMessagePacket.processPacket(OutMessagePacket.java:598)
[01:01:53 WARN]: at InteractiveChat-4.2.6.0.jar//com.loohp.interactivechat.listeners.OutMessagePacket.access$200(OutMessagePacket.java:84)
[01:01:53 WARN]: at InteractiveChat-4.2.6.0.jar//com.loohp.interactivechat.listeners.OutMessagePacket$1.lambda$onPacketSending$0(OutMessagePacket.java:483)
[01:01:53 WARN]: at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
[01:01:53 WARN]: at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[01:01:53 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[01:01:53 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[01:01:53 WARN]: at java.base/java.lang.Thread.run(Thread.java:833)
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 player locale placeholder
placeholderAPI-2.10.10-dev-122 and placeholderAPI-2.10.9
mohist-1.16.5
Failed to register exoansion from PAPI-Expansion-Player.jar
When using exp levels in anvil (ex. enchanting pickaxe with enchanted book) or enchanting table %player_total_exp% placeholder doesn't update it's value. Value updates and shows correct number when I use Essentials /exp command (ex. /exp take player 0).
EDIT: My bad using wrong placeholder.
PAPI version 2.10.10
Player Expansion version 2.0.2
Purpur-1393 (MC: 1.17.1)
Would be nice if the placeholder that currently already exists for offhand could be made for main hand aswell (%player_item_in_offhand_level_%).
Would it be possible to add %player_item_in_hand_lore%
, functioning exactly the same as %player_item_in_hand_name%
, but returning the item's Lore instead?
There seems to be an error when parsing %player_ping%
.
Stacktrace: https://paste.helpch.at/zanemobeve.java
PlaceholderAPI Version: 2.10.10-DEV
Server Version: 1.17
please
I can't pull request, but I think that this placeholder could be very usefull for everyone, just that, add:
%player_item_in_SLOT_name% (and variants.)
where slot, could be helmet, chest, leggs, feed, hand, offhand
This doesn't look right, ticks should be divided by 20 instead of multiplied by 20. This is giving incorrect results.
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 this in this error keeps happening.
Even when the player is online the output will still have the error.
please add %player_version% this will return the player's client version.
Here's a tutorial if needed:
https://www.spigotmc.org/threads/tutorial-getting-the-players-client-version.134397/
when I try to download it, I get this message: Failed to find an expansion named: Player
When looking to circling your player's head to the left once you reach West it does not work, it says %player_direction%
Could it be possible to add Armor variables?
Here are some examples:
Held items:
%player_mainhand_displayname% = Main hand's display-name
%player_offhand_displayname% = Offhand's display-name
%player_mainhand_durability% = Main hand's durability
%player_offhand_durability% = Offhand's durability
Armor slots:
%armor_helmet_displayname% = Helmet displayname
%armor_chestplate_displayname% = Chestplate displayname
%armor_leggings_displayname% = Leggings displayname
%armor_boots_displayname% = Boots displayname
%armor_helmet_durability% = Helmet's durability
%armor_chestplate_durability% = Chestplate's durability
%armor_leggings_durability% = Leggings' durability
%armor_boots_durability% = Boots' durability
Since these placeholders ares still based on the PLAYER I thougth adding them in this Expansion would be the best idea. Ofcourse these could be added in a seperate expansion. Just checking what would be better.
@extendedclip
Drake#1834 on the discord reported that %player_direction% is no longer working:
Spigot is 1.13.2, Papi is 2.10.0, and the expansion is 1.7.0
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.