⚖️ 命名空間 GameRules 遊戲規則完整參考
Agrarian Reform 的所有設定參數均作為原生 Minecraft 遊戲規則註冊於命名空間類別 Agrarian Reform (agrarian_reform:*) 下,由 DasikLibrary 的 DynamicGameRuleManager 統一管理。世界專屬設定永久保存於每個世界的 level.dat 中,並可透過遊戲內介面或伺服器指令即時調整。
📊 完整靜態 GameRules 規則對照表
| 遊戲規則鍵名 | 資料類型 | 預設值 | 有效範圍 | 執行端 | 說明描述 |
|---|---|---|---|---|---|
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 | 伺服器 | 完全免疫實體墜落或跳躍對耕地的踩踏破壞。 |
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 | 伺服端 | 全球作物隨機刻与時空連續體離線生長的全局速度百分比(0 = 关闭,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
每当在世界中發現新的模組或原版作物、或通過資料包注册時,Agrarian Reform 都会动态注册一條專屬遊戲規則,格式為:
$$\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⚡ 游戏內动态注册(無需重啟游戏)
- 按需即時實例化:当玩家探索新区域、加载含新模組方塊的區塊或在游戏中播種模組種子時,
AgrarianCropRules会實時检測该作物並立即动态创建其專屬GameRule。 - 命令即刻可用:新注册的遊戲規則可立即通過
/gamerule命令查询和修改,支援完整的 Tab 自动補全,完全無需重啟伺服端或客戶端。 - 資料包热重载同步:在游戏內執行
/reload会触發DynamicRegistryScanner重新扫描BuiltInRegistries.BLOCK,並自动注册資料包新添加的作物標籤。
🛡️ 模組移除与零崩溃休眠生命周期
- 100% 防崩溃解耦:动态遊戲規則完全基于標准字符串与原版
Identifier標识键 ("farmersdelight:tomatoes") 進行识别,绝無任何硬编码的類依赖。 - 休眠与靜默状态:若卸载某作物模組,原版会自动移除其方塊。对应的遊戲規則将转入完全**休眠(空闲)**状态——不執行任何查询,不占用任何 CPU 周期,绝不会引發游戏崩溃或损坏存檔。
- 重新安装無缝恢復:若玩家日后重新安装该模組,保存在
level.dat与config/agrarian-reform.json中的倍率配置将立即被系统自动识别並無缝恢復。
🛠️ 遊戲內管理指令範例
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 指令與管理, 雙層設定系統, and 作物註冊表與通用作物.
