Update to version 1.5.5 with latest changes

This commit is contained in:
loki5512344 2026-01-23 21:41:49 +01:00
parent 3aa6291765
commit 67b8b9e47c
73 changed files with 1779 additions and 0 deletions

74
bin/main/automessages.yml Normal file
View file

@ -0,0 +1,74 @@
# LoChat - Автосообщения
# Автор: loki
#
# Смайлики настраиваются в emojis.yml
# ═══════════════════════════════════════════
# НАСТРОЙКИ
# ═══════════════════════════════════════════
settings:
enabled: true
interval: 300 # Интервал между сообщениями (секунды)
prefix: "&6[&eINFO&6]&r"
# Режим отправки:
# - "sequential" — по порядку (1, 2, 3...)
# - "random" — случайный порядок
# - "custom" — свой порядок (указать в order)
mode: "sequential"
# Свой порядок (для mode: custom)
# Можно указывать названия или номера
# Пример: "welcome, rules, 3, donate, tips"
order: "welcome, motd, rules, donate, tips, discord"
# ═══════════════════════════════════════════
# СООБЩЕНИЯ
# ═══════════════════════════════════════════
messages:
# Приветствие (однострочное)
welcome: "&aДобро пожаловать на сервер! &e:star:"
# MOTD (многострочное)
motd:
- "&6╔══════════════════════════════════╗"
- "&6║ &e:star: &fДобро пожаловать! &e:star: &6║"
- "&6║ &7Онлайн: &a%online% &7игроков &6║"
- "&6║ &7Сайт: &bexample.com &6║"
- "&6╚══════════════════════════════════╝"
# Правила
rules:
- "&c&l:warning: ПРАВИЛА СЕРВЕРА :warning:"
- "&71. &fНе гриферить"
- "&72. &fНе читерить"
- "&73. &fУважать игроков"
- "&aПолные правила: &e/rules"
# Донат
donate:
- "#FFD700&l:gem: ДОНАТ :gem:"
- "&7Поддержи сервер и получи"
- "&7крутые привилегии!"
- "&eПодробнее: &a/donate"
# Советы
tips:
- "&b:zap: &fСовет дня:"
- "&7Используй &e/sethome &7чтобы"
- "&7сохранить свою локацию!"
# Discord
discord: "&9:game: &fНаш Discord: &bdiscord.gg/example"
# Голосование
vote: "&a:thumbsup: &fГолосуй за сервер: &e/vote &7и получи награды!"
# Градиентное сообщение
gradient:
- "<gradient:#FF6B6B:#4ECDC4>━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━</gradient>"
- ""
- " &f:fire: &eСпециальное событие!"
- " &7Двойной опыт до конца недели!"
- ""
- "<gradient:#4ECDC4:#FF6B6B>━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━</gradient>"

3
bin/main/chat.yml Normal file
View file

@ -0,0 +1,3 @@
formats:
global: "<gray>[G]</gray> {prefix}{name}<gray>:</gray> <white>{message}"
local: "{prefix}{name}<gray>:</gray> <white>{message}"

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

227
bin/main/config.yml Normal file
View file

