🗺️ Матрица совместимости версий разных эпох
📌 Отказ от ответственности за исходный код репозитория: Документация в этой Wiki отражает текущее состояние исходного кода в репозитории, которое может включать недавние невыпущенные коммиты или функции в разработке до публичных релизов на CurseForge и Modrinth.
На этой странице задокументированы поддерживаемые релизы Minecraft, среды выполнения Java, зависимости Fabric Loader и инструментарии сборки для мода Magnet, Let me get that! (ig_magnet).
📊 Обзор жизненного цикла версий
| Целевой Minecraft | Папка подпроекта | Активная версия мода | Версия Java | Fabric Loader | Fabric API | DasikLibrary | Провайдер GUI настроек |
|---|---|---|---|---|---|---|---|
| Minecraft 26.2 | Magnet v26.2/magnet | 1.3.9+26.2 | Java 25 (release = 25) | >=0.19.1 | 0.150.1+26.2 | 1.8.23 | YetAnotherConfigLib v3 (3.9.5+26.2-fabric) + ModMenu |
| Minecraft 26.1.2 | Magnet v26.1/magnet | 1.1.2+26.1.2 | Java 25 (release = 25) | >=0.16.10 | 0.145.4+26.1.2 | 1.8.23 | Cloth Config Fabric (26.1.154) + ModMenu |
🔍 Подробный разбор версий
🟢 Minecraft 26.2 (1.3.9+26.2)
- Статус: Основной современный релиз
- Путь подпроекта:
Magnet v26.2/magnet/ - Выходной файл архива:
Magnet-Let-me-get-that-1.3.9+26.2.jar - Центральная папка архивов:
Archive Jar of all versions/MC 26.2/ - Границы зависимостей (
fabric.mod.json):json"depends": { "fabricloader": ">=0.19.1", "minecraft": ">=26.2-", "java": ">=25", "fabric-api": "*", "dasik-library": "*" } - Ключевые архитектурные особенности:
- Постоянное хранение в NBT с использованием кодеков Minecraft 26.2
ValueOutputиValueInputвнутриPlayerMixin. - Автоматическое сохранение состояния игрока при смерти и телепортации между измерениями через события жизненного цикла Fabric
ServerPlayerEvents.COPY_FROMиServerPlayerEvents.AFTER_RESPAWN. - Горячая клавиша переключения назначена на
\(GLFW_KEY_BACKSLASH) с динамическим резервным определением типа клавишиig_magnet$getKeyboardType(). - Внутриигровые диагностические команды
/magnet debugи/magnet debug logс записью в отдельный файл логов (logs/ig_magnet_debug.log). - Современный вспомогательный класс
YaclScreenHelperна базе YetAnotherConfigLib v3.
- Постоянное хранение в NBT с использованием кодеков Minecraft 26.2
🟢 Minecraft 26.1.2 (1.1.2+26.1.2)
- Статус: Современный якорный подпроект
- Путь подпроекта:
Magnet v26.1/magnet/ - Выходной файл архива:
Magnet-Let-me-get-that-1.1.2+26.1.2.jar - Центральная папка архивов:
Archive Jar of all versions/MC 26.1.2/ - Границы зависимостей (
fabric.mod.json):json"depends": { "fabricloader": ">=0.16.10", "minecraft": "*", "java": ">=25", "fabric-api": "*", "dasik-library": "*" } - Ключевые архитектурные особенности:
- Отслеживание состояния активной сессии через потокобезопасный
MagnetPlayerState(Map<UUID, Boolean>). - Горячая клавиша переключения назначена на комбинацию
Ctrl+M(GLFW_KEY_M+isControlDown()). - Всплывающие уведомления в панели действий через стандартный вызов
client.gui.setOverlayMessage(...). - Безопасный для рефлексии графический интерфейс настроек через
ClothConfigScreenHelper.
- Отслеживание состояния активной сессии через потокобезопасный
📦 Автоматическое архивирование релизов и развертывание в лаунчере
Оба подпроекта содержат настроенное автоматическое архивирование после компиляции в сценариях сборки Gradle (build.gradle):
# Сборка и автоматическое архивирование сборки MC 26.2:
cd "Magnet v26.2/magnet"
./gradlew build --no-daemon
# Сборка и автоматическое архивирование сборки MC 26.1.2:
cd "Magnet v26.1/magnet"
./gradlew build --no-daemonПри выполнении команды ./gradlew build задача archiveReleaseJar автоматически копирует скомпилированный JAR в центральную папку архивов (Archive Jar of all versions/MC <Version>/) и синхронизирует его с локальными тестовыми профилями лаунчера Modrinth.
