
Annotated DI
Annotated DI - библиотека для внедрения зависимостей (Dependency Injection) в моды Minecraft. Упрощает создание API и облегчает поддержку модов, позволяя разработчикам гибко связывать классы без лишнего кода.
Annotated DI - это обёртка над Guice с дополнительными плюшками для удобного использования в модах Minecraft. Простыми словами, библиотека реализует паттерн Dependency Injection (DI), который помогает мододелам управлять зависимостями между классами. Вместо того чтобы вручную создавать объекты и прописывать каждый биндинг, ты просто ставишь аннотации - и всё само подтягивается.
Если ты когда-нибудь делал мод с API для других модов, то знаешь, как это бывает муторно: нужно регистрировать реализации, тащить зависимости на этапе компиляции, следить, чтобы ничего не сломалось. Annotated DI решает эти проблемы.
Что даёт библиотека мододелам
- Аннотация @Implementation - позволяет автоматически связывать интерфейсы с их реализациями. Не нужно писать отдельный конфигурационный файл для биндингов, и API может не зависеть от реализации на этапе компиляции. Удобно, когда один мод предоставляет интерфейс, а другой - его реализацию.
- Центральный Injector - даёт возможность модам внедрять классы и интерфейсы из других модов. Это упрощает модульную архитектуру: каждый мод может быть независимым, но при этом обмениваться функционалом.
- Точка входа (entrypoint/event) - разработчики могут добавить свой кастомный Module в Injector при его создании. Это для продвинутых случаев, когда нужны нестандартные биндинги. Большинству модов это не пригодится, но для сложных систем - самое то.
Зачем это обычным игрокам?
На первый взгляд, библиотека не добавляет в игру ни блоков, ни мобов. Она просто висит в списке модов. Но польза косвенная: моды, написанные с использованием Annotated DI, легче поддерживать и обновлять под новые версии Майнкрафт. Разработчики тратят меньше времени на фикс зависимостей - значит, обновления выходят быстрее. Особенно это актуально для больших сборок модов, где каждый мод тянет за собой кучу библиотек.
Короче, это инструмент для тех, кто делает моды, но в итоге выигрывают все. Если ты мододел и хочешь упростить себе жизнь, Annotated DI - отличный выбор. Скачай мод Annotated DI для Minecraft и попробуй встроить его в свой проект. Работает как на Fabric, так и на Forge (и NeoForge).
Важно: библиотека ничего не делает сама по себе - она лишь предоставляет механизмы. Её нужно подключать как зависимость в твоём моде. И да, зависимости за тебя она не скачивает - всё придётся настраивать вручную, но это стандартная практика.
