# Home

Home Page

Documentation for all things ShaneDev / Pixel Development


# Information

Welcome to the official documentation for SDChat, a Minecraft plugin designed to enhance in-game chat experiences.

## :exclamation:Introduction

**SDChat** is a powerful Minecraft chat plugin that offers advanced chat customization, including interactive messages, chat games, and item hovers. It’s perfect for servers that want to provide a unique and engaging chat experience for their players.

## :star: Features

* ***You are in control! - Enable or Disable any feature of this plugin.***
* :wrench: **Interactive Chat Messages**: Add clickable and hoverable text in chat.
* :link: **Item/Inventory Linking**: Show off your inventory, enderchest, or items in chat!
* :video\_game: **Chat Games**: Keep your players entertained with various chat mini-games.
* :rotating\_light: **Advanced Moderation Tools**: Mute, clear, slow, and filter chat with ease.
* :rainbow: **Custom Chat Formatting**: Personalize the look and feel of your server chat.
* :bar\_chart: **Message Logging**: Keep records of all chat messages for review.
* :skull: **Custom Death Messages**: Edit and change all death messages to your liking.
* :bangbang: **Timed Announcements**: Create infinite announcement messages on a timer.
* :tools: **Staff Chat**: Take advantage of our fully customizable in-game staff chat!
* :grey\_exclamation: **Player Mentioning alerts**: Get notified if a player mentions your name!
* :closed\_lock\_with\_key: **Command & Word Blocker**: Block specific commands and words!
* :robot: **Anti-Spam & Anti-Bot:** Protect your chat with our anti-bot features!

## :inbox\_tray: Installation

### Prerequisites

* Minecraft server running Spigot version 1.21 or higher.
* LuckPerms must be installed
* PlaceholderAPI must be installed

### Steps

