> 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>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pixel-dev.net/sdchat/configuration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
