⚖️ 命名空间 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 作物注册表与通用作物.
