⚖️ 名前空間付き GameRules 完全リファレンス
Agrarian Reformのすべての設定項目は、DasikLibraryのDynamicGameRuleManagerによって管理されるAgrarian Reform(agrarian_reform:*)名前空間のMinecraft標準GameRuleとして登録されます。ワールド別の設定は各ワールドのlevel.datに保存され、ゲーム内設定画面やコマンドで自由に変更できます。
📊 静的 GameRules 完全対照表
| GameRuleキー | データ型 | デフォルト値 | 有効範囲 | 動作サイド | 説明 |
|---|---|---|---|---|---|
agrarian_reform:hydration_source_range | 整数 | 8 | 0 〜 32 | サーバー & クライアント | 水源ブロックがチェビシェフ同心円状に耕地を潤す有効半径(ブロック単位)。 |
agrarian_reform:hydration_flowing_range | 整数 | 4 | 0 〜 32 | サーバー & クライアント | 水流が耕地を潤す有効半径(ブロック単位)。 |
agrarian_reform:pure_water_hydration_only | 真偽値 | false | true / false | サーバー & クライアント | 有効時、水没ブロックや大釜は無視され、純粋な水ブロックのみが耕地を潤します。 |
agrarian_reform:rain_growth_acceleration | 整数 | 1 | 0 〜 10 | サーバー | 降雨中に空に露出した作物へランダムティックごとに付与される追加の成長段階数。 |
agrarian_reform:growth_biodiversity_bonus | 真偽値 | true | true / false | サーバー | 隣接して異なる種類の作物を植えた際に+10%の成長確率ボーナスを付与します。 |
agrarian_reform:total_trample_immunity | 真偽値 | false | true / false | サーバー | エンティティの落下やジャンプによる耕地の踏み荒らし破壊を100%防止します。 |
agrarian_reform:trample_immunity_players_only | 真偽値 | false | true / false | サーバー | 踏み荒らし完全防止と併用時、プレイヤーと飼育ペットのみ保護し、敵対モブは依然として土を荒らします。 |
agrarian_reform:always_wet_farmland | 真偽値 | false | true / false | サーバー & クライアント | 水源の有無に関わらず、すべての耕地の湿潤度を常に最大レベル7に維持します。 |
agrarian_reform:seeds_grow_grass | 真偽値 | true | true / false | サーバー & クライアント | 農作物の種を持って土ブロックを右クリックすると、種を1個消費して草ブロックに変化させます。 |
agrarian_reform:right_click_harvest | 真偽値 | true | true / false | サーバー & クライアント | 成熟した作物を右クリックすると、ドロップを回収して自動的に成長段階0で再植え付けします。 |
agrarian_reform:universal_bonemeal | 真偽値 | true | true / false | サーバー & クライアント | 本来骨粉が使えない植物(サボテン、サトウキビ、ネザーウォート、ツタ)の成長を加速します。 |
agrarian_reform:global_growth_multiplier | 整数 | 100 | 0 〜 2147483647 | サーバー | ランダムティックスピードおよびContinuumオフライン成長の全体倍率(100 = バニラ標準の1倍)。 |
agrarian_reform:ambient_crop_rustle | 真偽値 | true | true / false | クライアント | 作物の中を通り抜けた際や成長段階が進んだ際に、環境音(葉のこすれる音)を再生します。 |
agrarian_reform:ambient_vitality_particles | 真偽値 | true | true / false | クライアント | 作物が正常に成長段階を進めた際、控えめな緑色の村人の幸福パーティクルを放出します。 |
agrarian_reform:debug_mode | 真偽値 | false | true / false | サーバー | サーバーログで作物の成長や追いつき処理の詳細診断を有効化。一時的:再起動時にfalseにリセット。 |
🌾 作物別動的成長倍率 GameRules
新しい作物(MODまたはバニラ)がワールド内で発見されるか、データパックを介して登録されると、Agrarian Reformは自動的に専用のGameRuleを作成します:
$$\text{GameRule Key} = \text{agrarian_reform:growth_}\langle \text{namespace} \rangle\text{_}\langle \text{path} \rangle$$
Resolution Hierarchy:
- 特定作物の個別指定 ($> 0$): 正の整数(例:
200)を設定すると、その作物はグローバル倍率を無視してその速度(200% = 2倍速)で成長します。 - 凍結 / 停止状態 ($-1$):
-1に設定すると、その作物の成長ティックは完全に停止(速度0%)し、オフライン追いつきも行われません。 - グローバル倍率の継承 ($0$):
0(デフォルト)に設定すると、全体倍率agrarian_reform:global_growth_multiplierを自動的に継承します。
bash
# 小麦の成長速度を3倍に設定
/gamerule agrarian_reform:growth_minecraft_wheat 300
# サトウキビの成長を完全に停止(凍結)
/gamerule agrarian_reform:growth_minecraft_sugar_cane -1
# ニンジンの速度をグローバル倍率継承に戻す
/gamerule agrarian_reform:growth_minecraft_carrots 0⚡ ゲーム実行中の動的登録(再起動不要)
- オンデマンド生成: プレイヤーが新しいエリアを探索したりMOD種を植えたりした瞬間に、
AgrarianCropRulesが検知して即座にGameRuleを生成します。 - コマンド即時反映: 新しいGameRuleは直ちに
/gameruleでTab補完付きで確認・編集可能になります。 - データパックのリロード対応:
/reload実行時にレジストリを再走査し、新しく追加されたデータパックの作物タグを自動登録します。
🛡️ MOD削除時の安全性と休眠ライフサイクル
- 完全な疎結合設計: 動的GameRuleは文字列およびバニラの
Identifierキーのみで識別され、固定のクラス依存関係を持ちません。 - 休眠・パッシブ状態: MODを削除した場合、対応するGameRuleは完全に休眠状態となり、CPU負荷ゼロ・クラッシュの心配なく保持されます。
- 再導入時の自動復元: 後からMODを再インストールした場合でも、
level.datや設定ファイルの値が自動的に再認識されます。
🛠️ ゲーム内管理コマンド例
bash
# 現在の水源の有効灌漑範囲を確認
/gamerule agrarian_reform:hydration_source_range
# 水源の有効灌漑範囲を12ブロックに設定
/gamerule agrarian_reform:hydration_source_range 12
# プレイヤーのみ踏み荒らし無効化を有効にする
/gamerule agrarian_reform:total_trample_immunity true
/gamerule agrarian_reform:trample_immunity_players_only true
# 診断用デバッグログを一時的に有効化する
/gamerule agrarian_reform:debug_mode trueSee also: Brigadier コマンドと管理, 2層設定システム, and 作物レジストリと汎用作物.
