Sueta
DO

DonutPunish

1.0

Adds a /punish command for easier punishments

·Plugin

DonutPunish
A lightweight punishment plugin designed for Minecraft servers.

DonutPunish provides a simple punishment system with configurable punishment tiers, making it easy for staff to punish players consistently without remembering every punishment duration.

Features

  • /punish <player> <reason>

  • /offend <player> <reason> (alias)

  • Automatic punishment escalation (1st, 2nd and 3rd offense)

  • Fully configurable punishments in plugins/Punish/punishments.yml

  • Easy to edit reasons and punishment lengths

  • Consistent staff punishments

  • Lightweight and simple to use

How it works
Every punishment reason has up to three punishment stages.

Example:

  • 1st offense → Warning

  • 2nd offense → 30 minute mute

  • 3rd offense → 2 hour mute

Each time a player is punished for the same reason, the next punishment tier is applied automatically.

Configuration
All punishments are stored in:

plugins/Punish/punishments.yml

You can freely edit:

  • Punishment reasons

  • Warning/Mute/Ban actions

  • Punishment durations

  • Escalation order

Example configuration

punishments:
  chat_spam:
    display: "Chat Spam"
    commands:
      1: "warn %player% Chat Spam"
      2: "mute %player% 30m Chat Spam"
      3: "mute %player% 2h Chat Spam"

  excessive_caps:
    display: "Excessive Caps"
    commands:
      1: "warn %player% Excessive Caps"
      2: "mute %player% 30m Excessive Caps"
      3: "mute %player% 2h Excessive Caps"

  flooding:
    display: "Flooding"
    commands:
      1: "warn %player% Flooding"
      2: "mute %player% 1h Flooding"
      3: "mute %player% 12h Flooding"

  advertising:
    display: "Advertising"
    commands:
      1: "ban %player% 7d Advertising"
      2: "ban %player% 30d Advertising"
      3: "ban %player% Advertising"

  inappropriate_language:
    display: "Inappropriate Language"
    commands:
      1: "mute %player% 1h Inappropriate Language"
      2: "mute %player% 12h Inappropriate Language"
      3: "mute %player% 3d Inappropriate Language"

  harassment:
    display: "Harassment"
    commands:
      1: "mute %player% 12h Harassment"
      2: "ban %player% 7d Harassment"
      3: "ban %player% 30d Harassment"

  toxic_behavior:
    display: "Toxic Behavior"
    commands:
      1: "warn %player% Toxic Behavior"
      2: "mute %player% 12h Toxic Behavior"
      3: "mute %player% 3d Toxic Behavior"

  racism_hate_speech:
    display: "Racism / Hate Speech"
    commands:
      1: "ban %player% 30d Racism / Hate Speech"
      2: "ban %player% Racism / Hate Speech"

  threats:
    display: "Threats"
    commands:
      1: "ban %player% 30d Threats"
      2: "ban %player% Threats"

  impersonating_staff:
    display: "Impersonating Staff"
    commands:
      1: "ban %player% 7d Impersonating Staff"
      2: "ban %player% Impersonating Staff"

  inappropriate_skin:
    display: "Inappropriate Skin"
    commands:
      1: "kick %player% Please change your skin."
      2: "ban %player% 1d Inappropriate Skin"
      3: "ban %player% 7d Inappropriate Skin"

  scamming:
    display: "Scamming"
    commands:
      1: "ban %player% 7d Scamming"
      2: "ban %player% 30d Scamming"
      3: "ban %player% Scamming"

  bug_abuse:
    display: "Bug Abuse"
    commands:
      1: "ban %player% 7d Bug Abuse"
      2: "ban %player% 30d Bug Abuse"
      3: "ban %player% Bug Abuse"

  duping:
    display: "Duping"
    commands:
      1: "ban %player% Duping"

  xray:
    display: "X-Ray"
    commands:
      1: "ban %player% 7d X-Ray"
      2: "ban %player% 30d X-Ray"
      3: "ban %player% X-Ray"

  killaura:
    display: "KillAura"
    commands:
      1: "ban %player% 30d KillAura"
      2: "ban %player% KillAura"

  reach:
    display: "Reach"
    commands:
      1: "ban %player% 30d Reach"
      2: "ban %player% Reach"

  autoclicker:
    display: "AutoClicker"
    commands:
      1: "ban %player% 30d AutoClicker"
      2: "ban %player% AutoClicker"

  triggerbot:
    display: "TriggerBot"
    commands:
      1: "ban %player% 30d TriggerBot"
      2: "ban %player% TriggerBot"

  aim_assist:
    display: "Aim Assist"
    commands:
      1: "ban %player% 30d Aim Assist"
      2: "ban %player% Aim Assist"

  fly_hacks:
    display: "Fly Hacks"
    commands:
      1: "ban %player% Fly Hacks"

  speed_hacks:
    display: "Speed Hacks"
    commands:
      1: "ban %player% Speed Hacks"

  jesus:
    display: "Jesus"
    commands:
      1: "ban %player% Jesus"

  nofall:
    display: "NoFall"
    commands:
      1: "ban %player% 30d NoFall"
      2: "ban %player% NoFall"

  anti_knockback:
    display: "Anti-Knockback"
    commands:
      1: "ban %player% 30d Anti-Knockback"
      2: "ban %player% Anti-Knockback"

  timer:
    display: "Timer"
    commands:
      1: "ban %player% 30d Timer"
      2: "ban %player% Timer"

  inventory_hacks:
    display: "Inventory Hacks"
    commands:
      1: "ban %player% Inventory Hacks"

  illegal_client_modifications:
    display: "Illegal Client Modifications"
    commands:
      1: "ban %player% 30d Illegal Client Modifications"
      2: "ban %player% Illegal Client Modifications"

  ban_evasion:
    display: "Ban Evasion"
    commands:
      1: "ban %player% Ban Evasion"

  real_money_trading:
    display: "Real Money Trading"
    commands:
      1: "ban %player% Real Money Trading"

  ddos_threats:
    display: "DDoS Threats"
    commands:
      1: "ban %player% DDoS Threats"

  hacking_atts:
    display: "Hacking Atts"
    commands:
      1: "ban %player% Hacking Atts"

  chargeback_fraud:
    display: "Chargeback Fraud"
    commands:
      1: "ban %player% Chargeback Fraud"

  exploiting_staff_permissions:
    display: "Exploiting Staff Permissions"
    commands:
      1: "ban %player% Exploiting Staff Permissions"

  false_reports:
    display: "False Reports"
    commands:
      1: "warn %player% False Reports"
      2: "ban %player% 1d False Reports"
      3: "ban %player% 7d False Reports"

  refusing_staff_instructions:
    display: "Refusing Staff Instructions"
    commands:
      1: "warn %player% Refusing Staff Instructions"
      2: "ban %player% 1d Refusing Staff Instructions"
      3: "ban %player% 7d Refusing Staff Instructions"

  afk_farming:
    display: "AFK Farming"
    commands:
      1: "warn %player% AFK Farming"
      2: "ban %player% 3d AFK Farming"
      3: "ban %player% 7d AFK Farming"

  macro_automation:
    display: "Macro / Automation"
    commands:
      1: "ban %player% 30d Macro / Automation"
      2: "ban %player% Macro / Automation"

Commands
/punish <player> <reason>
/offend <player> <reason>

Permissions
punish.use

DonutPunish focuses on keeping punishments quick, consistent and easy for staff while remaining fully configurable through a single YAML file.

Similar projects

Plugin →