diff --git a/bin/main/automessages.yml b/bin/main/automessages.yml new file mode 100644 index 0000000..bef3d02 --- /dev/null +++ b/bin/main/automessages.yml @@ -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: + - "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" + - "" + - " &f:fire: &eСпециальное событие!" + - " &7Двойной опыт до конца недели!" + - "" + - "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" diff --git a/bin/main/chat.yml b/bin/main/chat.yml new file mode 100644 index 0000000..2bad806 --- /dev/null +++ b/bin/main/chat.yml @@ -0,0 +1,3 @@ +formats: + global: "[G] {prefix}{name}: {message}" + local: "{prefix}{name}: {message}" diff --git a/bin/main/com/loki/lochat/LoChat.class b/bin/main/com/loki/lochat/LoChat.class new file mode 100644 index 0000000..a89b2a8 Binary files /dev/null and b/bin/main/com/loki/lochat/LoChat.class differ diff --git a/bin/main/com/loki/lochat/commands/AnnounceCommand.class b/bin/main/com/loki/lochat/commands/AnnounceCommand.class new file mode 100644 index 0000000..800e3e0 Binary files /dev/null and b/bin/main/com/loki/lochat/commands/AnnounceCommand.class differ diff --git a/bin/main/com/loki/lochat/commands/ChatSpyCommand.class b/bin/main/com/loki/lochat/commands/ChatSpyCommand.class new file mode 100644 index 0000000..0a8cc6d Binary files /dev/null and b/bin/main/com/loki/lochat/commands/ChatSpyCommand.class differ diff --git a/bin/main/com/loki/lochat/commands/ClearChatCommand.class b/bin/main/com/loki/lochat/commands/ClearChatCommand.class new file mode 100644 index 0000000..96253d1 Binary files /dev/null and b/bin/main/com/loki/lochat/commands/ClearChatCommand.class differ diff --git a/bin/main/com/loki/lochat/commands/CustomCommand.class b/bin/main/com/loki/lochat/commands/CustomCommand.class new file mode 100644 index 0000000..4b364f6 Binary files /dev/null and b/bin/main/com/loki/lochat/commands/CustomCommand.class differ diff --git a/bin/main/com/loki/lochat/commands/GlobalChatCommand.class b/bin/main/com/loki/lochat/commands/GlobalChatCommand.class new file mode 100644 index 0000000..a99234d Binary files /dev/null and b/bin/main/com/loki/lochat/commands/GlobalChatCommand.class differ diff --git a/bin/main/com/loki/lochat/commands/IgnoreCommand.class b/bin/main/com/loki/lochat/commands/IgnoreCommand.class new file mode 100644 index 0000000..7926826 Binary files /dev/null and b/bin/main/com/loki/lochat/commands/IgnoreCommand.class differ diff --git a/bin/main/com/loki/lochat/commands/LoChatCommand.class b/bin/main/com/loki/lochat/commands/LoChatCommand.class new file mode 100644 index 0000000..cbf93d9 Binary files /dev/null and b/bin/main/com/loki/lochat/commands/LoChatCommand.class differ diff --git a/bin/main/com/loki/lochat/commands/LocalChatCommand.class b/bin/main/com/loki/lochat/commands/LocalChatCommand.class new file mode 100644 index 0000000..3a101de Binary files /dev/null and b/bin/main/com/loki/lochat/commands/LocalChatCommand.class differ diff --git a/bin/main/com/loki/lochat/commands/MsgCommand.class b/bin/main/com/loki/lochat/commands/MsgCommand.class new file mode 100644 index 0000000..dcce42e Binary files /dev/null and b/bin/main/com/loki/lochat/commands/MsgCommand.class differ diff --git a/bin/main/com/loki/lochat/commands/MuteBlameCommand.class b/bin/main/com/loki/lochat/commands/MuteBlameCommand.class new file mode 100644 index 0000000..16bbe50 Binary files /dev/null and b/bin/main/com/loki/lochat/commands/MuteBlameCommand.class differ diff --git a/bin/main/com/loki/lochat/commands/MuteCommand.class b/bin/main/com/loki/lochat/commands/MuteCommand.class new file mode 100644 index 0000000..4dcb40a Binary files /dev/null and b/bin/main/com/loki/lochat/commands/MuteCommand.class differ diff --git a/bin/main/com/loki/lochat/commands/MuteHistoryCommand.class b/bin/main/com/loki/lochat/commands/MuteHistoryCommand.class new file mode 100644 index 0000000..1b2338c Binary files /dev/null and b/bin/main/com/loki/lochat/commands/MuteHistoryCommand.class differ diff --git a/bin/main/com/loki/lochat/commands/MuteListCommand.class b/bin/main/com/loki/lochat/commands/MuteListCommand.class new file mode 100644 index 0000000..638de13 Binary files /dev/null and b/bin/main/com/loki/lochat/commands/MuteListCommand.class differ diff --git a/bin/main/com/loki/lochat/commands/ReplyCommand.class b/bin/main/com/loki/lochat/commands/ReplyCommand.class new file mode 100644 index 0000000..d362a66 Binary files /dev/null and b/bin/main/com/loki/lochat/commands/ReplyCommand.class differ diff --git a/bin/main/com/loki/lochat/commands/UnignoreCommand.class b/bin/main/com/loki/lochat/commands/UnignoreCommand.class new file mode 100644 index 0000000..cd0f2c1 Binary files /dev/null and b/bin/main/com/loki/lochat/commands/UnignoreCommand.class differ diff --git a/bin/main/com/loki/lochat/commands/UnmuteCommand.class b/bin/main/com/loki/lochat/commands/UnmuteCommand.class new file mode 100644 index 0000000..f4f970f Binary files /dev/null and b/bin/main/com/loki/lochat/commands/UnmuteCommand.class differ diff --git a/bin/main/com/loki/lochat/config/ConfigManager.class b/bin/main/com/loki/lochat/config/ConfigManager.class new file mode 100644 index 0000000..231d758 Binary files /dev/null and b/bin/main/com/loki/lochat/config/ConfigManager.class differ diff --git a/bin/main/com/loki/lochat/config/MessageConfig.class b/bin/main/com/loki/lochat/config/MessageConfig.class new file mode 100644 index 0000000..9668a73 Binary files /dev/null and b/bin/main/com/loki/lochat/config/MessageConfig.class differ diff --git a/bin/main/com/loki/lochat/gradient/GradientModule.class b/bin/main/com/loki/lochat/gradient/GradientModule.class new file mode 100644 index 0000000..d96164d Binary files /dev/null and b/bin/main/com/loki/lochat/gradient/GradientModule.class differ diff --git a/bin/main/com/loki/lochat/gradient/commands/GradientAdminCommand.class b/bin/main/com/loki/lochat/gradient/commands/GradientAdminCommand.class new file mode 100644 index 0000000..56013de Binary files /dev/null and b/bin/main/com/loki/lochat/gradient/commands/GradientAdminCommand.class differ diff --git a/bin/main/com/loki/lochat/gradient/commands/GradientColorCommand.class b/bin/main/com/loki/lochat/gradient/commands/GradientColorCommand.class new file mode 100644 index 0000000..25fef01 Binary files /dev/null and b/bin/main/com/loki/lochat/gradient/commands/GradientColorCommand.class differ diff --git a/bin/main/com/loki/lochat/gradient/commands/GradientPrefixCommand.class b/bin/main/com/loki/lochat/gradient/commands/GradientPrefixCommand.class new file mode 100644 index 0000000..bcce8eb Binary files /dev/null and b/bin/main/com/loki/lochat/gradient/commands/GradientPrefixCommand.class differ diff --git a/bin/main/com/loki/lochat/gradient/config/GradientConfig.class b/bin/main/com/loki/lochat/gradient/config/GradientConfig.class new file mode 100644 index 0000000..a3dbbed Binary files /dev/null and b/bin/main/com/loki/lochat/gradient/config/GradientConfig.class differ diff --git a/bin/main/com/loki/lochat/gradient/config/GradientMessages.class b/bin/main/com/loki/lochat/gradient/config/GradientMessages.class new file mode 100644 index 0000000..fe3e0c4 Binary files /dev/null and b/bin/main/com/loki/lochat/gradient/config/GradientMessages.class differ diff --git a/bin/main/com/loki/lochat/gradient/data/GradientDataManager.class b/bin/main/com/loki/lochat/gradient/data/GradientDataManager.class new file mode 100644 index 0000000..2386639 Binary files /dev/null and b/bin/main/com/loki/lochat/gradient/data/GradientDataManager.class differ diff --git a/bin/main/com/loki/lochat/gradient/data/GradientPlayerData.class b/bin/main/com/loki/lochat/gradient/data/GradientPlayerData.class new file mode 100644 index 0000000..362a86b Binary files /dev/null and b/bin/main/com/loki/lochat/gradient/data/GradientPlayerData.class differ diff --git a/bin/main/com/loki/lochat/gradient/gui/GradientConfirmGUI$ConfirmType.class b/bin/main/com/loki/lochat/gradient/gui/GradientConfirmGUI$ConfirmType.class new file mode 100644 index 0000000..80fb367 Binary files /dev/null and b/bin/main/com/loki/lochat/gradient/gui/GradientConfirmGUI$ConfirmType.class differ diff --git a/bin/main/com/loki/lochat/gradient/gui/GradientConfirmGUI.class b/bin/main/com/loki/lochat/gradient/gui/GradientConfirmGUI.class new file mode 100644 index 0000000..d6e2e17 Binary files /dev/null and b/bin/main/com/loki/lochat/gradient/gui/GradientConfirmGUI.class differ diff --git a/bin/main/com/loki/lochat/gradient/hooks/GradientLuckPermsHook.class b/bin/main/com/loki/lochat/gradient/hooks/GradientLuckPermsHook.class new file mode 100644 index 0000000..136622e Binary files /dev/null and b/bin/main/com/loki/lochat/gradient/hooks/GradientLuckPermsHook.class differ diff --git a/bin/main/com/loki/lochat/gradient/listeners/GradientGUIListener.class b/bin/main/com/loki/lochat/gradient/listeners/GradientGUIListener.class new file mode 100644 index 0000000..5a49b70 Binary files /dev/null and b/bin/main/com/loki/lochat/gradient/listeners/GradientGUIListener.class differ diff --git a/bin/main/com/loki/lochat/gradient/listeners/GradientPlayerListener.class b/bin/main/com/loki/lochat/gradient/listeners/GradientPlayerListener.class new file mode 100644 index 0000000..d627fa0 Binary files /dev/null and b/bin/main/com/loki/lochat/gradient/listeners/GradientPlayerListener.class differ diff --git a/bin/main/com/loki/lochat/gradient/util/DisplayNameUtil.class b/bin/main/com/loki/lochat/gradient/util/DisplayNameUtil.class new file mode 100644 index 0000000..1a21ef0 Binary files /dev/null and b/bin/main/com/loki/lochat/gradient/util/DisplayNameUtil.class differ diff --git a/bin/main/com/loki/lochat/gradient/util/FoliaUtil.class b/bin/main/com/loki/lochat/gradient/util/FoliaUtil.class new file mode 100644 index 0000000..8e8953d Binary files /dev/null and b/bin/main/com/loki/lochat/gradient/util/FoliaUtil.class differ diff --git a/bin/main/com/loki/lochat/gradient/util/GradientConstants.class b/bin/main/com/loki/lochat/gradient/util/GradientConstants.class new file mode 100644 index 0000000..a7c4fb5 Binary files /dev/null and b/bin/main/com/loki/lochat/gradient/util/GradientConstants.class differ diff --git a/bin/main/com/loki/lochat/gradient/util/GradientUtil.class b/bin/main/com/loki/lochat/gradient/util/GradientUtil.class new file mode 100644 index 0000000..37704fa Binary files /dev/null and b/bin/main/com/loki/lochat/gradient/util/GradientUtil.class differ diff --git a/bin/main/com/loki/lochat/integrations/LibertyBansHook.class b/bin/main/com/loki/lochat/integrations/LibertyBansHook.class new file mode 100644 index 0000000..4217b18 Binary files /dev/null and b/bin/main/com/loki/lochat/integrations/LibertyBansHook.class differ diff --git a/bin/main/com/loki/lochat/integrations/PlaceholderAPIHook.class b/bin/main/com/loki/lochat/integrations/PlaceholderAPIHook.class new file mode 100644 index 0000000..165c7bc Binary files /dev/null and b/bin/main/com/loki/lochat/integrations/PlaceholderAPIHook.class differ diff --git a/bin/main/com/loki/lochat/listeners/ChatListener.class b/bin/main/com/loki/lochat/listeners/ChatListener.class new file mode 100644 index 0000000..c162034 Binary files /dev/null and b/bin/main/com/loki/lochat/listeners/ChatListener.class differ diff --git a/bin/main/com/loki/lochat/managers/AntiSpamManager$SpamResult.class b/bin/main/com/loki/lochat/managers/AntiSpamManager$SpamResult.class new file mode 100644 index 0000000..8ae9ec0 Binary files /dev/null and b/bin/main/com/loki/lochat/managers/AntiSpamManager$SpamResult.class differ diff --git a/bin/main/com/loki/lochat/managers/AntiSpamManager.class b/bin/main/com/loki/lochat/managers/AntiSpamManager.class new file mode 100644 index 0000000..6834703 Binary files /dev/null and b/bin/main/com/loki/lochat/managers/AntiSpamManager.class differ diff --git a/bin/main/com/loki/lochat/managers/AutoMessageManager.class b/bin/main/com/loki/lochat/managers/AutoMessageManager.class new file mode 100644 index 0000000..6151e92 Binary files /dev/null and b/bin/main/com/loki/lochat/managers/AutoMessageManager.class differ diff --git a/bin/main/com/loki/lochat/managers/ChatManager.class b/bin/main/com/loki/lochat/managers/ChatManager.class new file mode 100644 index 0000000..422d457 Binary files /dev/null and b/bin/main/com/loki/lochat/managers/ChatManager.class differ diff --git a/bin/main/com/loki/lochat/managers/CooldownManager.class b/bin/main/com/loki/lochat/managers/CooldownManager.class new file mode 100644 index 0000000..0bcf354 Binary files /dev/null and b/bin/main/com/loki/lochat/managers/CooldownManager.class differ diff --git a/bin/main/com/loki/lochat/managers/CustomCommandManager$CustomCommandData.class b/bin/main/com/loki/lochat/managers/CustomCommandManager$CustomCommandData.class new file mode 100644 index 0000000..76bcc94 Binary files /dev/null and b/bin/main/com/loki/lochat/managers/CustomCommandManager$CustomCommandData.class differ diff --git a/bin/main/com/loki/lochat/managers/CustomCommandManager.class b/bin/main/com/loki/lochat/managers/CustomCommandManager.class new file mode 100644 index 0000000..ad119a6 Binary files /dev/null and b/bin/main/com/loki/lochat/managers/CustomCommandManager.class differ diff --git a/bin/main/com/loki/lochat/managers/EmojiManager.class b/bin/main/com/loki/lochat/managers/EmojiManager.class new file mode 100644 index 0000000..82340de Binary files /dev/null and b/bin/main/com/loki/lochat/managers/EmojiManager.class differ diff --git a/bin/main/com/loki/lochat/managers/IgnoreManager.class b/bin/main/com/loki/lochat/managers/IgnoreManager.class new file mode 100644 index 0000000..eb4ccc9 Binary files /dev/null and b/bin/main/com/loki/lochat/managers/IgnoreManager.class differ diff --git a/bin/main/com/loki/lochat/managers/MentionManager.class b/bin/main/com/loki/lochat/managers/MentionManager.class new file mode 100644 index 0000000..c6e4f78 Binary files /dev/null and b/bin/main/com/loki/lochat/managers/MentionManager.class differ diff --git a/bin/main/com/loki/lochat/managers/MuteManager$1.class b/bin/main/com/loki/lochat/managers/MuteManager$1.class new file mode 100644 index 0000000..2b426c4 Binary files /dev/null and b/bin/main/com/loki/lochat/managers/MuteManager$1.class differ diff --git a/bin/main/com/loki/lochat/managers/MuteManager$2.class b/bin/main/com/loki/lochat/managers/MuteManager$2.class new file mode 100644 index 0000000..ff40e04 Binary files /dev/null and b/bin/main/com/loki/lochat/managers/MuteManager$2.class differ diff --git a/bin/main/com/loki/lochat/managers/MuteManager$MuteData.class b/bin/main/com/loki/lochat/managers/MuteManager$MuteData.class new file mode 100644 index 0000000..e93f28a Binary files /dev/null and b/bin/main/com/loki/lochat/managers/MuteManager$MuteData.class differ diff --git a/bin/main/com/loki/lochat/managers/MuteManager$MuteHistoryEntry.class b/bin/main/com/loki/lochat/managers/MuteManager$MuteHistoryEntry.class new file mode 100644 index 0000000..d30b49c Binary files /dev/null and b/bin/main/com/loki/lochat/managers/MuteManager$MuteHistoryEntry.class differ diff --git a/bin/main/com/loki/lochat/managers/MuteManager.class b/bin/main/com/loki/lochat/managers/MuteManager.class new file mode 100644 index 0000000..108fdfb Binary files /dev/null and b/bin/main/com/loki/lochat/managers/MuteManager.class differ diff --git a/bin/main/com/loki/lochat/managers/PMManager.class b/bin/main/com/loki/lochat/managers/PMManager.class new file mode 100644 index 0000000..a0151d4 Binary files /dev/null and b/bin/main/com/loki/lochat/managers/PMManager.class differ diff --git a/bin/main/com/loki/lochat/managers/SpyManager.class b/bin/main/com/loki/lochat/managers/SpyManager.class new file mode 100644 index 0000000..d18ae7c Binary files /dev/null and b/bin/main/com/loki/lochat/managers/SpyManager.class differ diff --git a/bin/main/com/loki/lochat/utils/ChatFormatter.class b/bin/main/com/loki/lochat/utils/ChatFormatter.class new file mode 100644 index 0000000..81b1e24 Binary files /dev/null and b/bin/main/com/loki/lochat/utils/ChatFormatter.class differ diff --git a/bin/main/com/loki/lochat/utils/DistanceUtil.class b/bin/main/com/loki/lochat/utils/DistanceUtil.class new file mode 100644 index 0000000..48dca49 Binary files /dev/null and b/bin/main/com/loki/lochat/utils/DistanceUtil.class differ diff --git a/bin/main/config.yml b/bin/main/config.yml new file mode 100644 index 0000000..c003d3a --- /dev/null +++ b/bin/main/config.yml @@ -0,0 +1,227 @@ +# LoChat Configuration +# Author: loki +# Config Version: 2 + +config-version: 2 + +chat: + global: + enabled: true + prefix: "[G]" + format: ": " + symbol: "!" + cooldown: 3 + + local: + enabled: true + radius: 100 + prefix: "[L]" + format: ": " + 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: "CADF@{player}" + # Выделение когда твой ник написали (без @) + self-highlight: "CADF{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: "CADF[ОБЪЯВЛЕНИЕ] " + +# Настройки объявлений +announcements: + # Показывать title при объявлении + show-title: true + # Заголовок title + title-header: "CADFОБЪЯВЛЕНИЕ" + # Показывать actionbar при объявлении + show-actionbar: true + # Время показа title (в секундах) + title-duration: 3 + +# ======================================== +# Система мутов +# ======================================== +mute: + # Сообщения с плейсхолдерами: + # %duration% - время мута + # %reason% - причина + # %player% - замученный игрок + # %operator% - модератор (чистый ник без префикса и цвета) + + messages: + # Сообщение при муте (broadcast) + muted: "&#FF6B6B%player% 󅒐был замучен на &#FF6B6B%duration% 󅒐модератором &#FF6B6B%operator%󅒐. Причина: &#FF6B6B%reason%" + # Сообщение при размуте (broadcast) + unmuted: "BCB77%player% 󅒐был размучен модератором BCB77%operator%" + # Сообщение замученному игроку + you-muted: "&#FF6B6BВы замучены на %duration%! Причина: %reason%" + # Сообщение при перманентном муте + you-muted-permanent: "&#FF6B6BВы замучены навсегда! Причина: %reason%" + # Сообщение при попытке написать в чат + cannot-chat: "&#FF6B6BВы замучены! Осталось: %duration%" + cannot-chat-permanent: "&#FF6B6BВы замучены навсегда!" + # Тихий мут (только для тех кто видит) + silent-muted: "󅒐[Тихо] &#FF6B6B%player% 󅒐замучен на &#FF6B6B%duration% 󅒐(%operator%). Причина: %reason%" + silent-unmuted: "󅒐[Тихо] BCB77%player% 󅒐размучен (%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" diff --git a/bin/main/custom-commands.yml b/bin/main/custom-commands.yml new file mode 100644 index 0000000..213e8a5 --- /dev/null +++ b/bin/main/custom-commands.yml @@ -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󅒐Используйте /rules для просмотра правил" + aliases: ["помощь", "хелп"] + type: "chat" + target: "sender" + +rules: + message: "&c&lПРАВИЛА СЕРВЕРА:\n�. Не гриферить\n2. Не читерить\n3. Уважать других игроков" + aliases: ["правила", "rule"] + type: "chat" + target: "sender" + +discord: + message: "Наш Discord сервер: discord.gg/example" + aliases: ["дискорд", "ds"] + type: "chat" + target: "sender" + +# Команда для админов +restart-warning: + permission: "lochat.admin" + message: "ВНИМАНИЕ! Сервер будет перезагружен через 5 минут!" + 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" \ No newline at end of file diff --git a/bin/main/emojis.yml b/bin/main/emojis.yml new file mode 100644 index 0000000..fe22215 --- /dev/null +++ b/bin/main/emojis.yml @@ -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:": "📉" diff --git a/bin/main/filter-words.json b/bin/main/filter-words.json new file mode 100644 index 0000000..4bdd05c --- /dev/null +++ b/bin/main/filter-words.json @@ -0,0 +1,624 @@ +{ + "words": [ + "хуй", + "хуя", + "хуе", + "хуи", + "хую", + "хуё", + "пизд", + "пизда", + "пиздец", + "пизду", + "пизды", + "пиздо", + "блять", + "блядь", + "бля", + "бляд", + "ебать", + "ебал", + "ебало", + "ебать", + "ебет", + "ебут", + "ебу", + "ебё", + "ебан", + "сука", + "суки", + "суке", + "суку", + "сукой", + "суко", + "ебан", + "ебана", + "ебану", + "ебань", + "ебля", + "ебли", + "ебло", + "ебля", + "ебут", + "ебуть", + "ебёшь", + "ебёт", + "ебём", + "ебёте", + "ебут", + "ебаный", + "ебаная", + "ебаное", + "ебаные", + "ебаного", + "ебаной", + "ебаному", + "ебаным", + "ебаных", + "ебаным", + "ебаные", + "ебаными", + "ебаных", + "ебанный", + "ебанная", + "ебанное", + "ебанные", + "ебанного", + "ебанной", + "ебанному", + "ебанным", + "ебанных", + "ебанным", + "ебанные", + "ебанными", + "ебанных", + "заеб", + "заеба", + "заебе", + "заеби", + "заебу", + "заебё", + "уеб", + "уеба", + "уебе", + "уеби", + "уебу", + "уебё", + "выеб", + "выеба", + "выебе", + "выеби", + "выебу", + "выебё", + "проеб", + "проеба", + "проебе", + "проеби", + "проебу", + "проебё", + "долбоеб", + "долбоеба", + "долбоебе", + "долбоеби", + "долбоебу", + "долбоебё", + "мудак", + "мудака", + "мудаке", + "мудаки", + "мудаку", + "мудаком", + "мудаки", + "мудаков", + "мудакам", + "мудаками", + "мудаках", + "мудила", + "мудилы", + "мудиле", + "мудилу", + "мудилой", + "мудило", + "гандон", + "гондон", + "гандона", + "гондона", + "гандону", + "гондону", + "гандоном", + "гондоном", + "гандоне", + "гондоне", + "гандонов", + "гондонов", + "гандонам", + "гондонам", + "гандонами", + "гондонами", + "гандонах", + "гондонах", + "пидор", + "пидора", + "пидору", + "пидором", + "пидоре", + "пидоры", + "пидоров", + "пидорам", + "пидорами", + "пидорах", + "пидарас", + "пидараса", + "пидарасу", + "пидарасом", + "пидарасе", + "пидарасы", + "пидарасов", + "пидарасам", + "пидарасами", + "пидарасах", + "педик", + "педика", + "педику", + "педиком", + "педике", + "педики", + "педиков", + "педикам", + "педиками", + "педиках", + "гомик", + "гомика", + "гомику", + "гомиком", + "гомике", + "гомики", + "гомиков", + "гомикам", + "гомиками", + "гомиках", + "шлюха", + "шлюхи", + "шлюхе", + "шлюху", + "шлюхой", + "шлюхо", + "шлюх", + "блядина", + "блядины", + "блядине", + "блядину", + "блядиной", + "блядино", + "блядин", + "шлюшка", + "шлюшки", + "шлюшке", + "шлюшку", + "шлюшкой", + "шлюшко", + "шлюшек", + "проститутка", + "проститутки", + "проститутке", + "проститутку", + "проституткой", + "проститутко", + "проституток", + "проституткам", + "проститутками", + "проститутках", + "еблан", + "еблана", + "еблану", + "ебланом", + "еблане", + "ебланы", + "ебланов", + "ебланам", + "ебланами", + "ебланах", + "ебанутый", + "ебанутого", + "ебанутому", + "ебанутым", + "ебанутом", + "ебанутая", + "ебанутой", + "ебанутую", + "ебанутое", + "ебанутые", + "ебанутых", + "ебанутым", + "ебанутыми", + "ебанутых", + "ебанутый", + "ебанутого", + "ебанутому", + "ебанутым", + "ебанутом", + "ебанутая", + "ебанутой", + "ебанутую", + "ебанутое", + "ебанутые", + "ебанутых", + "ебанутым", + "ебанутыми", + "ебанутых", + "уебан", + "уебана", + "уебану", + "уебаном", + "уебане", + "уебаны", + "уебанов", + "уебанам", + "уебанами", + "уебанах", + "долбоёб", + "долбоёба", + "долбоёбу", + "долбоёбом", + "долбоёбе", + "долбоёбы", + "долбоёбов", + "долбоёбам", + "долбоёбами", + "долбоёбах", + "долбоеб", + "долбоеба", + "долбоебу", + "долбоебом", + "долбоебе", + "долбоебы", + "долбоебов", + "долбоебам", + "долбоебами", + "долбоебах", + "еблан", + "еблана", + "еблану", + "ебланом", + "еблане", + "ебланы", + "ебланов", + "ебланам", + "ебланами", + "ебланах", + "залупа", + "залупы", + "залупе", + "залупу", + "залупой", + "залупо", + "залуп", + "залупка", + "залупки", + "залупке", + "залупку", + "залупкой", + "залупко", + "залупок", + "залупкам", + "залупками", + "залупках", + "мразь", + "мрази", + "мрази", + "мразью", + "мразь", + "мразей", + "мразям", + "мразями", + "мразях", + "мразота", + "мразоты", + "мразоте", + "мразоту", + "мразотой", + "мразото", + "мразот", + "мразотой", + "мразотам", + "мразотами", + "мразотах", + "ублюдок", + "ублюдка", + "ублюдку", + "ублюдком", + "ублюдке", + "ублюдки", + "ублюдков", + "ублюдкам", + "ублюдками", + "ублюдках", + "выблядок", + "выблядка", + "выблядку", + "выблядком", + "выблядке", + "выблядки", + "выблядков", + "выблядкам", + "выблядками", + "выблядках", + "падла", + "падлы", + "падле", + "падлу", + "падлой", + "падло", + "падл", + "падлюга", + "падлюги", + "падлюге", + "падлюгу", + "падлюгой", + "падлюго", + "падлюг", + "падлюгам", + "падлюгами", + "падлюгах", + "гад", + "гада", + "гаду", + "гадом", + "гаде", + "гады", + "гадов", + "гадам", + "гадами", + "гадах", + "гадина", + "гадины", + "гадине", + "гадину", + "гадиной", + "гадино", + "гадин", + "гадинам", + "гадинами", + "гадинах", + "тварь", + "твари", + "твари", + "тварью", + "тварь", + "тварей", + "тварям", + "тварями", + "тварях", + "тварина", + "тварины", + "тварине", + "тварину", + "твариной", + "тварино", + "тварин", + "тваринам", + "тваринами", + "тваринах", + "сволочь", + "сволочи", + "сволочи", + "сволочью", + "сволочь", + "сволочей", + "сволочам", + "сволочами", + "сволочах", + "сволочка", + "сволочки", + "сволочке", + "сволочку", + "сволочкой", + "сволочко", + "сволочек", + "сволочкам", + "сволочками", + "сволочках", + "скотина", + "скотины", + "скотине", + "скотину", + "скотиной", + "скотино", + "скотин", + "скотинам", + "скотинами", + "скотинах", + "скотиняка", + "скотиняки", + "скотиняке", + "скотиняку", + "скотинякой", + "скотиняко", + "скотиняк", + "скотинякам", + "скотиняками", + "скотиняках", + "козел", + "козла", + "козлу", + "козлом", + "козле", + "козлы", + "козлов", + "козлам", + "козлами", + "козлах", + "козлина", + "козлины", + "козлине", + "козлину", + "козлиной", + "козлино", + "козлин", + "козлинам", + "козлинами", + "козлинах", + "козлище", + "козлища", + "козлищу", + "козлищем", + "козлище", + "козлищ", + "козлищам", + "козлищами", + "козлищах", + "козёл", + "козла", + "козлу", + "козлом", + "козле", + "козлы", + "козлов", + "козлам", + "козлами", + "козлах", + "козлина", + "козлины", + "козлине", + "козлину", + "козлиной", + "козлино", + "козлин", + "козлинам", + "козлинами", + "козлинах", + "козлище", + "козлища", + "козлищу", + "козлищем", + "козлище", + "козлищ", + "козлищам", + "козлищами", + "козлищах", + "козёл", + "козла", + "козлу", + "козлом", + "козле", + "козлы", + "козлов", + "козлам", + "козлами", + "козлах", + "козлина", + "козлины", + "козлине", + "козлину", + "козлиной", + "козлино", + "козлин", + "козлинам", + "козлинами", + "козлинах", + "козлище", + "козлища", + "козлищу", + "козлищем", + "козлище", + "козлищ", + "козлищам", + "козлищами", + "козлищах" + ], + "fragments": [ + "хуй", + "хуя", + "хуе", + "хуи", + "хую", + "хуё", + "пизд", + "бля", + "бляд", + "еб", + "еба", + "ебе", + "еби", + "ебу", + "ебё", + "ебан", + "ебал", + "ебан", + "ебля", + "ебли", + "ебло", + "ебут", + "ебуть", + "ебёшь", + "ебёт", + "ебём", + "ебёте", + "ебут", + "ебаный", + "ебаная", + "ебаное", + "ебаные", + "ебаного", + "ебаной", + "ебаному", + "ебаным", + "ебаных", + "ебаным", + "ебаные", + "ебаными", + "ебаных", + "ебанный", + "ебанная", + "ебанное", + "ебанные", + "ебанного", + "ебанной", + "ебанному", + "ебанным", + "ебанных", + "ебанным", + "ебанные", + "ебанными", + "ебанных", + "заеб", + "уеб", + "выеб", + "проеб", + "долбоеб", + "мудак", + "мудил", + "гандон", + "гондон", + "пидор", + "пидарас", + "педик", + "гомик", + "шлюх", + "блядин", + "проститутк", + "еблан", + "ебанут", + "уебан", + "долбоёб", + "долбоеб", + "залуп", + "мраз", + "мразот", + "ублюдок", + "выблядок", + "падл", + "падлюг", + "гад", + "гадин", + "твар", + "тварин", + "сволоч", + "скотин", + "козел", + "козл", + "козёл", + "козлищ" + ] +} + diff --git a/bin/main/gradient-config.yml b/bin/main/gradient-config.yml new file mode 100644 index 0000000..344091b --- /dev/null +++ b/bin/main/gradient-config.yml @@ -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 + - модер + - админ + - хелпер diff --git a/bin/main/gradient-messages.yml b/bin/main/gradient-messages.yml new file mode 100644 index 0000000..f8dfe09 --- /dev/null +++ b/bin/main/gradient-messages.yml @@ -0,0 +1,57 @@ +# LoChat Gradient Module Messages +# Сообщения модуля градиентных ников + +# Общие +only-player: "CADFЭта команда только для игроков!" +no-permission: "CADFУ вас нет прав на это действие!" +player-not-found: "CADFИгрок не найден!" +reload-success: "CADFКонфигурация градиентов перезагружена!" +cooldown: "CADFПодождите ещё {time} секунд!" + +# Цвета +color-help: | + CADF=== Команда /color === + CADF/color <цвет1> [цвет2] ... 󅒐— установить градиент + CADF/color on 󅒐— включить цвет + CADF/color off 󅒐— выключить цвет + CADF/color reset 󅒐— сбросить цвет + CADF/color copy <игрок> 󅒐— скопировать цвет + 󅒐Пример: /color #FF0000 #00FF00 #0000FF +color-enabled: "CADFЦвет ника включён!" +color-disabled: "CADFЦвет ника выключен!" +color-reset: "CADFЦвет ника сброшен!" +color-no-colors: "CADFУ вас нет установленных цветов!" +color-success: "CADFЦвет успешно установлен! Списано: {price} PP" +color-copy-usage: "CADFИспользование: /color copy <игрок>" +color-copy-no-colors: "CADFУ игрока {player} нет цветов!" +invalid-color: "CADFНеверный формат цвета: {color}. Используйте #RRGGBB" +too-many-colors: "CADFМаксимум {max} цветов!" +not-enough-colors: "CADFМинимум {min} цветов!" +not-enough-points-color: "CADFНедостаточно поинтов! Нужно: {price} PP" + +# Префикс +prefix-help: | + CADF=== Команда /prefix === + CADF/prefix <текст> 󅒐— установить префикс + CADF/prefix on 󅒐— включить префикс + CADF/prefix off 󅒐— выключить префикс + CADF/prefix reset 󅒐— сбросить префикс +prefix-enabled: "CADFПрефикс включён!" +prefix-disabled: "CADFПрефикс выключен!" +prefix-reset-success: "CADFПрефикс сброшен!" +prefix-no-prefix: "CADFУ вас нет установленного префикса!" +prefix-success: "CADFПрефикс успешно установлен! Списано: {price} PP" +prefix-success-free: "CADFПрефикс успешно изменён!" +prefix-no-colors: "CADFПрефикс не может содержать цветовые коды!" +prefix-invalid-chars: "CADFПрефикс содержит недопустимые символы!" +prefix-blacklisted: "CADFЭтот префикс запрещён!" +prefix-too-long: "CADFПрефикс слишком длинный! Максимум: {max} символов" +not-enough-points-prefix: "CADFНедостаточно поинтов! Нужно: {price} PP" + +# Админ информация +info-header: "CADF=== Информация об игроке {player} ===" +info-prefix: "󅒐Префикс: &f{prefix}" +info-prefix-enabled: "󅒐Префикс включён: &f{enabled}" +info-colors: "󅒐Цвета: &f{colors}" +info-color-enabled: "󅒐Цвет включён: &f{enabled}" +info-prefix-purchased: "󅒐Префикс куплен: &f{purchased}" \ No newline at end of file diff --git a/bin/main/messages.yml b/bin/main/messages.yml new file mode 100644 index 0000000..f148fab --- /dev/null +++ b/bin/main/messages.yml @@ -0,0 +1,69 @@ +prefix: "CADF[LoChat]" + +global: + disabled: "CADFГлобальный чат отключен" + toggled-on: "CADFГлобальный чат включен" + toggled-off: "CADFГлобальный чат отключен" + +local: + no-players: "CADFРядом нет игроков" + +pm: + # Форматы личных сообщений + # {sender} - ник отправителя, {receiver} - ник получателя + # {sender_display} - отправитель с градиентом, {receiver_display} - получатель с градиентом + # {message} - текст сообщения + format-sent: "󅒐[PM] Ты → {receiver_display}󅒐: {message}" + format-received: "󅒐[PM] {sender_display}󅒐 → Ты: {message}" + # Использовать градиентные ники в PM + use-gradient-names: true + # Старые форматы (для совместимости) + sent: "󅒐[PM] Ты → {player}: {message}" + received: "󅒐[PM] {player} → Ты: {message}" + no-reply: "CADFНекому ответить" + ignored: "CADFЭтот игрок вас игнорирует" + player-offline: "CADFИгрок не в сети" + self: "CADFНельзя писать самому себе" + +ignore: + added: "CADFИгрок {player} добавлен в игнор" + removed: "CADFИгрок {player} убран из игнора" + already-ignored: "CADFИгрок уже в игноре" + not-ignored: "CADFИгрок не в игноре" + self: "CADFНельзя игнорировать себя" + +announce: + reloaded: "CADFКонфигурация перезагружена" + +spy: + enabled: "CADFШпион режим включен" + disabled: "CADFШпион режим выключен" + format: "󅒐[SPY] {sender} → {receiver}: {message}" + +filter: + blocked: "CADFСообщение заблокировано (мат)" + warned: "CADFПредупреждение: не используйте мат!" + +cooldown: + wait: "CADFПодождите {time} сек перед следующим сообщением" + +antispam: + caps: "CADFСлишком много заглавных букв!" + repeat: "CADFНе повторяйте символы!" + similar: "CADFНе отправляйте одинаковые сообщения!" + +clearchat: + cleared: "CADFЧат очищен администратором {player}" + +errors: + no-permission: "CADFНет прав!" + player-not-found: "CADFИгрок не найден" + invalid-usage: "CADFИспользование: {usage}" + +mute: + muted: "CADFИгрок {player} замучен на {time}" + unmuted: "CADFИгрок {player} размучен" + already-muted: "CADFИгрок уже замучен" + not-muted: "CADFИгрок не замучен" + you-muted: "CADFВы замучены! Осталось: {time}" + permanent: "CADFВы замучены навсегда!" \ No newline at end of file diff --git a/bin/main/plugin.yml b/bin/main/plugin.yml new file mode 100644 index 0000000..9a0757f --- /dev/null +++ b/bin/main/plugin.yml @@ -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 + 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 + permission: chat.local.use + aliases: [д] + + msg: + description: Send private message + usage: /msg + permission: chat.pm.use + aliases: [tell, w, pm, m, ьып, ееддж, цж, зьж, ьж] + + reply: + description: Reply to last message + usage: /reply + permission: chat.pm.use + aliases: [r, ответить, кузду, к] + + ignore: + description: Ignore player + usage: /ignore + permission: chat.pm.ignore + aliases: [игнор, шптщку] + + unignore: + description: Unignore player + usage: /unignore + permission: chat.pm.ignore + aliases: [разигнор, гтшптщку] + + announce: + description: Send announcement + usage: /announce + 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 [hex2] ... + permission: gradient.color + aliases: [gradient, цвет, градиент, сщдщк, пкфвшуте] + + prefix: + description: Set custom prefix + usage: /prefix + permission: gradient.prefix + aliases: [префикс, зкуашч] + + aprefix: + description: Admin gradient commands + usage: /aprefix + permission: gradient.admin + aliases: [gradientadmin, азкуашч, пкфвшуетефвьшт] + + lmute: + description: Mute a player + usage: /lmute [time] [-s] [reason] + permission: lochat.mute + aliases: [mute, мут, ьгеу] + + lunmute: + description: Unmute a player + usage: /lunmute [-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 + permission: lochat.mutehistory + aliases: [mutehistory, мутистория, ьгеершыещку] + + lmuteblame: + description: View mutes issued by a moderator + usage: /lmuteblame + 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 diff --git a/bin/test/com/loki/lochat/gradient/data/GradientPlayerDataTest.class b/bin/test/com/loki/lochat/gradient/data/GradientPlayerDataTest.class new file mode 100644 index 0000000..0f2c611 Binary files /dev/null and b/bin/test/com/loki/lochat/gradient/data/GradientPlayerDataTest.class differ diff --git a/bin/test/com/loki/lochat/gradient/util/GradientConstantsTest.class b/bin/test/com/loki/lochat/gradient/util/GradientConstantsTest.class new file mode 100644 index 0000000..24a6ae4 Binary files /dev/null and b/bin/test/com/loki/lochat/gradient/util/GradientConstantsTest.class differ diff --git a/bin/test/com/loki/lochat/gradient/util/GradientUtilTest.class b/bin/test/com/loki/lochat/gradient/util/GradientUtilTest.class new file mode 100644 index 0000000..bb70bca Binary files /dev/null and b/bin/test/com/loki/lochat/gradient/util/GradientUtilTest.class differ diff --git a/bin/test/com/loki/lochat/managers/CooldownManagerTest.class b/bin/test/com/loki/lochat/managers/CooldownManagerTest.class new file mode 100644 index 0000000..71fa9b9 Binary files /dev/null and b/bin/test/com/loki/lochat/managers/CooldownManagerTest.class differ diff --git a/bin/test/com/loki/lochat/managers/PMManagerTest.class b/bin/test/com/loki/lochat/managers/PMManagerTest.class new file mode 100644 index 0000000..920d1a9 Binary files /dev/null and b/bin/test/com/loki/lochat/managers/PMManagerTest.class differ