Перейти к содержимому
Mineforgian

Smartban

A smart, easy and fast way to ban players.

Загрузки
149
Подписчики
0
Обновлён
31 июля 2025 г.
Лицензия
All-Rights-Reserved

Опубликован 29 июля 2025 г.

Исходный код

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: Ban with Reason IDs – Assign numeric codes to punishments (e.g. 1 = Cheating, 2 = Griefing).

⚙️ Fully Configurable – Set your own reasons, durations, and messages in config.yml.

Lightweight & Fast – No unnecessary bloat; perfect for all server sizes.

️ Permission-Based – Fine-tuned control for staff roles. Example Usage /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
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
# 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?

  • GUI Based bans (toggle on and off)
  • Web Plugin for CMS
  • Add MySQL / PostgreSQL support

Already Implemented

  • Mute System ✔️
  • Bypass permission ✔️
  • Kick Command ✔️
  • Hybrid toggle function ✔️
  • History System ✔️

Ченджлог

BETA-1.5Бета1.21.6, 1.21.7, 1.21.8 · 31 июля 2025 г.

SmartBans Changelog

BETA-1.5 (31.07.2025)

New Commands

  • /clearinv [player] (alias: /ci) - Clear your own or another player's inventory
  • /vanish (alias: /v) - Toggle vanish mode for staff members
  • /invsee <player> - View and optionally modify another player's inventory
  • /examine <player> - Open a detailed GUI with player information

New Permissions

  • banplugin.clearinv - Allows using /clearinv command
  • banplugin.clearinv.bypass - Prevents inventory from being cleared by others
  • banplugin.vanish - Allows using vanish mode
  • banplugin.vanish.see - Allows seeing other vanished staff members
  • banplugin.invsee - Allows viewing other players' inventories
  • banplugin.invsee.bypass - Prevents inventory from being viewed by others
  • banplugin.invsee.modify - Allows modifying inventories while using invsee
  • banplugin.examine - Allows examining detailed player information

New Features

  • Examine GUI shows:
    • Player head with name and UUID
    • Location, IP, and gamemode information
    • Health, food, XP, and OP status
    • Quick access to player's punishment history
  • Vanish system with staff visibility options
  • View-only mode for inventory inspection
  • Staff bypass system for all new commands

Configuration Updates

  • Added new configurable messages:
    • Examine GUI titles and information
    • Vanish enable/disable messages
    • Inventory clear notifications
    • Invsee view-only warning
  • All messages can be modified in config.yml

Technical Changes

  • Version updated from BETA-1.4 to BETA-1.5
  • Added new event listeners for inventory handling
  • Improved permission management
  • Better staff protection system
BETA-1.4Релиз1.21.6, 1.21.7, 1.21.8 · 31 июля 2025 г.

You can now see a players mute and ban history by doing /history

You can now also reload the plugin config by simply running /smartbans reload

Permissions added: banplugin.reload banplugin.history

1.0-SNAPSHOTРелиз1.21.6, 1.21.7, 1.21.8 · 29 июля 2025 г.

Initial Release

Комментарии

Загружаем…