
HaydenAPI
Многоцелевая библиотека API для разработки Minecraft-модификаций и плагинов с универсальной совместимостью различных загрузчиков.
Основные возможности
- API конфигураций: Универсальная система настройки, совместимая со Spigot/Paper, Fabric и NeoForge, что позволяет использовать единый подход для разных платформ.
Планируемый функционал
- API компонентов данных: Многофункциональная система для модификации свойств предметов, обеспечивающая гибкое управление атрибутами как ванильных, так и модифицированных объектов.
Для пользователей
Эта библиотека необходима для корректной работы будущих модификаций автора. Основное преимущество - упрощение обновлений при смене версий Minecraft. Для установки достаточно разместить файл .jar
в директории mods
или plugins
.
Для разработчиков
HaydenAPI предоставляет инструменты для решения распространённых проблем при создании мультиплатформенных решений, включая работу с пакетами данных, конфигурациями и компонентами.
Система конфигураций
Простая система на основе аннотаций позволяет быстро настроить параметры вашего проекта.
Для создания конфигурационного класса необходимо пометить его аннотацией @Config
, после чего система автоматически распознает конфигурацию.
Переменные класса превращаются в параметры конфигурации с помощью аннотации @Entry
. Дополнительные возможности:
@Comment(String comment)
- добавление пояснений к параметрам@Reloadable
- изменения применяются мгновенно без перезагрузки
Пример использования:
@Config
public class Configuration {
@Entry
@Comment("Сообщение при входе игрока")
public static String welcomeMessage = "Добро пожаловать на сервер!";
@Entry
@Reloadable
@Comment("Сообщение дня")
public static String messageOfTheDay = "Сегодня отличный день! :)";
}
Доступ к значениям осуществляется как к обычным переменным. API самостоятельно управляет изменениями.
Использование в Fabric:
public static void onPlayerJoin() {
ServerPlayConnectionEvents.JOIN.register((ServerPlayNetworkHandler player, PacketSender packetSender, MinecraftServer server) -> {
if (player.player != null) {
player.player.sendMessage(Text.of(Configuration.welcomeMessage), false);
}
});
}
Для работы с файлами конфигурации предназначены методы: Gƒn