Links
Tags
Creators
Details
3.3
Compatibility
Changes
This update is for Bukkit servers only. Plugin for proxy servers hasn't changed and latest version for those remains 3.2.
- Added PlaceholderAPI plugin integration.
It is possible to use extra placeholders inside of following messages in lang.yml file: MESSAGE_TO_FORMAT, MESSAGE_FROM_FORMAT, MESSAGE_TO_OFFLINE_FORMAT
Example use: (Original code):
MESSAGE_TO_FORMAT: "&6&l[&f&lPM&6&l] &cto &b<player>&f: &6<message>"
Let's use Essentials' nickname instead of player name:
MESSAGE_TO_FORMAT: "&6&l[&f&lPM&6&l] &cto &b%essentials_nickname%&f: &6<message>"
Other than that, PrivateMessages brings its own placeholders which can be used anywhere:
%privatemessages_last_message_sender% - returns player’s last messsage sender’s name (only during current server session)
%privatemessages_last_message_recipient% - returns player’s last messsage recipient’s name (only during current server session)
%privatemessages_unread_messages_count% - returns number of messages player has received when offline and still not marked as read by executing /pmclear command
%privatemessages_message_notification_sound_number% - returns identification number of sound selected for incoming messages to player
%privatemessages_message_notification_sound_enabled% - returns true when player has enabled incoming messages sound
%privatemessages_spy_enabled% - returns true when player has spy mode enabled
%privatemessages_messages_enabled% - returns true when player has enabled sending/receiving private messages
%privatemessages_tips_enabled% - returns true when player has enabled receiving plugin tips
%rel_privatemessages_messages_exchanged% - relational placeholder; returns number of all messages sent between two given players
%rel_privatemessages_player_ignored% - relational placeholder; returns true when player passed as second argument is ignored by player passed as first argument – this makes checks within PrivateMessages plugin only, doesn’t look for other plugins’ ignores e.g. Essentials’ ignores, even when PrivateMessages integrates with this plugin
- Updated config.yml file by adding „Integration.PlaceholderAPI” section to let server admins configure some details:
Integration:
PlaceholderAPI:
# How long to wait after last retrieval of unread messages count for given player from database before retrieving it again
UnreadMessagesCountUpdateIntervalSeconds: 30
# How long to wait after last retrieval of count of messages exchanged between two players from database before retrieving it again
MessagesExchangedUpdateIntervalSeconds: 30
- Updated lang.yml file by adding following text: (Modern formatting)
MESSAGE_TO_NOTPLAYER_FORMAT: "<gold><b>[<white><b>PM<gold><b>] <reset><red>to <aqua><recipient><white>: <gold><message>"
MESSAGE_FROM_NOTPLAYER_FORMAT: "<gold><b>[<white><b>PM<gold><b>] <reset><green>from <aqua><sender><white>: <gold><message>"
(Legacy formatting)
MESSAGE_TO_NOTPLAYER_FORMAT: "&6&l[&f&lPM&6&l] &cto &b<recipient>&f: &6<message>"
MESSAGE_FROM_NOTPLAYER_FORMAT: "&6&l[&f&lPM&6&l] &afrom &b<sender>&f: &6<message>
- Fixed displaying of few unnecessary debug messages during plugin load.
- Fixed issues when running plugin on some Folia forks.
Optional dependencies
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:RbSZpJ3f:Pe0feNxj"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:RbSZpJ3f:Pe0feNxj"
}

