Skip to content

🗺️ 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 MinecraftEra RilisToolchain JavaAlat BuildTag Versi ModStatus
MC 26.3Modern LeadJava 25+ (release = 25)Loom 1.15+, Gradle 9.3+1.3.23+26.3🟢 Produksi Aktif
MC 26.2Modern PredecessorJava 25+ (release = 25)Loom 1.15+, Gradle 9.3+1.3.22+26.2🟢 Produksi Aktif
MC 26.1 / 26.1.2Modern AnchorJava 25+ (release = 25)Loom 1.15+, Gradle 9.3+1.3.22+26.1.2🟢 Produksi Aktif
MC 1.21.11Winter DropJava 21 (release = 21)Loom 1.15-SNAPSHOT1.1.2+1.21.11🟡 Arsip Terpelihara
MC 1.21.1Transitional EarlyJava 21 (release = 21)Loom 1.10+1.1.2+1.21.1🟡 Arsip Terpelihara
MC 1.20.1Legacy AnchorJava 17 (release = 17)Loom 1.4+, Gradle 8.x1.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():

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)
        );
    }
}

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

DependensiVersi MinimumWajib / OpsionalTujuan
Fabric Loader>=0.16.10WajibPemuatan mod dan transformasi Mixin.
Java Runtime>=25 (26.x) / >=21 (1.21) / >=17 (1.20)WajibLingkungan eksekusi JVM inti.
Fabric API* (Open Lower Bound)WajibPendaftaran perintah dan hook siklus hidup.
Dasik Library>=1.8.0WajibMesin GameRule dinamis dan pembatasan sistem.
Cloth Config*OpsionalAntarmuka grafis konfigurasi dalam game.
ModMenu*OpsionalIntegrasi daftar mod dan tombol pengaturan ModMenu.

Official documentation & web portal for Dasik Igaijinn mods.