@ -0,0 +1,227 @@
# LoChat Configuration
# Author: loki
# Config Version: 2
config-version: 2
chat:
global:
enabled: true
prefix: "[G]"
format: "<prefix><player>: <message>"
symbol: "!"
cooldown: 3
local:
enabled: true
radius: 100
prefix: "[L]"
format: "<player>: <message>"
cooldown: 1
pm:
enabled: true
log: false
sound: true
sound-type: "ENTITY_EXPERIENCE_ORB_PICKUP"
# Интеграция с GradientNick (LoPreff)
# Использует PlaceholderAPI плейсхолдеры
lopreff:
enabled: true
# Использовать градиентный ник в чате
use-gradient-name: true
# Использовать кастомный префикс
use-custom-prefix: true
# Настройки отображения ника
display:
# Обновлять display name игрока (показывает префикс+ник над головой)
update-display-name: true
# Обновлять tab list
update-tab-list: true
# Упоминания @ник
mentions:
enabled: true
sound: true
sound-type: "BLOCK_NOTE_BLOCK_PLING"
# Выделение при @ник
highlight: "&#04CADF@{player}"
# Выделение когда твой ник написали (без @)
self-highlight: "&#04CADF{player}"
# Фильтр мата
filter:
enabled: true
# Регулярные выражения для обнаружения мата с обходами
patterns:
# Основные корни с вариациями
- "х\\s*у\\s*[йяёе]" # хуй, хуя, хуё, хуе
- "[хx]\\s*у\\s*[йяёе]" # латиница: xuй
- "п\\s*[иi]\\s*з\\s*д" # пизд, пiзд
- "п\\s*[иi]\\s*д\\s*[оа]\\s*р" # пидор, пидар
- "[еeё]\\s*б\\s*[аоуыи]" # ебать, ебут, ебал
- "б\\s*л\\s*я\\s*[тдь]" # блять, блядь
- "с\\s*у\\s*к\\s*[аи]" # сука, суки
- "м\\s*у\\s*д\\s*[аи]" # муда, муди
- "г\\s*а\\s*н\\s*д\\s*о\\s*н" # гандон
- "д\\s*р\\s*о\\s*ч" # дрочить
- "с\\s*с\\s*а\\s*т\\s*ь" # ссать
- "с\\s*р\\s*а\\s*т\\s*ь" # срать
- "ш\\s*м\\s*а\\s*р\\s*[аи]" # шмара
- "ч\\s*м\\s*[оы]" # чмо, чмы
- "г\\s*н\\s*и\\s*д\\s*[аы]" # гнида
# Простые слова (для быстрой проверки)
words:
# Основные
- "хуй"
- "хуя"
- "хуё"
- "хуе"
- "хуёк"
- "хуёчек"
- "хуесос"
- "хуеплёт"
- "пизда"
- "пизде"
- "пизду"
- "пиздец"
- "пиздюк"
- "пиздюшка"
- "пиздануть"
- "спиздить"
- "пиздоглазый"
- "ебать"
- "ебал"
- "ебут"
- "ебись"
- "ебитесь"
- "ебашить"
- "уёбывать"
- "заёбывать"
- "ебашка"
- "ебанарот"
- "блять"
- "блядь"
- "блядина"
- "сука"
- "суки"
- "сучка"
- "мудак"
- "мудила"
- "мудачок"
- "гандон"
- "гандоник"
- "пидор"
- "пидорас"
- "дрочить"
- "дрочка"
- "онанист"
- "ссать"
- "срать"
- "говно"
- "говнюк"
- "шмара"
- "шлюха"
- "проститутка"
- "чмо"
- "чмошник"
- "чмырь"
- "гнида"
- "тварь"
- "падла"
- "сволочь"
- "охуеть"
- "ахуеть"
- "нихуя"
- "кончепизд"
# Обходы с символами
- "х*й"
- "п@зда"
- "б#ять"
- "хуй"
- "ebat"
- "pidar"
- "mudak"
action: "censor" # censor/block/warn
replacement: "***"
# Анти-спам
antispam:
enabled: true
max-caps-percent: 70
max-repeat-chars: 5
similar-message-delay: 30
automessages:
enabled: true
interval: 300
random: false
formats:
announcement: "&#04CADF[ОБЪЯВЛЕНИЕ] <message>"
# Настройки объявлений
announcements:
# Показывать title при объявлении
show-title: true
# Заголовок title
title-header: "&#04CADFОБЪЯВЛЕНИЕ"
# Показывать actionbar при объявлении
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

@ -0,0 +1,51 @@
# Кастомные команды LoChat
# Здесь можно создавать свои команды с сообщениями и алиасами
# Пример структуры:
# command-name:
# permission: "lochat.command.name" # Право для использования (опционально)
# message: "Текст сообщения" # Сообщение которое отправится
# aliases: ["alias1", "alias2"] # Алиасы команды (опционально)
# type: "chat" # Тип: chat, broadcast, title, actionbar
# target: "sender" # Кому отправить: sender, all, permission:право
# Примеры команд:
help:
message: "&6Добро пожаловать на сервер!\n&#808080Используйте /rules для просмотра правил"
aliases: ["помощь", "хелп"]
type: "chat"
target: "sender"
rules:
message: "&c&lПРАВИЛА СЕРВЕРА:\n&#8080801. Не гриферить\n2. Не читерить\n3. Уважать других игроков"
aliases: ["правила", "rule"]
type: "chat"
target: "sender"
discord:
message: "<blue>Наш Discord сервер: discord.gg/example</blue>"
aliases: ["дискорд", "ds"]
type: "chat"
target: "sender"
# Команда для админов
restart-warning:
permission: "lochat.admin"
message: "<red><bold>ВНИМАНИЕ!</bold></red> <yellow>Сервер будет перезагружен через 5 минут!</yellow>"
aliases: ["рестарт", "reboot"]
type: "broadcast"
target: "all"
# Команда с title
welcome:
message: "Добро пожаловать!"
aliases: ["привет"]
type: "title"
target: "sender"
# Команда с actionbar
coords:
message: "Ваши координаты: {x}, {y}, {z}"
aliases: ["координаты", "pos"]
type: "actionbar"
target: "sender"

385
bin/main/emojis.yml Normal file
View file

