> For the complete documentation index, see [llms.txt](https://docs.pixel-dev.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pixel-dev.net/sdchat/configuration.md).

# Configuration

<pre class="language-yaml"><code class="lang-yaml"><strong># ==================================================
</strong># Plugin: SDChat
# Author: ShaneDev
# Version: 1.0
# Support Discord: https://discord.gg/EVSpujnuwC
# ==================================================


#Prefix of the plugin in chat. (Currently not used)
Prefix: "&#x26;a&#x26;lCHAT &#x26;8&#x26;l» "

#Chat Format (Supports ALL PlaceholderAPI Placeholders)
#NOTE: To change name color per rank, simply put the color at the end of the ranks prefix.
Chat-Format: '%luckperms_prefix% %player% &#x26;8» &#x26;f%message%'

#Whether the plugin should log chat messages &#x26; private messages (true/false)
Use-Logging: true

#Private Messaging
#Change this value to enable/disable private messaging (true/false)
Use-Messaging: true
#Placeholders: %recipient% - Players name receiving the message.
#Placeholders: %sender% - Players name that sent the message.
Message-SenderFormat: '&#x26;6[!] &#x26;7me -> &#x26;b%recipient% &#x26;8>> &#x26;r%message%'
Message-RecipientFormat: '&#x26;6[!] &#x26;b%sender% &#x26;7-> me &#x26;8>> &#x26;r%message%'
#SocialSpy
MessageSpy-Format: '&#x26;4[Spy] &#x26;b%sender% &#x26;7-> %recipient% &#x26;8>> &#x26;r%message%'
MessageSpy-Enabled: '&#x26;7You have &#x26;aenabled&#x26;7 MessageSpy!'
MessageSpy-Disabled: '&#x26;7You have &#x26;cdisabled&#x26;7 MessageSpy!'

#Content to go inside the box that appears when hovering over a players message
#NOTE: You can use ANY PlaceholderAPI placeholders here!
Hover-Box:
  - "Chat Hover Box"
  - "You can use placeholders!"
  - "Like this!"
  - "%luckperms_prefix% %player_name% %luckperms_suffix%"

#Command that will be placed in the players chat when they click a chat message.
#NOTE: Set this to '' to disable clicking messages.
Click-Command: '/msg %player% '

#Change this value to enable/disable staff chat (true/false)
Use-Staff-Chat: true
Staff-Chat-Format: '&#x26;4[StaffChat] &#x26;c%player% &#x26;7> &#x26;e%message%'


##REPORTING##
#Option to enable/disable the player reporting feature
Use-Reporting: true
#How many reports should appear on each page?
ReportsPerPage: 5
#How many seconds should players wait in between reporting?
ReportCooldown: 60
#Message sent when player is on report cooldown.
ReportCooldownMessage: '&#x26;c&#x26;lREPORTS &#x26;8» &#x26;cYou must wait %timeleft% seconds before reporting again.'
#Message sent to player when they use the command improperly.
ReportError: '&#x26;a&#x26;lCHAT &#x26;8» §cUsage: /report &#x3C;player> &#x3C;message>'
InvalidPage: '&#x26;c&#x26;lREPORTS &#x26;8» &#x26;cInvalid page number.'
#Message sent to player when they send a report.
Report-Message: '&#x26;c&#x26;lREPORTS &#x26;8» &#x26;aYour report has been sent!'
#Message sent to staff when a report is received.
Report-StaffMessage: '&#x26;8[&#x26;4REPORT&#x26;8] &#x26;a%reporter% &#x26;7has reported &#x26;a%reported% &#x26;7for &#x26;f%message%'
#ViewReports command format:
ViewReports-Page: '&#x26;6&#x26;lReports Page (%page%/%total%) [%totalreports%]'
ViewReports-Format: '%newline%&#x26;7[%timestamp%] %newline% &#x26;a%reporter% reported %reported%: &#x26;f%message%'

##HELP-OP##
Use-HelpOP: true
HelpOPCooldown: 60
HelpOPCooldownMessage: '&#x26;a&#x26;lHELPOP &#x26;8» &#x26;cYou must wait %timeleft% seconds before using this again.'
HelpOPError: '&#x26;a&#x26;lCHAT &#x26;8» §cUsage: /helpop &#x3C;message>'
HelpOP-Message: '&#x26;a&#x26;lHELPOP &#x26;8» &#x26;aYour request has been sent!'
HelpOP-StaffMessage: '&#x26;8[&#x26;aHELPOP&#x26;8] &#x26;a%player% &#x26;7is requesting help: &#x26;f%message%'


###############################
############LANGUAGE###########
###############################
# Set the message to '' if you want to disable it completely

#Message sent to players when they run a command that they don't have permissions for.
PermissionDeniedMessage: '&#x26;fNo Access'

#The message that gets broadcasted in chat when chat is cleared.
#Placeholders: %player% - Players name that cleared chat
ClearChatMessage: '&#x26;c&#x26;lChat has been cleared by %player%'

#The message that gets broadcasted when chat is muted/unmuted.
#Placeholders: %player% - Players name that muted/unmuted chat
MuteChatMessage: '&#x26;a&#x26;lCHAT &#x26;8» &#x26;c&#x26;lChat has been muted by %player%'
UnMuteChatMessage: '&#x26;a&#x26;lCHAT &#x26;8» &#x26;c&#x26;lChat has been unmuted by %player%'

#The message that gets sent to online staff when chat is muted/unmuted.
#Placeholders: %player% - Players name that muted/unmuted chat
MuteChatStaffMessage: '&#x26;4[STAFF] &#x26;cChat has been muted by %player%'
UnMuteChatStaffMessage: '&#x26;4[STAFF] &#x26;cChat has been unmuted by %player%'

#Message sent to player when they try to talk while chat is muted
ChatMutedMessage: '&#x26;cChat is currently muted!'

#The message that gets broadcasted in chat when chat gets slowed.
#Placeholders: %player% - Players name that slowed chat
#Placeholders: %time_slowed% - Amount of time chat has been slowed to.
SlowChatMessage: '&#x26;6Chat has been slowed by %player%. You can now chat every %time_slowed% seconds.'
SlowChatStaffMessage: '&#x26;4[STAFF] &#x26;cChat has been slowed by %player%. Players can now chat every %time_slowed% seconds.'

#Message sent to player when they try to talk while chat is slowed.
#Placeholders: %time_slowed% - Amount of time chat has been slowed to.
#Placeholders: %time_slowed_left% - Amount of time till the player can chat again.
SlowChatCooldownMessage: '&#x26;cChat is currently Slowed! You can chat again in %time_slowed_left% seconds!'

#Message sent to staff when they toggle staff chat on/off
EnabledStaffChat: '&#x26;7You have &#x26;aenabled&#x26;7 Staff Chat!'
DisabledStaffChat: '&#x26;7You have &#x26;cdisabled&#x26;7 Staff Chat!'

#Messages sent to sender when recipient has messaging disabled.
Toggled-Message: '&#x26;6[!] &#x26;c%recipient% has messaging disabled.'
#Messages sent to sender when they toggle messaging.
ToggleMessage: '&#x26;6[!] &#x26;7You have &#x26;cdisabled &#x26;7receiving messages.'
UnToggleMessage: '&#x26;6[!] &#x26;7You have &#x26;aenabled &#x26;7receiving messages.'

#Message sent to player when they use a command improperly.
SlowChatError: '&#x26;a&#x26;lCHAT &#x26;8» §cInvalid Usage. Usage: §f/slowchat &#x3C;time in seconds>'
BlockError: '&#x26;a&#x26;lCHAT &#x26;8» §cInvalid Usage. Usage: §f/block &#x3C;player>'
MessageError: '&#x26;a&#x26;lCHAT &#x26;8» §cInvalid Usage. Usage: §f/msg &#x3C;player> &#x3C;message>'
ReplyError: '&#x26;a&#x26;lCHAT &#x26;8» §cInvalid Usage. Usage: §f/r &#x3C;message>'
NoOneToReply: '&#x26;a&#x26;lCHAT &#x26;8» §cYou have not messaged anyone recently!'

#Message sent to player when they block/unblock a player.
BlockPlayer: '&#x26;a&#x26;lCHAT &#x26;8» §cYou have blocked %player%.'
UnblockPlayer: '&#x26;a&#x26;lCHAT &#x26;8» §aYou have unblocked %player%.'
#Message sent to player when the recipient has them blocked.
MessageWhileBlocked: '&#x26;a&#x26;lCHAT &#x26;8» §cThat player has you blocked!.'
#Message sent to player when they try to block an admin. (sdchat.block.bypass)
BlockBypass: '&#x26;a&#x26;lCHAT &#x26;8» §cYou cannot block that player!'

#Broadcast message using /broadcast
BroadcastFormat: "&#x26;c[BROADCAST] &#x26;b[%sender%] &#x26;f%message%"

#Time &#x26; Weather Language
#Placeholders:
#For Time: %time%
#For Weather: %weather%
Time-Set: '&#x26;7[&#x26;aTIME&#x26;7] &#x26;fYou have set the time to &#x26;a&#x26;n%time%&#x26;r'
Time-Error: '&#x26;7[&#x26;aTIME&#x26;7] &#x26;cPlease specify a valid time in ticks or (DAY / NIGHT)'
Weather-Set: '&#x26;7[&#x26;6WEATHER&#x26;7] &#x26;fYou have set the weather to &#x26;6&#x26;n%weather%&#x26;r'
Weather-Error: '&#x26;7[&#x26;6WEATHER&#x26;7] &#x26;cPlease specify a weather type (CLEAR or DOWNFALL).'

###############################
##########CHAT FILTER##########
###############################

#List below all of the words you would like to block.
#NOTE: This system uses REGEX to replace letters with known, common workarounds such as @, or !.
#NOTE: If you find a letter that is not properly blocked, please let me know and I'll add it ASAP!
BlockedWordsMessage: '&#x26;cThis word is blocked!'
Blocked-Words:
  - "BADWORD1"
  - "BADWORD2"

#List below all of the commands you would like to block.
#NOTE: This will block even if the command contains part of the blocked command.
#NOTE: such as "/pl" and "/plugins"; "/plugin" would be blocked because it contains the blocked command.
BlockedCommandsMessage: '&#x26;cThis command is blocked!'
Blocked-Commands:
  - "/blockedcommand1"
  - "/blockedcommand2"


##ANTI CAPS##
#NOTE: This is the % of the message that must be capital letters for it to be formatted to all lowercase.
#NOTE: 0.5 = 50% of the message (50% of the message must be caps to be formatted to all lowercase.)
AntiCaps: true
AntiCaps-Threshold: 0.5

##Anti-Spam##
#Force movement before being able to send a message in chat.
Force-Movement: true
#Message sent to players when they attempt to chat without first moving in-game.
MoveMessage: '&#x26;cYou must move before chatting!'
#
Block-Duplicate-Messages: true
DuplicateMessageWarning: "&#x26;a&#x26;lCHAT &#x26;8» §cPlease do not send duplicate messages!"
#
Block-Advertising: true
AdvertBlockedWarning: "&#x26;a&#x26;lCHAT &#x26;8» §cPlease do not send IP/Web Addresses in chat!"

###############################
############NICKNAME###########
###############################

#Message sent to player once they set their nickname with /nick
#Placeholders: %nickname%
NicknameSetMessage: '&#x26;6[NICKNAME] &#x26;7Your nickname has been set to %nickname%.'
NicknameResetMessage: '&#x26;6[NICKNAME] &#x26;7Your nickname has been reset!'
NicknameInvalidMessage: '&#x26;6[NICKNAME] &#x26;cThat nickname is invalid!'


###############################
##########Join Message#########
###############################
#Setting this to false will enable default join/leave messaging.
#Placeholders: %player%
Use-Custom-Message: true
JoinMessage: "&#x26;8[&#x26;a+&#x26;8] &#x26;a%player%"
QuitMessage: "&#x26;8[&#x26;c-&#x26;8] &#x26;c%player%"

#Setting this to false will disable the Join MOTD.
#Placeholders: %player%
Use-MOTD: true
MOTD:
  - "&#x26;aHello!"
  - "&#x26;eThis is the join MOTD"
  - ""
  - "&#x26;b&#x26;lWelcome to the server %player%!"


###############################
########AutoBroadcaster########
###############################
Use-Auto-Broadcaster: true
Broadcast-Interval: 360 #6 minutes
broadcasts:
  test:
    messages:
      - ""
      - "                       &#x26;b&#x26;l&#x3C;&#x3C; &#x26;3&#x26;l! &#x26;b&#x26;l>> SDChat"
      - "           &#x26;fThank you for downloading my plugin!"
      - "         This is a test auto-broadcast message"
      - "   &#x26;bVisit the support discord for any help with the plugin!"
      - ""
    click: "/sdchat"
    hover:
      - "    &#x26;b&#x26;l&#x3C;&#x3C; &#x26;3&#x26;l! &#x26;b&#x26;l>> ToolTip"
      - "&#x26;3&#x26;l* &#x26;fMultiple lines!"
      - "&#x26;3&#x26;l* &#x26;fUseful informations!"
      - "&#x26;3&#x26;l* &#x26;fClickable!"
    sound: ENTITY_EXPERIENCE_ORB_PICKUP
  test2:
    messages:
      - ""
      - "                       &#x26;7&#x26;l&#x3C;&#x3C; &#x26;a&#x26;l! &#x26;7&#x26;l>> SDChat"
      - "           &#x26;aThank you for downloading my plugin!"
      - "         This is a test auto-broadcast message"
      - "   &#x26;3Visit the support discord for any help with the plugin!"
      - ""
    click: "https://shanedev.co"
    hover:
      - "    &#x26;b&#x26;l&#x3C;&#x3C; &#x26;3&#x26;l! &#x26;b&#x26;l>> ToolTip"
      - "&#x26;3&#x26;l* &#x26;fMultiple lines!"
      - "&#x26;3&#x26;l* &#x26;fUseful informations!"
      - "&#x26;3&#x26;l* &#x26;fClickable!"
    sound: ENTITY_EXPERIENCE_ORB_PICKUP

###############################
#########Death Messages########
###############################
#Setting this to true will completely remove death messages.
Disable-Death-Messages: false
#Setting this to false will disable the customization of death messages.
Use-Death-Messages: true
#CUSTOMIZE ALL DEATH MESSAGES
Attack: '&#x26;8[&#x26;c!&#x26;8] &#x26;7%player% was slain by %killer%'
Projectile: '&#x26;8[&#x26;c!&#x26;8] &#x26;7%player% was shot by %killer%'
Suffocation: '&#x26;8[&#x26;c!&#x26;8] &#x26;7%player% suffocated in a wall'
Fall: '&#x26;8[&#x26;c!&#x26;8] &#x26;7%player% hit the ground too hard'
Fire: '&#x26;8[&#x26;c!&#x26;8] &#x26;7%player% went up in flames'
FireTick: '&#x26;8[&#x26;c!&#x26;8] &#x26;7%player% burned to death'
Melting: '&#x26;8[&#x26;c!&#x26;8] &#x26;7%player% melted'
Lava: '&#x26;8[&#x26;c!&#x26;8] &#x26;7%player% tried to swim in lava'
Drowning: '&#x26;8[&#x26;c!&#x26;8] &#x26;7%player% drowned'
Explosion: '&#x26;8[&#x26;c!&#x26;8] &#x26;7%player% was blown up'
Void: '&#x26;8[&#x26;c!&#x26;8] &#x26;7%player% fell out of the world'
Lightning: '&#x26;8[&#x26;c!&#x26;8] &#x26;7%player% was stuck by lightning'
Suicide: '&#x26;8[&#x26;c!&#x26;8] &#x26;7%player% died'
Starvation: '&#x26;8[&#x26;c!&#x26;8] &#x26;7%player% starved to death'
Poison: '&#x26;8[&#x26;c!&#x26;8] &#x26;7%player% was poisoned'
Magic: '&#x26;8[&#x26;c!&#x26;8] &#x26;7%player% was killed by magic'
Wither: '&#x26;8[&#x26;c!&#x26;8] &#x26;7%player% withered away'
FallingBlock: '&#x26;8[&#x26;c!&#x26;8] &#x26;7%player% was squashed by a falling block'
Thorns: '&#x26;8[&#x26;c!&#x26;8] &#x26;7%player% was killed while trying to hurt %killer%'
DragonBreath: '&#x26;8[&#x26;c!&#x26;8] &#x26;7%player% was roasted in dragon breath'
Kinetic: '&#x26;8[&#x26;c!&#x26;8] &#x26;7%player% experienced kinetic energy'
HotFloor: '&#x26;8[&#x26;c!&#x26;8] &#x26;7%player% discovered the floor was lava'
Cramming: '&#x26;8[&#x26;c!&#x26;8] &#x26;7%player% was squished to death'
Dryout: '&#x26;8[&#x26;c!&#x26;8] &#x26;7%player% dried out'
Freeze: '&#x26;8[&#x26;c!&#x26;8] &#x26;7%player% froze to death'
Default: '&#x26;8[&#x26;c!&#x26;8] &#x26;7%player% died'


</code></pre>
