PrivateMessages [1.7-1.21] icon

PrivateMessages [1.7-1.21] -----

Advanced messaging plugin | Messages history, sound notifications, vanish, proxy support and more.




  1. Fixed a very old issue related to inventory handling where players can place their items in messages history / sound selection menu by shift-clicking. This update affects only backend (Bukkit) version of plugin.
----------, May 20, 2025

Update 3.0-BETA10 [BACKEND + VELOCITY PLUGIN HOTFIX]
  1. Fixed critical bug causing default config files not being created properly when plugin data folder doesn’t exist yet. This issue was present only on backend („Bukkit”) version of plugin.
  2. Fixed issue with creating MySQL connection on Velocity.
----------, May 6, 2025

  1. Added support for MiniMessage chat formatting (Format - Adventure Documentation (v4.20.0) ) for backend and for proxy-version of plugin (Only Velocity or compatible forks).

    This feature requires setting „MiniMessageChatFormatting” being set to „true” in config.yml (default is „false”). Also server running Minecraft version 1.17 or higher and Paper / Paper-compatible fork is a requirement .
    You can download new lang.yml file formatted using MiniMessage from project page or by renaming/deleting existing file within plugin data folder – plugin will place appropriate file depending on value set to „ MiniMessageChatFormatting” in config.yml. To convert your existing lang.yml file (if you have made any changes) you can use tools like this one: Legacy to MiniMessage Editor

    Add below code to config.yml.
    Code (YAML):
    MiniMessageChatFormatting : false # Requires Paper 1.17+ or compatible fork

  2. Now it’s possible to better control format of text displayed in messages inventory – this includes each message entry and page switch items. Add below code to lang.yml or re-generate a new one.
    Code (YAML):
    INV_HISTORY_MESSAGE_ENTRY_NAME : "<red><sender> <white> -> <green><recipient>"
    INV_HISTORY_MESSAGE_ENTRY_MESSAGE_LINE
    : "<yellow><text>"
    INV_HISTORY_MESSAGE_ENTRY_DATE
    : "<gray><date>"
    INV_PAGE_NUMBER
    : "<number>"
----------, Apr 27, 2025

  1. Added support for Minecraft versions up to 1.21.5.

    I recommend reading comment below to be better prepared for future Minecraft server updates!
    Please be aware that even if a plugin project page doesn’t state X version as „supported” it doesn’t mean plugin will break as soon as you try running it on a newer server version.
    PrivateMessages uses only very basic bukkit api calls and doesn’t rely on any version-specific code (excluding internal sound names which are controllable by server admins through sounds.yml file thus in case of change they aren’t forced to wait for an official update) and it’s very unlikely future updates to Bukkit/Spigot will bring any incompatibilities. That means, before asking questions like „Will this plugin get X version support” consider running it on server and checking if there are any issues – most likely there won’t be any.

  2. Added Velocity support (Configuration of plugin is identical as when running on BungeeCord).

  3. Added ability to replace console sender name with custom defined one
    If you are updating, add these lines to a config.yml file:
    Code (YAML):
    ConsoleSenderName : "CONSOLE"
  4. Added ability to completely turn off messages history:
    config.yml -> MessagesHistory -> Enabled: true/false (default is true)
    If you are updating, add these lines to a lang.yml file:
    Code (YAML):
    INFO_HISTORY_DISABLED : "Messages history is disabled."
    And this to a config.yml file:
    Code (YAML):
    MessagesHistory:
        Enabled
    : true

    * With Messages History disabled, offline messaging is not possible, even with "AllowSendingMessagesToOfflinePlayers" set to true in config.yml

  5. Added tab-completions for /pmhistory command. Also it's now possible to define own replacements for default tab-completions of /message, /pmignore, /pmread and /reply commands.
    If you are updating, add these lines to a lang.yml file:
    Code (YAML):
    TABCOMPLETE_EMPTY_PLAYER_NAME : "[player name]"
    TABCOMPLETE_EMPTY_MESSAGE_NUMBER
    : "[message number]"
    TABCOMPLETE_EMPTY_MESSAGE_TEXT
    : "[text]"

  6. Changes to plugin permissions

    Permissions pm.message.vanished and pm.reply.vanished have been removed. From now there is one permission replacing them:
    pm.vanishbypass. Any command and its tab-completion look for this permission when determining if command sender should be able to interact with or see certain player in tab suggestions. Currently this check applies to /message, /reply, /ignore and /pmhistory commands and will also apply to any future command interacting with other players.

    NOTICE: When using PremiumVanish, by default it hides all vanished players names from ALL tabcompletions on server if command sender doesn't have pv.see permission. You have 2 ways to get around of this:

    1. Give player who should see vanished names suggestions both pm.vanishbypass and pv.see permissions (Recommended way)

    2. Turn off tabcompletion hiding feature in PremiumVanish config (config.yml -> Advanced -> DisabledInvisibilityModules -> Comment "-TabComplete") and then execute /pv reload


  7. Changes to sound notifications system

    * Now plugin uses it's server-version detection to place valid default sounds configuration. This means you no longer have to rename default sound names if you are running older server implementations like 1.8, 1.12 etc. Plugin does all work for you.

    * Now it's possible to enable/disable sound notifications by individual players (click dedicated item in /pmsound). There is also separate permission to this feature: "pm.sound.toggle"

    * Fixed issues:
    1. Sound notifications not working when plugin is loaded for the first time
    2. Sound notifications inventory not updating after using /pmreload command

    Update lang.yml file with these lines:
    Code (YAML):
    INV_SOUND_TOGGLE_ITEM_NAME : "&eEnable/disable sound"
    INV_SOUND_TOGGLE_ITEM_LORE
    :
    - "&fLeft-click here to enable"
    - "&for disable sound"
    - "&fnotifications."
  8. Other changes

    * Fixed errors related to inventory click events on servers running 1.7.10 or older versions.
    * Fixed minor bugs related to plugin shutdown when using it on bungee server
    * Plugin is now released through separate .jars each for Bukkit/Spigot, BungeeCord and Velocity servers.


