⚡ 글로벌 성장 배율 및 작물별 개별 튜닝
성장 배율 엔진을 사용하면 전 세계 농업 성장 속도를 미세 조정하거나 작물 종류별 맞춤 곡선을 지정할 수 있습니다.
📊 성장 배율 인포박스
| 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}$에 따라 추가 틱이 1회 더 실행될 수 있습니다.
4. Max-Age Early-Break Optimization
고속 루프 실행 중 작물이 최대 단계에 도달하면 불필요한 계산을 줄이기 위해 루프가 즉시 종료됩니다.
⚠️ 설정 및 명령어
bash
# 전역 성장 속도를 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 컨티넘 (오프라인 성장 지속).
