
Rift
Активный0.0
Установок
Последнее обновление
Rift
Rift представляет собой облегченный API для модификации Minecraft, библиотеку и загрузчик модов для версии 1.13. Основная цель этого проекта — создание более модульной и легковесной платформы для модификации игры. Rift не стремится конкурировать с Forge или заменить его — вместо этого он предлагает альтернативный подход вместе с набором дополнительных библиотечных модов, созданных сообществом.
Зачем нужен еще один API для модов?
Легковесный и модульный подход
Главная задача Rift — предоставить API, способный расширять любые аспекты игры, при этом минимально изменяя оригинальный код и не добавляя лишних зависимостей. Вместо сложной системы событий Rift использует простую, быструю и чистую систему на основе интерфейсов для расширения возможностей ванильного Minecraft.
Для изменения стандартного поведения игры Rift рекомендует модам использовать библиотеку Mixin для добавления обратных вызовов или перенаправлений в любые ванильные методы, вместо ограниченного набора заранее определенных хуков.
Rift намеренно не включает сложные функции вроде API для энергосистем, альтернативных рендереров моделей или пользовательских форматов состояний блоков. Такие возможности должны реализовываться в отдельных библиотечных модах. Основное преимущество этого подхода заключается в том, что Rift может быстрее обновляться для новых версий Minecraft, а пользователям не придется устанавливать функции, которые им не нужны. Rift без установленных модов всегда будет работать так же быстро, стабильно и эффективно по памяти, как и ванильная версия игры.
Интеграция с ванильным геймплеем
API Rift не предоставляет хуки для изменения существующей игровой механики. Вместо этого он предлагает инструменты для расширения каждого аспекта ванильной игры. Rift также поощряет моды к более тесной интеграции с оригинальным Minecraft через использование стандартных API, совместное использование вкладок творческого режима и меню настроек, что уменьшает разницу между ванильным и модифицированным контентом для игрока.
Однако это не означает, что моды для Rift как-то ограничены. Напротив, они могут изменять работу игры даже более гибко, чем при использовании только API Forge, благодаря применению Mixin — простой аннотационной системы для модификации ванильного кода. Моды могут встраивать обратные вызовы своих методов в любую точку любого ванильного метода или заменять стандартные методы или их части собственным кодом. Mixin также гарантирует, что множество модов могут работать с одним методом без потери совместимости.
Совместимость между версиями Minecraft
С Rift ваши моды будут работать во многих версиях Minecraft. Через дополнительные модули совместимости Rift переназначает моды на обновленные обфусцированные имена и возвращает нереализованные ванильные методы обратно в классы, делая нестабильный API Minecraft стабильным. Хотя полная совместимость всех модов между многими версиями может быть невозможна, большинство модов должны работать как минимум в нескольких версиях.
Высокая производительность и эффективность
Независимо от того, установлен ли Rift как мод Forge или самостоятельно, он не замедляет время загрузки игры. Поскольку Rift основан на интерфейсах, а не на шине событий, он не загружает дополнительные библиотеки, обратные вызовы событий выполняются чрезвычайно быстро, а добавление собственного события мода требует всего несколько строк кода.
Рекомендуемые библиотеки
В отличие от Forge, цель Rift — сделать модификацию более модульной. Сам Rift предоставляет только функции для расширения ванильной игры, а более продвинутые API и возможности обеспечиваются сообществом. Вот некоторые решения для распространенных функций:
- Сетевое взаимодействие: Rift API, ProtoCharset
- Конфигурация: Gson (стандартная библиотека), Configurate, Random Configs, любые другие библиотеки
- Поддержка других языков: Riftlin (Kotlin)
- API для энергосистем: ZeroPoint
- Возможности: Rift-Capabilities
- Альтернативный формат состояний блоков: В разработке, скоро будет доступен
- GUI на основе JSON: В разработке, скоро будет доступен
- Генерация riftmod.json на основе аннотаций: Pylon
Основные возможности
- Простая и расширяемая система событий на основе интерфейсов (моды могут добавлять собственные события всего несколькими строками кода)
- Интерфейсы для регистрации предметов, блоков, блок-сущностей, жидкостей, зачарований, типов частиц, эффектов зелий, биомов, существ, рендереров блок-сущностей, пользовательских рендереров предметов, сложных (не JSON) рецептов, измерений, типов миров и многого другого
- Простой сетевой API для легкого добавления как ванильных пакетов, так и сообщений модов
- События тиков, вызываемые каждый клиентский или серверный тик
- Поддержка как Mixin, так и других трансформеров классов
- Автоматическая загрузка и извлечение зависимостей
- Частичные зависимости от других модов, когда некоторые функции активируются только при наличии другого мода
Установка
Поскольку Forge для версии 1.13 пока недоступен, единственный способ установить или обновить Rift — запустить jar-файл двойным щелчком. Он скопирует себя в папку .minecraft, и в лаунчере появится профиль "Rift". Добавляйте моды для Rift в папку ".minecraft/mods", как обычно.
Установка Optifine: Добавьте Optifine в папку "mods". Rift распознает и загрузит его.
Установка в MultiMC: Нажмите "Add Instance", "Import from zip" и вставьте эту ссылку в поле: https://media.forgecdn.net/files/2610/746/rift-1.0.4-66.zip
Запуск сервера: Поместите jar-файл Rift в пустую директорию и выполните команду "java -jar Rift.jar --server". Поддержка Spigot скоро появится.
Разработчикам модов: Информация об использовании Rift | Пример мода (можете свободно копировать его)