想测试给玩家不断发送actionbar,我用的是playermoveevent,具体源码如下
复制代码没错就是如此简单,但实践中无法看见发出的actionbar并且一移动位置或视角出现以下警告
复制代码这种情况应该怎么解决,如果不了解的话请提供一个可以持续发送actionbar的方法(类似于循环命令方块),顺便问一下不用api发送actionbar应如何发包
- @EventHandler
- public void setAcBar(PlayerMoveEvent e) {
- Player player = e.getPlayer();
- ActionBarAPI.sendActionBar(player,"测试");
- }
- [16:13:46 WARN]: java.lang.ClassNotFoundException: org.bukkit.craftbukkit.null.entity.CraftPl
- ayer
- [16:13:46 WARN]: at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoad
- er.java:109)
- [16:13:46 WARN]: at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoad
- er.java:104)
- [16:13:46 WARN]: at java.lang.ClassLoader.loadClass(Unknown Source)
- [16:13:46 WARN]: at java.lang.ClassLoader.loadClass(Unknown Source)
- [16:13:46 WARN]: at java.lang.Class.forName0(Native Method)
- [16:13:46 WARN]: at java.lang.Class.forName(Unknown Source)
- [16:13:46 WARN]: at me.et**.et**pvp.ActionBarAPI.sendActionBar(ActionBarAPI.java
- :57)
- [16:13:46 WARN]: at me.et**.et**pvp.task.actionbarTask.setAcBar(actionbarTask.ja
- va:35)
- [16:13:46 WARN]: at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEven
- tExecutor194.execute(Unknown Source)
- [16:13:46 WARN]: at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:70)
- [16:13:46 WARN]: at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.jav
- a:78)
- [16:13:46 WARN]: at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.
- java:62)
- [16:13:46 WARN]: at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManage
- r.java:513)
- [16:13:46 WARN]: at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.
- java:711)
- [16:13:46 WARN]: at net.minecraft.server.v1_12_R1.PacketPlayInFlying.a(SourceFile:126)
- [16:13:46 WARN]: at net.minecraft.server.v1_12_R1.PacketPlayInFlying$PacketPlayInPosit
- ion.a(SourceFile:57)
- [16:13:46 WARN]: at net.minecraft.server.v1_12_R1.PlayerConnectionUtils.lambda$ensureM
- ainThread$0(PlayerConnectionUtils.java:14)
- [16:13:46 WARN]: at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source
- )
- [16:13:46 WARN]: at java.util.concurrent.FutureTask.run(Unknown Source)
- [16:13:46 WARN]: at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46)
- [16:13:46 WARN]: at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.ja
- va:850)
- [16:13:46 WARN]: at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.ja
- va:423)
- [16:13:46 WARN]: at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.ja
- va:774)
- [16:13:46 WARN]: at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.
- java:666)
- [16:13:46 WARN]: at java.lang.Thread.run(Unknown Source)
actionbarapi没用过,但是可以用protocollib发包
https://www.mcbbs.net/thread-568714-1-1.html
https://www.mcbbs.net/thread-568714-1-1.html
player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText("§cQWE123ASD456ZXC789"));
[16:13:46 WARN]: java.lang.ClassNotFoundException: org.bukkit.craftbukkit.null.entity.CraftPlayer
是不是OBC的包名弄错了?
应该是 org.bukkit.craftbukkit.1_1x_Rx.entity.CraftPlayer
是不是OBC的包名弄错了?
应该是 org.bukkit.craftbukkit.1_1x_Rx.entity.CraftPlayer
发包的话可以直接 艹NMS或者用plib的封装