# -*- coding: utf-8 -*- """ ================================================================================ 乡野自然(xy_natural)转化规则数据 ================================================================================ 统一管理"乡野自然"(xy_natural) 分类下的转化规则常量。只被 NaturalService / NaturalTimerService 读取,FeatureDispatcher 通过方块名/物品名 集合路由到对应服务。 【本次实现的功能】 1) 果树结果 (计时): 苹果/桃/橘 树叶 -> 果实形态 逐级结果 2) 葡萄藤生长 (计时): grapebushes_1 -> grapebushes_2 3) 葡萄藤取葡萄 (右键): 成熟葡萄藤 -> 取3葡萄, 变回葡萄藤_1 4) 柴火堆叠/取用 (右键): firewood <-> firewood_2 5) 柴火分解 (工作台配方): firewood -> 9个木条 6) 水稻种植 (手持稻谷右键耕地): farmland -> 水稻刚种下 7) 水稻生长 (计时): riceseedlingsb -> c -> d 8) 水稻收获 (左键破坏掉落): 水稻方块破坏掉稻谷, 成熟额外掉大米 【不实现(后续实现)】 - 果树"树苗成长"机制(树叶对应树苗, 像原版一样长成树): 后续实现, 本次跳过。 【计时说明】 果树结果/藤蔓生长/水稻生长均 autoStart=True(放置/种下后自动开始), 用绝对时间戳写方块实体数据, 退出重进继续计时。 ================================================================================ """ # ============================================================================ # 一、柴火堆叠/取用(右键) # firewood_2(柴火_2) + 手持柴火 -> firewood(柴火_1 堆放) # firewood(堆放) 空手右键 -> firewood_2 + 给1个柴火 # ============================================================================ FIREWOOD_RULES = [ {"source": "rtdd:firewood_2", "item": "rtdd:firewood", "target": "rtdd:firewood", "consume": 1, "tip": "§a堆放柴火"}, {"source": "rtdd:firewood", "item": None, "target": "rtdd:firewood_2", "giveItem": "rtdd:firewood", "tip": "§a取走柴火"}, ] # ============================================================================ # 二、葡萄藤取葡萄(右键) # grapebushes_2(成熟) 空手右键 -> grapebushes_1 + 掉落3个葡萄 # ============================================================================ GRAPE_HARVEST = { "source": "rtdd:grapebushes_2", "item": None, "target": "rtdd:grapebushes_1", "dropItem": [{"name": "rtdd:grape", "count": 3}], "tip": "§a取出了3个葡萄", } # ============================================================================ # 三、水稻收获(左键破坏掉落, 类似原版作物) # 水稻方块被左键破坏 -> 掉落稻谷; 成熟(riceseedlingsd)额外掉大米 # ============================================================================ RICE_BLOCKS = [ "rtdd:riceseedlingsb", # 刚种下 "rtdd:riceseedlingsc", # 生长中 "rtdd:riceseedlingsd", # 成熟 ] RICE_SEED_ITEM = "rtdd:rice_seeds" # 破坏掉落稻谷 RICE_CROP_ITEM = "rtdd:brownrice" # 成熟额外掉落大米 # 汇总: 乡野自然右键切换规则 NATURAL_SWITCHES = FIREWOOD_RULES + [GRAPE_HARVEST] # ============================================================================ # 四、计时转换 (果树结果 / 葡萄藤生长 / 水稻生长, 均 autoStart 自动生长) # ============================================================================ NATURAL_TIMERS = [ # 苹果树: 树叶 -> 苹果形态1 -> 苹果形态2 {"source": "rtdd:apple_leaves", "target": "rtdd:apple_fruit_1", "time": 60, "autoStart": True, "doneTip": "§e苹果树结果了"}, {"source": "rtdd:apple_fruit_1", "target": "rtdd:apple_fruit_3", "time": 60, "autoStart": True, "doneTip": "§e苹果熟了"}, # 桃树: 树叶 -> 桃子一个 -> 桃子两个 {"source": "rtdd:peach_leaves", "target": "rtdd:b_173", "time": 60, "autoStart": True, "doneTip": "§e桃树结果了"}, {"source": "rtdd:b_173", "target": "rtdd:b_176", "time": 60, "autoStart": True, "doneTip": "§e桃子熟了"}, # 橘树: 树叶 -> 橘子形态一 -> 形态二 -> 形态三 {"source": "rtdd:orange_leaves", "target": "rtdd:tangerine_0", "time": 60, "autoStart": True, "doneTip": "§e橘树结果了"}, {"source": "rtdd:tangerine_0", "target": "rtdd:tangerine_1", "time": 60, "autoStart": True}, {"source": "rtdd:tangerine_1", "target": "rtdd:tangerine_2", "time": 60, "autoStart": True, "doneTip": "§e橘子熟了"}, # 葡萄藤: 藤_1 -> 藤_2 {"source": "rtdd:grapebushes_1", "target": "rtdd:grapebushes_2", "time": 180, "autoStart": True, "doneTip": "§e葡萄熟了"}, # 水稻: 刚种下 -> 生长中 -> 成熟 {"source": "rtdd:riceseedlingsb", "target": "rtdd:riceseedlingsc", "time": 120, "autoStart": True}, {"source": "rtdd:riceseedlingsc", "target": "rtdd:riceseedlingsd", "time": 120, "autoStart": True, "doneTip": "§e水稻成熟了"}, ] # ============================================================================ # 五、水稻种植(手持稻谷右键耕地, 在耕地上方放置水稻刚种下) # ============================================================================ RICE_PLANT = { "item": "rtdd:rice_seeds", # 稻谷(手持) "surface": "minecraft:farmland", # 必须右键原版耕地 "target": "rtdd:riceseedlingsb", # 放置水稻刚种下 "consume": 1, "tip": "§a种下水稻", }