1. **Download the SDChat Plugin jar** from [BuiltByBit](https://builtbybit.com/resources/sdchat.50923/).
2. **Place the jar file** into your server's 'plugins' directory.
3. **Restart your server** to load the plugin.

## :man\_technologist: Configuration

After installation, you can customize SDChat through the `config.yml` file located in the `plugins/SDChat` directory.

### Key Configuration Options

* 'Chat-Format' : Customize the format of chat messages.
* 'Use-Logging' : 'true' or 'false' - Whether the plugin will log chat messages and DM's to a file.

For a full list of configuration options, visit the [Configuration](/sdchat/configuration) section.

## :wrench: Commands & Permissions

### Commands

<table data-full-width="false"><thead><tr><th width="176">Command</th><th width="348">Description</th><th width="209">Usage</th></tr></thead><tbody><tr><td>/sdchat</td><td>General Command</td><td>/sdchat</td></tr><tr><td>/mutechat</td><td>Mute or Unmute public chat</td><td>/mutechat</td></tr><tr><td>/clearchat</td><td>Clears the in-game chat</td><td>/clearchat</td></tr><tr><td>/slowchat</td><td><p>Limits how often players can talk in chat </p><p>(in seconds)</p></td><td>/slowchat &#x3C;seconds></td></tr><tr><td>/message<br>/msg</td><td>Private message other players</td><td>/message &#x3C;player> &#x3C;text></td></tr><tr><td>/reply<br>/r</td><td>Easily respond to a private message</td><td>/reply &#x3C;text></td></tr><tr><td>/nickname<br>/nick</td><td>Change your name in chat (Nickname)</td><td>/nick &#x3C;nickname><br>/nick reset</td></tr><tr><td>/block</td><td>Block a player from showing up in chat &#x26; messaging you (run again to unblock)</td><td>/block &#x3C;player></td></tr><tr><td>/staffchat</td><td>Chat privately amongst all online staff</td><td>/staffchat &#x3C;message><br>/staffchat - toggle</td></tr><tr><td>/messagespy<br>/spy</td><td>Spy on all private messages</td><td>/messagespy</td></tr><tr><td>/helpop</td><td>Send a message to all online staff members</td><td>/helpop &#x3C;message></td></tr><tr><td>/report</td><td>Send a report to all online staff members</td><td>/report &#x3C;message></td></tr><tr><td>/viewreports</td><td>View all past reports</td><td>/viewreports</td></tr><tr><td>/trash</td><td>Open a virtual trash bin to dispose of items</td><td>/trash</td></tr><tr><td>/playertime<br>/ptime</td><td>Change your individual time</td><td>/ptime &#x3C;ticks></td></tr><tr><td>/time</td><td>Change server-wide time</td><td>/time &#x3C;ticks></td></tr><tr><td>/playerweather<br>/pweather</td><td>Change your individual weather</td><td>/pweather &#x3C;clear/downfall></td></tr><tr><td>/weather</td><td>Change server-wide weather</td><td>/weather &#x3C;clear/downfall></td></tr><tr><td>/chatgames<br><br>/chatgames start</td><td>Shows if there is an active game or not<br><br>Starts a chatgame</td><td>/chatgames<br><br>/chatgames start</td></tr><tr><td>/broadcast</td><td>Sends an alert to all online players</td><td>/broadcast &#x3C;message></td></tr></tbody></table>

### Permissions

<table><thead><tr><th width="406">Permission</th><th>Description</th></tr></thead><tbody><tr><td>"sdchat.mutechat"</td><td>Allows muting / unmuting of public chat</td></tr><tr><td>"sdchat.mutechat.bypass"</td><td>Allows a player to bypass muted chat.</td></tr><tr><td>"sdchat.mutechat.notify"</td><td>Sends an alert when chat is muted / unmuted.</td></tr><tr><td>"sdchat.clearchat"</td><td>Allows a player to clear the chat for all players.</td></tr><tr><td>"sdchat.slowchat"</td><td>Allows a player to slow down chat by setting a delay between messages.</td></tr><tr><td>"sdchat.slowchat.bypass"</td><td>Allows a player to bypass the chat slow mode.</td></tr><tr><td>"sdchat.slowchat.notify"</td><td>Sends an alert when chat is slowed.</td></tr><tr><td>"sdchat.filter.bypass"</td><td>Allows a player to bypass chat filters, including duplicate messages, advertising, and anti-caps.</td></tr><tr><td>"sdchat.blocker.bypass"</td><td>Allows a player to bypass command blockers.</td></tr><tr><td>"sdchat.staffchat"</td><td>Allows staff to talk privately</td></tr><tr><td>"sdchat.message"</td><td>Allows a player to use private messaging commands such as <code>/msg</code> and <code>/r</code>.</td></tr><tr><td>"sdchat.message.toggle"</td><td>Allows a player to toggle receiving private messages. <code>/r</code> bypasses this toggle.</td></tr><tr><td>"sdchat.chat.color"</td><td>Allows a player to use color codes in chat.</td></tr><tr><td>"sdchat.nickname"</td><td>Allows a player to set or change their nickname.</td></tr><tr><td>"sdchat.nickname.color"</td><td>Allows a player to use color codes in their nickname.</td></tr><tr><td>"sdchat.block"</td><td>Allows a player to block messages from a specific player.</td></tr><tr><td>"sdchat.block.bypass"</td><td>Allows a player to bypass being blocked by others.</td></tr><tr><td>"sdchat.message.spy"</td><td>Allows a player to spy on private messages.</td></tr><tr><td>"sdchat.helpop"</td><td>Allows a player to send help messages to staff using <code>/helpop</code>.</td></tr><tr><td>"sdchat.helpop.receive"</td><td>Allows staff to receive helpop messages.</td></tr><tr><td>"sdchat.report"</td><td>Allows a player to send report messages to staff using <code>/report</code>.</td></tr><tr><td>"sdchat.report.receive"</td><td>Allows staff to receive report messages.</td></tr><tr><td>"sdchat.viewreports"</td><td>Allows staff to view all submitted reports</td></tr><tr><td>"sdchat.trash"</td><td>Allows a player to use the trash command to discard items.</td></tr><tr><td>"sdchat.ptime"</td><td>Allows a player to set their personal time using the <code>/ptime</code> command.</td></tr><tr><td>"sdchat.time"</td><td>Allows a player to change server-wide time using the <code>/time</code> command.</td></tr><tr><td>"sdchat.pweather"</td><td>Allows a player to set their personal weather using the <code>/pweather</code> command.</td></tr><tr><td>"sdchat.weather"</td><td>Allows a player to change server-wide weather using the <code>/weather</code> command.</td></tr><tr><td>"sdchat.chatgames.admin"</td><td>Allows access to chat game administration commands, such as starting games with <code>/chatgames start</code>.</td></tr><tr><td>"sdchat.broadcast"</td><td>Allows a player to use the broadcast command to send server-wide messages.</td></tr></tbody></table>


# Configuration

View the complete configuration file for SDChat

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


# Information

Welcome to the official documentation for InfiniteEconomies. It's in the name, make INFINITE different types of economies!

## :exclamation: Introduction

Welcome to the **InfiniteEconomies** documentation! This plugin provides limitless potential for creating multiple, diverse economies on your Minecraft server. Whether you want to establish a basic coin system or a complex network of resources, InfiniteEconomies offers the tools and flexibility to make it happen.

## :book: Overview

**InfiniteEconomies** is a powerful plugin that allows server owners to create an unlimited number of custom economies, each with its own unique set of rules and currency types. With built-in leaderboards, placeholders, and an easy-to-use configuration system, you can tailor each economy to fit your server's needs.

## :star: Features

* 💰 **Unlimited Economies**: Create as many different types of economies as you want!
* 📊 **Leaderboards**: Track player standings within each economy with instant leaderboard updates.
* 🪧 **Placeholder Support**: Utilize placeholders to display economy information anywhere on your server.
* ⚙️ **Easy Configuration**: Set up and manage economies effortlessly with a straightforward configuration file.

## :inbox\_tray: Installation

To install InfiniteEconomies on your server, follow these steps:

### Prerequisites

* Minecraft server running Spigot version 1.21 or higher.

### Steps

1. **Download the InfiniteEconomies Plugin jar** from \<coming soon>.
2. **Place the jar file** into your server's 'plugins' directory.
3. **Restart your server** to load the plugin.

## :man\_technologist: Configuration

After installation, InfiniteEconomies generates a `config.yml` file in the `plugins/InfiniteEconomies` directory. This file allows you to define your economies, set currency names, configure leaderboards, and more.

* For a full list of configuration options, visit the [Configuration](/infinite-economies/configuration) section.

## :wrench: Commands & Permissions

### Commands

<table><thead><tr><th width="261">Command</th><th width="216">Description</th><th>Usage</th></tr></thead><tbody><tr><td>/&#x3C;economy> <br>ex. ( /money or /tokens )</td><td>Main command for each economy.</td><td>/money</td></tr><tr><td>/&#x3C;economy> balance &#x3C;user><br>/&#x3C;economy> balance</td><td>Displays balance in the economy</td><td>/money balance ShaneTheDev<br>/money balance</td></tr><tr><td>/&#x3C;economy> top</td><td>Displays economy leaderboard (top 10)</td><td>/money top</td></tr><tr><td>/&#x3C;economy> set &#x3C;user> &#x3C;amount></td><td>Set a players balance</td><td>/money set ShaneTheDev 500</td></tr><tr><td>/&#x3C;economy> add &#x3C;user> &#x3C;amount></td><td>Add to a players balance</td><td>/money add ShaneTheDev 1000</td></tr><tr><td>/&#x3C;economy> take &#x3C;user> &#x3C;amount></td><td>Remove from a players balance</td><td>/money take ShaneTheDev 250</td></tr><tr><td>/balance<br>/bal</td><td>Shows all economy balances in one place</td><td>/balance<br>/bal</td></tr><tr><td>/paytoggle</td><td>Toggle receiving payments</td><td>/paytoggle</td></tr></tbody></table>

### Permissions

| Permission                  | Description                                   |
| --------------------------- | --------------------------------------------- |
| infiniteeconomies.admin     | Access to "/\<economy> set/add/take"          |
| infiniteeconomies.top       | Access to "/\<economy> top"                   |
| infiniteeconomies.pay       | Access to send another player a currency      |
| infiniteeconomies.paytoggle | Ability to toggle receiving payments on & off |

## :recycle: Placeholders

| Placeholder                 | Return Value                                                                |
| --------------------------- | --------------------------------------------------------------------------- |
| %ie\_\<economy>\_raw%       | Returns the balance of specified economy in "raw" format ex. ( 100000.0 )   |
| %ie\_\<economy>\_formatted% | Returns the balance of specified economy in "formatted" format ex. (100.0k) |


# Configuration

View the complete configuration file for InfiniteEconomies

```yaml
# ==================================================
# Plugin: InfiniteEconomies
# Author: ShaneTheDev
# Version: 1.0.0
# Support Discord: https://discord.gg/EVSpujnuwC
# ==================================================
debug: false

#Economy name MUST be lowercase.
#To create a new economy, turn the server off, add it below, start the server.
economies:
  money:
    starting_balance: 100.0
    color: "&a"
    icon: "💰"
  tokens:
    starting_balance: 50.0
    color: "&6"
    icon: "⛁"
  gems:
    starting_balance: 50.0
    color: "&d"
    icon: "✧"


#############################
##########LANGUAGE###########
#############################
#/money | /tokens | /<economy>
EconomyCommandMessage:
  - "&7-------&e&l[InfiniteEconomies]&7-------"
  - " "
  - "&e&lPLAYER:"
  - "%color%/%economy% &7balance <user>"
  - "%color%/%economy% &7pay <player> <amount>"
  - "%color%/%economy% &7top"
  - " "
  - "&e&lADMIN:"
  - "%color%/%economy% &7set <user> <amount>"
  - "%color%/%economy% &7add <user> <amount>"
  - "%color%/%economy% &7take <user> <amount>"
  - " "
  - "&7-----------------------------------------"

PlayerEconomyCommandMessage:
  - "&7-------&e&l[InfiniteEconomies]&7-------"
  - " "
  - "%color%/%economy% &7balance <player>"
  - "%color%/%economy% &7pay <player> <amount>"
  - "%color%/%economy% &7top"
  - " "
  - "&7-----------------------------------------"

BalanceCommandMessage:
  - "&7-------&e&l[InfiniteEconomies]&7-------"
  - "&7Money Balance: &a%money%"
  - "&7Tokens Balance: &6%tokens%"
  - "&7Gems Balance: &5%gems%"
  - "&7--------------------------------------"


#Messages for setting,adding,taking, and resetting balances.
#The following placeholders can be used in all of the below messages.
#Placeholders:
# %player% - Target player.
# %color% - The economies color specified above.
# %icon% - The economies icon specified above.
# %economy% - The economy being used.
# %Economy% - The economy being used but capitalized.
# %balance% - The players balance in that economy.
# %amount% - The amount being added/taken/set.
GetBalanceSelf: "&7[&eIE&7] &7You currently have &e%balance%&7 %color%%icon%%Economy%&7."
GetBalanceOther: "&7[&eIE&7] &c%player% &7currently has &e%balance%&7 %color%%icon%%Economy%&7."
SetBalance: "&7[&eIE&7] &7You have set &c%player%'s&7 %color%%icon%%Economy%&7 balance to &e%balance%."
AddBalance: "&7[&eIE&7] &7You have added &e%amount%&7 to &c%player%'s %color%%icon%%Economy%&7 balance."
TakeBalance: "&7[&eIE&7] &7You have removed &e%amount%&7 from &c%player%'s %color%%icon%%Economy%&7 balance."
PaymentSent: "&7[&eIE&7] &7You have sent &e%amount% %color%%icon%%Economy%&7 to &c%player%&7."
PaymentReceived: "&7[&eIE&7] &7You have received &e%amount% %color%%icon%%Economy%&7 from &c%player%&7."

#Other messages
InvalidPlayer: "&7[&eIE&7] &cPlayer not found."
InvalidAmount: "&7[&eIE&7] &cInvalid amount. Please enter a valid number."
InvalidBalance: "&7[&eIE&7] &cYou do not have enough %color%%icon%%Economy%&c."
PayToggleON: "&7[&eIE&7] &7You have toggled payments &a&nON&r&7!"
PayToggleOFF: "&7[&eIE&7] &7You have toggled payments &c&nOFF&r&7!"
PlayerPaymentToggled: "&7[&eIE&7] &7That player has toggled payments &c&nOFF&r&7!"
NoPermission: "&cInvalid Permissions."
TopBalancesHeader: "&7-------&e&l[Top Balances in %color%%Economy%&e&l]&7-------"
TopBalancesEntry: "%rank%. %color%%player%: %balance%"
```


# Information

Welcome to the official documentation for PixelAntiCraft. The worlds simplest Minecraft plugin to block crafting recipes!

## :exclamation:Introduction

**PixelAntiCraft** is a lightweight and user-friendly plugin that allows you to block any crafting recipes you want. Whether you want to prevent players from crafting overpowered items or restrict certain items for gameplay balance, PixelAntiCraft makes it easy to manage crafting ability.

## :star: Features

* 🚫 **Block Specific Crafting Recipes**: Choose which items cannot be crafted by players.
* ⚙️ **Easy Configuration**: Simple to set up and customize to your server's needs.
* 📜 **Lightweight and Efficient**: Minimal impact on server performance, even with numerous recipes blocked.

## :inbox\_tray: Installation

### Prerequisites

* Minecraft server running Spigot version 1.21 or higher.

### Steps

1. **Download the PixelAntiCraft Plugin jar** from [BuiltByBit](https://builtbybit.com/resources/pixelanticraft.51053/).
2. **Place the jar file** into your server's 'plugins' directory.
3. **Restart your server** to load the plugin.

## :man\_technologist: Configuration

Configuring PixelAntiCraft is straightforward. After installation, a `config.yml` file will be created in the `plugins/PixelAntiCraft` directory. This file contains all the settings you need to customize which crafting recipes are blocked.

#### Basic Configuration

Below is what the `config.yml` file looks like:

```yaml
# ==================================================
# Plugin: PixelAntiCraft
# Author: ShaneTheDev
# Version: 1.0
# Support Discord: https://discord.gg/EVSpujnuwC
# ==================================================

#Message to send when a player tries crafting a blocked item
#Set this field to '' to disable the message.
Blocked-Message: '&7[&aPAC&7] &cThat recipe is blocked!'

#Blocked Recipes (ex. DIAMOND_SWORD)
#Use 'ALL-RECIPES' to block all crafting
Blocked-Recipes:
  - MATERIAL
  - MATERIAL2
```


# Information

Welcome to the official documentation for PixelCommandBlocker. The worlds simplest Minecraft plugin to block crafting recipes!

## :exclamation:Introduction

**PixelCommandBlocker** is a lightweight and user-friendly plugin that allows you to block any commands you want.

## :star: Features

* 🚫 **Block Specific Commands**: Choose which commands cannot be ran by players.
* ⚙️ **Easy Configuration**: Simple to set up and customize to your server's needs.
* 📜 **Lightweight and Efficient**: Minimal impact on server performance.

## :inbox\_tray: Installation

### Prerequisites

* Minecraft server running Spigot version 1.21 or higher.

### Steps

1. **Download the PixelCommandBlocker Plugin jar** from \[Soon].
2. **Place the jar file** into your server's 'plugins' directory.
3. **Restart your server** to load the plugin.

## :wrench: Commands & Permissions

### Commands

| Permission | Description               |
| ---------- | ------------------------- |
| /pcbreload | Reload's the config file. |

### Permissions

| Permission           | Description                            |
| -------------------- | -------------------------------------- |
| "pcb.blocker.bypass" | Permission to bypass blocked commands. |

## :man\_technologist: Configuration

Configuring PixelAntiCraft is straightforward. After installation, a `config.yml` file will be created in the `plugins/PixelCommandBlocker` directory. This file contains all the settings you need to customize which crafting recipes are blocked.

#### Basic Configuration

Below is what the `config.yml` file looks like:

```yaml
# ==================================================
# Plugin: PixelCommandBlocker
# Author: ShaneTheDev
# Version: 1.0
# Support Discord: https://discord.gg/EVSpujnuwC
# ==================================================

#List all of the commands you would like to block below.
#NOTE: This will block even if the command contains part of the blocked command.
#NOTE: if "/pl" is blocked, this will block any command that starts with /pl, such as /plugins or /plugin.
BlockedCommandsMessage: '&cThis command is blocked!'
BlockedColonMessage: '&cYou cannot type commands with colons!'
Blocked-Commands:
  - "/BlockedCommand1"
  - "/BlockedCommand2"


```


# Information

Welcome to the official documentation for BungeeStaffAlerts. Get notified when staff Join, Leave or switch servers!

## :exclamation: Introduction

Welcome to the **BungeeStaffAlerts** documentation! This plugin is designed to keep server administrators and staff informed of staff activity across a BungeeCord network. Whether staff members join, leave, or switch servers, BungeeStaffAlerts ensures you are always in the know, both in-game and on Discord.

## :book: Overview

**BungeeStaffAlerts** is a lightweight plugin that sends real-time alerts to staff when other staff members connect, disconnect, or switch between servers. It integrates seamlessly with Discord via a custom webhook, providing a unified communication channel for all your server needs.

## :star: Features

* 🔔 **Real-Time In-Game Alerts**: Automatically notify staff in-game of other staff members' activities.
* 🌐 **Discord Webhook Integration**: Send activity alerts directly to a Discord channel.
* ⚡ **Lightweight and Efficient**: Designed to have minimal impact on server performance.
* 🛠️ **Easy to Configure**: Simple setup process with clear instructions.

## :inbox\_tray: Installation

### Prerequisites

* Minecraft server running Bungeecord version 1.21 or higher.

### Steps

1. **Download the BungeeStaffAlerts Plugin jar** from [BuiltByBit](https://builtbybit.com/resources/bungeestaffalerts.51106/).
2. **Place the jar file** into your server's 'plugins' directory.
3. **Restart your server** to load the plugin.

## :wrench: Commands & Permissions

### Permissions

| Permission   | Description                                              |
| ------------ | -------------------------------------------------------- |
| "bsa.staff"  | Permission to flag the alerts. (Give this to your staff) |
| "bsa.notify" | Permission to receive alerts in game                     |

## :man\_technologist: Configuration

After installation, a `config.yml` file will be generated in the `plugins/BungeeStaffAlerts` directory. This file allows you to customize various settings, including the Discord webhook URL and message formats.

#### Basic Configuration

Below is what the `config.yml` file looks like:

```yaml
# BungeeStaffAlerts Configuration

Use-Webhook: 'true'
Webhook-URL: <WEBHOOK URL HERE>

#Minecraft Messages
#Placeholders: %player% | %serverto% | %serverfrom%
ConnectedMessage: '&f&lBSA > &6%player% &fhas connected to the server.'
DisconnectMessage: '&f&lBSA > &6%player% &fhas disconnected from the server.'
TransferMessage: '&f&lBSA > &6%player% &fconnected to &b%serverto% &ffrom &b%serverfrom%&f.'

#Discord Webhook Messages:
#Placeholders: %player% | %serverto% | %serverfrom%
DiscordConnectedMessage: '[BSA] %player% has connected to the server.'
DiscordDisconnectMessage: '[BSA] %player% has disconnected from the server.'
DiscordTransferMessage: '[BSA] %player% connected to %serverto% from %serverfrom%.'

```


# Information

Welcome to the official documentation for VelocityStaffAlerts. Get notified when staff Join, Leave or switch servers!

## :exclamation: Introduction

Welcome to the **VelocityStaffAlerts** documentation! This plugin is designed to keep server administrators and staff informed of staff activity across a Velocity network. Whether staff members join, leave, or switch servers, VelocityStaffAlerts ensures you are always in the know, both in-game and on Discord.

## :book: Overview

**VelocityStaffAlerts** is a lightweight plugin that sends real-time alerts to staff when other staff members connect, disconnect, or switch between servers. It integrates seamlessly with Discord via a custom webhook, providing a unified communication channel for all your server needs.

## :star: Features

* 🔔 **Real-Time In-Game Alerts**: Automatically notify staff in-game of other staff members' activities.
* 🌐 **Discord Webhook Integration**: Send activity alerts directly to a Discord channel.
* ⚡ **Lightweight and Efficient**: Designed to have minimal impact on server performance.
* 🛠️ **Easy to Configure**: Simple setup process with clear instructions.

## :inbox\_tray: Installation

### Prerequisites

* Minecraft server running Velocity version 1.21 or higher.
* This plugin requires LuckPerms.

### Steps

1. **Download the VelocityStaffAlerts Plugin jar** from (Coming Soon..).
2. **Place the jar file** into your server's 'plugins' directory.
3. **Restart your server** to load the plugin.

## :wrench: Commands & Permissions

### Permissions

| Permission   | Description                                              |
| ------------ | -------------------------------------------------------- |
| "vsa.staff"  | Permission to flag the alerts. (Give this to your staff) |
| "vsa.notify" | Permission to receive alerts in game                     |

## :man\_technologist: Configuration

After installation, a `config.yml` file will be generated in the `plugins/VelocityStaffAlerts` directory. This file allows you to customize various settings, including the Discord webhook URL and message formats.

#### Basic Configuration

Below is what the `config.yml` file looks like:

```yaml
# VelocityStaffAlerts Configuration

Use-Webhook: true
Webhook-URL: "<DISCORD WEBHOOK URL>"

#Minecraft Messages
#Placeholders: %player% | %serverto% | %serverfrom%
staff-join: "[VSA] %prefix%%player% &fhas connected to the server."
staff-leave: "[VSA] %prefix%%player% &fhas disconnected from the server."
staff-switch: "[VSA] %prefix%%player% &fconnected to &b%server% &ffrom &b%from_server%&f."

#Discord Webhook Messages:
#Placeholders: %player% | %serverto% | %serverfrom%
staff-join-discord: "[VSA] %player% has connected to the server."
staff-leave-discord: "[VSA] %player% has disconnected from the server."
staff-switch-discord: "[VSA] %player% connected to %serverto% from %serverfrom%"

```