@ -0,0 +1,385 @@
# LoChat - Смайлики и стикеры
# Автор: loki
#
# Формат: "триггер": "замена"
# Игроки пишут триггер, он заменяется на символ
#
# Права:
# - chat.emoji.use — использование смайликов
# - chat.emoji.* — все смайлики
# - chat.emoji.hearts — только категория hearts
# - chat.emoji.custom — кастомные смайлики
# ═══════════════════════════════════════════
# НАСТРОЙКИ
# ═══════════════════════════════════════════
settings:
enabled: true
# Требовать право chat.emoji.use
require-permission: false
# ═══════════════════════════════════════════
# ЛИЦА И ЭМОЦИИ
# ═══════════════════════════════════════════
faces:
":)": "☺"
":D": "😃"
":(": "☹"
";)": "😉"
":P": "😛"
":O": "😮"
"XD": "😆"
":/": "😕"
":*": "😘"
"^_^": "😊"
"-_-": "😑"
">:(": "😠"
":3": "😺"
":'(": "😢"
":')": "😂"
"o_o": "😳"
"O_O": "😱"
":thinking:": "🤔"
":cool:": "😎"
":angry:": "😡"
":sad:": "😢"
":happy:": "😊"
":laugh:": "😂"
":cry:": "😭"
":sleep:": "😴"
":sick:": "🤢"
":dead:": "💀"
# ═══════════════════════════════════════════
# СЕРДЦА И ЛЮБОВЬ
# ═══════════════════════════════════════════
hearts:
"<3": "❤"
":heart:": "❤"
":red_heart:": "❤"
":blue_heart:": "💙"
":green_heart:": "💚"
":yellow_heart:": "💛"
":purple_heart:": "💜"
":black_heart:": "🖤"
":white_heart:": "🤍"
":orange_heart:": "🧡"
":broken_heart:": "💔"
":two_hearts:": "💕"
":sparkling_heart:": "💖"
":heartbeat:": "💓"
":heartpulse:": "💗"
":love:": "💕"
":kiss:": "💋"
# ═══════════════════════════════════════════
# ЖЕСТЫ И РУКИ
# ═══════════════════════════════════════════
gestures:
":thumbsup:": "👍"
":+1:": "👍"
":thumbsdown:": "👎"
":-1:": "👎"
":clap:": "👏"
":wave:": "👋"
":ok:": "👌"
":ok_hand:": "👌"
":fist:": "✊"
":punch:": "👊"
":peace:": "✌"
":v:": "✌"
":muscle:": "💪"
":strong:": "💪"
":pray:": "🙏"
":hands:": "🙌"
":point_up:": "☝"
":point_down:": "👇"
":point_left:": "👈"
":point_right:": "👉"
":middle_finger:": "🖕"
":call:": "🤙"
# ═══════════════════════════════════════════
# ПРИРОДА И ПОГОДА
# ═══════════════════════════════════════════
nature:
":fire:": "🔥"
":flame:": "🔥"
":zap:": "⚡"
":lightning:": "⚡"
":boom:": "💥"
":explosion:": "💥"
":sparkles:": "✨"
":stars:": "✨"
":snow:": "❄"
":snowflake:": "❄"
":cloud:": "☁"
":sun:": "☀"
":sunny:": "☀"
":moon:": "🌙"
":crescent_moon:": "🌙"
":full_moon:": "🌕"
":rainbow:": "🌈"
":water:": "💧"
":drop:": "💧"
":ocean:": "🌊"
":wind:": "💨"
":tornado:": "🌪"
":leaf:": "🍃"
":tree:": "🌳"
":flower:": "🌸"
":rose:": "🌹"
":cactus:": "🌵"
# ═══════════════════════════════════════════
# ЗВЁЗДЫ И СИМВОЛЫ
# ═══════════════════════════════════════════
symbols:
":star:": "⭐"
":star2:": "🌟"
":glowing_star:": "🌟"
":dizzy:": "💫"
":sparkle:": "❇"
":skull:": "💀"
":ghost:": "👻"
":alien:": "👽"
":robot:": "🤖"
":poop:": "💩"
":100:": "💯"
":gem:": "💎"
":diamond:": "💎"
":money:": "💰"
":dollar:": "💵"
":coin:": "🪙"
":gift:": "🎁"
":balloon:": "🎈"
":party:": "🎉"
":tada:": "🎉"
":confetti:": "🎊"
":trophy:": "🏆"
":medal:": "🏅"
":crown:": "👑"
":king:": "👑"
# ═══════════════════════════════════════════
# МАЙНКРАФТ ТЕМАТИКА
# ═══════════════════════════════════════════
minecraft:
":sword:": "⚔"
":crossed_swords:": "⚔"
":shield:": "🛡"
":axe:": "🪓"
":pickaxe:": "⛏"
":bow:": "🏹"
":arrow:": "➤"
":bomb:": "💣"
":tnt:": "🧨"
":potion:": "🧪"
":ender:": "🟣"
":nether:": "🔴"
":emerald:": "💚"
":gold:": "🟡"
":iron:": "⬜"
":coal:": "⬛"
":redstone:": "🔴"
":lapis:": "🔵"
":exp:": "🟢"
":xp:": "🟢"
":heart_mc:": "❤"
":hunger:": "🍖"
":armor:": "🛡"
# ═══════════════════════════════════════════
# ЖИВОТНЫЕ
# ═══════════════════════════════════════════
animals:
":cat:": "🐱"
":dog:": "🐶"
":wolf:": "🐺"
":fox:": "🦊"
":pig:": "🐷"
":cow:": "🐮"
":sheep:": "🐑"
":chicken:": "🐔"
":dragon:": "🐉"
":bee:": "🐝"
":fish:": "🐟"
":spider:": "🕷"
":bat:": "🦇"
":rabbit:": "🐰"
":bear:": "🐻"
":panda:": "🐼"
":monkey:": "🐵"
":horse:": "🐴"
":unicorn:": "🦄"
":snake:": "🐍"
":turtle:": "🐢"
":frog:": "🐸"
":bird:": "🐦"
":penguin:": "🐧"
":owl:": "🦉"
# ═══════════════════════════════════════════
# ЕДА И НАПИТКИ
# ═══════════════════════════════════════════
food:
":apple:": "🍎"
":green_apple:": "🍏"
":bread:": "🍞"
":meat:": "🍖"
":steak:": "🥩"
":cake:": "🎂"
":cookie:": "🍪"
":pizza:": "🍕"
":hamburger:": "🍔"
":fries:": "🍟"
":hotdog:": "🌭"
":taco:": "🌮"
":sushi:": "🍣"
":ramen:": "🍜"
":egg:": "🥚"
":cheese:": "🧀"
":milk:": "🥛"
":coffee:": "☕"
":tea:": "🍵"
":beer:": "🍺"
":wine:": "🍷"
":cocktail:": "🍹"
":ice_cream:": "🍦"
":donut:": "🍩"
":candy:": "🍬"
":chocolate:": "🍫"
":watermelon:": "🍉"
":banana:": "🍌"
":carrot:": "🥕"
":corn:": "🌽"
# ═══════════════════════════════════════════
# ИГРОВЫЕ И ИНТЕРФЕЙС
# ═══════════════════════════════════════════
gaming:
":game:": "🎮"
":controller:": "🎮"
":joystick:": "🕹"
":dice:": "🎲"
":chess:": "♟"
":target:": "🎯"
":flag:": "🚩"
":checkered_flag:": "🏁"
":warning:": "⚠"
":no_entry:": "⛔"
":stop:": "🛑"
":check:": "✓"
":checkmark:": "✔"
":x:": "✗"
":cross:": "✖"
":question:": "❓"
":exclamation:": "❗"
":zzz:": "💤"
":bulb:": "💡"
":idea:": "💡"
":bell:": "🔔"
":mute:": "🔇"
":speaker:": "🔊"
":mega:": "📢"
":mic:": "🎤"
# ═══════════════════════════════════════════
# СТРЕЛКИ И НАПРАВЛЕНИЯ
# ═══════════════════════════════════════════
arrows:
":arrow_up:": "↑"
":arrow_down:": "↓"
":arrow_left:": "←"
":arrow_right:": "→"
":arrow_up_right:": "↗"
":arrow_up_left:": "↖"
":arrow_down_right:": "↘"
":arrow_down_left:": "↙"
":arrows_lr:": "↔"
":arrows_ud:": "↕"
":return:": "↩"
":redo:": "↪"
":refresh:": "🔄"
":infinity:": "∞"
# ═══════════════════════════════════════════
# МУЗЫКА И ИСКУССТВО
# ═══════════════════════════════════════════
music:
":note:": "♪"
":notes:": "♫"
":music:": "🎵"
":musical_note:": "🎶"
":headphones:": "🎧"
":guitar:": "🎸"
":piano:": "🎹"
":drum:": "🥁"
":violin:": "🎻"
":art:": "🎨"
":palette:": "🎨"
":camera:": "📷"
":movie:": "🎬"
":tv:": "📺"
":radio:": "📻"
# ═══════════════════════════════════════════
# РАЗНОЕ
# ═══════════════════════════════════════════
misc:
":lock:": "🔒"
":unlock:": "🔓"
":key:": "🔑"
":hourglass:": "⏳"
":timer:": "⏱"
":clock:": "🕐"
":calendar:": "📅"
":pin:": "📌"
":paperclip:": "📎"
":scissors:": "✂"
":pencil:": "✏"
":pen:": "🖊"
":book:": "📖"
":scroll:": "📜"
":mail:": "📧"
":envelope:": "✉"
":phone:": "📱"
":computer:": "💻"
":keyboard:": "⌨"
":mouse:": "🖱"
":trash:": "🗑"
":tools:": "🛠"
":wrench:": "🔧"
":hammer:": "🔨"
":gear:": "⚙"
":link:": "🔗"
":magnet:": "🧲"
":battery:": "🔋"
":plug:": "🔌"
# ═══════════════════════════════════════════
# КАСТОМНЫЕ (добавляй свои)
# ═══════════════════════════════════════════
custom:
# Примеры кастомных смайликов
":server:": "🖥"
":admin:": "👨‍💻"
":mod:": "🛡"
":vip:": "⭐"
":donate:": "💎"
":online:": "🟢"
":offline:": "🔴"
":afk:": "💤"
":gg:": "🏆"
":ez:": "😎"
":rip:": "⚰"
":f:": "🇫"
":pog:": "😲"
":kek:": "😂"
":sus:": "🤨"
":bruh:": "😐"
":based:": "💪"
":cringe:": "😬"
":ratio:": "📉"
":w:": "🏆"
":l:": "📉"