Thanks to everyone still using this plugin on their servers and who waited for updates. I’m open to your suggestions on how I can improve project more so you can enjoy using PrivateMessages even more. Feel free to let me know what you like (or not) about this update and what would you like to see in the future.
----------, Apr 18, 2025

Fixed issue causing improper sound playing and throwing IndexOutOfBoundsException in certain circumstances.
----------, Jun 24, 2022

- Fixed NPE on player join when bungeecord mode is disabled
- Fixed exception when trying to play message sound if none sounds are present in config.
- Fixed sound selection inventory loading in 1.16.2
----------, Aug 15, 2020

First, I would like to apologize all of you who had to wait so long for 1.16 support. There were many factors whose made significant delay, including private-life problems and keeping busy updating my own servers and other plugins to 1.16.
The cause of plugin break after releasing next major Minecraft version was easy to fix and I've made sure plugin will not break again because of the same issue without need of releasing dedicated update in 1.17 and onwards.

This is the biggest update since releasing first beta of new 3.0 release.

1. BungeeCord Support (Finally we have it!)
  • Requires use of MySQL (or other compatible to it) database.
  • Vanish support also works with BungeeCord. If you don't have any vanish plugins running on bungee, PM will try to find and get vanish info from servers running within network (this requires PM to be installed on all your servers).
  • Added configuration option "BungeeCord". Set it to true to enable this feature.
  • Read carefully main page of plugin to get it working properly.
2. 1.16 Support
  • Minecraft 1.16.-1.16.2 is now supported.

3. Changes & fixes
  • Fixed issue with sending % and $ signs.
  • Re-added missing notifications after unvanish from PrivateMessages 2.x versions
  • Added tab-completion of vanished players names
  • Added tab-completion to /pmignore command
  • Improved detection of unread messages. Now you will also get informed about messages which are waiting for save in database.
  • Added bStats. You can disable this by setting "Metrics" to "false" in config.yml

Configs won't update automatically.
Add these lines if updating from previous versions:
Code (YAML):
BungeeCord : false
Metrics
: true
and set them as you like.
----------, Aug 15, 2020

Added 1.15 support.
----------, Dec 11, 2019

- Added support for PremiumVanish.
- Improved stability of generating messages history. Now you can set how many messages plugin can generate on each second. By default, plugin won't generate more than 5000 messages per second.

config.yml:
Code (YAML):
MaxHistoryMessagesPerSecond : 5000

- Added button to move 50 pages at one click in messages history.
----------, Nov 2, 2019

- Fixed messages not storing in history when sent to offline players
- Fixed messages in some case starting with recipient name when using /msg [player]
- Fixed some NPE's
----------, Sep 21, 2019

