Placeholders with Essentials
Smurfboi007 opened this issue · 10 comments
Type of bug
Error in console
/ess dump all
output
https://essentialsx.net/dump.html?id=564254946a384985b23185612c5c591a
Error log (if applicable)
No response
Bug description
Hi! When trying to use placeholders in the essentials config I get this error, I got the placeholder installed and everything.
[14:50:59 ERROR]: Could not pass event AsyncPlayerChatEvent to EssentialsChat v2.19.5-dev+7-1c5a7e9
java.util.UnknownFormatConversionException: Conversion = '§'
at org.bukkit.event.player.AsyncPlayerChatEvent.setFormat(AsyncPlayerChatEvent.java:105) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at com.earth2me.essentials.chat.EssentialsChatPlayerListenerLowest.onPlayerChat(EssentialsChatPlayerListenerLowest.java:69) ~[EssentialsXChat-2.19.5-dev+7-1c5a7e9.jar:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor967.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:75) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:git-Paper-361]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:669) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.adventure.ChatProcessor.post(ChatProcessor.java:195) ~[paper-1.18.2.jar:git-Paper-361]
at io.papermc.paper.adventure.ChatProcessor.process(ChatProcessor.java:67) ~[paper-1.18.2.jar:git-Paper-361]
at net.minecraft.server.network.ServerGamePacketListenerImpl.chat(ServerGamePacketListenerImpl.java:2223) ~[?:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.handleChat(ServerGamePacketListenerImpl.java:2134) ~[?:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.handleChat(ServerGamePacketListenerImpl.java:2100) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundChatPacket$1.run(ServerboundChatPacket.java:40) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
Steps to reproduce
This error comes up whenever typing in chat and it goes back to the default chat look.
Expected behaviour
The placeholder should be working.
Actual behaviour
It doesn't work.
Try updating EssentialsChat to the same version as Essentials? It looks like there's a version mismatch. As well, make sure to run /papi ecloud download Essentials
and then /papi reload
. If neither of those work, since we don't develop the PlaceholderAPI expansion, report it to them at the expansion repository.
I didn't see the essentials placeholder load in the logs which confused me, if you are referring to PAPI placeholders, see above, otherwise, can you please clarify?
I didn't see the essentials placeholder load in the logs which confused me, if you are referring to PAPI placeholders, see above, otherwise, can you please clarify?
They have PAPI, but I didn't see the placeholder - hence why I suggested installing it.
Right, so those fixes didn't work, I have all the dependencies installed. Will check with placeholderAPI. But thanks for helping out! I will update if I find the issue or/and solve the issue.
I will say - can you reproduce this without PlaceholderAPI? If you can - then don't ask them, since it could be an Essentials issue.
It works when removing it, but it obviously just says the %PLACEHOLDER% in text and doesn't show it. That means it's a problem with placeholderAPI then, right?
It works when removing it, but it obviously just says the %PLACEHOLDER% in text and doesn't show it. That means it's a problem with placeholderAPI then, right?
Probably, I'd bring it up to them then
EssentialsXChat does not support PlaceholderAPI placeholders. Not only is there no built-in support, but the %placeholder%
format entirely breaks the way Essentials parses the chat format, leading to the error you're seeing.
If you want to use PAPI placeholders in your chat format, you need to install ChatInjector as well - make sure to carefully follow the instructions on the page to transform your placeholders to the proper format (%placeholder%
-> {placeholder}
)