Initial commit: LoChat v1.0.0 with Gradient module
This commit is contained in:
commit
252b0a60db
86 changed files with 8922 additions and 0 deletions
74
src/main/resources/automessages.yml
Normal file
74
src/main/resources/automessages.yml
Normal 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>"
|
||||
69
src/main/resources/config.yml
Normal file
69
src/main/resources/config.yml
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
# LoChat Configuration
|
||||
# Author: loki
|
||||
|
||||
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
|
||||
|
||||
# Упоминания @ник
|
||||
mentions:
|
||||
enabled: true
|
||||
sound: true
|
||||
sound-type: "BLOCK_NOTE_BLOCK_PLING"
|
||||
# Выделение при @ник
|
||||
highlight: "<yellow>@{player}</yellow>"
|
||||
# Выделение когда твой ник написали (без @)
|
||||
self-highlight: "<gold><bold>{player}</bold></gold>"
|
||||
|
||||
# Фильтр мата
|
||||
filter:
|
||||
enabled: true
|
||||
words:
|
||||
- "хуй"
|
||||
- "пизд"
|
||||
- "блять"
|
||||
- "ебать"
|
||||
- "сука"
|
||||
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: "<gold>[ОБЪЯВЛЕНИЕ]</gold> <message>"
|
||||
385
src/main/resources/emojis.yml
Normal file
385
src/main/resources/emojis.yml
Normal 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:": "📉"
|
||||
58
src/main/resources/gradient-config.yml
Normal file
58
src/main/resources/gradient-config.yml
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
# 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
|
||||
|
||||
# Единый градиент на префикс + ник
|
||||
continuous-gradient: true
|
||||
|
||||
# Использовать &#RRGGBB формат (true) или <#RRGGBB> (false)
|
||||
use-legacy-rgb-format: true
|
||||
|
||||
# Тип хранилища: YAML или SQLITE
|
||||
storage-type: YAML
|
||||
|
||||
# Файл SQLite базы данных
|
||||
sqlite-file: gradient-data.db
|
||||
|
||||
# Чёрный список префиксов (нельзя использовать)
|
||||
prefix-blacklist:
|
||||
- admin
|
||||
- owner
|
||||
- moder
|
||||
- helper
|
||||
- staff
|
||||
- модер
|
||||
- админ
|
||||
- хелпер
|
||||
57
src/main/resources/gradient-messages.yml
Normal file
57
src/main/resources/gradient-messages.yml
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
# LoChat Gradient Module Messages
|
||||
# Сообщения модуля градиентных ников
|
||||
|
||||
# Общие
|
||||
only-player: "§cЭта команда только для игроков!"
|
||||
no-permission: "§cУ вас нет прав на это действие!"
|
||||
player-not-found: "§cИгрок не найден!"
|
||||
reload-success: "§aКонфигурация градиентов перезагружена!"
|
||||
cooldown: "§cПодождите ещё {time} секунд!"
|
||||
|
||||
# Цвета
|
||||
color-help: |
|
||||
§e=== Команда /color ===
|
||||
§e/color <цвет1> [цвет2] ... §7— установить градиент
|
||||
§e/color on §7— включить цвет
|
||||
§e/color off §7— выключить цвет
|
||||
§e/color reset §7— сбросить цвет
|
||||
§e/color copy <игрок> §7— скопировать цвет
|
||||
§7Пример: /color #FF0000 #00FF00 #0000FF
|
||||
color-enabled: "§aЦвет ника включён!"
|
||||
color-disabled: "§cЦвет ника выключен!"
|
||||
color-reset: "§aЦвет ника сброшен!"
|
||||
color-no-colors: "§cУ вас нет установленных цветов!"
|
||||
color-success: "§aЦвет успешно установлен! Списано: {price} PP"
|
||||
color-copy-usage: "§cИспользование: /color copy <игрок>"
|
||||
color-copy-no-colors: "§cУ игрока {player} нет цветов!"
|
||||
invalid-color: "§cНеверный формат цвета: {color}. Используйте #RRGGBB"
|
||||
too-many-colors: "§cМаксимум {max} цветов!"
|
||||
not-enough-colors: "§cМинимум {min} цветов!"
|
||||
not-enough-points-color: "§cНедостаточно поинтов! Нужно: {price} PP"
|
||||
|
||||
# Префикс
|
||||
prefix-help: |
|
||||
§e=== Команда /prefix ===
|
||||
§e/prefix <текст> §7— установить префикс
|
||||
§e/prefix on §7— включить префикс
|
||||
§e/prefix off §7— выключить префикс
|
||||
§e/prefix reset §7— сбросить префикс
|
||||
prefix-enabled: "§aПрефикс включён!"
|
||||
prefix-disabled: "§cПрефикс выключен!"
|
||||
prefix-reset-success: "§aПрефикс сброшен!"
|
||||
prefix-no-prefix: "§cУ вас нет установленного префикса!"
|
||||
prefix-success: "§aПрефикс успешно установлен! Списано: {price} PP"
|
||||
prefix-success-free: "§aПрефикс успешно изменён!"
|
||||
prefix-no-colors: "§cПрефикс не может содержать цветовые коды!"
|
||||
prefix-invalid-chars: "§cПрефикс содержит недопустимые символы!"
|
||||
prefix-blacklisted: "§cЭтот префикс запрещён!"
|
||||
prefix-too-long: "§cПрефикс слишком длинный! Максимум: {max} символов"
|
||||
not-enough-points-prefix: "§cНедостаточно поинтов! Нужно: {price} PP"
|
||||
|
||||
# Админ информация
|
||||
info-header: "§e=== Информация об игроке {player} ==="
|
||||
info-prefix: "§7Префикс: §f{prefix}"
|
||||
info-prefix-enabled: "§7Префикс включён: §f{enabled}"
|
||||
info-colors: "§7Цвета: §f{colors}"
|
||||
info-color-enabled: "§7Цвет включён: §f{enabled}"
|
||||
info-prefix-purchased: "§7Префикс куплен: §f{purchased}"
|
||||
60
src/main/resources/messages.yml
Normal file
60
src/main/resources/messages.yml
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
prefix: "<gold>[LoChat]</gold>"
|
||||
|
||||
global:
|
||||
disabled: "<red>Глобальный чат отключен</red>"
|
||||
toggled-on: "<green>Глобальный чат включен</green>"
|
||||
toggled-off: "<red>Глобальный чат отключен</red>"
|
||||
|
||||
local:
|
||||
no-players: "<red>Рядом нет игроков</red>"
|
||||
|
||||
pm:
|
||||
sent: "<gray>[PM] Ты → {player}: {message}</gray>"
|
||||
received: "<gray>[PM] {player} → Ты: {message}</gray>"
|
||||
no-reply: "<red>Некому ответить</red>"
|
||||
ignored: "<red>Этот игрок вас игнорирует</red>"
|
||||
player-offline: "<red>Игрок не в сети</red>"
|
||||
self: "<red>Нельзя писать самому себе</red>"
|
||||
|
||||
ignore:
|
||||
added: "<green>Игрок {player} добавлен в игнор</green>"
|
||||
removed: "<green>Игрок {player} убран из игнора</green>"
|
||||
already-ignored: "<red>Игрок уже в игноре</red>"
|
||||
not-ignored: "<red>Игрок не в игноре</red>"
|
||||
self: "<red>Нельзя игнорировать себя</red>"
|
||||
|
||||
announce:
|
||||
reloaded: "<green>Конфигурация перезагружена</green>"
|
||||
|
||||
mute:
|
||||
muted: "<green>Игрок {player} замучен на {time}</green>"
|
||||
unmuted: "<green>Игрок {player} размучен</green>"
|
||||
already-muted: "<red>Игрок уже замучен</red>"
|
||||
not-muted: "<red>Игрок не замучен</red>"
|
||||
you-muted: "<red>Вы замучены! Осталось: {time}</red>"
|
||||
permanent: "<red>Вы замучены навсегда!</red>"
|
||||
|
||||
spy:
|
||||
enabled: "<green>Шпион режим включен</green>"
|
||||
disabled: "<red>Шпион режим выключен</red>"
|
||||
format: "<gray>[SPY] {sender} → {receiver}: {message}</gray>"
|
||||
|
||||
filter:
|
||||
blocked: "<red>Сообщение заблокировано (мат)</red>"
|
||||
warned: "<yellow>Предупреждение: не используйте мат!</yellow>"
|
||||
|
||||
cooldown:
|
||||
wait: "<red>Подождите {time} сек перед следующим сообщением</red>"
|
||||
|
||||
antispam:
|
||||
caps: "<red>Слишком много заглавных букв!</red>"
|
||||
repeat: "<red>Не повторяйте символы!</red>"
|
||||
similar: "<red>Не отправляйте одинаковые сообщения!</red>"
|
||||
|
||||
clearchat:
|
||||
cleared: "<green>Чат очищен администратором {player}</green>"
|
||||
|
||||
errors:
|
||||
no-permission: "<red>Нет прав!</red>"
|
||||
player-not-found: "<red>Игрок не найден</red>"
|
||||
invalid-usage: "<red>Использование: {usage}</red>"
|
||||
138
src/main/resources/plugin.yml
Normal file
138
src/main/resources/plugin.yml
Normal file
|
|
@ -0,0 +1,138 @@
|
|||
name: LoChat
|
||||
version: '1.0.0'
|
||||
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
|
||||
|
||||
commands:
|
||||
g:
|
||||
description: Send global message
|
||||
usage: /g <message>
|
||||
permission: chat.global.use
|
||||
|
||||
globalchat:
|
||||
description: Toggle global chat
|
||||
usage: /globalchat toggle
|
||||
permission: chat.global.toggle
|
||||
|
||||
l:
|
||||
description: Send local message
|
||||
usage: /l <message>
|
||||
permission: chat.local.use
|
||||
|
||||
msg:
|
||||
description: Send private message
|
||||
usage: /msg <player> <message>
|
||||
permission: chat.pm.use
|
||||
aliases: [tell, w, pm]
|
||||
|
||||
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
|
||||
|
||||
unignore:
|
||||
description: Unignore player
|
||||
usage: /unignore <player>
|
||||
permission: chat.pm.ignore
|
||||
|
||||
announce:
|
||||
description: Send announcement
|
||||
usage: /announce <message>
|
||||
permission: chat.announce.use
|
||||
|
||||
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]
|
||||
|
||||
mute:
|
||||
description: Mute a player
|
||||
usage: /mute <player> <time> [reason]
|
||||
permission: chat.mute
|
||||
|
||||
unmute:
|
||||
description: Unmute a player
|
||||
usage: /unmute <player>
|
||||
permission: chat.mute
|
||||
|
||||
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
|
||||
|
||||
aprefix:
|
||||
description: Admin gradient commands
|
||||
usage: /aprefix <subcommand>
|
||||
permission: gradient.admin
|
||||
aliases: [gradientadmin]
|
||||
|
||||
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.mute:
|
||||
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
|
||||
Loading…
Add table
Add a link
Reference in a new issue