
Conditional Proxy Mod Initializers
Активный0.0
Установок
Последнее обновление
Версии
Conditional Proxy Mod Initializers
Conditional Proxy Mod Initializers
Этот компактный мод, состоящий всего из пяти классов, предоставляет разработчикам удобный инструмент для выполнения кода в зависимости от наличия определённых модов в системе.
Одной из ключевых особенностей является то, что данный мод всегда загружается последним в очереди. Это полностью исключает возможность возникновения конфликтов из-за порядка загрузки модов и обеспечивает стабильную работу.
Важно отметить, что весь код и переменные должны быть доступны до начала или во время этапов инициализации модов. Например, выполнение кода при перезагрузке датапаков не поддерживается.
Примеры использования
Вот как можно применять этот мод в практике разработки:
// В основном ModInitializer, ClientModInitializer или любом другом классе, вызываемом во время инициализации Fabric
// Для запуска экземпляра ModInitializer:
ConditionalModInitializer myConditionalModInitializer = new ConditionalModInitializer.Builder().mods("some-mod").initializer(SomeOtherInitializer.class).build();
// Для выполнения произвольного кода:
ConditionalModInitializer myConditionalRunner = new ConditionalModInitializer.Builder().mods("some-other-mod").found(() -> {
// Код выполняется здесь
}).build();
public void onInitialize() {
ConditionalModInitializer.create().mods("some_mod").required_mods("some_other_dependency_mod").initializer(AnotherInitializer.class).build();
}
Важное замечание: new ConditionalModInitializer.Builder() обязательно должен быть присвоен переменной или вызываться внутри функции. Статическое объявление (static{}) работать не будет!
Документация
ConditionalModInitializer
create()
- возвращает новый экземпляр Builder() (аналогично вызовуnew ConditionalModInitializer.Builder()
)mods()
- List: возвращает список модов, необходимых для работы данного инициализатора required_mods()
- List: возвращает список всех обязательных модов для этого инициализатора can_run
- Boolean : показывает, был ли уже запущен инициализаторenvironment()
- ExtendedEnvType : возвращает окружение (тип инициализатора)ExtendedEnvType.CLIENT
: ClientModInitializerExtendedEnvType.SERVER
: ModInitializerExtendedEnvType.DEDICATED_SERVER
: DedicatedServerModInitializer
on_found()
- Runnable : возвращает функцию для вызова при обнаружении требуемого мода
ConditionalModInitializer.Builder
mods(String...)
: добавляет моды в список, при наличии которых будет запускаться инициализаторrequired_mods(String...)
: добавляет моды в список обязательных зависимостейenvironment(ExtendedEnvType)
: устанавливает окружение инициализатора (по умолчанию:ExtendedEnvType.SERVER
: ModInitializer)found(Runnable)
: код для выполнения при обнаружении модаinitializer(Class<ModInitializer>)
: инициализатор для запуска при обнаружении модаmainInitializer(Class<ModInitializer>)
: основной инициализатор для запуска при обнаружении модаclientInitializer(Class<ClientModInitializer>)
: клиентский инициализатор для запуска при обнаружении модаserverInitializer(Class<DedicatedServerModInitializer>)
: серверный инициализатор для запуска при обнаружении модаbuild()
: возвращает готовый ConditionalModInitializer