refracdevelopment / simplestaffchat Goto Github PK
View Code? Open in Web Editor NEWSimpleStaffChat is a plugin that allows you to send messages to your staff members privately.
Home Page: https://discord.gg/EFeSKPg739
License: MIT License
SimpleStaffChat is a plugin that allows you to send messages to your staff members privately.
Home Page: https://discord.gg/EFeSKPg739
License: MIT License
Greetings. After the last update, the plugin began to flood the chat with errors.
[13:31:45 ERROR]: Could not pass event AsyncPlayerChatEvent to SimpleStaffChat2 v2.5
java.lang.NullPointerException: Cannot invoke "String.length()" because "prefix" is null
at java.lang.String.startsWith(String.java:2253) ~[?:?]
at java.lang.String.startsWith(String.java:2296) ~[?:?]
at me.refracdevelopment.simplestaffchat.spigot.listeners.ChatListener.onChat(ChatListener.java:103) ~[SimpleStaffChat2-2.5.jar:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor109.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-386]
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-386]
at io.papermc.paper.adventure.ChatProcessor.process(ChatProcessor.java:67) ~[paper-1.18.2.jar:git-Paper-386]
at net.minecraft.server.network.ServerGamePacketListenerImpl.chat(ServerGamePacketListenerImpl.java:2224) ~[?:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.handleChat(ServerGamePacketListenerImpl.java:2135) ~[?:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.handleChat(ServerGamePacketListenerImpl.java:2101) ~[?:?]
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) ~[?:?]
[13:44:12 ERROR]: Could not pass event AsyncPlayerChatEvent to SimpleStaffChat2 v2.5
java.lang.NullPointerException: null
Hi, the discord link doesn't work.
I want to ask if there is a way to have support for PlaceholderAPI placeholders on the bungee version.
Or maybe a work-around to get placeholders work between servers.
Ok so this error happens in BungeeCord console
(please note: FlameCord is fork of Waterfall with bugfixes, it is not natively changed in any way and different from bungeecord, it is in 99.99% of things not the cause of problems)
and this happens in the situation where player is banned on first subserver he tries to join, so bungeecord says this.
[15:56:34 WARN]: Error dispatching event PlayerDisconnectEvent(player=W1CK3_D) to listener me.refrac.simplestaffchat.bungee.listeners.JoinListener@7b477141
java.lang.NullPointerException: Cannot invoke "net.md_5.bungee.api.connection.Server.getInfo()" because the return value of "net.md_5.bungee.api.connection.ProxiedPlayer.getServer()" is null
at me.refrac.simplestaffchat.bungee.listeners.JoinListener.onQuit(JoinListener.java:96) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
at net.md_5.bungee.event.EventHandlerMethod.invoke(EventHandlerMethod.java:19) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at net.md_5.bungee.event.EventBus.post(EventBus.java:50) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at net.md_5.bungee.api.plugin.PluginManager.callEvent(PluginManager.java:510) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at net.md_5.bungee.connection.UpstreamBridge.disconnected(UpstreamBridge.java:72) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at net.md_5.bungee.netty.HandlerBoss.channelInactive(HandlerBoss.java:63) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:262) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:248) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:241) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:81) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at io.netty.handler.timeout.IdleStateHandler.channelInactive(IdleStateHandler.java:277) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:262) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:248) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:241) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:392) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:357) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:262) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:248) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:241) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1405) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:262) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:248) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:901) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at io.netty.channel.AbstractChannel$AbstractUnsafe$7.run(AbstractChannel.java:813) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:391) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:995) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:040b050:unknown]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
```
Hello,
relating to Spigot side of the plugin at format.minecraft-format
I am 99% sure that something is wrong with it, please check source code, i checked too but i can't find
There is a problem that after some time this specific string WILL reset back to default.
This happened to me on all of my servers (5+ of them)
Need to add support for RGB color palette. The same tab premium plugin supports any color, but we cannot display the placeholder in this plugin for the chat for the administration, since it does not accept six color characters.
Tried hiding my admin chat, it wasnt hiding it from my chat.
Greetings. I'm talking about a recent update.
I am using the latest plugin version 2.3. Paper server core 1.18.2.
RGB color is not displayed, the numbers remain and are not defined.
I dare to assume that you have your own method of supporting RGB, although I do not know why you did this. Your plugin does not create new groups, they are created by luckperms and it determines the name for them either by him or by another, for example, tab premium. I'm using the tab premium plugin to display the normal group name, since this name should be displayed in the panel on the tab key. Based on this logic, your plugin should handle any request for a color in the format XXXXXX or #XXXXXX. In the case of tab premium, it works using brackets and arrows {#XXXXXX>}[Group_name]{#XXXXXX<}. I ask you to adapt the work of RGB for other plugins.
For some reason, if player do not have permission to execute toggle command (this happens only on spigot side of the plugin (i am using paper just so you know), this DOES NOT happen on BungeeCord, it's working ok on BC), the player WILL NOT receive no-permission
message. However if player do not have permission to execute bungee simplestaffchat toggle command, he will receive no-permission
message
So, basically players with no permission to use staffchat on spigot side, they do /sctoggle
and literally nothing shows
At the time when the player leaves the game, the system starts flooding with messages that he has left.
[14:20:59 INFO]: [-] {#DA2A18>}[Основатель]{#DA2A18<} younga вышел из игры.
[14:20:59 INFO]: [-] {#DA2A18>}[Основатель]{#DA2A18<} younga вышел из игры.
[14:20:59 INFO]: [-] {#DA2A18>}[Основатель]{#DA2A18<} younga вышел из игры.
The number of flood lines is always different, sometimes there can be one line, sometimes there are ten of them.
I recommend creating "SSCChatEvent" which will basically trigger on every message that is sent in staff chat channel.
Why this will be useful?
If player has permission to toggle his channel from public to staff, he does it
Now he chats for some time.
Now let's imagine he was abusing and there comes moderator/administrator and demotes him
Now he loses permission to USE + SEE staff chat, while he still has staff chat toggled - he is basically stuck in channel, he can chat but will never see neither his own not other's messages from staff channel, but he can't chat in public chat (he can after server restart)
if we create "SSCChatEvent" which will trigger only on every message that has been successfully sent to staff channel, then we can listen to that event
When that event happens, we check message sender's permission to USE (and maybe SEE permission too?) simplestaffchat.
If he doesn't have it, after he has sent 1 message while being stuck in staff channel, he will be notified with custom configurable message that his staff chat mode has been deactivated and now he's put to public chat as needed.
Of course when this happens plugin will automatically change his mode to get out of staff chat.
Hope this is useful!
Hello,
I respect work on this plugin and time put in,
but can you please make this menu editable
this happens when you type either /staffchat
or any alias to it (i think by default there is one called /sc
)
This shows on both spigot and bungee side of the plugin
can you please make this editable, like config option to have
messages:
staffchat-output: "default" #if this is exactly "default", the output of this command will always be like you define it - hardcoded message; however if we change this to anything else, that else will be displayed!
<...>
Thank you so much, also make sure to do this for spigot & bungee side of the plugin too!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.