🔌 Guide d'intégration API et création d'addons
Agrarian Reform est conçu pour une intégration fluide avec DasikLibrary et s'ouvre facilement aux mods et datapacks tiers.
📚 Dépendances de l'API DasikLibrary
Agrarian Reform s'appuie sur DasikLibrary (>=1.8.3) comme socle logiciel :
| Module de l'API DasikLibrary | Utilisation dans le mod | Rôle |
|---|---|---|
DynamicGameRuleManager | AgrarianGameRules.java, AgrarianCropRules.java | Enregistre les GameRules dynamiques avec synchronisation GSON et persistance dans le monde. |
ConfigHelper | AgrarianConfig.java | Charge et sauvegarde les modèles de configuration JSON avec migrations. |
🌾 Façade publique AgrarianCropRules
Les mods tiers peuvent interroger par code le cache des cultures et les calculs de croissance :
java
// Check if a block is recognized as an agricultural crop
boolean isCrop = AgrarianCropRules.isCropBlock(myBlock);
// Query effective growth speed multiplier (respects frozen -1, positive override, global fallback)
int effectiveMultiplier = AgrarianCropRules.getEffectiveGrowthMultiplier(level, myBlock);
// Check if a block state is at its maximum harvestable age
boolean maxAge = AgrarianCropRules.isMaxAge(blockState);🏷️ Intégrations de tags de datapacks personnalisés
1. Balise de chaussures Pas feutré (#agrarian_reform:soft_step_boots)
Ajoutez des bottes pour protéger les terres labourées du piétinement :
data/agrarian_reform/tags/item/soft_step_boots.json:
json
{
"replace": false,
"values": [
"mymod:padded_leather_boots",
"mymod:farmer_shoes"
]
}2. Balise des plantes du Continuum (#agrarian_reform:continuum_plants & #c:crops)
Enregistrez explicitement des plantes dans le simulateur de croissance hors ligne Continuum :
data/agrarian_reform/tags/block/continuum_plants.json:
json
{
"replace": false,
"values": [
"mymod:custom_corn_crop",
"mymod:custom_tomato_bush"
]
}See also: Registre des plantes et cultures universelles and Architecture et cibles Mixin.
