LibGamerule
Когда стандартных игровых правил вроде keepInventory или doDaylightCycle перестаёт хватать, на помощь приходит LibGamerule. Это не самостоятельный мод, а мощная библиотека для Fabric, которая открывает безграничные возможности по добавлению собственных gamerule прямо в код модов, датапаков или скриптов. Если вы разработчик или просто любите тонко настраивать сервер, эта тулза станет незаменимым инструментом.
Что такое LibGamerule и зачем он нужен
LibGamerule — это легковесная библиотека, созданная специально для Fabric-загрузчика. Она решает одну конкретную задачу: позволяет регистрировать кастомные игровые правила без лишней боли. Вместо того чтобы писать сложные обходные пути через scoreboard-теги или костыльные системы, вы получаете чистый API, который работает прямо с командой /gamerule. Библиотека поддерживает несколько типов данных: булевы значения, целые и дробные числа, строки и даже перечисления (Enum). Это значит, что вы можете создать правило, которое управляет не просто «вкл/выкл», а, например, скоростью регенерации мобов, лимитом высоты полёта или режимом сложности в числовом выражении.
Особый шарм LibGamerule придаёт встроенная поддержка LibCD — системы условий для датапаков и модпаков. С её помощью можно прописывать логику, которая будет срабатывать только при определённом значении вашего кастомного правила. Например, вы создали правило my_gamerule и хотите, чтобы определённый крафт открывался только когда оно истинно. Без лишних командных блоков — всё решается в JSON-файле датапака.
Возможности библиотеки
Разработчики модов оценят простоту API. Регистрация булевого правила занимает буквально пару строк:
GameRules.RuleKey<BooleanRule> MY_GAMERULE = Gamerule.register(
"myGameRule",
BooleanRule.create(true)
);
boolean value = Gamerule.get(MY_GAMERULE);
Никаких танцев с бубном — только понятный вызов и сразу рабочий результат. Но настоящая гибкость кроется в поддерживаемых типах правил.
Типы правил
- BooleanRule — классический переключатель «да/нет».
- IntRule — целочисленные значения, можно задать минимум и максимум.
- DoubleRule — числа с плавающей точкой, тоже с ограничениями.
- EnumRule — выбор из заданного перечисления (например, режимы сложности).
- StringRule — жадные строки, позволяющие вводить произвольный текст.
Такое разнообразие покрывает практически любые потребности: от настройки шанса выпадения лута до выбора поведения ИИ мобов. И всё это доступно через стандартную команду /gamerule, что делает взаимодействие интуитивно понятным даже для игроков, не знакомых с технической частью.
Интеграция с LibCD
Для создателей датапаков и модпаков LibGamerule предлагает мощный инструментарий условий. Вы можете прописать в JSON-файле проверку значения вашего правила и на её основе активировать или отключать рецепты, достижения, функции. Пример условия для булевого правила:
{
"when": [
{
"libgamerule:gamerule_has_value": "my_gamerule"
}
]
}
А для типизированного правила с числовым значением:
{
"when": [
{
"libgamerule:gamerule_has_value": {
"name": "my_gamerule_typed",
"type": "int",
"value": 10
}
}
]
}
Скриптовые возможности тоже на высоте. Используя LibCD, можно динамически создавать правила прямо в скриптах, не перекомпилируя мод. Например, добавить целочисленное правило со значением по умолчанию 7 можно так:
var GameruleTweaker = libcd.require("libgamerule.GameruleTweaker");
GameruleTweaker.addGamerule("my_gamerule", "boolean", false);
GameruleTweaker.addGamerule("my_gamerule_typed", "integer", 7);
Это открывает невероятные перспективы для модпаков: можно на лету менять баланс, не перезапуская сервер и не редактируя конфиги вручную.
Как установить LibGamerule
Установка библиотеки предельно проста, ведь она работает как обычный Fabric-мод. Для начала убедитесь, что у вас установлен Fabric Loader и Fabric API — без них ничего не заработает. Затем скачайте LibGamerule с проверенного источника (например, CurseForge или Modrinth) и поместите файл в папку mods вашего клиента или сервера. Библиотека не требует дополнительной настройки и сразу готова к использованию другими модами или датапаками.
Если вы предпочитаете удобные лаунчеры, обратите внимание на foxygame.net. В его каталоге модов LibGamerule доступен для установки в один клик, причём лаунчер автоматически подтянет совместимую версию Fabric API и проверит конфликты. Это особенно выручает, когда собираешь сложную сборку с десятками зависимостей — не нужно вручную отслеживать обновления, лаунчер сам предложит актуальную версию LibGamerule при следующем запуске.
Совместимость и версии Minecraft
Библиотека ориентирована на современные версии игры, работающие на Fabric. Стабильная работа подтверждена на Minecraft 1.16.5, 1.18.2, 1.19.2, 1.19.4, 1.20.1 и более новых сборках. Разработчики оперативно обновляют мод под свежие релизы, поэтому если вы играете на последней версии, скорее всего LibGamerule уже доступен. Важно помнить, что это исключительно Fabric-мод, для Forge или других загрузчиков он не подходит. Если вы ищете LibGamerule для Minecraft на Fabric, просто проверьте совместимость с вашей версией в описании файла перед тем, как скачать LibGamerule.
Для кого эта библиотека
LibGamerule будет полезна в первую очередь мододелам, которые хотят дать пользователям гибкие настройки без написания громоздких конфигов. Владельцы серверов оценят возможность быстро менять параметры модов прямо через консоль, не редактируя файлы и не перезагружая сервер. Создатели датапаков и модпаков получат инструмент для построения сложной логики, зависящей от игровых правил. Даже обычные игроки, использующие готовые сборки, косвенно выигрывают от более стабильной и настраиваемой игры.
Заключение
LibGamerule — это маленькая, но крайне полезная библиотека, которая делает работу с кастомными игровыми правилами в Fabric элегантной и удобной. Простой API, поддержка скриптов и условий LibCD, а также совместимость с актуальными версиями Minecraft превращают её в маст-хэв для любого технического проекта. Если вы ещё не пробовали, обязательно скачайте LibGamerule и оцените, насколько проще становится управление игровой логикой.