⚡ グローバル成長倍率と作物別個別調整
成長倍率エンジンにより、サーバー管理者やプレイヤーは世界中の農業速度を微調整したり、作物種ごとの成長曲線を調整できます。
📊 倍率仕様インフォボックス
| 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
加速ループ処理中、作物が最大段階(例: 小麦の段階7)に達した瞬間、即座にループを打ち切ってCPU負荷を軽減します。
⚠️ 設定およびコマンド
bash
# 全体の成長速度を200%(2倍速)に設定
/gamerule agrarian_reform:global_growth_multiplier 200
# 小麦のみ400%(4倍速)に設定
/gamerule agrarian_reform:crop_growth_multiplier_wheat 400
# サトウキビの成長を完全に停止
/gamerule agrarian_reform:crop_growth_multiplier_sugar_cane -1See also: パフォーマンスとキュー調整, 作物レジストリと汎用作物, and コンティニュアム (オフライン成長持続).
