Complete Softmute (Vanilla version)
Extend GriefPrevention's softmute feature to vanilla's /me and /tell commands
Alright, I finally took the time to create and publish a plugin that's useful.
This plugin requires and uses GriefPrevention. Note: If you use GriefPrevention version 13.3 or later, be sure to that the "IsIgnoringYou" message in messages.yml is empty, e.g.
IsIgnoringYou: Text: ''
(Those are two single quotation marks, not one double quotation mark.)
This plugin hooks into GriefPrevention's softmute feature and replicates the vanilla versions of the /tell and /me command for players who are softmuted.
How GriefPrevention's softmute feature works:
If a player is softmuted, only they (and other softmuted players) will be able to read chat messages sent by themselves and other softmuted players
However, this feature is limited to chat messages. Private messages (/tell) or action messages (/me) are simply cancelled. Instead of just cancelling such commands, this plugin "emulates" the softmute feature for /tell and /me by making these commands appear to work for softmuted/ignored players:
Whispers (/tell): If a player is softmuted, it will appear that they can still send private messages to other (non-softmuted) players. However, normal players will not receive whispers from softmuted players.
- Uses WhisperSlashCommands listed in GriefPrevention's commands.yml
- v1.1.0: Will also softmute whispers for receivers who have /ignored the sender.
Action messages (/me): Only the softmuted player will see their /me message.
I plan to keep this version of the plugin solely for vanilla's features, and keep it configless. (I'll try to work on adjusting for translations if possible.) I will be working on a version with a config file so you can adjust how the message is displayed in-game along with player prefixes and other various options whenever I figure out how to do config files.