Anixz 54176694187948aa9ec9826d18458e85
사용하는 플긴은 에센셜X, 에센셜챗, 에센셜스폰, 볼트, 럭펌 ,플레이스홀더API입니다. (나머지는 필요없어보여서 뺌)
essentialsx chat 플긴에서 유저의 칭호 관련해서 설정할 수 있는데, 플레이스홀더를 이용하면
닉네임 옆에 레벨(아래사진의 레벨의미)을 표시할 수 있을 거라고 생각했습니다.
그래서, 플레이어 관련 api를 내려받고
Player
/papi ecloud download Player
Gives you various placeholders for the player, that triggers the action.
%player_level%
에센셜 config에서
format: '&r[%player_level%]{DISPLAYNAME} &r: {MESSAGE}'
다음과 같이 설정했습니다.
하지만, 에러가 뜨던데 해결 방법이 있을까요.. ㅜㅜ
[18:05:47] [Async Chat Thread - #11/ERROR]: Could not pass event AsyncPlayerChatEvent to EssentialsChat v2.17.2.0 org.bukkit.event.EventException: null at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) ~[spigot-1.15.2.jar:git-Spigot-800b93f-8160e29] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[spigot-1.15.2.jar:git-Spigot-800b93f-8160e29] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:529) [spigot-1.15.2.jar:git-Spigot-800b93f-8160e29] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:508) [spigot-1.15.2.jar:git-Spigot-800b93f-8160e29] at net.minecraft.server.v1_15_R1.PlayerConnection.chat(PlayerConnection.java:1579) [spigot-1.15.2.jar:git-Spigot-800b93f-8160e29] at net.minecraft.server.v1_15_R1.PlayerConnection.a(PlayerConnection.java:1517) [spigot-1.15.2.jar:git-Spigot-800b93f-8160e29] at net.minecraft.server.v1_15_R1.PacketPlayInChat$1.run(PacketPlayInChat.java:41) [spigot-1.15.2.jar:git-Spigot-800b93f-8160e29] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_241] at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_241] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_241] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_241] at java.lang.Thread.run(Unknown Source) [?:1.8.0_241] Caused by: java.util.UnknownFormatConversionException: Conversion = 'p' at org.bukkit.event.player.AsyncPlayerChatEvent.setFormat(AsyncPlayerChatEvent.java:101) ~[spigot-1.15.2.jar:git-Spigot-800b93f-8160e29] at com.earth2me.essentials.chat.EssentialsChatPlayerListenerLowest.onPlayerChat(EssentialsChatPlayerListenerLowest.java:60) ~[?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_241] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_241] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_241] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_241] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:316) ~[spigot-1.15.2.jar:git-Spigot-800b93f-8160e29] ... 11 more |
oiso2019
2020.05.12스크립트로 하시면 됩니다
on chat:
>set message format to "&r[%player's level%]%player% &r: %message%"
>은 notepad++에서 탭키 누르면 됩니다
갈대
2020.05.12음.. config에 해당 내용을 추가하라는 뜻인가요?
스크립트 개념이 미지해서 정확한 의미를 이해 못했습니다.. ㅜㅜ
갈대
2020.05.12해결했습니다.
https://www.spigotmc.org/resources/chatinjector.38327/
chatinjector를 설치하시고, (PlaceholderAPI, ProtocolLib 필요) 로드하면
PlaceholderAPI에서 사용하는 값을 예를 들어 %player_name% -> {player_name}
형태로 사용할 수 있도록 호환이 됩니다.
그러면 format: '&r[{player_level}레벨]{DISPLAYNAME} &r: {MESSAGE}'
이렇게 작성하면 잘 되네요.