
TESLA
Активный0.0
Установок
Последнее обновление
Версии
TESLA
Платформа TESLA представляет собой универсальный энергетический интерфейс для межмодового взаимодействия в Minecraft. С её помощью различные модули могут обмениваться энергией через единую сеть, обеспечивая совместимость между предметами, блоками и сущностями из разных модов.
ВАЖНОЕ ПРЕДУПРЕЖДЕНИЕ: Альфа- и бета-версии предназначены исключительно для разработчиков модов и тестировщиков. Разрабатываемые модули должны ориентироваться только на стабильные релизы! Использование альфа-сборок может привести к сбоям в работе зависимых модов!
Основные принципы работы
Наиболее эффективный способ использования API TESLA - через систему возможностей Forge. Сама концепция достаточно проста: возможности представляют собой реализации интерфейсов, обрабатывающих определённую логику, связанную с TESLA. Эти возможности могут быть присоединены к поддерживаемым объектам (блоковым сущностям, стекам предметов и сущностям). После присоединения объект получает доступ к соответствующей функциональности TESLA и становится видимым для других компонентов с поддержкой этой системы.
Часто задаваемые вопросы
Что отличает TESLA от других энергетических API?
Хотя TESLA функционирует аналогично другим энергетическим интерфейсам, архитектурные решения делают его значительно более гибким. Ключевым преимуществом является интеграция с системой возможностей Forge, что позволяет добавлять поддержку TESLA практически к любым объектам. Например, можно реализовать поддержку TESLA для обычной печи из базовой игры без использования сомнительных технических приёмов. Ещё одно важное отличие - использование длинных целых чисел вместо стандартных, что обеспечивает удобную работу с большими значениями энергии.
Каковы стандарты для TESLA?
API не навязывает строгих стандартов, но рекомендуется придерживаться определённых соглашений. Основное правило - 1 единица TESLA должна равняться 1 RF. Блоковые сущности не должны напрямую реализовывать интерфейсы возможностей, а обработка сторонней логики должна осуществляться через соответствующие методы.
Как работает мягкая зависимость без возможности объединения API?
Forge предоставляет инструменты, значительно упрощающие реализацию мягких зависимостей. Аннотация Optional позволяет добавлять интерфейсы к существующим объектам-контейнерам без жёсткой зависимости от TESLA. Ещё один мощный инструмент - аннотация CapabilityInject, которая обеспечивает инициализацию полей определёнными возможностями при их подключении. Несмотря на то, что аннотация содержит ссылки на классы TESLA, система JVM безопасно обрабатывает такие случаи даже при отсутствии самого мода.
Политика использования в сборках
Разрешено использование в пользовательских сборках модов. Нет необходимости запрашивать дополнительное разрешение на включение TESLA в вашу сборку.