LibGamerule
Активный0.0
Установок
Последнее обновление
LibGamerule
Основанная на Fabric, библиотека LibGamerule упрощает создание персонализированных игровых правил. Этот инструмент ориентирован в первую очередь на разработчиков модов, но также предлагает возможности для тех, кто работает с датапаками и модпаками.
Для разработчиков модов
Модуль предоставляет простой интерфейс для регистрации различных типов правил. Вот пример создания булевого правила:
// Регистрация булевого правила
GameRules.RuleKey<BooleanRule> MY_GAMERULE = Gamerule.register(
"myGameRule", // имя команды в /gamerule
BooleanRule.create(true) // значение по умолчанию: true
);
// Получение значения правила boolean value = Gamerule.get(MY_GAMERULE);
Доступные типы правил включают:
- BooleanRule — булевые значения
- DoubleRule — числа с плавающей точкой (с опциональными ограничениями минимального и максимального значений)
- IntRule — целые числа (также с возможностью задания диапазона)
- EnumRule — поддержка любых перечислений
- StringRule — строковые значения произвольной длины
Интеграция с Libcd
Для авторов модпаков и датапаков реализована совместимость с Libcd, позволяющая настраивать правила через скрипты и условия.
Условия применения
Обратите внимание, что для перечислений данная функциональность недоступна.
{
"when": [
{
"comment": "Проверка булевого правила",
"libgamerule:gamerule_has_value": "my_gamerule"
},
{
"comment": "Проверка типизированного правила",
"libgamerule:gamerule_has_value": {
"name": "my_gamerule_typed",
"type": "int",
"value": 10
}
}
]
}
Динамическое создание правил
Новые правила можно добавлять прямо в скриптах:
var GameruleTweaker = libcd.require("libgamerule.GameruleTweaker");
GameruleTweaker.addGamerule("my_gamerule", "boolean", false);
GameruleTweaker.addGamerule("my_gamerule_typed", "integer", 7);