- Remove deprecated service interfaces (CooldownService, IgnoreService, PMService, PlayerDataService, SpyService) - Add new unified service interfaces (MessagingService, PlayerService, PunishmentService) - Extract FilterResult as standalone class from AdvancedMessageFilter - Implement individual filter classes (CharacterFilter, FloodFilter, SpamFilter, SwearFilter, UrlFilter) - Add moderation commands (BanCommand, WarnCommand, SilentWarnCommand, UnbanCommand) - Introduce data models for punishment tracking (BanRecord, WarnEntry) - Refactor messaging service with new MessagingServiceImpl implementation - Add mute service utilities (MuteDataStorage, MutePermissionChecker) - Implement PunishmentServiceImpl with snapshot tracking - Add Discord integration components (DiscordConfig, DiscordMessageService) - Introduce command handlers for gradient module (ColorCommandHandler, PrefixCommandHandler) - Add renderer components (EmojiComponent, GradientBuilder, UrlProcessor) - Add utility classes (ColorConverter, MessageSender, PlaceholderProcessor) - Update configuration files and plugin metadata - Add documentation files (CODE_REVIEW_RU.md, REFACTORING_SERVICES.md) - Consolidate service architecture for improved maintainability and separation of concerns
407 lines
11 KiB
YAML
407 lines
11 KiB
YAML
name: LoChat
|
||
version: '1.5.5-1.21'
|
||
main: com.loki.lochat.LoChat
|
||
api-version: '1.21'
|
||
folia-supported: true
|
||
author: loki
|
||
description: Advanced chat plugin for Paper/Folia 1.21 — Spacelegacy edition
|
||
|
||
softdepend:
|
||
- PlaceholderAPI
|
||
- PlayerPoints
|
||
- LuckPerms
|
||
- LibertyBans
|
||
- SkinsRestorer
|
||
|
||
commands:
|
||
g:
|
||
description: Send global message
|
||
usage: /g <message>
|
||
permission: chat.global.use
|
||
aliases: [ п ]
|
||
|
||
globalchat:
|
||
description: Toggle global chat
|
||
usage: /globalchat toggle
|
||
permission: chat.global.toggle
|
||
aliases: [ пдщифдсрфе ]
|
||
|
||
l:
|
||
description: Send local message
|
||
usage: /l <message>
|
||
permission: chat.local.use
|
||
aliases: [ д ]
|
||
|
||
msg:
|
||
description: Send private message
|
||
usage: /msg <player> <message>
|
||
permission: chat.pm.use
|
||
aliases: [ tell, pm, m, ьып, ееддж, цж, зьж, ьж ]
|
||
|
||
reply:
|
||
description: Reply to last message
|
||
usage: /reply <message>
|
||
permission: chat.pm.use
|
||
aliases: [ r, ответить, кузду, к ]
|
||
|
||
ignore:
|
||
description: Ignore player
|
||
usage: /ignore <player>
|
||
permission: chat.pm.ignore
|
||
aliases: [ игнор, шптщку ]
|
||
|
||
unignore:
|
||
description: Unignore player
|
||
usage: /unignore <player>
|
||
permission: chat.pm.ignore
|
||
aliases: [ разигнор, гтшптщку ]
|
||
|
||
ignorelist:
|
||
description: List ignored players
|
||
usage: /ignorelist
|
||
permission: chat.pm.ignore
|
||
aliases: [ игнорлист, шптщкудшые ]
|
||
|
||
announce:
|
||
description: Send announcement
|
||
usage: /announce <message>
|
||
permission: chat.announce.use
|
||
aliases: [ объявление, анонс, фттщгтсу ]
|
||
|
||
nick:
|
||
description: Set custom nickname
|
||
usage: /nick [nickname|reset]
|
||
permission: lochat.nick
|
||
aliases: [ ник, тшсл ]
|
||
|
||
chatspy:
|
||
description: Toggle chat spy mode
|
||
usage: /chatspy
|
||
permission: chat.spy
|
||
aliases: [ spy, шпион, срфезуж, зуж ]
|
||
|
||
clearchat:
|
||
description: Clear chat for all players
|
||
usage: /clearchat
|
||
permission: chat.clear
|
||
aliases: [ cc, очиститьчат, сдуфксрфе, сс ]
|
||
|
||
clearchatconfig:
|
||
description: Configure clear chat message
|
||
usage: /clearchatconfig <enable|disable|message|status> [text]
|
||
permission: lochat.clearchat.config
|
||
aliases: [ ccc, настройкаочистки ]
|
||
|
||
lochat:
|
||
description: LoChat admin command
|
||
usage: /lochat [reload]
|
||
permission: lochat.admin
|
||
aliases: [ дщсрфе ]
|
||
|
||
color:
|
||
description: Set gradient nick color
|
||
usage: /color <hex1> [hex2] ...
|
||
permission: gradient.color
|
||
aliases: [ gradient, цвет, градиент, сщдщк, пкфвшуте ]
|
||
|
||
prefix:
|
||
description: Set custom prefix
|
||
usage: /prefix <text>
|
||
permission: gradient.prefix
|
||
aliases: [ префикс, зкуашч ]
|
||
|
||
aprefix:
|
||
description: Admin gradient commands
|
||
usage: /aprefix <subcommand>
|
||
permission: gradient.admin
|
||
aliases: [ gradientadmin, азкуашч, пкфвшуетефвьшт ]
|
||
|
||
lmute:
|
||
description: Mute a player
|
||
usage: /lmute <player> [time] [-s] [reason]
|
||
permission: lochat.mute
|
||
aliases: [ mute, мут, ьгеу ]
|
||
|
||
lunmute:
|
||
description: Unmute a player
|
||
usage: /lunmute <player> [-s]
|
||
permission: lochat.unmute
|
||
aliases: [ unmute, размут, гтьгеу ]
|
||
|
||
lmutelist:
|
||
description: List all active mutes
|
||
usage: /lmutelist
|
||
permission: lochat.mutelist
|
||
aliases: [ mutelist, мутлист, ьгеудшые ]
|
||
|
||
lmutehistory:
|
||
description: View mute history of a player
|
||
usage: /lmutehistory <player>
|
||
permission: lochat.mutehistory
|
||
aliases: [ mutehistory, мутистория, ьгеершыещку ]
|
||
|
||
lmuteblame:
|
||
description: View mutes issued by a moderator
|
||
usage: /lmuteblame <moderator>
|
||
permission: lochat.muteblame
|
||
aliases: [ muteblame, мутблейм, ьгеуидфьу ]
|
||
|
||
warn:
|
||
description: Warn a player (visible to them)
|
||
usage: /warn <player> [reason]
|
||
permission: lochat.warn
|
||
aliases: [ w, варн ]
|
||
|
||
silentwarn:
|
||
description: Silent warn (logged; staff with lochat.warn.notify see)
|
||
usage: /silentwarn <player> [reason]
|
||
permission: lochat.warn.silent
|
||
aliases: [ siw ]
|
||
|
||
lban:
|
||
description: Ban a player
|
||
usage: /lban <player> [time|perm] [reason]
|
||
permission: lochat.ban
|
||
aliases: [ ban, бан ]
|
||
|
||
lunban:
|
||
description: Unban a player
|
||
usage: /lunban <player>
|
||
permission: lochat.unban
|
||
aliases: [ unban, разбан ]
|
||
|
||
playerinfo:
|
||
description: Player info and moderation stats
|
||
usage: /playerinfo <player>
|
||
permission: lochat.playerinfo
|
||
aliases: [ pi, инфо ]
|
||
|
||
# ═══════════════════════════════════════════════════════════════════════════════
|
||
# КАСТОМНЫЕ КОМАНДЫ
|
||
# ═══════════════════════════════════════════════════════════════════════════════
|
||
|
||
customcommands:
|
||
description: Manage custom commands
|
||
usage: /customcommands [list|reload|enable|disable] [command]
|
||
permission: lochat.customcommands
|
||
aliases: [ cc-admin, кастомкоманды ]
|
||
|
||
discordadmin:
|
||
description: Discord integration management
|
||
usage: /discordadmin [status|reload|test]
|
||
permission: lochat.discord.admin
|
||
aliases: [ dadmin ]
|
||
|
||
lochatreload:
|
||
description: Reload all LoChat configurations
|
||
usage: /lochatreload
|
||
permission: lochat.admin.reload
|
||
aliases: [ lcreload, перезагрузить ]
|
||
|
||
me:
|
||
description: RP emote - perform an action visible to nearby players
|
||
usage: /me <действие>
|
||
permission: lochat.rp.me
|
||
aliases: [ меня, эмоут ]
|
||
|
||
try:
|
||
description: RP try - attempt an action with random success/fail outcome
|
||
usage: /try <действие>
|
||
permission: lochat.rp.try
|
||
aliases: [ попытаться ]
|
||
|
||
do:
|
||
description: RP do - describe a scene or environment event
|
||
usage: /do <описание>
|
||
permission: lochat.rp.do
|
||
aliases: [ сцена ]
|
||
|
||
roll:
|
||
description: Roll a dice (1 to max, default 100)
|
||
usage: /roll [максимум]
|
||
permission: lochat.rp.roll
|
||
aliases: [ кубик, dice ]
|
||
|
||
permissions:
|
||
chat.global.use:
|
||
default: true
|
||
chat.global.toggle:
|
||
default: true
|
||
chat.global.color:
|
||
default: op
|
||
chat.local.use:
|
||
default: true
|
||
chat.local.color:
|
||
default: op
|
||
chat.pm.use:
|
||
default: true
|
||
chat.pm.ignore:
|
||
default: true
|
||
chat.announce.use:
|
||
default: op
|
||
chat.announce.reload:
|
||
default: op
|
||
chat.spy:
|
||
default: op
|
||
chat.clear:
|
||
default: op
|
||
chat.bypass.cooldown:
|
||
default: op
|
||
chat.bypass.filter:
|
||
default: op
|
||
chat.bypass.antispam:
|
||
default: op
|
||
chat.mention.use:
|
||
default: true
|
||
gradient.color:
|
||
default: true
|
||
gradient.prefix:
|
||
default: true
|
||
gradient.admin:
|
||
default: op
|
||
gradient.bypass.cooldown:
|
||
default: op
|
||
gradient.bypass.cost:
|
||
default: op
|
||
lochat.admin:
|
||
default: op
|
||
lochat.mute:
|
||
default: op
|
||
lochat.unmute:
|
||
default: op
|
||
lochat.mutelist:
|
||
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
|
||
|
||
lochat.warn:
|
||
description: Issue a visible warning
|
||
default: op
|
||
lochat.warn.silent:
|
||
description: Issue a silent warning
|
||
default: op
|
||
lochat.warn.notify:
|
||
description: See silent warn notifications
|
||
default: op
|
||
lochat.ban:
|
||
description: Ban players
|
||
default: op
|
||
lochat.ban.override:
|
||
description: Ban players with lochat.bypass.ban
|
||
default: op
|
||
lochat.unban:
|
||
description: Unban players
|
||
default: op
|
||
lochat.bypass.warn:
|
||
description: Immune to /warn
|
||
default: false
|
||
lochat.bypass.ban:
|
||
description: Immune to /lban (unless staff has lochat.ban.override)
|
||
default: false
|
||
lochat.playerinfo:
|
||
description: View player moderation stats
|
||
default: op
|
||
lochat.clearchat.config:
|
||
description: Can configure clear chat message
|
||
default: op
|
||
lochat.heademoji.use:
|
||
description: Can use head emojis in chat
|
||
default: true
|
||
lochat.nick:
|
||
description: Can use custom nicknames
|
||
default: true
|
||
lochat.mention.everyone:
|
||
description: Can mention @everyone
|
||
default: op
|
||
lochat.mention.here:
|
||
description: Can mention @here
|
||
default: op
|
||
lochat.mention.role:
|
||
description: Can mention @role:<permission>
|
||
default: op
|
||
lochat.bypass.urlfilter:
|
||
description: Bypass URL filter
|
||
default: op
|
||
lochat.bypass.ipfilter:
|
||
description: Bypass IP filter
|
||
default: op
|
||
lochat.bypass.caps:
|
||
description: Bypass caps filter
|
||
default: op
|
||
lochat.bypass.hiddenurls:
|
||
description: Bypass hidden URLs filter
|
||
default: op
|
||
lochat.bypass.domains:
|
||
description: Bypass domains filter
|
||
default: op
|
||
|
||
lochat.customcommands:
|
||
description: Can manage custom commands
|
||
default: op
|
||
lochat.discord.admin:
|
||
description: Can manage Discord integration
|
||
default: op
|
||
lochat.admin.reload:
|
||
description: Can reload LoChat configurations
|
||
default: op
|
||
|
||
lochat.rp.me:
|
||
description: Can use /me RP emote command
|
||
default: true
|
||
lochat.rp.try:
|
||
description: Can use /try RP command
|
||
default: true
|
||
lochat.rp.do:
|
||
description: Can use /do scene description command
|
||
default: true
|
||
lochat.rp.roll:
|
||
description: Can use /roll dice command
|
||
default: true
|
||
lochat.rp.bypass.cooldown:
|
||
description: Bypass RP commands cooldown
|
||
default: op
|
||
|
||
lochat.chat.colors:
|
||
description: Can use color codes (&7, &#RRGGBB, MiniMessage) in chat messages
|
||
default: op
|