OptionalDependAPI#
"К чёрту зависимости, стреляй по ним лазером, сделай их опциональными!"
Обзор#
OptionalDependAPI — это лёгкая библиотека, позволяющая бесшовно интегрироваться с другими модами без необходимости жёстких зависимостей. Это решает распространённую проблему, когда ваш мод мог бы выиграть от дополнительных функций, предоставляемых другими модами, но вы не хотите заставлять пользователей устанавливать эти другие моды, если они не хотят или не нуждаются в этих дополнительных функциях.
Проблема#
Бывало ли у вас когда-нибудь, что мод был бы отличным сам по себе, но мог бы иметь больше функций, если бы интегрировался с другими модами? Без подходящего решения:
- Вы либо заставляете пользователей устанавливать моды, которые им, возможно, не нужны (жёсткие зависимости)
- Либо вы вовсе упускаете потенциальные возможности интеграции
Моё решение#
OptionalDependAPI предоставляет чистый, стандартизированный способ работы с опциональными зависимостями модов:
- Зарегистрируйте API вашего мода в OptionalDependAPI
- Подпишитесь на другие моды, с которыми хотите интегрироваться
- Проверьте, доступны ли эти моды во время выполнения
- Используйте их функции только когда они доступны
Никаких жёстких зависимостей от других модов, никаких патчей совместимости — только простые проверки во время выполнения и аккуратное включение функций.
Ограничение#
Одна важная оговорка: моды, которые захотят использовать эту систему, должны будут включить OptionalDependAPI в качестве зависимости.
Список изменений#
Комментарии
Комментариев пока нет. Вопросы, советы и сообщения об ошибках пишите здесь.
Что-то не работает? Поделитесь логом и вставьте ссылку в комментарий.
Войдите, чтобы комментировать