Описание плагина SoulDrone:
Доставка предметов между игроками через маленький фиолетовый дрон: игрок не телепортирует вещи командой — он
видит курьера, кладёт груз в меню, дрон
собирается, жужжит, взлетает и садится к получателю. Если получателя нет на сервере — посылка ложится в базу и ждёт его входа.
Видео можете посмотреть тут:
TelegramЧто увидит игрок на сервере
Отправитель
- Пишет /send Steve (или /drone, /posylka).
- Если у Steve включён accept — ему уходит кликабельное сообщение «хочет прислать посылку» с кнопками Принять / Отклонить. Дрон появится только после accept.
- Перед дроном — проверки: Steve принимает посылки, у отправителя хватает монет (если настроена оплата), вы не в запрещённом мире/регионе.
- Перед игроком материализуется дрон — блоки «съезжаются» в модельку (фиолетовый корпус, пропеллеры, шалкер-бокс сзади). Жужжание моторов, лёгкий дым с вентиляторов, над головой подпись вроде «Дрон → Steve | от Nick».
- Дрон парит рядом и следует за отправителем — не прилипает вплотную, слегка покачивается.
- ПКМ по дрону — меню груза (фиолетовое стекло по краям, слоты посередине). Кладёшь предметы как в сундук, закрываешь меню.
- Закрыл с предметами — в чат: «Списано 50 монет за отправку посылки игроку Steve», «Посылка для Steve отправлена!». Дрон поднимается, крутится, звук портала — и улетает.
- Закрыл пустым — дрон остаётся. Сообщение: «Дрон ждёт — груз пуст». Можно снова ПКМ и догрузить.
- Shift+ПКМ — только посмотреть содержимое, не забрать и не менять.
Если кто-то бьёт дрон снаружи (не в меню) — дрон
отвечает: случайная фраза в чат вокруг (
«Эй, не дерись!»,
«Я посылочный, а не груша!»), лёгкий урон и отбрасывание. Сам не обижается и не улетает.
Получатель (онлайн)
- Title на экране: «Посылка» / подзаголовок «От Nick», плюс строка в чат.
- Дрон снижается сверху, снова жужжит и парит перед получателем.
- ПКМ — меню «Посылка от Nick», забирает предметы. Частичный забор возможен — остаток ждёт таймер.
- Посторонний не откроет чужой груз — только сообщение «Это не ваш дрон».
Получатель (оффлайн)
- Отправитель видит: «Steve оффлайн — посылка сохранится в хранилище».
- Дрон всё равно улетает с грузом; посылка пишется в SQLite.
- Steve заходит — в чат кликабельное: забрать (/send claim) или отказаться (/send refuse).
- При claim дрон собирается у Steve локально (как обычная доставка), не телепорт предметов из воздуха.
Возврат отправителю
Если получатель
не забрал посылку в срок — дрон
прилетает обратно к отправителю с title
«Возврат». Забрать можно ПКМ, как обычную посылку.
Отказ от приёма
/send toggle — игрок выключает приём. Ему пишут:
«не принимает посылки», дрон не вызывается.
Команды плагина SoulDrone:
Алиасы:
/drone,
/posylka| Команда | Что делает |
|---|
| /send <игрок> | Вызвать дрон / отправить запрос на accept |
| /send accept [отправитель] | Принять входящую посылку |
| /send deny [отправитель] | Отклонить запрос |
| /send toggle | Вкл/выкл «принимаю посылки от других» |
| /send claim [id] | Забрать сохранённую оффлайн-посылку |
| /send refuse <id> | Отказаться от сохранённой посылки |
Имена подкоманд (accept, claim…) меняются в config.yml.
Права плагина SoulDrone:
| Permission | По умолчанию | Описание |
|---|
| soulDrone.send | все | /send <игрок> |
| soulDrone.accept | все | /send accept |
| soulDrone.deny | все | /send deny |
| soulDrone.toggle | все | /send toggle |
| soulDrone.open | все | Меню загрузки у дрона (отправитель) |
| soulDrone.receive | все | Забрать у дрона / /send claim |
| soulDrone.bypass-cost | OP | Без оплаты Vault |
| soulDrone.bypass-zones | OP | Дрон в запрещённых мирах/регионах |
Ноды переименовываются в config.yml (sendPermission, openPermission…).
Что настраивает админ
Экономика
- sendCost — цена за отправку (0 = бесплатно).
- Деньги проверяются до появления дрона, списываются при закрытии меню с грузом.
- Текст списания — в lang/ru.yml → cost-charged.
Зоны
- blockedWorlds — имена миров Bukkit, где /send не сработает.
- blockedRegions — WorldGuard: world:spawn, *:pvp (любой мир).
Дрон — внешний вид и поведение
- segments + blockScale — из чего собран и какого размера.
- accentHex, labelEnabled — подпись над дроном.
- assemblyDurationTicks, departureDurationTicks, arrivalDurationTicks — скорость сборки/вылета/прилёта.
- followMaxSpeed, bobAmplitude — как следует за игроком.
- droneSoundsEnabled, droneSoundLoop… — звуки (vanilla или ключ из resource pack).
- dronePunchEnabled, drone-punch-lines в lang — ответка за удар.
Таймауты
- senderWaitSeconds — сколько дрон ждёт груз у отправителя.
- receiverWaitSeconds — сколько ждёт получателя.
- requestWaitSeconds — время на accept/deny.
- packageStorageDays — сколько хранить оффлайн-посылки в БД.
GUI и тексты
- gui/delivery.yml — размер меню, слоты груза, заполнитель.
- lang/ru.yml, lang/en.yml — все сообщения игрокам (кликабельные кнопки, title, фразы дрона).
- language в config — какая локаль по умолчанию.
Установка плагина SoulDrone:
Зависимости
| Плагин | Нужен? | Зачем |
|---|
| Vault + экономика (Essentials и т.д.) | опционально | оплата за отправку (sendCost) |
| WorldGuard | опционально | блокировка по регионам (blockedRegions) |
| Essentials | нет | только если используете его экономику через Vault |
Без Vault отправка бесплатная (в консоли будет предупреждение, если sendCost > 0).
- Скачайте плагин.
- Выключите сервер
- Переместите файл .jar в папку /plugins/ вашего сервера.
- Запустите сервер.
- Готово.