Skip to content

🔄 Versionskompatibilität und Support-Lebenszyklus

Diese Seite dokumentiert die Versionskompatibilität, Vorwärtskompatibilitätsregeln und Abhängigkeiten für Agrarian Reform.

📌 Repository-Hinweis: Die Dokumentation spiegelt den aktuellen Stand des Quellcodes wider, einschließlich unvollendeter Commits vor offiziellen Releases.


📊 Minecraft-Versionskompatibilitätsmatrix

Minecraft-VersionMod-BuildStatusJava-VersionFabric LoaderAbhängigkeit
Minecraft 26.32.2.18+26.3Hauptversion (Snapshot 6+)Java 25>=0.16.9"minecraft": ">=26.3-"
Minecraft 26.22.2.18+26.2Hauptversion (Stabil)Java 25>=0.16.9"minecraft": ">=26.2-"
Minecraft 26.1.21.2.7+R-26.1.2ArchiviertJava 25>=0.15.0"minecraft": ">=26.1.2"

🛡️ 1 Jar 1 Version & Offene Versionsgrenzen

Agrarian Reform folgt der strikten 1 Jar 1 Version Richtlinie und dem Gebot der Vorwärtskompatibilität:

  1. Dedizierte Ziel-Builds: Jede kompilierte JAR-Datei wird speziell für eine Minecraft-Version erstellt und archiviert (agrarian-reform-2.2.18+26.2.jar und agrarian-reform-2.2.18+26.3.jar).
  2. Offene untere Versionsgrenzen: In fabric.mod.json wird die Minecraft-Abhängigkeit mit einer offenen Untergrenze definiert:
    json
    "minecraft": ">=26.2-"
    und für 26.3:
    json
    "minecraft": ">=26.3-"
    Dies verhindert Versionssperren bei zukünftigen Patch-Releases.
  3. Abhängigkeits-Wildcards: Bibliotheken wie dasik-library verwenden Wildcards ("*"), um Inkompatibilitäten bei einfachen Patch-Updates auszuschließen.

🔄 Moderne Architektur & SavedData Codecs

  • Annual Drop Versionierung: Minecraft nutzt das System Year.Drop.Patch. Die Versionen 26.2 und 26.3 repräsentieren die aktuellen Drops.
  • Nicht-obfuskierte Ära: 26.x verwendet offizielle Mojang-Mappings. Veraltete Yarn-Begriffe sind vollständig entfernt.
  • SavedData-Modernisierung: Persistente Weltdaten nutzen SavedDataType mit expliziten Codecs statt alter NBT-Methoden:
java
public static final SavedDataType<ContinuumData> TYPE = new SavedDataType<>(
    Identifier.fromNamespaceAndPath("agrarian_reform", "continuum"),
    ContinuumData::create,
    Codec.unboundedMap(Codec.STRING, Codec.LONG).xmap(
        map -> {
            ContinuumData data = new ContinuumData();
            map.forEach((k, v) -> data.timestamps.put(Long.parseLong(k), v));
            return data;
        },
        data -> {
            Map<String, Long> map = new HashMap<>();
            data.timestamps.forEach((k, v) -> map.put(k.toString(), v));
            return map;
        }
    ),
    DataFixTypes.SAVED_DATA_MAP_DATA
);

Siehe auch: Minecraft 26.2 & 26.3 Leitfaden und API und Addon-Integration.

Official documentation & web portal for Dasik Igaijinn mods.