GithubHelp home page GithubHelp logo

refracdevelopment / simplestaffchat Goto Github PK

View Code? Open in Web Editor NEW
8.0 1.0 4.0 814 KB

SimpleStaffChat is a plugin that allows you to send messages to your staff members privately.

Home Page: https://discord.gg/EFeSKPg739

License: MIT License

Java 100.00%
minecraft minecraft-plugin simplestaffchat java spigot spigot-plugin bungeecord bungeecord-plugin papermc-plugin paperspigot-plugin

simplestaffchat's People

Contributors

refrac avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

simplestaffchat's Issues

Flood errors in chat

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

Discord Issue

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.

Error on PlayerDisconnectEvent if player is banned (tested with LiteBans on paper subserver)

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) ~[?:?]
        ```

Unconfirmed "minecraft-format" resetting bug

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)

Color picker support

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.

RGB not working in latest update

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.

All chat shows as if you typed it

Latest 4.3.0 version makes chat appear as if you typed everything, even if it is from other users.

image
This is three different people typing, but it shows up as if I typed everything^

Using the FreedomChat plugin that makes chat not reportable, not sure if that has any affect on it.

Not showing no-permission message to player that indeed do not have permission to toggle staffchat

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

Flud from the plugin

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.

Player can get stuck in staff-chat if not careful

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!

More Basic Customizablity

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!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.