.jar.
Более подробную инструкцию по использованию API вы можете найти здесь.
GitHub Репозиторий
Исходный код и последние релизы API.
JitPack
Подключение зависимости в ваш проект.
🚀 Подключение
ИспользуйтеcompileOnly (Gradle) или provided (Maven), чтобы API не попадало в ваш итоговый JAR-файл.
Gradle (Groovy)
Maven
VERSION на актуальную версию, например v2.0.3)
🧩 Система Аддонов
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— регион уничтожен взрывом.