HomeJavaModsSmartbans
Smartbans
Configurable Ban System with Reason IDs
SmartBans
is a lightweight yet powerful banning system designed for server staff who want to ban players quickly, consistently, and with clear reasoning. Instead of typing out full reasons every time, use short configurable reason IDs like /ban Notch 1 to apply a preset punishment instantly.

✅ Features:

Example Usage
Spoiler: Examples
/ban Notch 1

→ Bans Notch for 30 days for "Cheating"

/ban Herobrine 2

→ Bans Herobrine for 7 days for "Griefing"

/unban Notch

→ Unbans Notch

Permissions:

Spoiler: Permissions
banplugin.ban
> Allows banning players
banplugin.unban
> Allows unbanning players
banplugin.admin
> Allows banning and unbanning
banplugin.mute
> Allows muting
banplugin.unmute
> Allowes unmuting
banplugin.*
> Grants all permissions
banplugin.bypass
> Allows that you can't be banned/muted/kicked
banplugin.history
> Allows to see a players ban / mute history
banplugin.reload
> Allowes reloading the plugin

Config Example:
Spoiler: Config
Code (YAML):

# Ban Plugin Configuration
# Configure ban reasons, durations, and IDs

settings
:
  use-id-system
:
    ban
: true     # true = use IDs (1,2,3), false = use reasons directly
    mute
: true   # true = use IDs (1,2,3), false = use reasons directly

bans
:
  1
:
    reason
: "Cheating/Hacking"
    duration
: "30d"
  2
:
    reason
: "Griefing"
    duration
: "7d"
  3
:
    reason
: "Spam/Advertising"
    duration
: "1h"
  4
:
    reason
: "Toxic Behavior"
    duration
: "3d"
  5
:
    reason
: "Exploiting"
    duration
: "14d"
  6
:
    reason
: "Inappropriate Username"
    duration
: "1d"
  7
:
    reason
: "Ban Evasion"
    duration
: "60d"
  8
:
    reason
: "Staff Disrespect"
    duration
: "2d"

mutes
:
  1
:
    reason
: "Chat Spam"
    duration
: "1h"
  2
:
    reason
: "Insulting Players"
    duration
: "2h"
  3
:
    reason
: "Racism"
    duration
: "7d"
  4
:
    reason
: "Advertising"
    duration
: "1d"
  5
:
    reason
: "Toxic Behavior"
    duration
: "3d"

# Duration format:
# s = seconds, m = minutes, h = hours, d = days
# Examples: 30s, 5m, 2h, 7d

# Messages
messages
:
  ban-success
: "&aSuccessfully banned &c{player} &afor &e{reason} &afor &c{duration}"
  unban-success
: "&aSuccessfully unbanned &c{player}"
  kick-success
: "&aSuccessfully kicked &c{player} &afor &e{reason}"
  player-not-found
: "&cPlayer not found!"
  player-not-online
: "&cPlayer is not online!"
  invalid-ban-id
: "&cInvalid ban ID! Available IDs: {ids}"
  no-permission
: "&cYou don't have permission to use this command!"
  player-banned
: "&cYou are banned from this server!\n&cReason: &e{reason}\n&cExpires: &e{expires}"
  player-kicked
: "&cYou have been kicked from the server!\n&cReason: &e{reason}"
  already-banned
: "&c{player} is already banned!"
  not-banned
: "&c{player} is not banned!"
  cannot-ban-staff
: "&cYou cannot ban this player - they have bypass permission!"
  cannot-kick-staff
: "&cYou cannot kick this player - they have bypass permission!"
  usage-ban
: "&cUsage: /ban <player> <id>"
  usage-unban
: "&cUsage: /unban <player>"
  usage-kick
: "&cUsage: /kick <player> <reason>"
  mute-success
: "&aSuccessfully muted &c{player} &afor &e{reason} &afor &c{duration}"
  unmute-success
: "&aSuccessfully unmuted &c{player}"
  player-muted
: "&cYou have been muted in this server!\n&cReason: &e{reason}\n&cExpires: &e{expires}"
  player-unmuted
: "&cYou have been unmuted in this server!"
  already-muted
: "&c{player} is already muted!"
  not-muted
: "&c{player} is not muted!"
  cannot-mute-staff
: "&cYou cannot mute this player - they have bypass permission!"
  usage-mute
: "&cUsage: /mute <player> <mute-id>"
  invalid-mute-id
: "&cInvalid mute ID! Available IDs: {ids}"
  history
:
    title
: "&8History of {player}"
    no-entries
: "&cNo history entries found"
    entry
:
      ban
: "&eBan"
      mute
: "&eMute"
      by
: "&7By: &f{staff}"
      reason
: "&7Reason: &f{reason}"
      date
: "&7Date: &f{date}"
      duration
:
        permanent
: "&7Duration: &fPermanent"
        temporary
: "&7Duration: &f{duration}"
  invalid-player
: "&cPlease enter a valid player name"
  history-usage
: "&cUsage: /history <player>"
  reload-success
: "&aConfiguration successfully reloaded!"

usage-format
:
  divider
: "&7&m--------------------------------"
  ban-command
:
    header
: "&cUsage: &7/ban <player> <ban-id>"
    list-header
: "&cAvailable Ban IDs:"
    format
: "&7ID: &c{id} &7| Reason: &c{reason} &7| Duration: &c{duration}"
  mute-command
:
    header
: "&cUsage: &7/mute <player> <mute-id>"
    list-header
: "&cAvailable Mute IDs:"
    format
: "&7ID: &c{id} &7| Reason: &c{reason} &7| Duration: &c{duration}"
  kick-command
:
    header
: "&cUsage: &7/kick <player> <reason>"
    list-header
: "&cKick Command Help:"
    info
: "&7Write your custom kick reason after the player name."
    example
: "&7Example: &c/kick Player1 Breaking the rules"
 


Why Choose SmartBans?
SmartBans is perfect for staff who want clear, fast, and professional punishments without typing reasons every time. It's ideal for survival, minigame, faction, or any type of server where moderation needs to be efficient and consistent.

Coming Soon?

Already Implemented

Need Help?

Commands

Plugin details

Read from the plugin's own plugin.yml.

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Smartbans is a free Minecraft Java mod. Compatible with Minecraft 1.21. Downloaded 126 times (via Spigot). Download it and open it directly in the game.

Explore more