624
bin/main/filter-words.json Normal file
View file

@ -0,0 +1,624 @@
{
"words": [
"хуй",
"хуя",
"хуе",
"хуи",
"хую",
"хуё",
"пизд",
"пизда",
"пиздец",
"пизду",
"пизды",
"пиздо",
"блять",
"блядь",
"бля",
"бляд",
"ебать",
"ебал",
"ебало",
"ебать",
"ебет",
"ебут",
"ебу",
"ебё",
"ебан",
"сука",
"суки",
"суке",
"суку",
"сукой",
"суко",
"ебан",
"ебана",
"ебану",
"ебань",
"ебля",
"ебли",
"ебло",
"ебля",
"ебут",
"ебуть",
"ебёшь",
"ебёт",
"ебём",
"ебёте",
"ебут",
"ебаный",
"ебаная",
"ебаное",
"ебаные",
"ебаного",
"ебаной",
"ебаному",
"ебаным",
"ебаных",
"ебаным",
"ебаные",
"ебаными",
"ебаных",
"ебанный",
"ебанная",
"ебанное",
"ебанные",
"ебанного",
"ебанной",
"ебанному",
"ебанным",
"ебанных",
"ебанным",
"ебанные",
"ебанными",
"ебанных",
"заеб",
"заеба",
"заебе",
"заеби",
"заебу",
"заебё",
"уеб",
"уеба",
"уебе",
"уеби",
"уебу",
"уебё",
"выеб",
"выеба",
"выебе",
"выеби",
"выебу",
"выебё",
"проеб",
"проеба",
"проебе",
"проеби",
"проебу",
"проебё",
"долбоеб",
"долбоеба",
"долбоебе",
"долбоеби",
"долбоебу",
"долбоебё",
"мудак",
"мудака",
"мудаке",
"мудаки",
"мудаку",
"мудаком",
"мудаки",
"мудаков",
"мудакам",
"мудаками",
"мудаках",
"мудила",
"мудилы",
"мудиле",
"мудилу",
"мудилой",
"мудило",
"гандон",
"гондон",
"гандона",
"гондона",
"гандону",
"гондону",
"гандоном",
"гондоном",
"гандоне",
"гондоне",
"гандонов",
"гондонов",
"гандонам",
"гондонам",
"гандонами",
"гондонами",
"гандонах",
"гондонах",
"пидор",
"пидора",
"пидору",
"пидором",
"пидоре",
"пидоры",
"пидоров",
"пидорам",
"пидорами",
"пидорах",
"пидарас",
"пидараса",
"пидарасу",
"пидарасом",
"пидарасе",
"пидарасы",
"пидарасов",
"пидарасам",
"пидарасами",
"пидарасах",
"педик",
"педика",
"педику",
"педиком",
"педике",
"педики",
"педиков",
"педикам",
"педиками",
"педиках",
"гомик",
"гомика",
"гомику",
"гомиком",
"гомике",
"гомики",
"гомиков",
"гомикам",
"гомиками",
"гомиках",
"шлюха",
"шлюхи",
"шлюхе",
"шлюху",
"шлюхой",
"шлюхо",
"шлюх",
"блядина",
"блядины",
"блядине",
"блядину",
"блядиной",
"блядино",
"блядин",
"шлюшка",
"шлюшки",
"шлюшке",
"шлюшку",
"шлюшкой",
"шлюшко",
"шлюшек",
"проститутка",
"проститутки",
"проститутке",
"проститутку",
"проституткой",
"проститутко",
"проституток",
"проституткам",
"проститутками",
"проститутках",
"еблан",
"еблана",
"еблану",
"ебланом",
"еблане",
"ебланы",
"ебланов",
"ебланам",
"ебланами",
"ебланах",
"ебанутый",
"ебанутого",
"ебанутому",
"ебанутым",
"ебанутом",
"ебанутая",
"ебанутой",
"ебанутую",
"ебанутое",
"ебанутые",
"ебанутых",
"ебанутым",
"ебанутыми",
"ебанутых",
"ебанутый",
"ебанутого",
"ебанутому",
"ебанутым",
"ебанутом",
"ебанутая",
"ебанутой",
"ебанутую",
"ебанутое",
"ебанутые",
"ебанутых",
"ебанутым",
"ебанутыми",
"ебанутых",
"уебан",
"уебана",
"уебану",
"уебаном",
"уебане",
"уебаны",
"уебанов",
"уебанам",
"уебанами",
"уебанах",
"долбоёб",
"долбоёба",
"долбоёбу",
"долбоёбом",
"долбоёбе",
"долбоёбы",
"долбоёбов",
"долбоёбам",
"долбоёбами",
"долбоёбах",
"долбоеб",
"долбоеба",
"долбоебу",
"долбоебом",
"долбоебе",
"долбоебы",
"долбоебов",
"долбоебам",
"долбоебами",
"долбоебах",
"еблан",
"еблана",
"еблану",
"ебланом",
"еблане",
"ебланы",
"ебланов",
"ебланам",
"ебланами",
"ебланах",
"залупа",
"залупы",
"залупе",
"залупу",
"залупой",
"залупо",
"залуп",
"залупка",
"залупки",
"залупке",
"залупку",
"залупкой",
"залупко",
"залупок",
"залупкам",
"залупками",
"залупках",
"мразь",
"мрази",
"мрази",
"мразью",
"мразь",
"мразей",
"мразям",
"мразями",
"мразях",
"мразота",
"мразоты",
"мразоте",
"мразоту",
"мразотой",
"мразото",
"мразот",
"мразотой",
"мразотам",
"мразотами",
"мразотах",
"ублюдок",
"ублюдка",
"ублюдку",
"ублюдком",
"ублюдке",
"ублюдки",
"ублюдков",
"ублюдкам",
"ублюдками",
"ублюдках",
"выблядок",
"выблядка",
"выблядку",
"выблядком",
"выблядке",
"выблядки",
"выблядков",
"выблядкам",
"выблядками",
"выблядках",
"падла",
"падлы",
"падле",
"падлу",
"падлой",
"падло",
"падл",
"падлюга",
"падлюги",
"падлюге",
"падлюгу",
"падлюгой",
"падлюго",
"падлюг",
"падлюгам",
"падлюгами",
"падлюгах",
"гад",
"гада",
"гаду",
"гадом",
"гаде",
"гады",
"гадов",
"гадам",
"гадами",
"гадах",
"гадина",
"гадины",
"гадине",
"гадину",
"гадиной",
"гадино",
"гадин",
"гадинам",
"гадинами",
"гадинах",
"тварь",
"твари",
"твари",
"тварью",
"тварь",
"тварей",
"тварям",
"тварями",
"тварях",
"тварина",
"тварины",
"тварине",
"тварину",
"твариной",
"тварино",
"тварин",
"тваринам",
"тваринами",
"тваринах",
"сволочь",
"сволочи",
"сволочи",
"сволочью",
"сволочь",
"сволочей",
"сволочам",
"сволочами",
"сволочах",
"сволочка",
"сволочки",
"сволочке",
"сволочку",
"сволочкой",
"сволочко",
"сволочек",
"сволочкам",
"сволочками",
"сволочках",
"скотина",
"скотины",
"скотине",
"скотину",
"скотиной",
"скотино",
"скотин",
"скотинам",
"скотинами",
"скотинах",
"скотиняка",
"скотиняки",
"скотиняке",
"скотиняку",
"скотинякой",
"скотиняко",
"скотиняк",
"скотинякам",
"скотиняками",
"скотиняках",
"козел",
"козла",
"козлу",
"козлом",
"козле",
"козлы",
"козлов",
"козлам",
"козлами",
"козлах",
"козлина",
"козлины",
"козлине",
"козлину",
"козлиной",
"козлино",
"козлин",
"козлинам",
"козлинами",
"козлинах",
"козлище",
"козлища",
"козлищу",
"козлищем",
"козлище",
"козлищ",
"козлищам",
"козлищами",
"козлищах",
"козёл",
"козла",
"козлу",
"козлом",
"козле",
"козлы",
"козлов",
"козлам",
"козлами",
"козлах",
"козлина",
"козлины",
"козлине",
"козлину",
"козлиной",
"козлино",
"козлин",
"козлинам",
"козлинами",
"козлинах",
"козлище",
"козлища",
"козлищу",
"козлищем",
"козлище",
"козлищ",
"козлищам",
"козлищами",
"козлищах",
"козёл",
"козла",
"козлу",
"козлом",
"козле",
"козлы",
"козлов",
"козлам",
"козлами",
"козлах",
"козлина",
"козлины",
"козлине",
"козлину",
"козлиной",
"козлино",
"козлин",
"козлинам",
"козлинами",
"козлинах",
"козлище",
"козлища",
"козлищу",
"козлищем",
"козлище",
"козлищ",
"козлищам",
"козлищами",
"козлищах"
],
"fragments": [
"хуй",
"хуя",
"хуе",
"хуи",
"хую",
"хуё",
"пизд",
"бля",
"бляд",
"еб",
"еба",
"ебе",
"еби",
"ебу",
"ебё",
"ебан",
"ебал",
"ебан",
"ебля",
"ебли",
"ебло",
"ебут",
"ебуть",
"ебёшь",
"ебёт",
"ебём",
"ебёте",
"ебут",
"ебаный",
"ебаная",
"ебаное",
"ебаные",
"ебаного",
"ебаной",
"ебаному",
"ебаным",
"ебаных",
"ебаным",
"ебаные",
"ебаными",
"ебаных",
"ебанный",
"ебанная",
"ебанное",
"ебанные",
"ебанного",
"ебанной",
"ебанному",
"ебанным",
"ебанных",
"ебанным",
"ебанные",
"ебанными",
"ебанных",
"заеб",
"уеб",
"выеб",
"проеб",
"долбоеб",
"мудак",
"мудил",
"гандон",
"гондон",
"пидор",
"пидарас",
"педик",
"гомик",
"шлюх",
"блядин",
"проститутк",
"еблан",
"ебанут",
"уебан",
"долбоёб",
"долбоеб",
"залуп",
"мраз",
"мразот",
"ублюдок",
"выблядок",
"падл",
"падлюг",
"гад",
"гадин",
"твар",
"тварин",
"сволоч",
"скотин",
"козел",
"козл",
"козёл",
"козлищ"
]
}

