Skip to content

🗺️ バージョン互換性と複数世代ライフサイクルマトリックス

📌 リポジトリソースコードに関する免責事項: このWikiのドキュメントはリポジトリ内の現在のソースコードの状態を反映しており、CurseForgeおよびModrinthでの公式リリース前の最新コミットや開発中の機能が含まれている場合があります。


🏛️ 「1 Jar 1 Version(1バージョン1JAR)」運用基準

True Sleepは 「1 Jar 1 Version(1バージョン1JAR)」ポリシー を厳格に適用しています。サポート対象の各Minecraftバージョンには、そのバージョンのLoomツールチェーンおよびバイトコードに対してネイティブビルドされた専用JARが提供されます。

複数バージョン包括サポート指針 に基づき、明示的な事前告知なくサポート対象バージョンが廃止・放棄されることは一切ありません。


📊 Minecraftバージョン包括マトリックス

Minecraft対象バージョンリリース時代Javaツールチェーンビルド環境MODバージョンタグ運用ステータス
MC 26.3Modern LeadJava 25+ (release = 25)Loom 1.15+, Gradle 9.3+1.3.23+26.3🟢 アクティブサポート
MC 26.2Modern PredecessorJava 25+ (release = 25)Loom 1.15+, Gradle 9.3+1.3.22+26.2🟢 アクティブサポート
MC 26.1 / 26.1.2Modern AnchorJava 25+ (release = 25)Loom 1.15+, Gradle 9.3+1.3.22+26.1.2🟢 アクティブサポート
MC 1.21.11Winter DropJava 21 (release = 21)Loom 1.15-SNAPSHOT1.1.2+1.21.11🟡 アーカイブ保守
MC 1.21.1Transitional EarlyJava 21 (release = 21)Loom 1.10+1.1.2+1.21.1🟡 アーカイブ保守
MC 1.20.1Legacy AnchorJava 17 (release = 17)Loom 1.4+, Gradle 8.x1.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必須MODの読み込みおよび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*任意ゲーム内GUI設定画面の提供。
ModMenu*任意ModMenuの一覧表示連携および設定ボタン。

Official documentation & web portal for Dasik Igaijinn mods.