Skip to content

⚖️ 命名空间 GameRules 游戏规则完整参考

Agrarian Reform 的所有配置参数均作为原生 Minecraft 游戏规则注册在命名空间类别 Agrarian Reform (agrarian_reform:*) 下,由 DasikLibrary 的 DynamicGameRuleManager 统一管理。世界专属设置永久保存在每个世界的 level.dat 中,并可通过游戏内界面或控制台命令动态修改。


📊 完整静态 GameRules 规则对照表

游戏规则键名数据类型默认值有效范围执行端说明描述
agrarian_reform:hydration_source_range整数8032服务端与客户端静态水水源方块通过切比雪夫同心环湿润耕地的有效半径(以方块为单位)。
agrarian_reform:hydration_flowing_range整数4032服务端与客户端流水为耕地提供毛细灌溉的有效半径(以方块为单位)。
agrarian_reform:pure_water_hydration_only布尔falsetrue / false服务端与客户端开启后,含水方块与炼药锅将被忽略,仅纯净水流体方块可湿润耕地。
agrarian_reform:rain_growth_acceleration整数1010服务端降雨天气中露天作物在随机刻中额外奖励的成长阶段数值。
agrarian_reform:growth_biodiversity_bonus布尔truetrue / false服务端当相邻种植不同作物种类时,赋予 +10% 基础生长概率加成。
agrarian_reform:total_trample_immunity布尔falsetrue / false服务端彻底免疫实体坠落或跳跃对耕地的踩踏破坏。
agrarian_reform:trample_immunity_players_only布尔falsetrue / false服务端与彻底踩踏免疫同时启用时,仅玩家和驯服宠物享受保护;敌对与野生生物仍会破坏土壤。
agrarian_reform:always_wet_farmland布尔falsetrue / false服务端与客户端强制所有耕地方块永久保持最高水分等级 7,无需水源滋润。
agrarian_reform:seeds_grow_grass布尔值truetrue / false服务端与客户端手持农作物种子右键点击泥土方块消耗 1 颗种子并将其转化为草方块。
agrarian_reform:right_click_harvest布尔值truetrue / false服务端与客户端右键成熟作物收获掉落物并自动补种为 0 阶段幼苗,带有主手防抖控制。
agrarian_reform:universal_bonemeal布尔值truetrue / false服务端与客户端允许对原版不支持骨粉的植物加速生长(仙人掌、甘蔗、下界疣、藤蔓)。
agrarian_reform:global_growth_multiplier整数10002147483647服务端全球作物随机刻与时空连续体离线生长的全局速度百分比(0 = 关闭,100 = 1倍原版速度)。
agrarian_reform:ambient_crop_rustle布尔值truetrue / false客户端穿过作物或生长阶段推进时播放环境沙沙声效反馈。
agrarian_reform:ambient_vitality_particles布尔值truetrue / false客户端生长阶段成功推进时散发细腻的喜悦村民绿色活力星光粒子。
agrarian_reform:debug_mode布尔值falsetrue / false服务端在服务端日志中输出作物生长刻与时空连续体补偿的详细诊断信息。临时规则:重启后重置为 false

🌾 动态按作物生长倍率 GameRules

每当在世界中发现新的模组或原版作物、或通过数据包注册时,Agrarian Reform 都会动态注册一条专属游戏规则,格式为:

$$\text{GameRule Key} = \text{agrarian_reform:growth_}\langle \text{namespace} \rangle\text{_}\langle \text{path} \rangle$$

Resolution Hierarchy:

  1. 特定作物独立覆盖 ($> 0$):若设为正整数(如 200),该作物将以该速率生长(200% = 2倍速),绕过全局倍率。
  2. 冻结/禁用状态 ($-1$):若设为 -1,该特定作物的生长刻完全冻结(0% 速度),不产生额外随机刻也不进行离线补偿。
  3. 全局倍率继承 ($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.datconfig/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 true

See also: Brigadier 命令与管理, 双层配置系统, and 作物注册表与通用作物.

Official documentation & web portal for Dasik Igaijinn mods.