Sueta
MS

MSG [Updated]

2.5

A bunch of message utils!

·Plugin

MSG

DEPENDS ON MURAPI:
murAPI

If you want the tab block feature, install ProtcolLib:
ProtocolLib

OPEN SOURCE >> LINK AT BOTTOM

CONFIG EXPLAINED >> DOWNLOAD [OUTDATED]

TODO:
- Switch to UUIDs. [DONE]

PERMISSIONS

KNOWN BUGS >
When you use the JSON feature it will throw an error if you're using 1.8


A NEW VERSION WAS ADDED... REMEMBER TO BACKUP OLD CONFIGS!!!

Commands & Permissions:

commands:
  sounds:
    permission: msg.togglesounds
    permission-message: §cNo permission.
  staffhide:
  staff:
    permission: msg.staff
    permission-message: §cNo permission.
  stafflist:
    permission: msg.stafflist
    permission-message: §cNo permission.
  clearchat:
    aliases: [cc]
    usage: /<command> [reason]
    permission: msg.clearchat
    permission-message: §cNo permission.
  profanity:
    permission: msg.profanity
    permission-message: §cNo permission.
    usage: /<command> <args>
    aliases: [prof]
  replacechat:
    permission: msg.replacechat
    permission-message: §cNo permission.
    usage: /<command> <player>
    aliases: [rchat]
  vote:
    usage: /<command>
    permission: msg.vote
    permission-message: §cNo permission.
  msg:
    usage: /<command> <player> <args>
    permission: msg.msg
    permission-message: §cNo permission.
    aliases: [m, t, tell]
    description: Message a player.
  reply:
    usage: /<command> <args>
    permission: msg.reply
    permission-message: §cNo permission.
    aliases: [r]
    description: Reply to your last message.
  message:
    usage: /<command> <args>
    permission: msg.message
    permission-message: §cNo permission.
    description: Message plugin command.
    aliases: [msgplug, msgplugin]
  mhelp:
    usage: /<command>
    permission-message: §cNo permission.
    description: Message help.
  staffchat:
    usage: /<command> [msg]
    description: Enter staffchat mode.
    permission: msg.staffchat
    permission-message: §cNo permission.
    aliases: [sc]
  moptions:
    usage: /<command> <args>
    description: Options for the MSG plugin.
    permission: msg.options
    permission-message: §cNo permission.
    aliases: [mo]
  mpanel:
    usage: /<command>
    description: Options as gui form.
    permission: msg.options.gui
    permission-message: §cNo permission.
    aliases: [mp]
  togglechat:
    usage: /<command>
    description: Mute the chat.
    permission: msg.chat.toggle
    permission-message: §cNo permission.
    aliases: [tc, tchat]
permissions:
  msg.staffchat.*:
    description: All staffchat permissions.
    default: op
    children:
      msg.staffchat.see: true
      msg.staffchat.actionbar: true
      msg.staffchat: true
  msg.chat.*:
    description: All chat commands.
    default: op
    children:
      msg.chat.toggle: true
      msg.chat.talk: true
  msg.chat.talk:
    description: Talk when chat is muted.
    default: op
  msg.options.*:
    description: All option commands.
    default: op
    children:
      msg.options: true
      msg.options.gui: true
  msg.user:
    description: User commands.
    default: true
    children:
      msg.msg: true
      msg.reply: true
      msg.vote: true
      msg.rules: true
      msg.staff: true
      msg.togglesounds: true
  msg.help:
    description: Help for message permission.
    default: true
  msg.staffchat.see:
    description: See the staffchat.
    default: op
  msg.staffchat.actionbar:
    description: See an actionbar if the config value for it is true.
    default: op
  msg.sign.create:
    description: Create MSG signs
    default: op
  msg.sign.interact:
    description: Interact with MSG signs
    default: op
  msg.sign.*:
    description: All MSG sign permissions.
    default: op
    children:
      msg.sign.create: true
      msg.sign.interact: true
  msg.tab:
    description: Bypass the antitab system
    default: op
  msg.profanity.bypass:
    description: Bypass the antiswear system
    default: op
  msg.profanity.alert:
    description: Recieve alerts when people swear
    default: op
  msg.profanity.*:
    description: All Profanity permissions.
    default: op
    children:
      msg.profanity.bypass: true
      msg.profanity.alert: true
      msg.profanity: true
      msg.profanity.lookup: true
      msg.profanity.whitelist: true
      msg.profanity.blacklist: true
  msg.profanity.blacklist:
    default: op
    description: Blacklist words from in-game
  msg.profanity.whitelist:
    default: op
    description: Whitelist words from in-game
  msg.clearchat.reason:
    description: Give a reason when clearing the chat
    default: op
  msg.clearchat.*:
    description: All clearchat permissions
    default: op
    children:
      msg.clearchat.reason: true
      msg.clearchat: true
  msg.command-blocking.bypass:
    default: op
  msg.command-blocking.alert:
    default: op
  msg.command-blocking.*:
    default: op
    description: All command-blocking permissions.
    children:
      msg.command-blocking.bypass: true
      msg.command-blocking.alert: true

