SpigotMC / BungeeCord

BungeeCord, the 6th in a generation of server portal suites. Efficiently proxies and maintains connections and transport between multiple Minecraft servers.
https://www.spigotmc.org/go/bungeecord
Other
1.57k stars 1.1k forks source link

Ошибка при работе с API Events #3373

Closed Mamenekr closed 2 years ago

Mamenekr commented 2 years ago

Bungeecord version

git:BungeeCord-Bootstrap:1.19-R0.1-SNAPSHOT:6963156:1658

Server version

1.12.2+

Client version

1.12.2

Bungeecord plugins

I use only my plugin, I would like to know what is wrong? Like it didn't exist before. I would be very grateful for an explanation. I only use my plugin.

The bug

An event has been registered in the upper class. @Override public void onEnable() { ProxyServer.getInstance().getPluginManager().registerListener(this, new Freeze(this)); }

Here is the event code. import net.md_5.bungee.api.event.*; import net.md_5.bungee.api.plugin.Listener; import net.md_5.bungee.event.EventHandler; import ru.laimworld.bungeecord.Run;

public class Freeze implements Listener { private Run Core; public Freeze(Run core) {Core = core;} @EventHandler private void onChat(ChatEvent event) { event.setMessage(""); } }

Bug: When calling an event, the player kicks from the server with the message: Error : Method became inaccessible: ChatEvent(super=TargetedEvent(sender=MarkCH, receiver=net.md_5.bungee.ServerConnection@2eca6f5d), cancelled=false, message=d) @ net.md_5.bungee.event.EventBus:52

Log output (links)

16:06:11 [INFO] Listening on /192.168.0.104:25565 16:06:18 [INFO] [/192.168.0.104:51316] <-> InitialHandler has connected 16:06:18 [INFO] [MarkCH] <-> ServerConnector [lobby] has connected 16:06:21 [SEVERE] [MarkCH] -> UpstreamBridge - encountered exception java.lang.Error: Method became inaccessible: ChatEvent(super=TargetedEvent(sender=MarkCH, receiver=net.md_5.bungee.ServerConnection@2eca6f5d), cancelled=false, message=d) at net.md_5.bungee.event.EventBus.post(EventBus.java:52) at net.md_5.bungee.api.plugin.PluginManager.callEvent(PluginManager.java:412) at net.md_5.bungee.connection.UpstreamBridge.handleChat(UpstreamBridge.java:185) at net.md_5.bungee.connection.UpstreamBridge.handle(UpstreamBridge.java:150) at net.md_5.bungee.protocol.packet.Chat.handle(Chat.java:71) at net.md_5.bungee.netty.HandlerBoss.channelRead(HandlerBoss.java:114) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:327) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:299) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:722) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:658) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:584) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:496) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:995) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at java.lang.Thread.run(Thread.java:750) Caused by: java.lang.IllegalAccessException: Class net.md_5.bungee.event.EventHandlerMethod can not access a member of class ru.laimworld.bungeecord.Events.Freeze with modifiers "private" at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:102) at java.lang.reflect.AccessibleObject.slowCheckMemberAccess(AccessibleObject.java:296) at java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:288) at java.lang.reflect.Method.invoke(Method.java:491) at net.md_5.bungee.event.EventHandlerMethod.invoke(EventHandlerMethod.java:19) at net.md_5.bungee.event.EventBus.post(EventBus.java:49) ... 37 more 16:06:21 [INFO] [MarkCH] disconnected with: Error : Method became inaccessible: ChatEvent(super=TargetedEvent(sender=MarkCH, receiver=net.md_5.bungee.ServerConnection@2eca6f5d), cancelled=false, message=d) @ net.md_5.bungee.event.EventBus:52

Checking

Janmm14 commented 2 years ago

You need to have your event handler methods (and the event handler class) public

Mamenekr commented 2 years ago

Got it, thanks a lot!