🗺️ 버전 호환성 및 다중 시대 수명 주기 매트릭스
📌 저장소 소스 코드 고지 사항: 이 위키의 문서는 CurseForge 및 Modrinth의 공개 릴리스 빌드에 앞서 최근 릴리스되지 않은 커밋 또는 개발 기능을 포함할 수 있는 저장소의 현재 소스 코드 상태를 반영합니다.
🏛️ «1 Jar 1 Version (버전당 1개의 JAR)» 운영 표준
True Sleep은 «1 Jar 1 Version (버전당 1개의 JAR)» 정책을 엄격히 준수합니다. 지원되는 모든 마인크래프트 버전은 해당 버전의 Loom 툴체인 및 바이트코드에 맞추어 네이티브 빌드된 전용 JAR 파일을 제공받습니다.
필수 다중 버전 수명 주기 규정에 따라, 사전 공지 없이 지원 대상 버전이 지원 중단되거나 방치되는 일은 절대 없습니다.
📊 마인크래프트 버전 종합 매트릭스
| 마인크래프트 앵커 | 출시 시대 | Java 툴체인 | 빌드 도구 | 모드 버전 태그 | 지원 상태 |
|---|---|---|---|---|---|
| MC 26.3 | Modern Lead | Java 25+ (release = 25) | Loom 1.15+, Gradle 9.3+ | 1.3.23+26.3 | 🟢 활성 지원 및 빌드 |
| MC 26.2 | Modern Predecessor | Java 25+ (release = 25) | Loom 1.15+, Gradle 9.3+ | 1.3.22+26.2 | 🟢 활성 지원 및 빌드 |
| MC 26.1 / 26.1.2 | Modern Anchor | Java 25+ (release = 25) | Loom 1.15+, Gradle 9.3+ | 1.3.22+26.1.2 | 🟢 활성 지원 및 빌드 |
| MC 1.21.11 | Winter Drop | Java 21 (release = 21) | Loom 1.15-SNAPSHOT | 1.1.2+1.21.11 | 🟡 유지보수 아카이브 |
| MC 1.21.1 | Transitional Early | Java 21 (release = 21) | Loom 1.10+ | 1.1.2+1.21.1 | 🟡 유지보수 아카이브 |
| MC 1.20.1 | Legacy Anchor | Java 17 (release = 17) | Loom 1.4+, Gradle 8.x | 1.0.3+1.20.1 | 🟡 유지보수 아카이브 |
🛡️ ModVersionGuard 시작 안전성 검증
월드 세이브 데이터와 플레이어 첨부 데이터를 클래스로더 불일치 또는 손상된 API 상태로부터 안전하게 보호하기 위해, True Sleep은 onInitialize() 도중 종속성이 없는 바이트코드 검증을 수행합니다:
java
public class TrueSleep implements ModInitializer {
@Override
public void onInitialize() {
net.vanillaoutsider.truesleep.util.ModVersionGuard.checkClass(
"True Sleep",
"net.minecraft.world.entity.player.Player"
);
LOGGER.info("Initializing True Sleep (Time Warp)...");
TrueSleepRules.init();
CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) ->
TrueSleepCommand.register(dispatcher)
);
}
}Knot 클래스로더 확인 메커니즘
검증 과정은 Thread.currentThread().getContextClassLoader()를 호출하여 Fabric의 Knot 클래스로더를 통해 바닐라 클래스를 안전하게 확인합니다. 호환되지 않는 게임 환경이 감지되면 청크나 엔티티 데이터가 손상되기 전에 명확한 진단 메시지와 함께 즉시 실행을 중단합니다.
📦 종속성 매트릭스
| 종속성 | 최소 버전 | 필수 / 선택 | 용도 및 역할 |
|---|---|---|---|
| Fabric Loader | >=0.16.10 | 필수 | 모드 로딩 및 Mixin 바이트코드 변환. |
| Java Runtime | >=25 (26.x) / >=21 (1.21) / >=17 (1.20) | 필수 | 핵심 JVM 실행 환경. |
| Fabric API | * (Open Lower Bound) | 필수 | 명령어 등록 및 수명 주기 이벤트 훅. |
| Dasik Library | >=1.8.0 | 필수 | 동적 GameRule 엔진 및 시스템 조절 제어. |
| Cloth Config | * | 선택 | 게임 내 그래픽 구성 화면 제공. |
| ModMenu | * | 선택 | ModMenu 목록 통합 및 설정 진입 버튼. |