DON'T MESS WITH THE DATA.YML FILE YOU WILL MESS UP STUFF!!

To see the staff chat the permission is: msg.staffchat.see
To talk in the chat while it's toggled off the permission is: msg.chat.talk

Permission Groups:
msg.chat.* - All chat features (Toggle chat, and talk in chat while chat is disabled)
msg.user - User commands
msg.options.* All option features (GUI etc.)
msg.profanity.* - All profanity permissions (see alerts bypass the blacklist lookup user logs)

By default all users get the permission "msg.user"
This contains the following permissions:
msg.msg
msg.reply

To get a players profanity log, type in /profanity (prof) <player>
It'll come up like this:
Log for @<player>
- <profanity>
- <profanity>
etc.

Profanity >
By default it whitelists 'glass' so players cans say the word glass and not get flagged.

ReplaceChat >
do /replacechat <player> and it'll toggle it on or off for them
Let's say that Player1 had it toggled on
Player1 tries to say Hello everyone
Instead it'll come up with a random line set in the config.yml

Config:
WARNING: This config contains profanity in it

msg: # MSG Options
  targetmsg: '&a%sender% -> YOU -> &r&o%msg%' # The message sent to the target
  sendermsg: '&aYOU -> %target% -> &r&o%msg%' # The message sent to the sender
  replymsg: '&a%sender% -> YOU -> &r&o%msg%' # The message sent to the target [reply]
  replysendermsg: '&aYOU -> %target% -> &r&o%msg%' # The message sent to the sender [reply]
  noargsreply: '&cYou must supply a message! Usage: /r <msg>' # No arguments [reply]
  notonlinereply: '&cYou have no one to reply too!' # Not online [reply]
  noargsmsg: '&cYou must supply a player name and message! Usage: /msg <player> <msg>' # No args [msg]
  notonlinemsg: '&cThat player is not online! Usage: /msg <player> <msg>' # Not online [msg]
  sendingtoself: '&cYou cannot message yourself silly! Usage: /msg <player> <msg>' # Sending to self
use-staff-chat: true # Use the staff chat. [true or false]
use-staff-chat-actionbar: true # Use the staff chat actionbar. [true or false]
staff-chat-not-enabled: '&fUnknown command. Type "/help" for help.' # If the above is set to false then when the user exucutes /sc show them this.
staffchat: # Staffchat options
  enabled: '&c&l[&r&fSC&c&l]&r&7 StaffChat has been enabled!' # SC enabled
  disabled: '&c&l[&r&fSC&c&l]&r&7 StaffChat has been disabled!' # SC disabled
  format: '&c&l[&r&fSC&c&l]&r&7 %player%&b:&f %msg%' # SC format
  actionbar-format: '&c%player%:&f %msg%' # The actionbar format if use-staff-chat-actionbar is true.
