
ClearDrops
Серверный мод для Forge 1.20.1, который автоматически собирает дропнутые предметы в общую корзину. Настраиваемый интервал, чёрный список вещей (например, звезда Незера) и защита от падения в пустоту. Игроки могут вернуть предметы через GUI ванильного сундука. Горячая перезагрузка конфига, гибкие сообщения с градиентом. Клиентский мод не нужен.
ClearDrops
Серверный мод для Minecraft Forge 1.20.1, который решает извечную проблему замусоривания мира дропом. На любом сервере - будь то выживание или мини-игры - после боя с мобами, рубки деревьев или просто разбросанных ресурсов куча предметов остаётся лежать на земле. Это не только портит вид, но и создаёт лишнюю нагрузку на сервер. ClearDrops автоматически собирает все дропнутые вещи в один виртуальный контейнер - корзину на 54 слота (как ванильный двойной сундук). Игроки могут в любой момент заглянуть туда и забрать свои ценности. А через заданное время (по умолчанию 2 минуты после сбора) корзина очищается - лишний хлам уходит без следа.
Ключевые возможности
- Автосбор - предметы собираются каждые N тиков (настраивается). Можно отключить.
- Ручной сбор - команда
/cleardrops collectмгновенно подберёт всё с земли. - Корзина (54 слота) - открывается командой
/cleardrops guiкак обычный сундук. Никаких модов на клиенте! - Горячая перезагрузка конфига - правишь файл
world/serverconfig/cleardrops-server.toml, сохраняешь - и изменения применяются на лету. Либо/cleardrops reload. - Гибкие сообщения - поддерживают градиентные цвета вида
<gradient:#00E5FF:#00FF7F>текст</gradient>. Можно перевести на любой язык. - Чёрный список предметов - если что-то не должно попадать в корзину (звезда Незера, тотем бессмертия), добавь ID в
blacklist.items- такие вещи никогда не соберутся и не будут удалены при очистке корзины. - Защита от пропажи в пустоте - предметы, упавшие ниже минимальной высоты, автоматически телепортируются обратно в безопасное место (настраивается высота подъёма).
- Предупреждения - за 60, 30, 10... секунд до сбора игроки видят сообщение: "Дроп будет собран через 5 секунд!".
Совместимость
- Minecraft: 1.20.1
- Forge: 47.4.x
- Java: 17
- Мод ID:
cleardrops - Клиент не требуется - чистая ванила спокойно заходит, видит GUI сундука и всё работает.
Команды (уровень доступа op level ≥ 2)
/cleardrops help- справка с градиентным оформлением./cleardrops gui- открыть корзину./cleardrops status- статус: сколько слотов занято, когда очистка, включён ли автосбор./cleardrops collect- собрать дроп прямо сейчас./cleardrops purge- очистить корзину сейчас (чёрный список игнорируется)./cleardrops reload- перезагрузить конфиг.
Конфигурация (с горячей перезагрузкой)
Файл <WOLRD>/serverconfig/cleardrops-server.toml. Сохрани - и всё применится сразу (или выполни команду /cleardrops reload).
[general]
# Включить автоматический сбор
enableAutoCollect = true
# Тиков между сборами (20 тиков = 1 секунда)
ticksPerCollect = 6000
# Сколько тиков предметы живут в корзине до очистки
ticksKeepAfterCollect = 2400
# Показывать ли сообщения игрокам
announceMessages = true
[blacklist]
# ID предметов, которые не собираются и не удаляются при очистке
items = ["minecraft:nether_star", "minecraft:totem_of_undying"]
[void_protection]
# Поднимать ли предметы из пустоты
enableVoidProtect = true
# Максимум блоков вверх для поиска безопасного места
raiseMaxSteps = 6
# Сбрасывать ли скорость предмета при спасении
resetVelocity = true
[messages]
Префикс сообщений (поддерживает градиент)
prefix = "gradient:#00E5FF:#00FF7F[Cleardrops]"
Секунды перед сбором для предупреждения
warnSeconds = [60, 30, 10, 5, 4, 3, 2, 1]
Шаблон предупреждения (плейсхолдер {time})
msgPreCollect = "Сбор дропа через {time} секунд! Заберите ценности!"
Сообщение о сборе ({entities} - кол-во предметов, {keep} - секунд до очистки)
msgCollected = "Собрано {entities} предметов. Используйте /cleardrops gui чтобы забрать. Очистка через {keep} секунд."
Сообщение об очистке корзины ({slots} - кол-во слотов)
msgPurged = "Корзина очищена. Удалено {slots} слотов."
Статус (много плейсхолдеров)
msgStatus = "Корзина: {slotsUsed}/{slotsTotal} слотов, {items} предметов; очистка через {keep}; авто={auto}, интервал={interval}с, хранение={keepCfg}с, оповещения={announce}."
Справка (с градиентом и \n)
msgHelp = "gradient:#7AD7F0:#4FC3F7Помощь ClearDrops\ngradient:#A8FF78:#78FFD6/cleardrops gui - Открыть корзину\ngradient:#A8FF78:#78FFD6/cleardrops status - Статус\ngradient:#FFD54F:#FF8A00/cleardrops collect - Собрать сейчас (perm 2)\ngradient:#FFD54F:#FF8A00/cleardrops purge - Очистить сейчас (perm 2)\ngradient:#B388FF:#7C4DFF/cleardrops reload - Перезагрузить конфиг (perm 2)"
/cleardrops collect
msgCmdCollect = "Собрано {entities} предметов. У вас {keep} секунд, чтобы забрать их из корзины."
/cleardrops purge
msgCmdPurge = "Корзина очищена: {slots} слотов освобождено. Чёрный список не тронут."
### Форматирование сообщений
- **Градиент**: `<gradient:#RRGGBB:#RRGGBB>текст</gradient>` - цвета плавно перетекают по символам.
- **Плейсхолдеры**: `{time}`, `{entities}`, `{keep}`, `{slots}`, `{slotsUsed}`, `{slotsTotal}`, `{items}`, `{auto}`, `{interval}`, `{keepCfg}`, `{announce}`.
## Чёрный список и защита пустоты
- **Чёрный список**: предметы из списка не собираются при уборке и не удаляются при очистке корзины. Навсегда остаются в мире - никакой мод их не тронет.
- **Защита пустоты**: если предмет провалился ниже минимальной высоты мира, он телепортируется наверх в безопасное место. Можно настроить, на сколько блоков поднимать и сбрасывать ли скорость.
## Установка
1. Закинь `.jar` файл мода в папку `mods/` на сервере.
2. Запусти сервер один раз - сгенерируется конфиг.
3. Отредактируй `<MIR>/serverconfig/cleardrops-server.toml` под себя.
4. Конфиг перезагружается автоматически при сохранении; можно и командой `/cleardrops reload`.
## FAQ - частые вопросы
**Нужен ли мод на клиенте?**
Нет, это серверный мод. Игроки заходят с обычного ванильного Майнкрафта и видят GUI сундука.
**Не конфликтует ли с другими модами на уборку?**
Несколько систем очистки могут накладываться. Лучше оставить один главный уборщик или настроить разные таймеры.
**Конфиг не применяется?**
Убедись, что редактируешь файл `serverconfig/cleardrops-server.toml` именно в папке текущего мира. Сохрани - горячая перезагрузка сработает. Или пропиши `/cleardrops reload`.
## Для разработчиков
- JDK 17, Forge 1.20.1 (47.4.x)
- Сборка: `./gradlew build` (артефакты в `build/libs/`)
- Ключевые пакеты:
- `cn.alini.cleardrops.server.ServerScheduler` - расписание, сбор, очистка, предупреждения, защита пустоты, чёрный список.
- `cn.alini.cleardrops.config.CDConfig` - спецификация конфига и горячая перезагрузка.
- `cn.alini.cleardrops.command.CleardropsCommands` - команды и обработчики.
- `cn.alini.cleardrops.util.MessageUtil` - градиент и плейсхолдеры.
- `cn.alini.cleardrops.storage.TrashStorage` - хранение корзины.
## Лицензия
Проект распространяется под лицензией Creative Commons Attribution 4.0 International (CC BY 4.0). Вы можете копировать, изменять и распространять мод при условии указания авторства.
Как поиграть с друзьями с модом ClearDrops?
Мод ClearDrops куда интереснее в компании: поднимите сервер Майнкрафт с уже установленным модом, позовите друзей и играйте по своим правилам. Хостинг Майнкрафт для мода ClearDrops будет готов за пару минут - BungeeHost сделает всё за вас.
