🔄 Compatibilidade de versões e ciclo de vida
Esta página documenta a matriz de compatibilidade, diretrizes de versões futuras e dependências do Agrarian Reform.
📌 Aviso sobre o código do repositório: Esta documentação reflete o estado atual do código no repositório, podendo incluir recursos em desenvolvimento não lançados no CurseForge ou Modrinth.
📊 Matriz de compatibilidade do Minecraft
| Versão do Minecraft | Build do Mod | Status | Alvo Java | Fabric Loader | Restrição de Dependência |
|---|---|---|---|---|---|
| Minecraft 26.3 | 2.2.18+26.3 | Linha Principal (Snapshot 6+) | Java 25 | >=0.16.9 | "minecraft": ">=26.3-" |
| Minecraft 26.2 | 2.2.18+26.2 | Linha Principal (Estável) | Java 25 | >=0.16.9 | "minecraft": ">=26.2-" |
| Minecraft 26.1.2 | 1.2.7+R-26.1.2 | Versão Arquivada | Java 25 | >=0.15.0 | "minecraft": ">=26.1.2" |
🛡️ 1 Jar 1 Version e limites abertos
O Agrarian Reform segue rigorosamente a política 1 Jar 1 Version e o mandato de compatibilidade futura:
- Builds dedicados: Cada arquivo JAR é compilado e testado exclusivamente para uma versão específica do Minecraft (
agrarian-reform-2.2.18+26.2.jareagrarian-reform-2.2.18+26.3.jar). - Limites inferiores abertos: No
fabric.mod.json, a dependência do Minecraft usa limites abertos:jsone para 26.3:"minecraft": ">=26.2-"jsonIsso impede bloqueios indevidos do Fabric Loader em atualizações secundárias."minecraft": ">=26.3-" - Curingas de dependências: Dependências como
dasik-libraryusam curingas ("*") para evitar bloqueios ao atualizar versões de correção.
🔄 Arquitetura moderna e Codecs de SavedData
- Versões anuais (Annual Drops): O Minecraft adotou o padrão
Year.Drop.Patch. As versões 26.2 e 26.3 são as entregas oficiais ativas. - Era não-ofuscada: O código 26.x roda nativamente com mapeamentos oficiais da Mojang. Termos legados do Yarn foram eliminados.
- Modernização do SavedData: Os dados do mundo utilizam
SavedDataTypecom Codecs dedicados em vez de manipulação manual de NBT:
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
);Veja também: Guia do Minecraft 26.2 e 26.3 e API e integração de addons.
