A Skript I designed to complement my staffing needs that I couldn't find anywhere else without combining multiple plugins.
Features: Timespan Support! Banning Muting Jailing Freezing Warning Invsee Reporting Command Spy Immunity Permissions for staff Clearable Moderation history for every user Complete customizability - Every command, permission and message can be changed easily
This skript obviously requires the Skript plugin. Found here: GitHubSpigot There are no other dependencies and can be ran without any addons.
(optional)
/ban username reason (timespan)
Bans the player for the specified reason. Timespan is optional. /unban username reason
Unbans the player for the specified reason.
/mute username reason (timespan)
Mutes the player for the specified reason. Timespan is optional. They will not be able to chat, open unsigned books, or interact with/place signs/hanging signs. /mute username
Unmutes the player (if muted). No reason is required.
/kick username reason
Kicks the player. The reason will also appear in the window after disconnect.
/freeze username reason (timespan)
Freezes the player for the specified reason. Timespan is optional. Frozen players can not move, click, attack, or take damage. They can still execute commands, which might mean their position changes, but they will still not be able to do anything but look around. /freeze username
Unfreezes the player (if frozen). No reason is required.
/jail username (timespan) jail-name reason
Jails the player for the specified reason. Timespan is optional. While in jail they can not place or break blocks. They can still die and take damage, if that's what you want to accomplish /unjail username
Unjails the player. No reason is required. /setjail jail-name
This will set a jail location. For example, "Jail". When you use "/jail maddude174 Jail Hacking" it will teleport them there to server their sentence. /deljail jail-name
Deletes a jail of that name. /jails
Provides a list of currently set jails.
/invsee username
opens an inventory of the targeted player, includes off-hand, hotbar and equipped items
/history username (clear)
Displays all history logs for a user in chat. If "Clear" was added, a log will be made that shows when the history was cleared and by whom.
/warn username reason
Provides a warning to the player. Essentially, "Stop" that logs the warning.
/report username reason sends a message to anyone with moderation.staff, also, if enabled, logs the report to the usernames history. /reports shows all open reports /reports assign [ID] assigns the report to you /reports close [ID] [Resolution] closes the report, if it was assigned to you. The resolution is, for example, "Perm banned" or anything that might show what actions that staff took to resolve the report. anything the staff member types will be recorded. /reports history shows all closed reports /reports your-name shows all reports assigned to you /reports clear clears everything report related. not meant to be used often.
/cspy toggles spying on all issued commands
/moderation (banned, muted, frozen, jailed, all)
Displays anyone currently banned, muted, frozen or jailed currently hard-coded to the script. there is no formatting or customization to this (yet?).
# Moderation 6.5 #
# Made by Maddude174 #
# Please dm me on spigot if you encounter issues. https://www.spigotmc.org/members/maddude174.464600/
# Or, feel free to reach out to me on Discord. Maddude174#0428
options:
# Message Format #
### These are the messages always sent to the executor of the command. usually error or confirmation messages
# Usage Messages
ban usage: Usage: Username Reason (Timespan)
unban usage: Usage: Username Reason
mute usage: Usage: Username Reason (Timespan)
freeze usage: Usage: Username Reason (Timespan)
jail usage: Usage: Username (Timespan) Jail-Name Reason
unjail usage: Usage: Username
kick usage: Usage: Username Reason
warn usage: Usage: Username Reason
invsee usage: Usage: Username
history usage: Usage: Username (clear)
moderation usage: Use jailed, banned, muted, frozen, or all
report usage: Usage: Username [Message]
# Error Messages
no name: No name provided!
name taken: Name already exists!
not online: &cThat player is not online!
no player: &cNo player found!
no reason: &cNo reason provided!
no jails: No jails set!
no jail: &cNo jail provided!
not banned: &c%arg-1% is not banned!
not jailed: &c%arg-1% is not jailed!
already banned: &c%arg-1% is already banned!
already jailed: &c%arg-1% is already jailed!
self clear error: &cYou cannot clear your own history!
immunity message: %arg-1% is &cIMMUNE&r to this action.
self target: &cYou can't do this to yourself!
no history: No Moderation history for %arg-1%!
no reports: No reports have been made yet
no report id: No report ID set!
no actions: No resolution action set!
permission message: You don't have permission to do that!
perm permission: &cYou don't have permission to permanently do that!
no commands: You can not execute commands while jailed!
# Confirmation Messages
set: &aSet!
deleted: &cDeleted!
confirm ban: %arg-1% has been &cBANNED
confirm unban: %arg-1% has been &cUNBANNED
confirm mute: %arg-1% has been &cMUTED
confirm unmute: %arg-1% has been &cUNMUTED
confirm freeze: %arg-1% has been &cFROZEN
confirm unfreeze: %arg-1% has been &cTHAWED
confirm jail: %arg-1% has been &cJAILED
confirm unjail: %arg-1% has been &cUNJAILED
confirm kick: %arg-1% has been &cKICKED
confirm warn: %arg-1% has been &cWARNED
history cleared: &aHistory for %arg-1% cleared.
confirm report: %arg-1% has been&c REPORTED
cmdspy on: &aEnabled!
cmdspy off: &cDisabled!
### These are the messages sent to the target of the command. "You have been muted" ect
muted: &cYou have been muted for &7%arg-2%&c. Expires: &7%{muted.%arg-1%.time}%
unmuted: &aYou have been unmuted.
jailed: &cYou have been jailed for &7%arg-4%&c. Expires: &7%{jailed.%arg-1%.time}%
unjailed: &aYou have been released from jail.
frozen: &cYou are frozen. &7Expires: %{frozen.%arg-1%.time}%
unfrozen: &aYou have been thawed.
warned: You have been warned for: %arg-2%
# These two appear in the window after being kicked from the server.
# The banned message will also display if they attempt to rejoin.
### These are server-wide broadcasts "maddude174 has been banned" ect
ban broadcast: %arg-1% has been &cBANNED&r by %executor%! Reason: %arg-2%
unban broadcast: %arg-1% has been &aUNBANNED&r by %executor%!
automatic unbanned broadcast: %loop-value% has been &aUNBANNED&r for time served!
mute broadcast: %arg-1% has been &cMUTED&r by %executor%! Reason: %arg-2%
unmute broadcast: %arg-1% has been &aUNMUTED&r by %executor%!
automatic unmuted broadcast: %loop-value% has been &aUNMUTED&r for time served!
freeze broadcast: %arg-1% has been &cFROZEN&r by %executor%! Reason: %arg-2%
unfreeze broadcast: %arg-1% has been &aTHAWED&r by %executor%!
automatic unfrozen broadcast: %loop-value% has been &aTHAWED&r for time served!
jail broadcast: %arg-1% has been &cJAILED&r by %executor%! Reason: %arg-4%
unjail broadcast: %arg-1% has been &aUNJAILED&r by %executor%!
automatic unjailed broadcast: %loop-value% has been &aUNJAILED&r for time served!
warn broadcast: %arg-1% has been &cWARNED&r by %executor%! Reason: %arg-2%
kick broadcast: %arg-1% has been &cKICKED&r by %executor%! Reason: %arg-2%
### These are the history log messages
ban log: %{_timestamp}% - &cBANNED&r by &7%executor%&r reason: %arg-2%
unban log: %{_timestamp}% - &aUNBANNED&r by &7%executor%&r reason: %arg-2%
automatic unban log: %{_timestamp}% - &aUNBANNED&r automatically (time expired)
mute log: %{_timestamp}% - &cMUTED&r by &7%executor%&r reason: %arg-2%
unmute log: %{_timestamp}% - &aUNMUTED&r by &7%executor%&r
automatic unmute log: %{_timestamp}% - &aUNMUTED&r automatically (time expired)
freeze log: %{_timestamp}% - &cFROZEN&r by &7%executor%&r reason: %arg-2%
unfreeze log: %{_timestamp}% - &aTHAWED&r by &7%executor%&r
automatic unfreeze log: %{_timestamp}% - &aTHAWED&r automatically (time expired)
jail log: %{_timestamp}% - &cJAILED&r by &7%executor%&r reason: %arg-4%
unjail log: %{_timestamp}% - &aUNJAILED&r by &7%executor%&r
automatic unjail log: %{_timestamp}% - &aUNJAILED&r automatically (time expired)
warn log: %{_timestamp}% - &cWARNED&r by &7%executor%&r reason: %arg-2%
kick log: %{_timestamp}% - &cKICKED&r by &7%executor%&r reason: %arg-2%
invsee log: %{_timestamp}% - &cINVSEE&r by &7%executor%&r
history cleared log: %{_timestamp}% - &aHISTORY CLEARED&r by %executor%
report log: %{_timestamp}% - &cREPORTED&r by &7%executor%&r for %arg-2%
# Report messages
staff reported message: %executor% &creported &r%arg-1% for %arg-2%.
no open reports: There are no acive reports to display.
close unassigned: You can not close a report that is not assigned!
not assigned: You can not close a report you are not assigned to!
already assigned: This report is already assigned to someone!
assigned report: &6[Assigned Report]
unassigned report: &c[Unassigned Report]
closed report: &a[Closed Report]
active reports: &6[Open Report]
open report: &7ID: &e%loop-value% &7Reporter: &e%{report::%loop-value%::reporter}% &7Assigned: &e%{report::%loop-value%::assigned}% &7Player Reported: &e%{report::%loop-value%::player}% %nl%&7Time Reported: &e%{report::%loop-value%::time}% %nl%&7Reason: &e%{report::%loop-value%::reason}%
resolved report: &7ID: &e%loop-value% &7Reporter: &e%{report::%loop-value%::reporter}% %nl%&7Player Reported: &e%{report::%loop-value%::player}% %nl%&7Time Reported: &e%{report::%loop-value%::time}% %nl%&7Reason: &e%{report::%loop-value%::reason}% %nl%&7Resolution: &e%{report::%loop-value%::resolution}%
you assigned: You have been assigned to Report ID &e%arg-2%.
closed: Report ID &e%arg-2% &7has been closed.
no closed reports: &7There are no closed reports.
# This is the command spy message
cmdspy message: &6%executor% &7issued &c/%full command%
# Message Options #
# [broadcast or chat or both]
mute type: both
freeze type: both
jail type: both
warn type: both
# These two are "enabled" and "disabled"
# as it doesnt make much sense to message them
# that they have been banned/kicked
# enables/disables server broadcasts
ban type: enabled
kick type: enabled
# Feature Toggles #
# [true or false]
# These will enable/disable features
# If you disable bans, you will not be able
# to ban or unban players
Planned Features: HighestHighMediumLowLowest Add a feature for teleporting jailed players to a random jail on death (Variety is the spice of life) - toggleable Add a vanish (invisibility - probably wont disappear from tablist) *Your suggestion here*
This is a free and public Skript. I do not care for credit or monetary gain. Feel free to use and edit this however you wish. Just don't reupload as your own work. If you would like custom features or additions, please message me, or post it on the discussions tab.