feat: LoHub Action system + Join system implementation
This commit is contained in:
parent
69cae99476
commit
6a4c8a7886
55 changed files with 3180 additions and 1022 deletions
227
TODO.md
227
TODO.md
|
|
@ -1,102 +1,167 @@
|
|||
# LoChat - Статус проекта
|
||||
# 🚀 Loki Plugins - TODO
|
||||
|
||||
## ✅ Готово
|
||||
## 📦 Проекты
|
||||
|
||||
### Чат
|
||||
- [x] Глобальный чат (`!сообщение`, `/g`)
|
||||
- [x] Локальный чат (100 блоков)
|
||||
- [x] PM система (`/msg`, `/reply`)
|
||||
- [x] Игнор (`/ignore`, `/unignore`) — сохраняется в файл
|
||||
- [x] Упоминания @ник со звуком
|
||||
### 1. LoChat - Чат плагин (Paper/Folia)
|
||||
**Статус:** ✅ Готов к использованию
|
||||
|
||||
### Модерация
|
||||
- [x] Мут система (`/mute`, `/unmute`) — сохраняется в файл
|
||||
- [x] Фильтр мата (censor/block/warn)
|
||||
- [x] Анти-спам (CAPS, повторы, похожие)
|
||||
- [x] Кулдауны на сообщения
|
||||
- [x] Чат-шпион (`/chatspy`)
|
||||
- [x] Очистка чата (`/clearchat`)
|
||||
|
||||
### Градиентные ники (LoPreff интеграция)
|
||||
- [x] Команды `/color`, `/prefix`
|
||||
- [x] Градиенты на ники и префиксы
|
||||
- [x] Интеграция с LuckPerms
|
||||
- [x] PlayerPoints поддержка
|
||||
- [x] TAB плагин совместимость (`%lochat_full%`)
|
||||
- [x] Админ команды `/aprefix`
|
||||
|
||||
### Дополнительно
|
||||
- [x] Цвет чата (`/chatcolor`)
|
||||
- [x] Смайлики (300+ эмодзи)
|
||||
- [x] Кастомные команды
|
||||
- [x] Автосообщения
|
||||
|
||||
### Система
|
||||
- [x] Объявления (Title + ActionBar)
|
||||
- [x] PlaceholderAPI интеграция
|
||||
- [x] HEX цвета `&#RRGGBB` и `§x§...`
|
||||
- [x] MiniMessage форматирование
|
||||
- [x] Folia совместимость
|
||||
- [x] Горячая перезагрузка
|
||||
#### Функции
|
||||
- ✅ Глобальный/локальный чат
|
||||
- ✅ PM система с игнором
|
||||
- ✅ Мут система с историей
|
||||
- ✅ Фильтры (мат, спам, CAPS)
|
||||
- ✅ Градиентные ники (LuckPerms интеграция)
|
||||
- ✅ Смайлики (300+ эмодзи)
|
||||
- ✅ PlaceholderAPI
|
||||
- ✅ Markdown форматирование (**bold**, *italic*, ~~strike~~, `code`)
|
||||
- ✅ Упоминания (@player, @everyone, @here, @role:permission)
|
||||
- ✅ Фильтры URL/IP/повторов
|
||||
|
||||
---
|
||||
|
||||
## 📊 PlaceholderAPI
|
||||
### 2. LoHub - Hub плагин (Paper/Folia)
|
||||
**Статус:** 🔄 В разработке (21% готово)
|
||||
|
||||
#### ✅ Готово
|
||||
- ✅ Spawn система с телепортом
|
||||
- ✅ WorldGuard регионы (авто-создание)
|
||||
- ✅ Защита мира (блоки, PvP, мобы)
|
||||
- ✅ Команды /hub, /sethub, /lohub
|
||||
- ✅ Базовые утилиты (ItemBuilder, TextUtil, PlaceholderUtil)
|
||||
|
||||
#### 🔄 В работе - ЭТАП 2: Action система
|
||||
- [ ] Action интерфейс и ActionType enum
|
||||
- [ ] MessageAction - отправка сообщений
|
||||
- [ ] SoundAction - звуки
|
||||
- [ ] TitleAction - title/subtitle
|
||||
- [ ] CommandAction - команды от игрока
|
||||
- [ ] ConsoleAction - команды от консоли
|
||||
- [ ] GamemodeAction - смена режима
|
||||
- [ ] EffectAction - эффекты
|
||||
- [ ] ActionManager - парсинг и выполнение
|
||||
|
||||
#### 📋 Запланировано
|
||||
**ЭТАП 3: Join система**
|
||||
- [ ] PlayerJoinListener
|
||||
- [ ] Телепорт на спавн при входе
|
||||
- [ ] Хил и очистка эффектов
|
||||
- [ ] Кастомные сообщения входа/выхода
|
||||
- [ ] Интеграция с Action системой
|
||||
|
||||
**ЭТАП 4: Custom Join Items**
|
||||
- [ ] HotbarManager
|
||||
- [ ] Выдача предметов при входе
|
||||
- [ ] Обработка кликов (actions)
|
||||
- [ ] Защита от выбрасывания
|
||||
|
||||
**ЭТАП 5: Launchpad**
|
||||
- [ ] LaunchpadListener
|
||||
- [ ] Прыжковые площадки (плита + редстоун)
|
||||
|
||||
**ЭТАП 6: Double Jump**
|
||||
- [ ] DoubleJumpListener
|
||||
- [ ] CooldownManager
|
||||
- [ ] Двойной прыжок в воздухе
|
||||
|
||||
**ЭТАП 7: Player Hider**
|
||||
- [ ] PlayerHiderManager
|
||||
- [ ] Скрытие/показ игроков
|
||||
- [ ] Предмет для переключения
|
||||
|
||||
**ЭТАП 8-10: Опционально**
|
||||
- [ ] Scoreboard модуль
|
||||
- [ ] Tablist модуль
|
||||
- [ ] Announcements модуль
|
||||
|
||||
---
|
||||
|
||||
### 3. LoVelocity - Velocity плагин
|
||||
**Статус:** ✅ Готов
|
||||
|
||||
#### Функции
|
||||
- ✅ Команда /hub для телепорта на lobby/hub сервер
|
||||
- ✅ Кастомные сообщения
|
||||
- ✅ Поддержка PlaceholderAPI
|
||||
|
||||
---
|
||||
|
||||
## 🏗️ Структура проекта
|
||||
|
||||
```
|
||||
%lochat_muted% — замучен (true/false)
|
||||
%lochat_mute_time% — время мута
|
||||
%lochat_mute_reason% — причина мута
|
||||
%lochat_ignored_count% — кол-во игнорируемых
|
||||
%lochat_global_enabled% — глобальный чат вкл
|
||||
%lochat_last_pm% — последний собеседник
|
||||
%lochat_spy_enabled% — шпион режим
|
||||
%lochat_full% — префикс + градиентный ник (для TAB)
|
||||
%lochat_name% — только градиентный ник
|
||||
%lochat_prefix% — только префикс с градиентом
|
||||
%lochat_lp_prefix% — LuckPerms префикс
|
||||
LoChat/ # Root проекта
|
||||
├── src/main/ # LoChat (основной модуль)
|
||||
│ ├── java/com/loki/lochat/
|
||||
│ │ ├── api/ # API интерфейсы
|
||||
│ │ ├── commands/ # Команды
|
||||
│ │ ├── config/ # Конфигурация
|
||||
│ │ ├── core/ # Реализации
|
||||
│ │ ├── gradient/ # Градиентные ники
|
||||
│ │ ├── listener/ # Слушатели событий
|
||||
│ │ ├── utils/ # Утилиты
|
||||
│ │ └── LoChat.java # Главный класс
|
||||
│ └── resources/ # Конфиги
|
||||
│
|
||||
├── lohub/ # LoHub модуль
|
||||
│ ├── src/main/
|
||||
│ │ ├── java/com/loki/lohub/
|
||||
│ │ │ ├── actions/ # Action система
|
||||
│ │ │ ├── commands/ # Команды
|
||||
│ │ │ ├── config/ # Конфигурация
|
||||
│ │ │ ├── listeners/ # Слушатели
|
||||
│ │ │ ├── managers/ # Менеджеры
|
||||
│ │ │ ├── utils/ # Утилиты
|
||||
│ │ │ └── LoHub.java # Главный класс
|
||||
│ │ └── resources/ # Конфиги
|
||||
│ └── build.gradle.kts # Gradle конфиг
|
||||
│
|
||||
├── lovelocity/ # LoVelocity модуль
|
||||
│ ├── src/main/
|
||||
│ │ └── java/com/loki/lovelocity/
|
||||
│ └── build.gradle.kts # Gradle конфиг
|
||||
│
|
||||
├── build.gradle.kts # Root Gradle (Kotlin DSL)
|
||||
├── settings.gradle.kts # Настройки проектов
|
||||
└── TODO.md # Этот файл
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📁 Файлы данных
|
||||
## 🎯 Текущий фокус
|
||||
|
||||
- `ignores.yml` — список игнорируемых игроков
|
||||
- `mutes.yml` — активные муты
|
||||
- `chatcolors.yml` — цвета чата игроков
|
||||
- `gradient-data.yml` — данные градиентных ников
|
||||
**LoHub - ЭТАП 2: Action система**
|
||||
|
||||
Создание гибкой системы действий для настройки поведения через конфиг:
|
||||
|
||||
```yaml
|
||||
actions:
|
||||
- "[MESSAGE] &aПривет, %player%!"
|
||||
- "[SOUND] ENTITY_PLAYER_LEVELUP"
|
||||
- "[TITLE] &b&lДобро пожаловать;&fНа сервер;1;3;1"
|
||||
- "[COMMAND] spawn"
|
||||
- "[CONSOLE] give %player% diamond 1"
|
||||
- "[GAMEMODE] survival"
|
||||
- "[EFFECT] SPEED;1"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔑 Права
|
||||
## 📝 Правила разработки
|
||||
|
||||
| Право | Описание |
|
||||
|-------|----------|
|
||||
| chat.global.use | Глобальный чат |
|
||||
| chat.global.color | Цвета в глобальном чате |
|
||||
| chat.local.use | Локальный чат |
|
||||
| chat.local.color | Цвета в локальном чате |
|
||||
| chat.pm.use | Личные сообщения |
|
||||
| chat.pm.ignore | Игнор игроков |
|
||||
| chat.announce.use | Объявления |
|
||||
| chat.spy | Шпион режим |
|
||||
| chat.clear | Очистка чата |
|
||||
| chat.mute | Мут игроков |
|
||||
| chat.bypass.cooldown | Обход кулдауна |
|
||||
| chat.bypass.filter | Обход фильтра |
|
||||
| chat.bypass.antispam | Обход анти-спама |
|
||||
| lochat.chatcolor | Цвет чата |
|
||||
| gradient.color | Градиентные цвета |
|
||||
| gradient.prefix | Кастомные префиксы |
|
||||
| gradient.admin | Админ команды градиентов |
|
||||
| lochat.admin | Админ команды плагина |
|
||||
1. **Никакого русского текста в Java файлах** - только в конфигах
|
||||
2. **Цвета только в формате `&#RRGGBB`** - унифицированный стиль
|
||||
3. **SOLID принципы** - чистая архитектура
|
||||
4. **Классы до 100-150 строк** - читаемость кода
|
||||
5. **Gradle Kotlin DSL** - современный подход
|
||||
6. **Без лишних MD файлов** - только TODO.md и docs/
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Возможные улучшения
|
||||
## 🔧 Технологии
|
||||
|
||||
- [ ] GUI для настройки градиентов
|
||||
- [ ] Анимированные градиенты
|
||||
- [ ] Больше форматов времени в муте
|
||||
- [ ] Статистика сообщений
|
||||
- [ ] Бэкап системы данных
|
||||
- **Java 17+**
|
||||
- **Paper API 1.20.1**
|
||||
- **Velocity API 3.3.0**
|
||||
- **Gradle 9.1+ (Kotlin DSL)**
|
||||
- **WorldGuard 7.0.9**
|
||||
- **PlaceholderAPI 2.11.6**
|
||||
- **LuckPerms API**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue