Skip to content

ModVersionGuard & Keamanan Saat Startup

KomponenKelas
Penjaga Versinet.dasik.social.core.ModVersionGuard
ClassLoader yang DigunakanThread.currentThread().getContextClassLoader()
Fungsi PencegahanMenangkap ketidakcocokan kelas sebelum dunia game dimuat

🛡️ Mekanisme Kerja ModVersionGuard

Di bawah lingkungan Knot Fabric Loader, pemanggilan Class.forName(name) tanpa ClassLoader eksplisit dapat gagal mendeteksi ketidakcocokan API. ModVersionGuard secara eksplisit menggunakan ClassLoader dari thread konteks saat ini untuk memverifikasi dependensi penting sejak tahap inisialisasi awal.

java
public final class ModVersionGuard {
    public static void checkClass(String modName, String requiredClassName) {
        try {
            Class.forName(requiredClassName, true, Thread.currentThread().getContextClassLoader());
        } catch (ClassNotFoundException e) {
            throw new RuntimeException("\n" +
                "=====================================================================\n" +
                " [" + modName + "] Minecraft API Mismatch!\n" +
                " A required Minecraft class or API was not found in your game version.\n" +
                " Try updating your Minecraft version or download a matching build.\n" +
                "=====================================================================");
        }
    }
}

🔗 Halaman Terkait

Official documentation & web portal for Dasik Igaijinn mods.