Перейти к основному содержимому

CannonRTP (WorldCannon)

CannonRTP — это плагин случайной телепортации с множественными пушками для серверов Minecraft. Проект внутренне называется WorldCannon, но плагин регистрируется в Bukkit как CannonRTP — именно это имя видят игроки и администраторы.

Важные детали именования:

  • Имя плагина: CannonRTP
  • Корневая команда: /cannonrtp
  • Псевдонимы: /crtp, /wc
  • Разрешения: cannonrtp.admin, cannonrtp.use
  • Папка конфигурации: plugins/CannonRTP/

Что он делает

CannonRTP — это система случайной посадки с множественными пушками, а не единственный фиксированный пусковой механизм.

Каждая пушка может:

  • обнаруживать игроков, входящих в радиус срабатывания
  • предварительно загружать и поддерживать очередь безопасных точек посадки в настроенном целевом мире
  • отклонять опасную местность, заблокированные пространства и защищённые территории
  • опционально требовать дополнительное разрешение для каждой пушки
  • запускать игроков через фазу левитации с предварительным просмотром координат, вертикальное ускорение, телепортацию и последовательность медленного падения
  • опционально отображать пользовательскую модель FreeMinecraftModels на месте пушки (для каждой пушки или через глобальный приоритетный список)

Процесс запуска

Когда игрок входит в радиус срабатывания подходящей пушки:

  1. CannonRTP проверяет cannonrtp.use.
  2. Проверяет опциональное requiredPermission пушки.
  3. Убеждается, что пушка включена, имеет корректную конфигурацию и предзагруженные точки посадки.
  4. Использует одну предзагруженную безопасную точку посадки из очереди этой пушки.
  5. Фаза поиска (66 тиков / ~3,3 секунды): игрок получает Левитацию и видит заголовок/подзаголовок со случайными предварительными координатами. Если у пушки есть пользовательская модель, воспроизводится анимация fire модели.
  6. Фаза выстрела: Левитация снимается, воспроизводится звук старта и применяется вертикальное ускорение на настроенное количество тиков. Раскрываются истинные координаты назначения.
  7. Фаза телепортации: игрок телепортируется на 50 блоков над местом назначения, и применяется Медленное падение.
  8. Фаза спуска: игрок медленно опускается. Во время падения отображается дымовой след.
  9. Фаза приземления: Медленное падение снимается, когда игрок касается земли (или истекает максимальная длительность), и воспроизводится взрыв частиц при ударе.

Правила безопасности посадки

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

  • загружен ли целевой мир
  • действителен ли центр поиска
  • находится ли точка внутри границы мира
  • существует ли наивысшая безопасная поверхность (твёрдая, не жидкая, не воздух)
  • проходимы ли пространства ног и головы
  • не входит ли поверхность посадки в настроенный список опасных материалов пола
  • не входят ли блоки ног и головы в настроенный список опасных материалов тела
  • разрешают ли все включённые интеграции защиты эту точку

Состояния пушки

Каждая пушка имеет внутреннее состояние, видимое через /wc status:

ОтображениеВнутреннее состояниеЗначение
Disabled--Пушка явно отключена в конфигурации
ChargingSEARCHING (очередь пуста)Ещё предзагружает первую партию безопасных точек
MaintainingSEARCHING (очередь не пуста)Имеет некоторые точки, но ещё пополняет использованные слоты
ReadyREADYИмеет достаточно предзагруженных точек для запуска игроков
ExhaustedEXHAUSTEDВремя истекло, не найдено достаточно корректных точек
InvalidINVALID_CONFIGURATIONОшибка конфигурации (напр. целевой мир не загружен)

Пушка становится готовой к запуску, когда сохранит не менее chargedLocationsPerCannon корректных назначений.

Требования для работы

  • Minecraft API: 1.21
  • Java: 21
  • Рекомендуемое серверное ПО: Paper или актуальный совместимый форк
  • Опциональная зависимость: FreeMinecraftModels (для пользовательских моделей пушек)

Начать здесь