View file

@ -0,0 +1,68 @@
# LoChat Gradient Module Configuration
# Модуль градиентных ников (интегрированный LoPreff)
# Включить/выключить модуль
enabled: true
# Максимальное количество цветов в градиенте
max-colors: 7
# Минимальное количество цветов
min-colors: 1
# Цена за каждый цвет (PlayerPoints)
price-per-color: 50
# Цена за префикс
prefix-price: 500
# Покупка префикса один раз (потом бесплатно)
prefix-one-time-purchase: true
# Кулдаун на смену цвета (секунды)
color-cooldown: 60
# Кулдаун на смену префикса (секунды)
prefix-cooldown: 300
# Максимальная длина префикса
max-prefix-length: 7
# Формат префикса ({prefix} - сам префикс)
prefix-format: "[{prefix}] "
# Применять градиент на префикс
gradient-on-prefix: true
# Применять градиент на LuckPerms префикс (если нет кастомного)
gradient-on-luckperms-prefix: true
# Единый градиент на префикс + ник
continuous-gradient: true
# Использовать &#RRGGBB формат (true) или <#RRGGBB> (false)
use-legacy-rgb-format: false
# Отображение над игроком
display:
# Обновлять display name игрока (показывает префикс+ник над головой)
update-display-name: true
# Обновлять tab list
update-tab-list: true
# Тип хранилища: YAML или SQLITE
storage-type: YAML
# Файл SQLite базы данных
sqlite-file: gradient-data.db
# Чёрный список префиксов (нельзя использовать)
prefix-blacklist:
- admin
- owner
- moder
- helper
- staff
- модер
- админ
- хелпер

