🔄 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-Version | Mod-Build | Status | Java-Version | Fabric Loader | Abhängigkeit |
|---|---|---|---|---|---|
| Minecraft 26.3 | 2.2.18+26.3 | Hauptversion (Snapshot 6+) | Java 25 | >=0.16.9 | "minecraft": ">=26.3-" |
| Minecraft 26.2 | 2.2.18+26.2 | Hauptversion (Stabil) | Java 25 | >=0.16.9 | "minecraft": ">=26.2-" |
| Minecraft 26.1.2 | 1.2.7+R-26.1.2 | Archiviert | Java 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:
- Dedizierte Ziel-Builds: Jede kompilierte JAR-Datei wird speziell für eine Minecraft-Version erstellt und archiviert (
agrarian-reform-2.2.18+26.2.jarundagrarian-reform-2.2.18+26.3.jar). - Offene untere Versionsgrenzen: In
fabric.mod.jsonwird die Minecraft-Abhängigkeit mit einer offenen Untergrenze definiert:jsonund für 26.3:"minecraft": ">=26.2-"jsonDies verhindert Versionssperren bei zukünftigen Patch-Releases."minecraft": ">=26.3-" - Abhängigkeits-Wildcards: Bibliotheken wie
dasik-libraryverwenden 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
SavedDataTypemit 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.
