Major mute system overhaul

Commands:
- /mute <nick> [time] [-s] [reason] - mute player
- /unmute <nick> [-s] - unmute player
- /mutelist - list active mutes
- /mutehistory <nick> - player mute history
- /muteblame <moderator> - mutes issued by moderator

Features:
- Configurable messages with placeholders (%player%, %operator%, %duration%, %reason%)
- Duration permissions: lochat.mute.dur.<time> (10m, 30m, 1h, 6h, 12h, 1d, 3d, 7d, 14d, 30d, perm)
- Silent mute: -s flag (requires lochat.mute.silent)
- See silent mutes: lochat.mute.see-silent
- Default reason configurable (default: Нету.)
- Auto-use max allowed duration if not specified
- All settings in config.yml under 'mute' section
This commit is contained in:
loki5512344 2026-01-03 12:34:32 +01:00
parent d92799613e
commit b74fa21272
9 changed files with 502 additions and 98 deletions

View file

@ -175,3 +175,53 @@ announcements:
show-actionbar: true
# Время показа title (в секундах)
title-duration: 3
# ========================================
# Система мутов
# ========================================
mute:
# Сообщения с плейсхолдерами:
# %duration% - время мута
# %reason% - причина
# %player% - замученный игрок
# %operator% - модератор (чистый ник без префикса и цвета)
messages:
# Сообщение при муте (broadcast)
muted: "&#FF6B6B%player% &#808080был замучен на &#FF6B6B%duration% &#808080модератором &#FF6B6B%operator%&#808080. Причина: &#FF6B6B%reason%"
# Сообщение при размуте (broadcast)
unmuted: "&#6BCB77%player% &#808080был размучен модератором &#6BCB77%operator%"
# Сообщение замученному игроку
you-muted: "&#FF6B6BВы замучены на %duration%! Причина: %reason%"
# Сообщение при перманентном муте
you-muted-permanent: "&#FF6B6BВы замучены навсегда! Причина: %reason%"
# Сообщение при попытке написать в чат
cannot-chat: "&#FF6B6BВы замучены! Осталось: %duration%"
cannot-chat-permanent: "&#FF6B6BВы замучены навсегда!"
# Тихий мут (только для тех кто видит)
silent-muted: "&#808080[Тихо] &#FF6B6B%player% &#808080замучен на &#FF6B6B%duration% &#808080(%operator%). Причина: %reason%"
silent-unmuted: "&#808080[Тихо] &#6BCB77%player% &#808080размучен (%operator%)"
# Причина по умолчанию если не указана
default-reason: "Нету."
# Максимальное время мута по умолчанию (если не указано время)
# Используется наивысшее доступное время из прав игрока
# Формат: 1d, 7d, 30d, perm (перманентный)
default-duration: "7d"
# Доступные длительности для прав lochat.mute.dur.<время>
# Игрок с правом lochat.mute.dur.7d может мутить максимум на 7 дней
# lochat.mute.dur.perm - может мутить навсегда
durations:
- "10m"
- "30m"
- "1h"
- "6h"
- "12h"
- "1d"
- "3d"
- "7d"
- "14d"
- "30d"
- "perm"

View file

@ -99,27 +99,33 @@ commands:
lmute:
description: Mute a player
usage: /lmute <player> <time> [-s] [reason]
usage: /lmute <player> [time] [-s] [reason]
permission: lochat.mute
aliases: [дьгеу]
aliases: [mute, мут, ьгеу]
lunmute:
description: Unmute a player
usage: /lunmute <player> [-s]
permission: lochat.unmute
aliases: [дгтьгеу]
aliases: [unmute, размут, гтьгеу]
lmutelist:
description: List all active mutes
usage: /lmutelist
permission: lochat.mutelist
aliases: [дьгеудшые]
aliases: [mutelist, мутлист, ьгеудшые]
lmutehistory:
description: View mute history of a player
usage: /lmutehistory <player>
permission: lochat.mutehistory
aliases: [дьгеершыещку]
aliases: [mutehistory, мутистория, ьгеершыещку]
lmuteblame:
description: View mutes issued by a moderator
usage: /lmuteblame <moderator>
permission: lochat.muteblame
aliases: [muteblame, мутблейм, ьгеуидфьу]
permissions:
chat.global.use:
@ -172,3 +178,44 @@ permissions:
default: op
lochat.mutehistory:
default: op
lochat.muteblame:
default: op
lochat.mute.silent:
description: Can use silent mute (-s flag)
default: op
lochat.mute.see-silent:
description: Can see silent mute notifications
default: op
lochat.mute.dur.10m:
description: Can mute for 10 minutes
default: false
lochat.mute.dur.30m:
description: Can mute for 30 minutes
default: false
lochat.mute.dur.1h:
description: Can mute for 1 hour
default: false
lochat.mute.dur.6h:
description: Can mute for 6 hours
default: false
lochat.mute.dur.12h:
description: Can mute for 12 hours
default: false
lochat.mute.dur.1d:
description: Can mute for 1 day
default: false
lochat.mute.dur.3d:
description: Can mute for 3 days
default: false
lochat.mute.dur.7d:
description: Can mute for 7 days
default: op
lochat.mute.dur.14d:
description: Can mute for 14 days
default: false
lochat.mute.dur.30d:
description: Can mute for 30 days
default: false
lochat.mute.dur.perm:
description: Can mute permanently
default: op