View file

@ -0,0 +1,57 @@
# LoChat Gradient Module Messages
# Сообщения модуля градиентных ников
# Общие
only-player: "&#04CADFЭта команда только для игроков!"
no-permission: "&#04CADFУ вас нет прав на это действие!"
player-not-found: "&#04CADFИгрок не найден!"
reload-success: "&#04CADFКонфигурация градиентов перезагружена!"
cooldown: "&#04CADFПодождите ещё {time} секунд!"
# Цвета
color-help: |
&#04CADF=== Команда /color ===
&#04CADF/color <цвет1> [цвет2] ... &#808080— установить градиент
&#04CADF/color on &#808080— включить цвет
&#04CADF/color off &#808080— выключить цвет
&#04CADF/color reset &#808080— сбросить цвет
&#04CADF/color copy <игрок> &#808080— скопировать цвет
&#808080Пример: /color #FF0000 #00FF00 #0000FF
color-enabled: "&#04CADFЦвет ника включён!"
color-disabled: "&#04CADFЦвет ника выключен!"
color-reset: "&#04CADFЦвет ника сброшен!"
color-no-colors: "&#04CADFУ вас нет установленных цветов!"
color-success: "&#04CADFЦвет успешно установлен! Списано: {price} PP"
color-copy-usage: "&#04CADFИспользование: /color copy <игрок>"
color-copy-no-colors: "&#04CADFУ игрока {player} нет цветов!"
invalid-color: "&#04CADFНеверный формат цвета: {color}. Используйте #RRGGBB"
too-many-colors: "&#04CADFМаксимум {max} цветов!"
not-enough-colors: "&#04CADFМинимум {min} цветов!"
not-enough-points-color: "&#04CADFНедостаточно поинтов! Нужно: {price} PP"
# Префикс
prefix-help: |
&#04CADF=== Команда /prefix ===
&#04CADF/prefix <текст> &#808080— установить префикс
&#04CADF/prefix on &#808080— включить префикс
&#04CADF/prefix off &#808080— выключить префикс
&#04CADF/prefix reset &#808080— сбросить префикс
prefix-enabled: "&#04CADFПрефикс включён!"
prefix-disabled: "&#04CADFПрефикс выключен!"
prefix-reset-success: "&#04CADFПрефикс сброшен!"
prefix-no-prefix: "&#04CADFУ вас нет установленного префикса!"
prefix-success: "&#04CADFПрефикс успешно установлен! Списано: {price} PP"
prefix-success-free: "&#04CADFПрефикс успешно изменён!"
prefix-no-colors: "&#04CADFПрефикс не может содержать цветовые коды!"
prefix-invalid-chars: "&#04CADFПрефикс содержит недопустимые символы!"
prefix-blacklisted: "&#04CADFЭтот префикс запрещён!"
prefix-too-long: "&#04CADFПрефикс слишком длинный! Максимум: {max} символов"
not-enough-points-prefix: "&#04CADFНедостаточно поинтов! Нужно: {price} PP"
# Админ информация
info-header: "&#04CADF=== Информация об игроке {player} ==="
info-prefix: "&#808080Префикс: &f{prefix}"
info-prefix-enabled: "&#808080Префикс включён: &f{enabled}"
info-colors: "&#808080Цвета: &f{colors}"
info-color-enabled: "&#808080Цвет включён: &f{enabled}"
info-prefix-purchased: "&#808080Префикс куплен: &f{purchased}"

