SimplePMs 2.4.2
on Jul 21, 2025- Fixes issue where older versions of the plugin were not properly upgrading the database
- Fixes #6
- Tested on 1.21.8
- No other changes
SimplePMs 2.4.1 - Fix for a couple issues
on Jun 13, 2025- Fix for sql initialization if you didn't have the config already
- Fix for the plugin just dying because of not being in a preview java version
SimplePMs 2.4.0
on Jun 6, 20252.4.0
Very few changes for admins
- sounds are now declared as their namespaced keys instead of the enum value
minecraft:block.note_block.xylophoneinstead ofBLOCK_NOTE_BLOCK_XYLOPHONEfor example. - Plugin is now a 'paper plugin' - though it has been based on paper for a long time, it should show up in the 'paper plugins' section now
- Player's names should properly autocomplete in
/msgand/blockcommands regardless of if the paper setting for autocompleting names on a null return is enabled or not - Commands now use brigadier, which means you can do this now, if you want, for some reason

- Save handling is now done async so there shouldn't be any issues with SQL calls freezing the server, nobody reported issues with that but now it shouldn't happen regardless
SimplePMs 2.3.1
on May 18, 2025Changed
Changed alias list to remove reundant aliases:
/msgaliases are now/telland/w/replyaliases are now/r/socialspyaliases are now/ss
If you need to add, remove, or change the commands / aliases shown here, please see PaperMC: Bukkit Commands Configuration or GitHub - Zefferis: commands.yml for an example.
SimplePMs 2.3.0
on Mar 10, 20252.3.0
Added:
- Sounds config section
- Configurable sounds for:
- Receiving a message
- Sending a message
- Receiving a social spy notification
Fixed
/block <user> <reason>should now work as expected- The permission
message.bypass.social-spyshould now work as expected /msgtoggleshould now work as expected- Issues fixed:
- Attempting to
/blocksomeone while you have an empty block list causes error spam in console - Using
/blockdoes not properly update the block list, it updates on restart only - The permission for bypassing Social Spy was not consistently checked.
- Message toggle was pointing to an old method that it shouldn't have
- Message toggle straight up didn't work because I literally just had 'if it isn't true, set it not true' so
- Attempting to
SimplePMs 2.2.0
on Jan 2, 2025Adjusts default permissions, please read if you have specific permissions setup
Basic functionality is now enabled by default, these permissions are now default as true:
message.basic.sendmessage.basic.receivemessage.basic.togglemessage.basic.block
If you have a setup where you have only specific groups with these permissions, you will need to adjust things so that now the groups you don't want having those permissions have them set to false instead. The other permissions are unchanged.
SimplePMs 2.1.0
on Jan 1, 2025Fixes
- Fixes the issue where people's social spy would be reset, still. (Really, I hope it's actually fixed now)
Additions
- Adds the ability to spy on commands, list of commands to spy on is configured in config.yml
- Disabled by default
- Added to allow for
/minecraft:msgand similar commands to be monitored without disabling them completely.
- Adds bypass permission for both socialspy and commandspy, which will prevent your messages and any messages sent to you from being spied on
- (Note, this does not mean any messages sent through something like
/minecraft:msgto you will not be shown, as those messages only are checked by the sender, not reciever) message.bypass.social-spymessage.bypass.command-spy
- (Note, this does not mean any messages sent through something like
SimplePMS 2.0.0
on Dec 2, 2024Complete rewrite
- Changes storage to SQLite or MySQL - which should fix #2 's issue of social spy settings not persisting
- There is now an option in the config named
console-has-social-spy: truewhich allows console to have the same formatted readout that people with socialspy do - Options for messaging
hidden-players(vanished) andconsole, as well as config options for what to use as the name for console. - Formatting for how names appear in direct messages and social spy are in the config, other messages can be updated in the Locale
- The server can now message itself, if you wanted to do that for some reason
- Adds 4 commands
/block <user> [reason]/unblock <user>/blocklist/msgtoggle
- Changes permissions
| Permission | What it do |
|---|---|
message.reload |
Allows reloading the config/locale |
message.basic.send |
Allows sending messages |
message.basic.receive |
Allows receiving messages |
message.basic.toggle |
Allows toggling direct messages on or off |
message.basic.block |
Allows blocking, unblocking, and listing your blocked users |
message.admin.override |
Allows messaging users who have their messages disabled, have you blocked, or do not have the receive permission |
message.admin.social-spy |
Shows a log of direct messages being sent between players |
message.admin.console-spy |
Shows a log of any direct messages being sent between the console and players (from this plugin) |
SimplePMS 1.0.3 - Fix Mappings
on Jun 29, 2024- Fixes the mappings so that paper will not remap it.
- No other changes
SimplePMS 1.0.2
on May 12, 2024- Switch internal stuff over to 'simplexity' instead of adhdmc
- add 1.18.2 support
SimplePMS 1.0.1
on Apr 30, 2023Fixes an issue where the Set spyingPlayers would just hold players there until the server stopped
The plugin now removes players from the set when they quit the game.
Also fixed PrivateMessageEvent so it actually works now, so other plugins can listen to this event/cancel it - there is no import for this plugin as of right now, it'd have to be manually added to your resources.
SimplePMS v1.0
on Apr 26, 2023New Features:
- Placeholder API support
- You can use placeholderAPI placeholders in the messages by doing:
<papi:placeholder> - You will need to remove any % from the placeholder, and put in the text alone, so for the placeholder
%player_displayname%you would use<papi:player_displayname>in the file here. - You will need placeholderAPI installed for those placeholders to work
- You can use placeholderAPI placeholders in the messages by doing:
Fixed issues:
- #1
- Text after the reply command should no longer constantly tab-complete names
Breaking Changes:
-
Language options are now controlled in the
locale.ymlfile- The keys for the locale options are not the same as previously, so you will need to customize the message under the new key
- The previous default placeholders for sender/recipient have been altered in the new
locale.ymlin order to allow for all messages to be parsed through the same parser methods, rather than constructing individual parser methods for each method
-
Permissions have changed slightly
spm.sendhas been changed tospm.message.send, andspm.message.receivehas been addedspm.socialspyis now required to see social spy messagesspm.socialspy.toggleis now a child ofspm.socialspyspm.consolespyhas been added, which allows someone to see the messages that the server sends (using /msg) to a player, or that a player sends to the serverspm.recipient.overridehas been added, which allows someone to message a player who hasspm.message.receiveset to false
Full Changelog: https://github.com/ADHDMC/SimplePMs/commits/v1.0
SimplePMS 0.1-beta
on Jan 13, 2023Initial beta release