Plugin has been rewritten from scratch to optimize some things and make further updating easier.
Minecraft 1.14.x is now supported.


Other changes:

- "config.yml" was completely changed. If you're updating from older versions re-generate this file!
- Database tables were changed. Old data is not compatible with this version of plugin. I recommend to delete old database file (xyz.db) or tables created previously in MySQL (or similar databases).
- Some commands/permissions look different than before. Check this in plugin descrpitoion..
- Fixed permission defaults
- New command: /pmtoggle - it allows you to disable sending and receiving messages. They will not show in messages history. Users with permission may bypass this (look at permissions section)
- "Messages History" inventory now allows you to skip 10 pages at once.
- The default sound notification is now the first sound defined in sounds.yml file
- "Sound select" inventory now includes help item
- Optimized saving messages in database. You can define save interval in seconds through config.yml
- You can now define timezone used by messages history through config.yml
- Improved sending messages to offline players.



This is beta version of plugin. Tested on live server with dozens of players. None issues were observed. I'm going to re-add few minor options left from previous versions before making "full release".
----------, Jul 7, 2019

- Vault is no longer needed for permissions support.
- Fixed other dependency issues.
----------, Dec 11, 2018

1) This update adds SocialSpy. Use /pmspy to activate/deactivate. Requires admin permission.
You have to type /pmsg update before using this feature! (SQL tables will be updated.).Don't have to do this if not used this plugin before.

Add these lines to lang.yml:
Code (YAML):
SpyMessageFormat : "&8[PM] <sender> to <recipient>: <message>"
SpyEnabled
: "&6&l[&f&lPM&6&l] &fSocialSpy is now enabled."
SpyDisabled
: "&6&l[&f&lPM&6&l] &fSocialSpy is now disabled."



2) HikariCP is now used in SQLite database (before it was used only in MySQL)

3) Player tab-completion is now really fixed! And works better than ever before.
----------, Oct 20, 2018

- Fixed player tabcompleting
- Removed console spam
----------, Sep 25, 2018

Update to 1.13.1
Support for older versions is now included as it was before 1.13.
Additionally, I've fixed many connection bugs with MySQL.
----------, Sep 23, 2018

This update fixes bug causing plugin to not work when vanish support is disabled.

Note:

The next update will bring back support for versions older than 1.13 and will have also last fixes.
----------, Aug 8, 2018

This update is only for 1.13!

Other:
- Improved MySQL handling
----------, Jul 26, 2018

Make a backup of "Messages" section from your config.yml before updating!
How to update config.yml from 1.1 to 2.0: /pmsg update

New feature: "Messages History". Now you can read all your conversations in GUI
Main command: /pmhistory
* View all your conversations with all players ( /pmhistory)
* View all your conversations with certain player ( /pmhistory <playername>)
* View all of player conversations with certain player ( /pmhistory <player1> <player2>)
* View all of player conversations with all players ( /pmhistory <player1> *)
This feature is enabled by default and players can see only their own conversations. You can disable this by negating players "pm.history" permission.

[​IMG]

Other:
- Better tab-completion
- Separated "Messages" section from config.yml and moved to new lang.yml
- Dropped support for "YAML" storage type
- Other small fixes & improvements


Notice: The jar file is much bigger than should it be, it's because of my IDE was temporarily misconfigured. This doesn't affect anything.
----------, Apr 20, 2018

>> Re-generate config.yml or type "/pmsg update" to update config from 1.0 to 1.1 without data loss.

Fixes:
- Removed some forgotten debug messages
- Fixed plugin reloading

Addons/Improvements:
- Prevent sending messages to yourself
- Added option to disable offline messaging
- Added option to change the way offline messaging works (config.yml -> OfflineMessaging.Type)
"default" - message is sent by /m, /r etc.
"command" - message is sent by /omsg (or /om) - when player tries to use e.g. /m he gets notified to use /omsg...
- Added notifications about new messages for players who unvanish
- Added 1 sound to sounds.yml (if you want it you have to re-generate sounds.yml)
----------, Apr 9, 2018

Resource Information
Author:
----------
Total Downloads: 12,179
First Release: Mar 3, 2018
Last Update: May 20, 2025
Category: ---------------
All-Time Rating:
20 ratings
Find more info at maciejnierzwicki.pl...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings