🗺️ Kompatibilitas Versi & Matriks Siklus Hidup Multi-Era
📌 Pemberitahuan Sumber Repositori: Dokumentasi dalam Wiki ini mencerminkan kondisi kode sumber terkini dalam repositori, yang mungkin mencakup komit terbaru yang belum dirilis atau fitur dalam pengembangan sebelum rilis publik di CurseForge dan Modrinth.
🏛️ Standar Operasional «1 Jar 1 Version» (Satu JAR Satu Versi)
True Sleep secara ketat menegakkan kebijakan «1 Jar 1 Version»: setiap versi Minecraft yang didukung menerima berkas JAR kompilasi khususnya sendiri yang dibangun secara native terhadap toolchain Loom dan bytecode versi tersebut.
Di bawah Mandat Wajib Siklus Hidup Multi-Versi, tidak ada versi yang didukung yang akan ditinggalkan atau dihentikan tanpa pemberitahuan eksplisit.
📊 Matriks Komprehensif Versi Minecraft
| Jangkar Minecraft | Era Rilis | Toolchain Java | Alat Build | Tag Versi Mod | Status |
|---|---|---|---|---|---|
| MC 26.3 | Modern Lead | Java 25+ (release = 25) | Loom 1.15+, Gradle 9.3+ | 1.3.23+26.3 | 🟢 Produksi Aktif |
| MC 26.2 | Modern Predecessor | Java 25+ (release = 25) | Loom 1.15+, Gradle 9.3+ | 1.3.22+26.2 | 🟢 Produksi Aktif |
| MC 26.1 / 26.1.2 | Modern Anchor | Java 25+ (release = 25) | Loom 1.15+, Gradle 9.3+ | 1.3.22+26.1.2 | 🟢 Produksi Aktif |
| MC 1.21.11 | Winter Drop | Java 21 (release = 21) | Loom 1.15-SNAPSHOT | 1.1.2+1.21.11 | 🟡 Arsip Terpelihara |
| MC 1.21.1 | Transitional Early | Java 21 (release = 21) | Loom 1.10+ | 1.1.2+1.21.1 | 🟡 Arsip Terpelihara |
| MC 1.20.1 | Legacy Anchor | Java 17 (release = 17) | Loom 1.4+, Gradle 8.x | 1.0.3+1.20.1 | 🟡 Arsip Terpelihara |
🛡️ Verifikasi Keamanan ModVersionGuard
Untuk melindungi data penyimpanan dunia dan lampiran data pemain dari ketidakcocokan classloader atau kerusakan status API, True Sleep menjalankan verifikasi bytecode nol-dependensi selama onInitialize():
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)
);
}
}Resolusi ClassLoader Knot
Verifikasi ini menggunakan Thread.currentThread().getContextClassLoader() untuk menyelesaikan kelas vanilla melalui classloader Knot milik Fabric. Jika lingkungan tidak kompatibel terdeteksi, startup akan segera dihentikan dengan pesan diagnostik yang jelas sebelum data chunk atau entitas sempat terpengaruh.
📦 Matriks Dependensi
| Dependensi | Versi Minimum | Wajib / Opsional | Tujuan |
|---|---|---|---|
| Fabric Loader | >=0.16.10 | Wajib | Pemuatan mod dan transformasi Mixin. |
| Java Runtime | >=25 (26.x) / >=21 (1.21) / >=17 (1.20) | Wajib | Lingkungan eksekusi JVM inti. |
| Fabric API | * (Open Lower Bound) | Wajib | Pendaftaran perintah dan hook siklus hidup. |
| Dasik Library | >=1.8.0 | Wajib | Mesin GameRule dinamis dan pembatasan sistem. |
| Cloth Config | * | Opsional | Antarmuka grafis konfigurasi dalam game. |
| ModMenu | * | Opsional | Integrasi daftar mod dan tombol pengaturan ModMenu. |
