🔌 API и интеграция сторонних аддонов
Agrarian Reform тесно интегрирован с DasikLibrary и открыт для расширения сторонними модами и датапаками.
📚 Зависимости DasikLibrary API
Agrarian Reform использует DasikLibrary (>=1.8.3) в качестве базовой инфраструктуры:
| Модуль DasikLibrary API | Использование в моде | Назначение |
|---|---|---|
DynamicGameRuleManager | AgrarianGameRules.java, AgrarianCropRules.java | Регистрация динамических правил с GSON-синхронизацией и сохранением мира. |
ConfigHelper | AgrarianConfig.java | Загрузка и сохранение шаблонов глобальной конфигурации JSON с миграциями. |
🌾 Публичный фасад AgrarianCropRules
Сторонние моды могут программно опрашивать кеш культур и формулы роста:
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);🏷️ Интеграция тегов датапаков
1. Тег обуви с мягким шагом (#agrarian_reform:soft_step_boots)
Добавьте броню или ботинки для защиты вспаханной земли от вытаптывания:
data/agrarian_reform/tags/item/soft_step_boots.json:
json
{
"replace": false,
"values": [
"mymod:padded_leather_boots",
"mymod:farmer_shoes"
]
}2. Тег растений Континуума (#agrarian_reform:continuum_plants и #c:crops)
Регистрация пользовательских растений в симуляторе офлайн-роста Континуум:
data/agrarian_reform/tags/block/continuum_plants.json:
json
{
"replace": false,
"values": [
"mymod:custom_corn_crop",
"mymod:custom_tomato_bush"
]
}See also: Реестр растений и универсальные культуры and Архитектура и миксины.
