You can change almost every message in Plex. Plex keeps the messages in /plugins/Plex/messages.yml. Below is every
message in the default file, grouped as the file groups them. Each message shows its default text and the
placeholders that Plex fills in for it.
banMessage"<red>You have been banned! You may appeal at <gold><appeal_url>.\n<red>Reason: <gold><reason>\n<red>Expires in <gold><expires_in>\n<red>Banned by: <gold><punisher>"<appeal_url> Appeal URL<reason> Reason<expires_in> Expiry<punisher> Punisher
# banStatus"<red>Banned <dark_gray>• <gold><reason> <dark_gray>• <yellow>Expires in <expires_in>"<reason> Reason<expires_in> Expiry
# banCapacityMessage"<red>You are banned and all spectator slots are occupied. You may appeal at <gold><appeal_url>.\n<red>Reason: <gold><reason>\n<red>Expires in <gold><expires_in>\n<red>Banned by: <gold><punisher>"<appeal_url> Appeal URL<reason> Reason<expires_in> Expiry<punisher> Punisher
# bannedPriorityKick"<red>A regular player needed your spectator slot. Reconnect when space is available."
# bannedPlayerJoined"<gray>Banned player <yellow><player><gray> joined" # bannedPlayerLeft"<gray>Banned player <yellow><player><gray> left" # bannedTabMarker"<dark_red>[BANNED]"
# playerLimitBypassKick"<red>A player with priority needed your slot. Reconnect when space is available."
# kickMessage"<red>You have been kicked! \n<red>Reason: <gold><reason>\n<red>Kicked by: <gold><punisher>"<reason> Reason<punisher> Punisher
# indefBanMessage"<red>Your <type> is indefinitely banned! You may appeal at <gold><appeal_url>."<type> The type of indefinite ban<appeal_url> Appeal URL
# indefBanMessageReason"<red>Your <type> is indefinitely banned! You may appeal at <gold><appeal_url>.\n<red>Reason: <gold><reason>"<type> The type of indefinite ban<appeal_url> Appeal URL<reason> The reason
# playerNotFound"<red>Player not found!"
# playerAmbiguous"<red>More than one player matches: <players>. Enter a full name."
# specifyPlayer"<red>You must specify a player!"
# worldNotFound"<red>World not found!"
# correctUsagePrefix"<yellow>Correct Usage: "
# noReasonProvided"No reason provided."If an admin does not give a reason for a punishment, Plex uses this message. MiniMessage tags are not processed here.
# playerWorldTeleport"<aqua>You have been teleported to <world>."<world> The world you have been teleported to
# frozePlayer"<red><sender> - Froze <player>"<sender> The person who is freezing<player> The person who has been frozen
# unfrozePlayer"<aqua><sender> - Unfroze <player>"<sender> The person who is unfreezing<player> The person who has been unfrozen
# mutedPlayer"<red><sender> - Muted <player>"<sender> The command sender<player> The person who has been muted
# unmutedPlayer"<aqua><sender> - Unmuted <player>"<sender> The command sender<player> The person who has been unmuted
# timeMustBeFuture"<red>The specified time must be in the future."
# tempMutedPlayer"<red><sender> - Muted <player> for <duration>"<sender> The command sender<player> The person who has been muted<duration> The time that the person is muted for
# maxTimeExceeded"<red>The specified time must be under a week."
# lockedUpPlayer"<aqua><sender> - Locking up <player>"<sender> The person who is locking up<player> The person who has been locked up
# unlockedPlayer"<aqua><sender> - Unlocking <player>"<sender> The person who is unlocking<player> The person who has been unlocked
# noPermissionNode"<red>You must have the permission: <permission> <red>to use this command!"<permission> The permission node required to use the command
# noPermissionInGame"<red>Run this command from the console."
# noPermissionConsole"<red>Run this command in-game."
# spectatorTeleportDenied"<red>You do not have permission to teleport while spectating."
# gameModeCommandBlocked"<red>The vanilla gamemode command is disabled. Use the Essentials gamemode command or the gamemode switcher instead."
# consoleMustDefinePlayer"<red>Specify a player when you run this command from the console."
# teleportedToWorld"<aqua>You have been teleported to the <world>." # higherRankThanYou"<red>This player is an admin or a higher rank than you."
# consoleOnly"<red>Run this command from the console."
# banningPlayer"<red><sender> - Banning <player>"<sender> The command sender<player> The player
# banningName"<red><sender> - Banning username <username>"<sender> The command sender<username> The username
# banningIp"<red><sender> - Banning IP <ip>"<sender> The command sender<ip> The IP address
# invalidUsername"<red>That is not a valid Minecraft username."
# invalidIpOrPlayer"<red>Specify a valid IP address or a player with a known IP address."
# nameAlreadyBanned"<red>That username is already banned."
# ipAlreadyBanned"<red>That IP address is already banned."
# nameNotBanned"<red>That username has no active 24-hour ban."
# ipNotBanned"<red>That exact IP address or range has no active 24-hour ban."
# unbanningName"<aqua><sender> - Unbanning username <username>"<sender> The command sender<username> The username
# unbanningIp"<aqua><sender> - Unbanning IP <ip>"<sender> The command sender<ip> The IP address or range
# unbanningPlayer"<aqua><sender> - Unbanning <player>"<sender> The command sender<player> The player
# playerNotBanned"<red>That player is not banned!"
# playerNotFrozen"<red>That player is not frozen!"
# playerNotMuted"<red>That player is not muted!"
# playerBanned"<red>That player is already banned!"
# playerFrozen"<red>That player is already frozen!"
# playerMuted"<red>That player is already muted!"
# muted"<red>You are currently muted - STFU!"
# pvpDisabled"<red>PVP has been disabled!"
# chatIsOff"<red>Chat is currently toggled off!"
# chatToggled"<red><sender> - Toggled chat <state>"<sender> The command sender<state> The set value of the chat toggle
# kickedPlayer"<red><sender> - Kicking <player>"<sender> The command sender<player> The player
# teleportedToWorldSpawn"<aqua>Teleporting to the local spawn"
# toggleCommandSpy"<gray>CommandSpy has been"
# disabled"<gray>disabled."
# adminChatToggled'<gray>AdminChat was toggled <state>'<state> Whether it was toggled on or off
# stateEnabled"<green>enabled"
# stateDisabled"<red>disabled"
# stateEnabledUnsafe"<red>enabled"
# stateDisabledSafe"<green>disabled"
# maximumPrefixLength"<red>Your tag cannot be longer than <max_length> characters."<max_length> Maximum length, configured in config.yml
# prefixCleared"<aqua>Your prefix has been cleared."
# otherPrefixCleared"<aqua>You have cleared <player>'s prefix." # prefixSetTo"<aqua>Your prefix has been set to <prefix>" # blockeditSize"<gray><action> block editing for <count> players."<action> The action (blocked / unblocked)<count> The amount of players
# blockeditListEntry"<gray>- <player>"
# blockeditListNone"<gray>- none"
# blockeditAllPlayers"all players"
# blockeditAllNonAdmins"all non-admins"
# blockeditBlockedAction"Blocked"
# blockeditUnblockedAction"Unblocked"
# blockeditBlockedState"blocked"
# blockeditUnblockedState"unblocked"
# editsModified"<gray>Block editing is now <state> for you."The action (blocked or restored)
# listOfPlayersBlocked"<gray>Players who cannot edit blocks:"
# editsBlocked"<gray>Blocked block editing for <player>" # blockingEdits"<red><sender> - Blocking block editing for <players>"<sender> The command sender<players> The player name
# unblockingEdits"<aqua><sender> - Unblocking block editing for <players>"<sender> The command sender<players> The player
# editsUnblocked"<gray>Unblocked block editing for <player>" # removedEntities"<red><sender> - Removed <count> entities"<sender> The command sender<count> Number of entities removed
# removedEntitiesOfTypes"<red><sender> - Removed <count> entities of type(s) <types>"<sender> The command sender<count> Number of entities removed<types> Entity type(s) removed
# invalidEntityType"<gray>Notice: Entity type <entity_type> is invalid!"<entity_type> Entity type that is invalid
# noRemovedEntities"<gray>No entities were removed."
# amountOfMobsRemoved"<gray><count> <mobs> removed."<count> Number of mobs removed<mobs> Type of mob removed
# notAValidMob"<red>That is not a valid mob."
# notAValidMobButValidEntity"<red>That is a valid entity, but is not a valid mob."
# removedMobs"<red><sender> - Removed <count> mobs"<sender> The command sender<count> Number of mobs removed
# mobLimitToggle"<gray>The mob limit has been <state>"<state> The boolean for whether the limit is enabled or disabled
# mobLimitSet"<gray>The mob limit has been set to: <em><white><limit>"<limit> The amount that the mob limit has been set to
# mobLimitStatus"<gray>(<status><gray>) <em><white><count> <reset><gray>/ <em><white><limit> <reset><gray>per chunk (<em><white>Chunk<gray>: <reset><chunk_x>, <chunk_z><gray>)"<status> The boolean for whether the limit is enabled or disabled<count> The current amount of mobs in the world<limit> The current set mob limit<chunk_x> Chunk x value<chunk_z> Chunk z value
# mobLimitCeiling"<gray>That limit is too high. The limit has been set to the maximum allowed in the configuration."
# mobLimitEnabled"<green>Enabled"
# mobLimitDisabled"<red>Disabled"
# sayMessage"<blue>[Server: <sender>] <message>"<sender> The command sender<message> The message being said
# consoleSayMessage"<gray>[Console: <sender>] <white><message>"<sender> The command sender<message> The message being said
# unableToParseNumber"<red><input> is not a valid number!"<input> The number attempted to be parsed
# noNotes"<red>This player has no notes!"
# noteAdded"<green>Note added."
# noteNotFound"<red>A note with this ID could not be found."
# removedNote"<green>Removed note with ID: <id>"<id> The ID of the note removed
# clearedNotes"<green>Cleared <count> notes."<count> The number of notes cleared
# invalidToggle"<red>That is not a valid toggle."
# toggleAvailable"<gray>Available toggles:"
# toggleListItem"<gray> - <toggle><gray> (<status><gray>)"<toggle> The toggle name<status> The toggle status
# toggleCommandResult"<gray>Toggled <toggle><gray> (<status><gray>)"<toggle> The toggle name<status> The toggle status
# toggleToggled"<gray>Toggled <toggle>." # toggleExplosions"Explosions"
# toggleExplosionsLower"explosions"
# toggleFluidSpread"Fluid spread"
# toggleFluidSpreadLower"fluid spread"
# toggleDrops"Player drops"
# toggleDropsLower"player drops"
# toggleRedstone"Redstone"
# toggleRedstoneLower"redstone"
# specifyLoginMessage"<red>Please specify a login message."
# setOwnLoginMessage"<gray>Your login message is now:<newline><gray>> <reset><message>"<message> The login message
# setOtherPlayersLoginMessage"<gray><player>'s login message is now:<newline><gray>> <reset><message>"<player> The player<message> The login message
# removedOwnLoginMessage"<gray>Your login message has been removed."
# removedOtherLoginMessage"<gray>You removed <player>'s login message." # nameRequired"<red>Include your username in your login message. Enter your username or \\<player>."
# groupRequired"<red>Include your group title in your login message. Enter the title or \\<group>."
# playersWithMaterial"<gray>Players with <material> in their inventory: <players>"<material> The material name<players> The players who have the material in their inventory
# playersMaterialCleared"<gray><material> has been removed from the following players: <players>"<material> The material name<players> The players who have the material in their inventory
# nobodyHasThatMaterial"<gray>No one online has that in their inventory."
# materialNotFound"<red><material> is not a valid item/block name."<material> The attempted material name
# notANumber"<red><input> is not a valid number!"<input> The string that wasn't a valid integer
# notePrefix"<gold><!italic><id> - Written by: <author> on <date>"<id> Note ID<author> Author of the note<date> Timestamp
# noteLine"<newline><yellow># <content>"<content> The content of the note
# playerNoteAlert"<gold><player> has <count> note. <view_notes><underlined>Click here to view their note."<player> The player<count> The number of notes logged for said player
# playerNoteAlertPlural"<gold><player> has <count> notes. <view_notes><underlined>Click here to view their notes."<player> The player<count> The number of notes logged for said player
# smiteTitleMessage"<yellow>Be sure to follow the rules!"
# smiteBroadcast"<red><player> has been a naughty, naughty boy.<newline><red> - Reason: <yellow><reason><newline><red> - Smitten by: <yellow><sender>"<player> The player<reason> The reason for the smite. Will default to noReasonProvided if no reason is specified.<sender> The admin / staff member
# smittenQuietly"<gray>Smitten <player> quietly." # smitten"<red>You've been smitten. Reason: <yellow><reason>"<reason> The reason for being smitten
# nukerKickMessage"Please turn off your nuker!"
# nukerTempbanReason"You are temporarily banned for five minutes for using a Nuker."
# antiSpamMessage"<gray>Please do not spam."
# banExpiredBroadcast"Plex - Automatically unbanning <player>" # reappliedGamerules"<aqua>All game rules have been re-applied!"
# commandNotFound"<red>That command could not be found!"
# commandAliases"<aqua>Aliases for <command> are: <aliases>"<command> The command<aliases> A list of aliases found
# rollbackMessage"<gray>Rolled back <count> activities"<count> Number of activities found to rollback
# rollbackError"<red>Rollback failed: <error>"<error> Rollback error message
# rollbackNoResult"<gray>No activities have been rolled back"
# punishmentPlayerNotFound'<red>This player does not exist. Use /punishments \<player> instead.'
# activeBansList"<gold>Active Bans (<count>): <yellow><players>"<count> The amount of active bans<players> The active ban list
# unbannedPlayers"<gold>Unbanned <count> players."<count> The amount of players unbanned
# updateUpToDate"<green>Plex is up to date on the <channel> channel."
# updateAvailable"<red>Plex <version> is available on the <channel> channel."<version> The version<channel> The channel
# updateRunCommand"<red>Run: /plex update"
# updateDownloading"<green>Downloading latest JAR file: <file>" # updateDownloaded"<green>New JAR file downloaded and verified successfully."
# updateDirectoryFailed"<red>Unable to create update directory: <directory>"<directory> The directory path
# updateDownloadFailed"<red>Something went wrong while downloading <artifact>. Please check the log for more information."<artifact> The artifact name
# updateRequiresMinecraftVersion"<yellow>No Plex build exists for Minecraft <running_version>. Plex <version> on the <channel> channel supports Minecraft: <supported_versions>."<version> The Plex version<channel> The channel<supported_versions> The supported Minecraft versions<running_version> The running Minecraft version
# updateRequiresNewerMinecraft"<yellow>Your server is running Minecraft <running_version>, which is older than any version supported by Plex <version> on the <channel> channel (oldest supported: <oldest_supported_version>). Supported versions: <supported_versions>."<version> The Plex version<channel> The channel<oldest_supported_version> The oldest supported Minecraft version<running_version> The running Minecraft version<supported_versions> The supported Minecraft versions
# updateUnsupportedNewerMinecraft"<yellow>No Plex build exists yet for Minecraft <running_version>. Plex <version> on the <channel> channel supports up to Minecraft <newest_supported_version>. Supported versions: <supported_versions>."<version> The Plex version<channel> The channel<newest_supported_version> The newest supported Minecraft version<running_version> The running Minecraft version<supported_versions> The supported Minecraft versions
# moduleUpdateDisabled"<yellow>Skipping <module>; module updates are disabled."
# moduleUpdateSummary"<green>Module updates finished: <yellow><updated_count> updated<gray>, <yellow><skipped_count> skipped<gray>, <red><failed_count> failed<gray>. Modules were reloaded after all update attempts completed."<updated_count> The number of modules updated<skipped_count> The number of modules skipped<failed_count> The number of modules that failed to update
# moduleCommandsReloaded"<green>Module commands reloaded."
#
protectRegionCreated"<green>Created WorldGuard region <yellow><region></yellow> with the <yellow><preset></yellow> preset in <yellow><world></yellow>."
# protectPresetApplied"<green>Applied the <yellow><preset></yellow> preset to region <yellow><region></yellow>."
# protectRegionRemoved"<green>Removed region <yellow><region></yellow> from <yellow><world></yellow>."
# protectReloaded"<green>Reloaded protection.yml and synchronized <yellow><count></yellow> managed regions."
# protectSelectionIncomplete"<red>Make a complete WorldEdit selection first, or provide a radius."
# protectRegionExists"<red>A region named <region> already exists or is already managed by Plex."
# protectRegionNotFound"<red>No WorldGuard region named <region> exists in this world."
# protectPresetNotFound"<red>No protection preset named <preset> exists."
# protectInvalidRegionId"<red><region> is not a valid WorldGuard region name."
# protectManagerUnavailable"<red>WorldGuard region support is unavailable for world <world>."
# protectInvalidPreset"<red>The protection configuration is invalid: <error>"
# protectInvalidRadius"<red>The protection radius must be at least 1 block."
# protectPlayerOnly"<red>Run this command in-game."
# protectUnsupportedRegion"<red>Region <region> is not a cuboid. Plex only manages cuboid regions."
# protectManagedOtherWorld"<red>A Plex-managed region with that name already exists in world <world>."
# protectNoRegions"<gray>Plex is not managing any WorldGuard regions."
# protectRegionListEntry"<gray>- <yellow><region></yellow> in <world> (preset: <preset>)"
# protectNoPresets"<gray>No protection presets are configured."
# protectPresetListEntry"<gray>- <yellow><preset></yellow>: <description>"
#
A banned player may still join in spectator mode when a spectator slot is free. Plex kicks that player with
bannedPriorityKick when a regular player needs the slot. Plex shows banCapacityMessage when every spectator slot is
already taken.
Plex uses Oasis for a rollback. If Oasis is not installed, Plex uses CoreProtect. Without either plugin, no rollback
runs.
Modules can ship their own message files. A module reads its own messages.yml first, then falls back to the Plex
messages for any key that it does not define.