chat: # Chat options
  disabled: '&c&lChat was disabled by %sender%!' # Chat disabled
  enabled: '&c&lChat was enabled by %sender%!' # Chat enabled
  clearchat-message-noargs: '&c%sender% has cleared the chat.' # No reason was given
  clearchat-message: '&c%sender% has cleared the chat for %reason%'
json: # JSON options
  use-welcome-message: false # Use the welcome message (true or false)
  json-welcome: '&cWelcome to our server %player%!' # When the player joins they recieve this message
  json-hover: '&cClick here to execute a command!' # When the player hovers over the message show this message
  json-command: '/mhelp' # The suggested command to run when they click the message
death: # Death message settings
  use: true # Use the custom death message
  death-message: '&e%player% &cwas killed by &e%killer%&c!' # The death message if above is true
voting:
  header: '&f===================' # Voting header
  links: # Voting links
    - '&chttp://muricans.ml'
  footer: '&f===================' # Voting footer
replacechat: # ReplaceChat messages etc.
  invalid-usage: '&cInvalid usage! /replacechat <player>' # No arguments found.
  toggled-on: '&aReplaceChat toggled on for %target%' # Toggled on
  toggled-off: '&cReplaceChat toggled off for %target%' # Toggled off
  offline-player: '&c%target% is offline! Try a different player.' # Target is offline
  words: # On chat if the player is being replacechatted by somebody replace whatever they say with these words. (Randomly)
    - 'I like to eat cookies, they''re bad for health though :('
    - 'I''m a dumb person, please ban me!'
    - 'This server is using MSG, download it @ https://www.spigotmc.org/resources/msg-tested-on-1-8-1-7-10-1-10.31708/'
    - 'Thanks for using MSG, please drop a rating if you liked it!'
    - 'a'
    - 'b'
    - 'c'
    - 'd'
    - 'e'
    - 'f'
tab: # !ProtocolLib needed!
  cancel: true # 1.8-1.10 only.
  first-param-only: true # If the player adds more than 1 argument stop blocking it so they can tab complete player names etc.
  use-message: true # If the above is true do you want to send a message to the player when they do it?
  message: '&cPlease don''t try to steal our commands!' # If the above is true send them this message.
profanity:
  enable: true
  block: true
  alert: '&c%player%: &f%msg%'
  warn-message: '&aPlease do not swear on our server, all staff have been alerted.'
  blacklist:
  - 'fuck'
  - 'pussy'
  - 'dick'
  - 'vagina'
  - 'penis'
  - 'fag'
  - 'hitler'
  - 'nazi'
  - 'kkk'
  - 'nigger'
  - 'faggot'
  - 'nigga'
  - 'bitch'
  - 'ass'
  whitelist:
  - 'glass'
  - 'mass'
  - 'bass'
command-blocking:
  enable: true
  alert: true
  warn-message: '&aThat command is blocked, sorry.'
  alert-message: '&c%player%: &f%msg%'
  blacklist:
  - 'plugins'
  - 'pl'
  - '?'
  - 'bukkit:help'
staff:
  header: '&e==================='
  group: '&c- %group%'
  footer: '&e==================='
sounds:
  enable: true
  soundToPlay: LEVEL_UP
  toggled:
    on: '&aSounds toggled on.'
    off: '&cSounds toggled off.'

This doesn't include a social spy.

Accepted placeholders:
%sender% The sender of the command
%target% The target of the command
%msg% The message of the command
%player%

How to use stafflist and staff:
1. /stafflist create GROUPNAME &cGroupPrefix &7%player% - Create a stafflist group
2. /stafflist set PLAYERNAME GROUPNAME - add a player to a stafflist group
3. /stafflist format GROUPNAME NEWGROUPREFIX Edit the prefix of a stafflist group
4. /staffhide Hide yourself from the command /staff
5. /staff Show all unhidden and online staff

Please note:
I directly copied the code from MSG. If you find any errors I can try my best to fix them. I've been inactive for a while, so I decided to just make an updated version of MSG. I could possibly add more features later. Yes this is MY plugin I didn't take it from anyone.

MSG: GitHub

If you enjoyed the plugin, please rate it!

Similar projects

Plugin →