Скачать Unruled API — Minecraft Моды — MetaMods
Unruled API

Unruled API

Активный

Установок

0

Последнее обновление

1 месяц назад

Версии

1.18 — 1.21.8
Сервер
Fabric
Forge
Neoforge
Quilt
Игровые механики
Библиотеки
Утилиты

Unruled API

Иконка мода

Этот мод открывает новые возможности для создания игровых правил, выходящих за рамки стандартных целочисленных и логических значений. Разработчики теперь могут легко создавать правила с плавающей точкой, длинными числами, строками, текстом, перечислениями, выбором сущностей и даже элементами из реестров.

Регистрация игровых правил

Пример использования:

import mc.recraftors.unruled_api.UnruledApi;

public class MyClass {
    private static final int STRING_RULE_MAX_LENGTH = 24;

    public void gamerulesRegistration() {
        var myFloatingRule = UnruledApi.floatRuleBuilder(1.5) // принимает начальное значение
                .register("my_gamerule", category); // регистрация требует имя правила и категорию
        var myStringRule = new StringRule.Builder("initial value", STRING_RULE_MAX_LENGTH)
                .register("my_other_gamerule", category);
    }
}

Для удобства добавлены методы быстрой регистрации:

import mc.reraftors.unruled_api.UnruledApi;

public static void quickGamerulesRegistration() {
    var myLongRule = UnruledApi.registerLongRule("my_long_rule", category, 25L);
    var myEnumRule = UnruledApi.registerEnumRule("my_enum_rule", category, MyEnum.class, MyEnum.FIRST);
}

enum MyEnum {
    FIRST,
    SECOND,
    THIRD
}

Также доступна регистрация стандартных типов правил:

import mc.recraftors.unruled_api.UnruledApi;

public static void registerBasicRules() {
    UnruledApi.registerInt("my_int_rule", category, 5);
    UnruledApi.registerBoolean("my_bool_rule", category, false);
}

Получение значений правил:

public long getMyLongGamerules(ServerWorld dimension) {
    return UnruledApi.getLong(dimension.getGameRules(), myLongGamerule);
}

public Block getMyBlockRule(ServerWorld dimension) {
    return UnruledApi.getRegistryEntry(dimension.getGameRules(), myBlockRegistryEntryRule);
}

Переопределение правил по измерениям

Система позволяет устанавливать индивидуальные настройки правил для каждого измерения через команду gamerule-override.

Доступные команды:

  • gamerule-override - показывает список переопределений в текущем измерении
  • gamerule-override <идентификатор измерения> - показывает переопределения в указанном измерении
  • gamerule-override get <имя правила> - проверяет переопределение для правила в текущем измерении
  • gamerule-override set <имя правила> <значение> - устанавливает переопределение
  • gamerule-override unset <имя правила> - удаляет переопределение
  • Команды с in <идентификатор измерения> работают аналогично для указанного измерения

Данные переопределений хранятся в файле gamerules.dat в папке измерения.

Использование в проекте

Добавьте репозиторий Modrinth Maven:

repositories {
    maven {
        name = "Modrinth"
        url = "https://api.modrinth.com/maven"
    }
}

Для Loom:

dependencies {
    modApi "maven.modrinth:unruled-api:${project.unruled_version}"
}

Для ForgeGradle:

dependencies {
    implementation "maven.modrinth:unruled-api:${project.unruled_version}"
}

Мод не должен включаться в другие проекты через JiJ, shadow или аналогичные методы.

Участники проекта
Nerjal_Nosk

Nerjal_Nosk

Разработчик

RecraftorsMC

RecraftorsMC

Разработчик

Recraftors_Team

Recraftors_Team

Создан: 28 янв 2024

ID: 3638