⚡ Глобальный множитель роста и настройка культур
Движок множителя роста позволяет настраивать общую скорость созревания или задавать параметры для отдельных культур.
📊 Инфоблок множителей
| Property | Specification |
|---|---|
| Global GameRule | agrarian_reform:global_growth_multiplier |
| Dynamic Crop Rule | agrarian_reform:crop_growth_multiplier_<crop_id> |
| По умолчанию | 100 (100% ванильная скорость) |
| Допустимые значения | -1 (Заморожено), 0 (Глобальное), от 1 до 2147483647 |
| Оптимизация | Досрочный выход (прерывание цикла при полной зрелости) |
📐 Математика расчета множителей
Цикл случайных тактов обрабатывает рост растений через BlockStateBaseMixin и GrowthHelper.handleRandomTick:
1. Hierarchy Resolution
- Индивидуальный множитель ($> 0$): Если правило задано, оно переопределяет глобальный параметр.
- Заморозка ($-1$ или $0$): Полностью отменяет такты роста и офлайн-компенсацию ($0%$ роста).
- Глобальный множитель ($0$): Используется глобальный множитель $M$.
2. Замедленный рост ($0 < M < 100$)
При $M < 100$ такты роста выполняются с вероятностью $\frac{M}{100}$. Например, при $M = 50$ рост идет на 50% ванильной скорости.
3. Accelerated Growth ($M > 100$)
При $M > 100$ движок рассчитывает гарантированные дополнительные циклы тактов $E$:
$$E = \left\lfloor \frac{M}{100} \right\rfloor - 1$$
Дробный остаток с вероятностью $\text{rem} = M \pmod{100}$ дает еще один такт роста.
4. Max-Age Early-Break Optimization
При ускоренном цикле (например, $M = 500$, 5 тактов) handleRandomTick проверяет зрелость после каждого шага и мгновенно завершает цикл при созревании.
⚠️ Конфигурация и команды
# Установить глобальную скорость роста на 200% (в 2 раза быстрее)
/gamerule agrarian_reform:global_growth_multiplier 200
# Задать пшенице индивидуальную скорость 400%
/gamerule agrarian_reform:crop_growth_multiplier_wheat 400
# Полностью заморозить сахарный тростник
/gamerule agrarian_reform:crop_growth_multiplier_sugar_cane -1See also: Производительность и ограничение очереди, Реестр растений и универсальные культуры, and Континуум (Офлайн-рост).
