Skip to main content
CakeRegionsPlus предоставляет мощный и изолированный программный интерфейс для взаимодействия с системой приватных регионов. API уже встроено в основной плагин — вам не нужно устанавливать его как отдельный .jar. Более подробную инструкцию по использованию API вы можете найти здесь.

GitHub Репозиторий

Исходный код и последние релизы API.

JitPack

Подключение зависимости в ваш проект.

🚀 Подключение

Используйте compileOnly (Gradle) или provided (Maven), чтобы API не попадало в ваш итоговый JAR-файл.

Gradle (Groovy)

Maven

(Замените VERSION на актуальную версию, например v2.0.3)
Важно: Основное ядро CakeRegionsPlus выполняет релокацию библиотек net.kyori (Adventure) и com.tcoded (FoliaLib). Чтобы избежать ошибки NoSuchMethodError, ваш аддон ОБЯЗАН выполнить релокацию этих библиотек в тот же пакет:

🧩 Система Аддонов

CakeRegionsPlus включает полноценную управляемую систему аддонов с изолированным жизненным циклом. Аддоны — это JAR-файлы, которые помещаются в папку plugins/CakeRegionsPlus/addons/.

1. Метаданные (addon.yml)

Создайте файл addon.yml в папке resources вашего проекта:

2. Реализация (AbstractAddon)

Наследуйте ваш главный класс от AbstractAddon. Это обеспечит автоматическую очистку ресурсов (слушателей, команд, задач, открытых меню) при выключении.
Автоматическая очистка ресурсов: При отключении аддона CakeRegions автоматически:
  • Выгружает все зарегистрированные через registerListener() слушатели событий.
  • Удаляет все зарегистрированные через registerCommand() команды.
  • Отменяет все задачи, запланированные методами runTask*().
  • Закрывает все GUI-меню, открытые вашим аддоном.

3. Конфигурация аддона

AbstractAddon предоставляет встроенное управление конфигурацией, аналогичное JavaPlugin:
Все файлы конфигурации аддона хранятся в plugins/CakeRegionsPlus/addons/<имя_аддона>/.

⚡ Потоки и Folia (Concurrency)

Для корректной работы на Folia, Paper и Spigot используйте встроенные методы планировщика. Это гарантирует безопасность региональных потоков и автоматическую отмену задач при выгрузке аддона.

🛠️ Основные методы API

Доступ к API осуществляется через CakeRegionsAPI.getApi().

🗺️ Регионы (IRegion)

Поиск, создание и управление регионами:

📋 Объект IRegion

Когда вы получаете регион (IRegion), вам доступны следующие методы:

Управление прочностью и топливом

Проверка ролей

Метаданные и Теги (Tags)

Вы можете сохранять любые строковые метаданные прямо внутри региона. Они будут сохранены в базу данных:

👥 Управление участниками


🔐 Права участников (IPlayerPermissions)

Доступные значения RegionPermValue:

🏗️ Блоки привата (IProtectionBlock)

IProtectionBlock предоставляет полный доступ к настройкам из конфига:

🔭 Голограммы


💰 Экономика (IEconomyManager)

CakeRegionsPlus поддерживает несколько экономических провайдеров: Vault, VaultUnlocked, BVault, PlayerPoints, XP (стандартный опыт Minecraft). Каждый тип блока привата может использовать свой провайдер.

Регистрация кастомной экономики

Если ваш аддон вводит собственную валюту, реализуйте интерфейс IEconomyProvider:
После регистрации провайдер Gems можно указать в конфиге блока привата (economy-provider: Gems).

🔌 Кастомные предметы (IItemHookManager)

CakeRegionsPlus умеет распознавать и выдавать кастомные предметы из ItemsAdder, Oraxen и Nexo. Вы также можете добавить поддержку своего плагина предметов.

Регистрация своего провайдера кастомных предметов


🗃️ Дополнительные Менеджеры API

Помимо основных методов, IRegionsAPI предоставляет доступ к специализированным менеджерам для гибкого управления всеми системами плагина:

🔋 Менеджер Топлива (IFuelManager)

Управление типами топлива и проверкой предметов:

🔧 Менеджер Починки (IRepairManager)

Управление ремонтными материалами:

🎬 Менеджер Действий (IActionManager)

Выполнение кастомных цепочек действий (Actions):

📢 Менеджер Уведомлений (INotificationManager)

Отправка рейдов и предупреждений:

🌌 Менеджер Эффектов (IEffectsManager)

Визуальные эффекты вокруг блоков привата:

🗂️ Менеджер Меню (IMenuManager)

Открытие кастомных инвентарей плагина:

📊 Менеджер Статистики (IStatsManager)

Получение статистики о регионах и рейдах игроков:

👁️ Визуализатор Регионов (IRegionVisualizer)

Управление визуальным показом границ приватов:

⚙️ Настройки Игрока (Player Settings)

Управление персональными настройками игроков (например, отображением BossBar):

⚡ Улучшения и Бустеры (Upgrades & Boosters)

Система улучшений и PVE бустеров предоставляет полные методы для расширения функционала приватов:

📅 Система Событий (Events)

Все события находятся в пакете dev.cakestudio.cakeregionsapi.api.event и наследуют стандартный класс org.bukkit.event.Event. Большинство событий поддерживают Cancellable. RegionDestroyEvent содержит перечисление DestroyCause со значениями:
  • PLAYER_BREAK — регион сломан игроком.
  • EXPLOSION — регион уничтожен взрывом.

Пример слушателя


🎯 Полный пример аддона

Полный рабочий пример аддона доступен в репозитории: example_addon

Структура проекта

build.gradle

MyAddon.java

addon.yml


🧰 Утилиты API