[*] In Whitelist Mode, Servers variable don't work %online_[server]% (BungeeCord version)
[*] In Whitelist Mode when you disable the hover, the hover isn't disabled. (BungeeCord version)
[*] Whitelist Mode Check Normal Mode options and not Whitelist Options (BungeeCord version)
[+] Code Optimization. (Rework of Motd System) (BungeeCord version)
[+] New System of Configuration-Key-Verificator. Now motd name first isn't obligatory (BungeeCord version)
[+] New System of configuration (BungeeCord version)
[*] When you remove a File of the plugin and you restart the plugin, you have errors in console and the errors when the motd load. FATAL ERROR (FIXED) (BungeeCord version) Error when you load the plugin:
Code (Text):
[06:50:51] [main/ERROR]: java.io.FileNotFoundException: plugins/PixelMOTD/config.yml (No such file or directory)
[06:50:51] [main/ERROR]: at java.io.FileInputStream.open0(Native Method)
[06:50:51] [main/ERROR]: at java.io.FileInputStream.open(FileInputStream.java:195)
[06:50:51] [main/ERROR]: at java.io.FileInputStream.<init>(FileInputStream.java:138)
[06:50:51] [main/ERROR]: at net.md_5.bungee.config.YamlConfiguration.load(YamlConfiguration.java:77)
[06:50:51] [main/ERROR]: at net.md_5.bungee.config.YamlConfiguration.load(YamlConfiguration.java:71)
[06:50:51] [main/ERROR]: at dev.mruniverse.pixelmotd.bungee.files.BungeeFiles.reloadConfig(BungeeFiles.java:92)
[06:50:51] [main/ERROR]: at dev.mruniverse.pixelmotd.bungee.files.BungeeFiles.initConfig(BungeeFiles.java:182)
[06:50:51] [main/ERROR]: at dev.mruniverse.pixelmotd.bungee.pixelmotd.onEnable(pixelmotd.java:34)
[06:50:51] [main/ERROR]: at net.md_5.bungee.api.plugin.PluginManager.enablePlugins(PluginManager.java:300)
[06:50:51] [main/ERROR]: at net.md_5.bungee.BungeeCord.start(BungeeCord.java:313)
[06:50:51] [main/ERROR]: at net.md_5.bungee.BungeeCordLauncher.main(BungeeCordLauncher.java:55)
[06:50:51] [main/ERROR]: at net.md_5.bungee.Bootstrap.main(Bootstrap.java:15)
[06:50:51] [main/INFO]: [PixelMOTD] Class MOTD now is loaded correctly!
[06:50:51] [main/WARN]: Exception encountered when loading plugin: PixelMOTD
java.lang.NullPointerException: null
at dev.mruniverse.pixelmotd.bungee.pixelmotd.onEnable(pixelmotd.java:41) ~[?:?]
at net.md_5.bungee.api.plugin.PluginManager.enablePlugins(PluginManager.java:300) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at net.md_5.bungee.BungeeCord.start(BungeeCord.java:313) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at net.md_5.bungee.BungeeCordLauncher.main(BungeeCordLauncher.java:55) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at net.md_5.bungee.Bootstrap.main(Bootstrap.java:15) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
Error when you load the motd:
Code (Text):
java.lang.NullPointerException: null
at dev.mruniverse.pixelmotd.bungee.events.Motd.onPing(Motd.java:63) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_265]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_265]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_265]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_265]
at net.md_5.bungee.event.EventHandlerMethod.invoke(EventHandlerMethod.java:19) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at net.md_5.bungee.event.EventBus.post(EventBus.java:47) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at net.md_5.bungee.api.plugin.PluginManager.callEvent(PluginManager.java:453) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at net.md_5.bungee.connection.InitialHandler$3.done(InitialHandler.java:285) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at net.md_5.bungee.connection.InitialHandler$3.done(InitialHandler.java:241) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at net.md_5.bungee.connection.InitialHandler.handle(InitialHandler.java:292) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at net.md_5.bungee.protocol.packet.StatusRequest.handle(StatusRequest.java:29) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at net.md_5.bungee.netty.HandlerBoss.channelRead(HandlerBoss.java:120) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.handler.codec.ByteToMessageDecoder.handlerRemoved(ByteToMessageDecoder.java:253) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:508) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:440) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:792) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:475) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_265]
Code (Text):
java.lang.NullPointerException: null
at dev.mruniverse.pixelmotd.bungee.events.Motd.onPing(Motd.java:63) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_265]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_265]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_265]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_265]
at net.md_5.bungee.event.EventHandlerMethod.invoke(EventHandlerMethod.java:19) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at net.md_5.bungee.event.EventBus.post(EventBus.java:47) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at net.md_5.bungee.api.plugin.PluginManager.callEvent(PluginManager.java:453) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at net.md_5.bungee.connection.InitialHandler$3.done(InitialHandler.java:285) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at net.md_5.bungee.connection.InitialHandler$3.done(InitialHandler.java:241) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at net.md_5.bungee.connection.InitialHandler.handle(InitialHandler.java:292) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at net.md_5.bungee.protocol.packet.StatusRequest.handle(StatusRequest.java:29) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at net.md_5.bungee.netty.HandlerBoss.channelRead(HandlerBoss.java:120) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.handler.codec.ByteToMessageDecoder.handlerRemoved(ByteToMessageDecoder.java:253) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:508) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:440) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:792) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:475) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[Flame.jar:git:Travertine-Bootstrap:1.16-R0.2-SNAPSHOT:a4b165a:unknown]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_265]
[+] This is only a concept for 8.5 version, https://pixelpc.net/files/config-countdown/ I'm adding a Countdown option to PixelMOTD 8.3 but I did not know how to implement it, pass this to the next version to know your opinions to see if you like how I plan to add it and if you have any suggestions
[/] At the moment this is the most stable version of the plugin as far as it has been tested, please inform if you find any error or failure