69
bin/main/messages.yml Normal file
View file

@ -0,0 +1,69 @@
prefix: "&#04CADF[LoChat]"
global:
disabled: "&#04CADFГлобальный чат отключен"
toggled-on: "&#04CADFГлобальный чат включен"
toggled-off: "&#04CADFГлобальный чат отключен"
local:
no-players: "&#04CADFРядом нет игроков"
pm:
# Форматы личных сообщений
# {sender} - ник отправителя, {receiver} - ник получателя
# {sender_display} - отправитель с градиентом, {receiver_display} - получатель с градиентом
# {message} - текст сообщения
format-sent: "&#808080[PM] Ты → {receiver_display}&#808080: {message}"
format-received: "&#808080[PM] {sender_display}&#808080 → Ты: {message}"
# Использовать градиентные ники в PM
use-gradient-names: true
# Старые форматы (для совместимости)
sent: "&#808080[PM] Ты → {player}: {message}"
received: "&#808080[PM] {player} → Ты: {message}"
no-reply: "&#04CADFНекому ответить"
ignored: "&#04CADFЭтот игрок вас игнорирует"
player-offline: "&#04CADFИгрок не в сети"
self: "&#04CADFНельзя писать самому себе"
ignore:
added: "&#04CADFИгрок {player} добавлен в игнор"
removed: "&#04CADFИгрок {player} убран из игнора"
already-ignored: "&#04CADFИгрок уже в игноре"
not-ignored: "&#04CADFИгрок не в игноре"
self: "&#04CADFНельзя игнорировать себя"
announce:
reloaded: "&#04CADFКонфигурация перезагружена"
spy:
enabled: "&#04CADFШпион режим включен"
disabled: "&#04CADFШпион режим выключен"
format: "&#808080[SPY] {sender} → {receiver}: {message}"
filter:
blocked: "&#04CADFСообщение заблокировано (мат)"
warned: "&#04CADFПредупреждение: не используйте мат!"
cooldown:
wait: "&#04CADFПодождите {time} сек перед следующим сообщением"
antispam:
caps: "&#04CADFСлишком много заглавных букв!"
repeat: "&#04CADFНе повторяйте символы!"
similar: "&#04CADFНе отправляйте одинаковые сообщения!"
clearchat:
cleared: "&#04CADFЧат очищен администратором {player}"
errors:
no-permission: "&#04CADFНет прав!"
player-not-found: "&#04CADFИгрок не найден"
invalid-usage: "&#04CADFИспользование: {usage}"
mute:
muted: "&#04CADFИгрок {player} замучен на {time}"
unmuted: "&#04CADFИгрок {player} размучен"
already-muted: "&#04CADFИгрок уже замучен"
not-muted: "&#04CADFИгрок не замучен"
you-muted: "&#04CADFВы замучены! Осталось: {time}"
permanent: "&#04CADFВы замучены навсегда!"

221
bin/main/plugin.yml Normal file
View file

@ -0,0 +1,221 @@
name: LoChat
version: '1.5.5'
main: com.loki.lochat.LoChat
api-version: '1.21'
folia-supported: true
author: loki
description: Advanced chat plugin for Folia with gradient nicks
softdepend:
- PlaceholderAPI
- PlayerPoints
- LuckPerms
- LibertyBans
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, w, 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: [разигнор, гтшптщку]
announce:
description: Send announcement
usage: /announce <message>
permission: chat.announce.use
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, очиститьчат, сдуфксрфе, сс]
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, мутблейм, ьгеуидфьу]
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

Binary file not shown.