---
### Основные возможности:

Автоматическая очистка - плагин автоматически очищает миры по настраиваемому таймеру
Гибкая настройка - выбор миров, типов объектов, исключений
Предупреждения игроков - уведомления перед очисткой
Звуковые эффекты - звуки мобов и эпичный рёв Эндер Дракона при очистке
HEX цвета - полная поддержка HEX цветов в сообщениях
Ручное управление - команды для ручной очистки и управления
Система прав - полный контроль доступа через права

---

## 💻 Требования

### Минимальные требования:

| Параметр | Требование |
|----------|------------|
| Minecraft | 1.16.5 или выше |
| Сервер | Spigot или Paper |
| Java | Java 8 или выше |
| RAM | Минимум 512 MB свободной памяти |

### Рекомендуемые требования:

| Параметр | Рекомендация |
|----------|--------------|
| Minecraft | 1.20+ |
| Сервер | Paper (для лучшей производительности) |
| Java | Java 17+ |
| RAM | 1 GB+ свободной памяти |

---

## 📥 Установка на сервер

### Шаг 1: Установка плагина

1. Остановите ваш сервер Minecraft (если он запущен)
2. Скопируйте файл WorldCleaner-1.0.0.jar в папку plugins/ вашего сервера
3. Запустите сервер

### Шаг 2: Проверка установки

После запуска сервера проверьте консоль. Вы должны увидеть:

[WorldCleaner] Плагин успешно загружен!
[WorldCleaner] Автор: animesao
[WorldCleaner] Версия: 1.0.0


Если вы видите эти сообщения - плагин установлен правильно! ✅

---

## 🚀 Первый запуск

### Что происходит при первом запуске:

1. Плагин создаёт папку plugins/WorldCleaner/
2. Генерируется файл конфигурации config.yml с настройками по умолчанию
3. Автоматически запускается таймер автоочистки (если включен)

### Базовая настройка:

По умолчанию плагин:
- ✅ Очищает миры world, world_nether, world_the_end
- ✅ Автоочистка каждые 5 минут (300 секунд)
- ✅ Предупреждение за 10 секунд до очистки
- ✅ Удаляет предметы и мобов
- ✅ Не трогает жителей, рамки, стойки для брони

### Первая настройка:

1. Остановите сервер командой /stop
2. Откройте файл plugins/WorldCleaner/config.yml
3. Измените настройки под ваши нужды (см. раздел [Настройка](#полная-настройка-конфигурации))
4. Сохраните файл
5. Запустите сервер или используйте /wc reload (если сервер запущен)

---

## ⚙️ Полная настройка конфигурации

### Структура config.yml

yaml
# WorldCleaner Configuration
# Автор: animesao
# Конфигурация плагина для автоматической очистки миров

# Настройки автоматической очистки
auto-clean:
enabled: true # Включить/выключить автоочистку
interval: 300 # Интервал между очистками (в секундах)
warning-time: 10 # Время предупреждения перед очисткой (в секундах)

# Настройки трансляции сообщений
broadcast:
enabled: true # Отправлять сообщения всем игрокам
mode: summary # Режим: detailed или summary

# Настройки звуков при очистке
sound:
enabled: true # Включить звуковые эффекты
sound-name: "ENTITY_ENDER_DRAGON_GROWL" # Звук при завершении очистки
volume: 1.0 # Громкость (0.0 - 1.0)
pitch: 1.0 # Тон (0.5 - 2.0)

mob-sounds:
enabled: true # Воспроизводить звуки мобов
volume: 0.5 # Громкость звуков мобов
pitch: 1.2 # Тон звуков мобов

# Список миров для очистки
worlds:
- world
- world_nether
- world_the_end

# Что удалять при очистке
remove:
items: true # Удалять предметы на земле
mobs: true # Удалять мобов
excluded-mobs: # Исключенные мобы (не будут удалены)
- VILLAGER
- ARMOR_STAND
- ITEM_FRAME
- PAINTING

# Сообщения с поддержкой HEX цветов
messages:
prefix: "&#00FF00[WorldCleaner] &r"
world-cleaned: "&#00FF00[WorldCleaner] &fМир &#FFD700{world} &fочищен! Удалено объектов: &#FF5555{amount}"
total-cleaned: "&#00FF00[WorldCleaner] &fВсего удалено объектов: &#FF5555{total}"
nothing-cleaned: "&#FFD700[WorldCleaner] &fОчистка выполнена, но в мире ничего не было найдено для удаления!"
warning: "&#FF5555[WorldCleaner] &fВнимание! Очистка миров через &#FFD700{time} &fсекунд!"
manual-clean: "&#00FF00[WorldCleaner] &fРучная очистка миров выполнена!"
config-reloaded: "&#00FF00[WorldCleaner] &fКонфигурация успешно перезагружена!"
auto-clean-enabled: "&#00FF00[WorldCleaner] &fАвтоматическая очистка &#00FF00включена!"
auto-clean-disabled: "&#FF5555[WorldCleaner] &fАвтоматическая очистка &#FF5555отключена!"
no-permission: "&#FF5555[WorldCleaner] &fУ вас нет прав для использования этой команды!"
world-not-found: "&#FF5555[WorldCleaner] &fМир не найден!"


---

### 📝 Подробное описание параметров

#### 1. Секция auto-clean - Автоматическая очистка

enabled (true/false)
- Описание: Включает или выключает автоматическую очистку
- По умолчанию: true
- Пример:
yaml
enabled: true # Автоочистка работает
enabled: false # Автоочистка отключена


interval (число в секундах)
- Описание: Интервал времени между автоматическими очистками
- По умолчанию: 300 (5 минут)
- Диапазон: От 60 (1 минута) до любого значения
- Примеры:
yaml
interval: 180 # 3 минуты
interval: 300 # 5 минут (по умолчанию)
interval: 600 # 10 минут
interval: 1800 # 30 минут
interval: 3600 # 1 час


warning-time (число в секундах)
- Описание: За сколько секунд до очистки предупредить игроков
- По умолчанию: 10 секунд
- Диапазон: От 0 до значения interval
- Примеры:
yaml
warning-time: 0 # Без предупреждения
warning-time: 5 # За 5 секунд
warning-time: 10 # За 10 секунд (по умолчанию)
warning-time: 30 # За 30 секунд


---

#### 2. Секция broadcast - Сообщения в чат

enabled (true/false)
- Описание: Отправлять ли сообщения о очистке в чат
- По умолчанию: true
- Использование:
yaml
enabled: true # Игроки видят сообщения
enabled: false # Тихая очистка (только в консоль)


mode (detailed/summary)
- Описание: Режим отображения сообщений
- По умолчанию: summary
- Варианты:
- detailed - Показывает каждый мир отдельно + итог
- summary - Показывает только общее количество
- Примеры вывода:

Режим detailed:
[WorldCleaner] Мир world очищен! Удалено объектов: 125
[WorldCleaner] Мир world_nether очищен! Удалено объектов: 43
[WorldCleaner] Мир world_the_end очищен! Удалено объектов: 12
[WorldCleaner] Всего удалено объектов: 180


Режим summary:
[WorldCleaner] Всего удалено объектов: 180


---

#### 3. Секция sound - Звуковые эффекты

enabled (true/false)
- Описание: Включить звук при завершении очистки
- По умолчанию: true

sound-name (название звука)
- Описание: Какой звук воспроизводить при завершении очистки
- По умолчанию: ENTITY_ENDER_DRAGON_GROWL (рёв Эндер Дракона)
- Популярные варианты:
yaml
sound-name: "ENTITY_ENDER_DRAGON_GROWL" # Рёв дракона (эпично!)
sound-name: "ENTITY_PLAYER_LEVELUP" # Повышение уровня
sound-name: "BLOCK_NOTE_BLOCK_PLING" # Звук блока нот
sound-name: "UI_TOAST_CHALLENGE_COMPLETE" # Выполнение достижения
sound-name: "ENTITY_EXPERIENCE_ORB_PICKUP" # Подбор опыта

- Полный список: [Spigot Sound API](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html)

volume (0.0 - 1.0)
- Описание: Громкость звука
- По умолчанию: 1.0 (максимум)
- Диапазон: От 0.0 (тихо) до 1.0 (громко)

pitch (0.5 - 2.0)
- Описание: Тон звука (высота)
- По умолчанию: 1.0 (нормальный)
- Диапазон:
- 0.5 = очень низкий
- 1.0 = нормальный
- 2.0 = очень высокий

Подсекция mob-sounds:

enabled (true/false)
- Описание: Воспроизводить звуки мобов при их удалении
- По умолчанию: true

volume (0.0 - 1.0)
- Описание: Громкость звуков мобов
- По умолчанию: 0.5 (средняя громкость)
- Рекомендуется: 0.3 - 0.7

pitch (0.5 - 2.0)
- Описание: Тон звуков мобов
- По умолчанию: 1.2 (немного выше нормального)

---

#### 4. Секция worlds - Список миров

Описание: Список миров, которые будут очищаться

Синтаксис:
yaml
worlds:
- имя_мира_1
- имя_мира_2
- имя_мира_3


Примеры:

Стандартные миры:
yaml
worlds:
- world
- world_nether
- world_the_end


Только обычный мир:
yaml
worlds:
- world


Кастомные миры:
yaml
worlds:
- survival
- creative
- minigames
- lobby


Важно: Названия миров должны точно совпадать с названиями папок в корне сервера!

---

#### 5. Секция remove - Что удалять

items (true/false)
- Описание: Удалять предметы на земле
- По умолчанию: true
- Примеры:
yaml
items: true # Удалять все предметы на земле
items: false # Не трогать предметы


mobs (true/false)
- Описание: Удалять мобов
- По умолчанию: true
- Примеры:
yaml
mobs: true # Удалять мобов
mobs: false # Не трогать мобов


excluded-mobs (список)
- Описание: Мобы, которые НЕ будут удалены при очистке
- По умолчанию: VILLAGER, ARMOR_STAND, ITEM_FRAME, PAINTING
- Синтаксис:
yaml
excluded-mobs:
- МОБ_1
- МОБ_2
- МОБ_3


Популярные исключения:

yaml
excluded-mobs:
# Жители и торговцы
- VILLAGER
- WANDERING_TRADER

# Декоративные объекты
- ARMOR_STAND
- ITEM_FRAME
- PAINTING
- GLOW_ITEM_FRAME

# Животные
- HORSE
- DONKEY
- MULE
- PIG
- COW
- SHEEP
- CHICKEN

# Питомцы
- WOLF
- CAT
- PARROT

# Служебные мобы
- IRON_GOLEM
- SNOW_GOLEM


Полный список типов мобов: [Spigot EntityType](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/EntityType.html)

---

#### 6. Секция messages - Сообщения

Описание: Настройка всех сообщений плагина

Поддержка цветов:
- HEX цвета: &#RRGGBB (например: &#FF5555 = красный)
- Стандартные коды: &a, &b, &c и т.д.

Доступные переменные:
- {world} - Название мира
- {amount} - Количество удалённых объектов в мире
- {total} - Общее количество удалённых объектов
- {time} - Время до очистки

Примеры настройки:

Минималистичный стиль:
yaml
messages:
total-cleaned: "&7[&aClean&7] &fУдалено: &e{total}"
warning: "&c⚠ &fОчистка через {time}с"


Яркий стиль с HEX:
yaml
messages:
total-cleaned: "&#00FF00✔ &fОчищено &#FFD700{total} &fобъектов!"
warning: "&#FF0000⚠ ВНИМАНИЕ! &#FFFF00Очистка через {time}с!"


Стиль для RP серверов:
yaml
messages:
total-cleaned: "&6[Магическая Очистка] &fМир очищен от &c{total} &fобъектов скверны"
warning: "&e[Предупреждение] &fЧерез &6{time} секунд &fмагия очистит мир!"


---

## 🎮 Команды и права доступа

### Команды плагина

| Команда | Описание | Права | Алиасы |
|---------|----------|-------|--------|
| /wc | Показать справку по командам | worldcleaner.use | /worldcleaner, /cleaner |
| /wc clean | Очистить все настроенные миры | worldcleaner.clean | - |
| /wc clean <мир> | Очистить конкретный мир | worldcleaner.clean | - |
| /wc reload | Перезагрузить конфигурацию | worldcleaner.reload | - |
| /wc toggle | Вкл/Выкл автоочистку | worldcleaner.toggle | - |
| /wc info | Информация о плагине | worldcleaner.use | - |

### Права доступа (Permissions)

| Право | Описание | По умолчанию |
|-------|----------|--------------|
| worldcleaner.use | Базовое использование плагина | OP |
| worldcleaner.clean | Ручная очистка миров | OP |
| worldcleaner.reload | Перезагрузка конфигурации | OP |
| worldcleaner.toggle | Управление автоочисткой | OP |
| worldcleaner.* | Все права плагина | OP |

### Настройка прав через LuckPerms

Дать права группе:
/lp group admin permission set worldcleaner.* true
/lp group moderator permission set worldcleaner.clean true
/lp group moderator permission set worldcleaner.reload true


Дать права игроку:
/lp user PlayerName permission set worldcleaner.clean true


### Настройка прав через PermissionsEx

Дать права группе:
/pex group admin add worldcleaner.*
/pex group moderator add worldcleaner.clean
/pex group moderator add worldcleaner.reload


---

## 📋 Примеры настройки

### Пример 1: Быстрая очистка каждую минуту

Подходит для: Серверы с большим количеством игроков

yaml
auto-clean:
enabled: true
interval: 60 # Очистка каждую минуту
warning-time: 5 # Предупреждение за 5 секунд

broadcast:
enabled: true
mode: summary # Только итог


---

### Пример 2: Очистка только предметов

Подходит для: Серверы где мобы важны (например, фермы)

yaml
remove:
items: true # Удаляем предметы
mobs: false # НЕ удаляем мобов


---

### Пример 3: Защита важных мобов

Подходит для: Выживание с защитой животных

yaml
remove:
items: true
mobs: true
excluded-mobs:
- VILLAGER
- ARMOR_STAND
- ITEM_FRAME
- PAINTING
- HORSE
- DONKEY
- MULE
- PIG
- COW
- SHEEP
- CHICKEN
- WOLF
- CAT
- IRON_GOLEM


---

### Пример 4: Тихая очистка без уведомлений

Подходит для: Серверы где не нужны уведомления

yaml
broadcast:
enabled: false # Без сообщений в чат

sound:
enabled: false # Без звуков


---

### Пример 5: Очистка только в определённых мирах

Подходит для: Серверы с мини-играми

yaml
worlds:
- minigames # Только мир мини-игр
- arena # Только арена


---

### Пример 6: Агрессивная очистка

Подходит для: Серверы с лагами от энтитей

yaml
auto-clean:
enabled: true
interval: 30 # Каждые 30 секунд!
warning-time: 3 # Короткое предупреждение

remove:
items: true
mobs: true
excluded-mobs: # Минимум исключений
- VILLAGER


---

## 🔊 Звуковые эффекты

### Звуки при завершении очистки

Эпичные звуки:
- ENTITY_ENDER_DRAGON_GROWL - Рёв Эндер Дракона 🐉 (по умолчанию)
- ENTITY_WITHER_SPAWN - Призыв Иссушителя
- UI_TOAST_CHALLENGE_COMPLETE - Выполнение достижения

Приятные звуки:
- ENTITY_PLAYER_LEVELUP - Повышение уровня
- BLOCK_NOTE_BLOCK_PLING - Блок нот
- ENTITY_EXPERIENCE_ORB_PICKUP - Подбор опыта

Предупреждающие звуки:
- BLOCK_ANVIL_LAND - Падение наковальни
- ENTITY_LIGHTNING_BOLT_THUNDER - Гром

### Звуки мобов при очистке

Плагин автоматически воспроизводит уникальные звуки для 30+ типов мобов:

Враждебные:
- Зомби → ENTITY_ZOMBIE_AMBIENT
- Скелет → ENTITY_SKELETON_AMBIENT
- Крипер → ENTITY_CREEPER_HURT
- Паук → ENTITY_SPIDER_AMBIENT
- Эндермен → ENTITY_ENDERMAN_AMBIENT

Нежить:
- Утопленник → ENTITY_DROWNED_AMBIENT
- Кадавр → ENTITY_HUSK_AMBIENT
- Странник → ENTITY_STRAY_AMBIENT

Животные:
- Свинья → ENTITY_PIG_AMBIENT
- Корова → ENTITY_COW_AMBIENT
- Курица → ENTITY_CHICKEN_AMBIENT
- Овца → ENTITY_SHEEP_AMBIENT

И многие другие!

---

## 🔧 Решение проблем

### Плагин не загружается

Симптомы: Нет сообщений в консоли, плагин не появляется в /plugins

Решение:
1. Проверьте версию сервера: /version
- Должен быть Spigot или Paper 1.16.5+
2. Проверьте версию Java: java -version
- Должна быть Java 8 или выше
3. Проверьте папку plugins/ - файл должен называться WorldCleaner-1.0.0.jar
4. Проверьте консоль на наличие ошибок (красный текст)

---

### Автоочистка не работает

Симптомы: Таймер не запускается, очистка не происходит

Решение:
1. Откройте config.yml
2. Убедитесь что auto-clean.enabled: true
3. Проверьте что interval больше 0
4. Используйте /wc reload после изменений
5. Проверьте консоль на ошибки

---

### Некоторые мобы не удаляются

Симптомы: Определённые мобы остаются после очистки

Решение:
1. Проверьте список excluded-mobs в config.yml
2. Убедитесь что remove.mobs: true
3. Проверьте правильность написания типов мобов (ЗАГЛАВНЫМИ БУКВАМИ)
4. Список всех типов: [EntityType](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/EntityType.html)

---

### Звуки не воспроизводятся

Симптомы: Нет звуков при очистке

Решение:
1. Убедитесь что sound.enabled: true
2. Проверьте правильность названия звука
3. Убедитесь что volume больше 0
4. Проверьте что звук существует в вашей версии Minecraft
5. Список звуков: [Sound](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html)

---

### Сообщения не отображаются

Симптомы: Нет уведомлений о очистке в чате

Решение:
1. Проверьте broadcast.enabled: true
2. Убедитесь что у игроков нет плагинов блокирующих чат
3. Проверьте правильность цветовых кодов в сообщениях

---

### Ошибка "World not found"

Симптомы: При очистке пишет "Мир не найден"

Решение:
1. Проверьте список миров в config.yml
2. Названия должны точно совпадать с папками миров
3. Используйте /wc info чтобы увидеть доступные миры
4. Проверьте регистр букв (должны быть точные названия)

---

## ❓ Часто задаваемые вопросы (FAQ)

### Общие вопросы

Q: Работает ли плагин на версии 1.20+?
A: Да! Плагин совместим с версиями от 1.16.5 до самых новых версий.

Q: Нужны ли дополнительные плагины?
A: Нет, WorldCleaner работает полностью автономно.

Q: Совместим ли плагин с другими плагинами очистки?
A: Да, но рекомендуется использовать только один плагин очистки, чтобы избежать конфликтов.

Q: Можно ли использовать на Bukkit?
A: Плагин оптимизирован для Spigot и Paper. На чистом Bukkit могут быть проблемы.

---

### Настройка и конфигурация

Q: Как изменить время между очистками?
A: Измените параметр auto-clean.interval в config.yml (в секундах).

Q: Как очищать только предметы без мобов?
A: Установите remove.items: true и remove.mobs: false.

Q: Можно ли очищать разные миры с разным интервалом?
A: Нет, один интервал для всех миров. Для разных интервалов используйте несколько экземпляров плагина.

Q: Как отключить звуки?
A: Установите sound.enabled: false в config.yml.

Q: Поддерживаются ли кастомные миры?
A: Да! Просто добавьте название мира в список worlds.

---

### Производительность

Q: Влияет ли плагин на производительность сервера?
A: Влияние минимальное. Очистка происходит быстро и эффективно.

Q: Сколько оперативной памяти использует плагин?
A: Менее 10 MB. Очень легкий плагин.

Q: Можно ли использовать на больших серверах (100+ игроков)?
A: Да! Плагин оптимизирован и работает отлично на любых серверах.

---

### Безопасность и данные

Q: Удаляет ли плагин дропы с игроков?
A: Нет, если установлено разумное время очистки. Игроки успевают поднять вещи.

Q: Можно ли защитить определённые предметы?
A: Напрямую нет, но можно сократить interval чтобы игроки успевали поднимать важные предметы.

Q: Удаляются ли предметы в сундуках/печах?
A: Нет! Удаляются только предметы лежащие на земле (EntityItem).

Q: Сохраняются ли спавнеры мобов?
A: Да, блоки не затрагиваются, только сущности (энтити).

---

### Команды и права

Q: Как дать права модераторам?
A: Используйте плагин прав (LuckPerms, PermissionsEx) и дайте нужные permissions.

Q: Можно ли использовать команды из консоли?
A: Да, все команды работают из консоли сервера.

Q: Есть ли команда для остановки очистки?
A: Используйте /wc toggle для вкл/выкл автоочистки.

---

## 📞 Поддержка

Если у вас возникли проблемы:

1. Проверьте раздел [Решение проблем](#решение-проблем)
2. Проверьте [FAQ](#часто-задаваемые-вопросы-faq)
3. Проверьте консоль сервера на ошибки
4. Убедитесь что используете последнюю версию плагина

---

## 🎯 Рекомендуемые настройки

### Для малых серверов (5-20 игроков)

yaml
auto-clean:
enabled: true
interval: 600 # 10 минут
warning-time: 15

remove:
items: true
mobs: true
excluded-mobs:
- VILLAGER
- ARMOR_STAND
- ITEM_FRAME
- PAINTING
- HORSE
- PIG
- COW
- SHEEP


### Для средних серверов (20-50 игроков)

yaml
auto-clean:
enabled: true
interval: 300 # 5 минут
warning-time: 10

remove:
items: true
mobs: true
excluded-mobs:
- VILLAGER
- ARMOR_STAND
- ITEM_FRAME
- PAINTING


### Для больших серверов (50+ игроков)

yaml
auto-clean:
enabled: true
interval: 180 # 3 минуты
warning-time: 5

remove:
items: true
mobs: true
excluded-mobs:
- VILLAGER
- ARMOR_STAND
- ITEM_FRAME


---

## 📄 Лицензия и авторство

Автор: animesao
Версия: 1.0.0
Год: 2025

---

Создано с ❤️ для сообщества Minecraft

_Последнее обновление: 06.11.2025_