炒锅翻炒 ok 右键拦截 闪

This commit is contained in:
wenhe committed 2026-09-23 11:23:14 +08:00
1 parent 6caaf09632
commit 9eb9edbb8a
6 files changed
+203 -261

No files matched your search

@@ -10,8 +10,8 @@ ChaoguoService / ChaoguoTimerService 读取, FeatureDispatcher 通过
【实现范围(对应 炒锅转化关系.txt)】
一、炒锅基础 : 炒锅(空)<->(盖锅)、辣椒锅底、葱花锅底
二、放料 : 炒锅(添油)+食材(右键) -> 各菜生态
三、翻炒 : 生态 + 锅铲(右键)x3 -> 熟/下一态(需下方点燃炉灶)
四、计时 : 煎蛋30秒门控 / 煎葱油饼_生60秒 / 煎馍_生60秒 / 煎面饼_生60秒
三、翻炒 : 生态 + 锅铲(右键)x4(每次旋转90度) -> 熟/下一态(需下方点燃炉灶)
四、计时 : 煎蛋2秒门控 / 煎葱油饼_生2秒 / 煎馍_生2秒 / 煎面饼_生2秒
五、出锅 : 熟态 + 盘子(右键) -> 掉落盘装成品, 锅变回炒锅(空)
六、空手出锅 : 煎葱油饼_熟/煎馍_熟/煎面饼_熟/煎酱香饼 空手右键 -> 掉落成品
七、盖饭 : 手持成品菜 右键 米饭(三形态任一) <-> 反向, 见 ITEM_USE_ON_RULES
@@ -236,7 +236,7 @@ PLATE_50 = "rtdd:plate_50" # 鳕鱼盖饭
# 七、右键规则 (方块, 手持物品) -> 规则
# item=None 表示空手右键
# target=替换方块; consume=消耗手持; action=take_out(出锅: 锅变回炒锅(空)+掉落)
# action=stir(翻炒: 锅铲右键计数3次, 满3次变 target, 冷却1.5秒)
# action=stir(翻炒: 锅铲右键旋转计数4次(每次转90度), 满4次变 target, 冷却1.5秒)
# needBelow=下方须是点燃炉灶(翻炒用); needFlag=(键, 阈值, 提示)(出锅门控)
# dropItem=出锅掉落物; startTimer=转换后启动计时(本分类计时由 autoStart 接管)
# ============================================================================
@@ -260,7 +260,7 @@ SWITCH_RULES = [
"tip": "§a放入生猪肉, 变成 炒锅_62(炒猪肉_生); 可加土豆块/胡萝卜碎做炒猪肉"},
# 菜谱5 炒土豆
{"block": OIL_PAN, "item": POTATO_WEDGES, "target": COOKING_POTATO, "consume": 1,
"tip": "§a放入土豆块, 变成 炒锅_47(炒土豆_生); 拿锅铲翻炒3次"},
"tip": "§a放入土豆块, 变成 炒锅_47(炒土豆_生); 拿锅铲翻炒4次"},
# 菜谱6 加葱
{"block": OIL_PAN, "item": CRUSHED_SCALLIONS, "target": COOKING_SCALLIONS, "consume": 3,
"tip": "§a放入葱花碎x3, 变成 炒锅_51(加葱)"},
@@ -269,258 +269,258 @@ SWITCH_RULES = [
"tip": "§a放入蒜末x3, 变成 炒锅_43(加大蒜); 可加螃蟹做炒蟹"},
# 菜谱8 炒胡萝卜 (基底, 两级翻炒)
{"block": OIL_PAN, "item": CARROT, "target": COOKING_CARROT, "consume": 2,
"tip": "§a放入胡萝卜x2, 变成 炒锅_25(炒胡萝卜_生); 拿锅铲翻炒3次"},
"tip": "§a放入胡萝卜x2, 变成 炒锅_25(炒胡萝卜_生); 拿锅铲翻炒4次"},
# 菜谱9 意面 (基底)
{"block": OIL_PAN, "item": NOODLES, "target": PASTA_POT_0, "consume": 2,
"tip": "§a放入生面x2, 变成 炒锅_75(意面_生); 拿锅铲翻炒3次"},
"tip": "§a放入生面x2, 变成 炒锅_75(意面_生); 拿锅铲翻炒4次"},
# 菜谱10 炒碎肉
{"block": OIL_PAN, "item": CRUSHED_MEAT, "target": COOKING_MEAT, "consume": 4,
"tip": "§a放入碎肉x4, 变成 炒锅_44(炒碎肉_生); 拿锅铲翻炒3次"},
"tip": "§a放入碎肉x4, 变成 炒锅_44(炒碎肉_生); 拿锅铲翻炒4次"},
# 菜谱11 炒鱿鱼须
{"block": OIL_PAN, "item": RAW_SQUID_WHISKERS, "target": SQUID_WHISKERS_0, "consume": 3,
"tip": "§a放入鱿鱼须x3, 变成 炒锅_92(炒鱿鱼须_生); 拿锅铲翻炒3次"},
"tip": "§a放入鱿鱼须x3, 变成 炒锅_92(炒鱿鱼须_生); 拿锅铲翻炒4次"},
# 菜谱13 煎鲑鱼
{"block": OIL_PAN, "item": SALMON, "target": COOKING_FISH, "consume": 1,
"tip": "§a放入鲑鱼, 变成 炒锅_41(煎鲑鱼_生); 拿锅铲翻炒3次"},
"tip": "§a放入鲑鱼, 变成 炒锅_41(煎鲑鱼_生); 拿锅铲翻炒4次"},
# 菜谱14 炒鱿鱼 (两级翻炒)
{"block": OIL_PAN, "item": DEAD_SQUID, "target": COOKING_SQUID, "consume": 1,
"tip": "§a放入死鱿鱼(切掉鱿鱼须), 变成 炒锅_56(炒鱿鱼_生); 拿锅铲翻炒3次"},
"tip": "§a放入死鱿鱼(切掉鱿鱼须), 变成 炒锅_56(炒鱿鱼_生); 拿锅铲翻炒4次"},
# 菜谱15 煎蛋
{"block": OIL_PAN, "item": EGG, "target": COOKED_EGG, "consume": 1,
"tip": "§a打入鸡蛋, 变成 炒锅_17(煎蛋); 放在点燃炉灶上30秒煎熟"},
"tip": "§a打入鸡蛋, 变成 炒锅_17(煎蛋); 放在点燃炉灶上计时煎熟"},
# 菜谱16 黑椒牛排
{"block": OIL_PAN, "item": BEEF, "target": CARROT_AND_BEEF, "consume": 1,
"tip": "§a放入生牛肉, 变成 炒锅_1(黑椒牛排_生); 拿锅铲翻炒3次"},
"tip": "§a放入生牛肉, 变成 炒锅_1(黑椒牛排_生); 拿锅铲翻炒4次"},
# 菜谱18 黑椒牛腿
{"block": OIL_PAN, "item": LEGCOW, "target": CARROT_AND_LEGCOW, "consume": 1,
"tip": "§a放入牛腿肉, 变成 炒锅_5(黑椒牛腿_生); 拿锅铲翻炒3次"},
"tip": "§a放入牛腿肉, 变成 炒锅_5(黑椒牛腿_生); 拿锅铲翻炒4次"},
# 菜谱25 小炒五花肉
{"block": OIL_PAN, "item": PORKLOINS, "target": COOKING_COOKED_PORKLOIN, "consume": 1,
"tip": "§a放入五花肉, 变成 炒锅_30(小炒五花肉_生); 拿锅铲翻炒3次"},
"tip": "§a放入五花肉, 变成 炒锅_30(小炒五花肉_生); 拿锅铲翻炒4次"},
# 菜谱38 炒时蔬(加蔬菜)
{"block": OIL_PAN, "item": VEGETABLE, "target": COOKING_VEGETABLES, "consume": 4,
"tip": "§a放入青菜碎x4, 变成 炒锅_59(炒时蔬_加蔬菜_生); 拿锅铲翻炒3次"},
"tip": "§a放入青菜碎x4, 变成 炒锅_59(炒时蔬_加蔬菜_生); 拿锅铲翻炒4次"},
# 菜谱41 煎馍
{"block": OIL_PAN, "item": DOUGH_0, "target": COOKING_DOUGH_0, "consume": 1,
"tip": "§a放入生面团(发酵后), 变成 炒锅_36(煎馍_生); 放在点燃炉灶上计时60秒"},
"tip": "§a放入生面团(发酵后), 变成 炒锅_36(煎馍_生); 放在点燃炉灶上计时煎熟"},
# 菜谱42 煎面饼
{"block": OIL_PAN, "item": DOUGHT_7, "target": COOKING_DOUGHT_0, "consume": 1,
"tip": "§a放入生面饼, 变成 炒锅_39(煎面饼_生); 放在点燃炉灶上计时60秒"},
"tip": "§a放入生面饼, 变成 炒锅_39(煎面饼_生); 放在点燃炉灶上计时煎熟"},
# 菜谱44 小炒鸡肉
{"block": OIL_PAN, "item": CHICKEN, "target": COOKING_ANY_MEAT, "consume": 1,
"tip": "§a放入生鸡肉, 变成 炒锅_22(小炒鸡肉_生); 拿锅铲翻炒3次"},
"tip": "§a放入生鸡肉, 变成 炒锅_22(小炒鸡肉_生); 拿锅铲翻炒4次"},
# ---------------- 三、基底/中间态 + 主料 -> 菜生态 ----------------
# 菜谱12 炒蟹 (加大蒜 + 螃蟹)
{"block": COOKING_GARLIC, "item": CRAB, "target": COOKING_CRAB_1, "consume": 1,
"tip": "§a加大蒜炒螃蟹, 变成 炒锅_34(炒蟹_生); 拿锅铲翻炒3次"},
"tip": "§a加大蒜炒螃蟹, 变成 炒锅_34(炒蟹_生); 拿锅铲翻炒4次"},
# 菜谱17 胡萝卜牛排骨 (炒胡萝卜_熟 + 牛肋x2)
{"block": COOKING_PEPPER, "item": COSTILLAVACAES, "target": CARROT_AND_BEEFRIBS, "consume": 2,
"tip": "§a炒胡萝卜加牛肋x2, 变成 炒锅_3(胡萝卜牛排骨_生); 拿锅铲翻炒3次"},
"tip": "§a炒胡萝卜加牛肋x2, 变成 炒锅_3(胡萝卜牛排骨_生); 拿锅铲翻炒4次"},
# 菜谱19 清炒羊肉 (葱花锅底 + 羊肉)
{"block": VEGETABLE_POT_BASE, "item": MUTTON, "target": CARROT_AND_MUTTON, "consume": 1,
"tip": "§a葱花锅底加羊肉, 变成 炒锅_7(清炒羊肉_生); 拿锅铲翻炒3次"},
"tip": "§a葱花锅底加羊肉, 变成 炒锅_7(清炒羊肉_生); 拿锅铲翻炒4次"},
# 菜谱20 清炒猪排 (葱花锅底 + 猪肉)
{"block": VEGETABLE_POT_BASE, "item": PORKCHOP, "target": CARROT_AND_PORKCHOP, "consume": 1,
"tip": "§a葱花锅底加猪肉, 变成 炒锅_9(清炒猪排_生); 拿锅铲翻炒3次"},
"tip": "§a葱花锅底加猪肉, 变成 炒锅_9(清炒猪排_生); 拿锅铲翻炒4次"},
# 菜谱21 胡萝卜鲑鱼 (炒胡萝卜_熟 + 鲑鱼)
{"block": COOKING_PEPPER, "item": SALMON, "target": CARROT_AND_SALMON, "consume": 1,
"tip": "§a炒胡萝卜加鲑鱼, 变成 炒锅_11(胡萝卜鲑鱼_生); 拿锅铲翻炒3次"},
"tip": "§a炒胡萝卜加鲑鱼, 变成 炒锅_11(胡萝卜鲑鱼_生); 拿锅铲翻炒4次"},
# 菜谱22 胡萝卜羊腿 (炒胡萝卜_熟 + 羊腿)
{"block": COOKING_PEPPER, "item": LEGSLEEP, "target": CARROT_LEG_OF_LAMB, "consume": 1,
"tip": "§a炒胡萝卜加羊腿, 变成 炒锅_13(胡萝卜羊腿_生); 拿锅铲翻炒3次"},
"tip": "§a炒胡萝卜加羊腿, 变成 炒锅_13(胡萝卜羊腿_生); 拿锅铲翻炒4次"},
# 菜谱23 胡萝卜炒鳕鱼 (炒胡萝卜_熟 + 鳕鱼)
{"block": COOKING_PEPPER, "item": COD, "target": COOKING_COD, "consume": 1,
"tip": "§a炒胡萝卜加鳕鱼, 变成 炒锅_28(胡萝卜炒鳕鱼_生); 拿锅铲翻炒3次"},
"tip": "§a炒胡萝卜加鳕鱼, 变成 炒锅_28(胡萝卜炒鳕鱼_生); 拿锅铲翻炒4次"},
# 菜谱24 胡萝卜牛里脊 (炒胡萝卜_熟 + 牛里脊)
{"block": COOKING_PEPPER, "item": BEEF_TENDERLOIN, "target": COOKING_BEEF_TENDERLOIN, "consume": 1,
"tip": "§a炒胡萝卜加牛里脊, 变成 炒锅_23(胡萝卜牛里脊_生); 拿锅铲翻炒3次"},
"tip": "§a炒胡萝卜加牛里脊, 变成 炒锅_23(胡萝卜牛里脊_生); 拿锅铲翻炒4次"},
# 菜谱26 胡萝卜炒猪排骨 (炒胡萝卜_熟 + 猪肋排x2)
{"block": COOKING_PEPPER, "item": PORKRIB, "target": COOKING_COOKED_PORKRIBS, "consume": 2,
"tip": "§a炒胡萝卜加猪肋排x2, 变成 炒锅_32(胡萝卜炒猪排骨_生); 拿锅铲翻炒3次"},
"tip": "§a炒胡萝卜加猪肋排x2, 变成 炒锅_32(胡萝卜炒猪排骨_生); 拿锅铲翻炒4次"},
# 菜谱27 胡萝卜炒羊里脊 (炒胡萝卜_熟 + 羊里脊x2)
{"block": COOKING_PEPPER, "item": SHEEPLOINS, "target": COOKING_SHEEPLOIN, "consume": 2,
"tip": "§a炒胡萝卜加羊里脊x2, 变成 炒锅_52(胡萝卜炒羊里脊_生); 拿锅铲翻炒3次"},
"tip": "§a炒胡萝卜加羊里脊x2, 变成 炒锅_52(胡萝卜炒羊里脊_生); 拿锅铲翻炒4次"},
# 菜谱28 胡萝卜炒羊排 (炒胡萝卜_熟 + 羊小排x2)
{"block": COOKING_PEPPER, "item": SHEEPRACKS, "target": COOKING_SHEEPRACK, "consume": 2,
"tip": "§a炒胡萝卜加羊小排x2, 变成 炒锅_54(胡萝卜炒羊排_生); 拿锅铲翻炒3次"},
"tip": "§a炒胡萝卜加羊小排x2, 变成 炒锅_54(胡萝卜炒羊排_生); 拿锅铲翻炒4次"},
# 菜谱29 辣子鸡丁 (辣椒锅底 + 鸡肉)
{"block": CARROT_POT_BASE, "item": CHICKEN, "target": COOKING_CHILI_CHICKEN, "consume": 1,
"tip": "§a辣椒锅底加鸡肉, 变成 炒锅_26(辣子鸡丁_生); 拿锅铲翻炒3次"},
"tip": "§a辣椒锅底加鸡肉, 变成 炒锅_26(辣子鸡丁_生); 拿锅铲翻炒4次"},
# 菜谱30 辣炒兔肉 (辣椒锅底 + 兔肉x2)
{"block": CARROT_POT_BASE, "item": RABBIT, "target": COOKING_RABBIT, "consume": 2,
"tip": "§a辣椒锅底加兔肉x2, 变成 炒锅_49(辣炒兔肉_生); 拿锅铲翻炒3次"},
"tip": "§a辣椒锅底加兔肉x2, 变成 炒锅_49(辣炒兔肉_生); 拿锅铲翻炒4次"},
# 菜谱31 辣炒鲑鱼 (辣椒锅底 + 鲑鱼)
{"block": CARROT_POT_BASE, "item": SALMON, "target": SPICY_FISH_0, "consume": 1,
"tip": "§a辣椒锅底加鲑鱼, 变成 炒锅_90(辣炒鲑鱼_生); 拿锅铲翻炒3次"},
"tip": "§a辣椒锅底加鲑鱼, 变成 炒锅_90(辣炒鲑鱼_生); 拿锅铲翻炒4次"},
# 菜谱32 辣椒炒牛肉 (辣椒锅底 + 牛肉)
{"block": CARROT_POT_BASE, "item": BEEF, "target": OILPAN_CHILI_BEEF_1, "consume": 1,
"tip": "§a辣椒锅底加牛肉, 变成 炒锅_71(辣椒炒牛肉_生); 拿锅铲翻炒3次 或 加豆腐做麻婆豆腐"},
"tip": "§a辣椒锅底加牛肉, 变成 炒锅_71(辣椒炒牛肉_生); 拿锅铲翻炒4次 或 加豆腐做麻婆豆腐"},
# 菜谱33 麻婆豆腐 (辣椒炒牛肉_生 + 豆腐)
{"block": OILPAN_CHILI_BEEF_1, "item": BEANCURD, "target": OILPAN_CHILI_BEEF_BEANCURD, "consume": 1,
"tip": "§a辣椒炒牛肉加豆腐, 变成 炒锅_73(麻婆豆腐_生); 拿锅铲翻炒3次"},
"tip": "§a辣椒炒牛肉加豆腐, 变成 炒锅_73(麻婆豆腐_生); 拿锅铲翻炒4次"},
# 菜谱34 香菇滑鸡 (小炒鸡肉_半熟 + 香菇x8)
{"block": FRIED_CHICKEN, "item": BROWN_MUSHROOM, "target": MUSHROOM_FRIED_CHICKEN_1, "consume": 8,
"tip": "§a小炒鸡肉加香菇x8, 变成 炒锅_68(香菇滑鸡_生); 拿锅铲翻炒3次"},
"tip": "§a小炒鸡肉加香菇x8, 变成 炒锅_68(香菇滑鸡_生); 拿锅铲翻炒4次"},
{"block": FRIED_CHICKEN, "item": RED_MUSHROOM, "target": MUSHROOM_FRIED_CHICKEN_1, "consume": 8,
"tip": "§a小炒鸡肉加香菇x8, 变成 炒锅_68(香菇滑鸡_生); 拿锅铲翻炒3次"},
"tip": "§a小炒鸡肉加香菇x8, 变成 炒锅_68(香菇滑鸡_生); 拿锅铲翻炒4次"},
# 菜谱35 土豆炒猪肉 (组合A: 炒猪肉_生 + 土豆块x3; 组合B: 炒土豆_熟 + 猪肉)
{"block": FRIED_PORK, "item": POTATO_WEDGES, "target": FRIED_PORK_WITH_POTATOES, "consume": 3,
"tip": "§a炒猪肉加土豆块x3, 变成 炒锅_64(土豆炒猪肉_生); 拿锅铲翻炒3次"},
"tip": "§a炒猪肉加土豆块x3, 变成 炒锅_64(土豆炒猪肉_生); 拿锅铲翻炒4次"},
{"block": COOKING_POTATO_1, "item": PORKCHOP, "target": FRIED_PORK_WITH_POTATOES, "consume": 1,
"tip": "§a炒土豆加生猪肉, 变成 炒锅_64(土豆炒猪肉_生); 拿锅铲翻炒3次"},
"tip": "§a炒土豆加生猪肉, 变成 炒锅_64(土豆炒猪肉_生); 拿锅铲翻炒4次"},
# 菜谱36 胡萝卜炒猪肉 (组合A: 炒猪肉_生 + 胡萝卜碎x3; 组合B: 炒胡萝卜_熟 + 猪肉)
{"block": FRIED_PORK, "item": CRUSHED_CARROTS, "target": FRIED_PORK_WITH_CARROTS, "consume": 3,
"tip": "§a炒猪肉加胡萝卜碎x3, 变成 炒锅_63(胡萝卜炒猪肉_生); 拿锅铲翻炒3次"},
"tip": "§a炒猪肉加胡萝卜碎x3, 变成 炒锅_63(胡萝卜炒猪肉_生); 拿锅铲翻炒4次"},
{"block": COOKING_PEPPER, "item": PORKCHOP, "target": FRIED_PORK_WITH_CARROTS, "consume": 1,
"tip": "§a炒胡萝卜加生猪肉, 变成 炒锅_63(胡萝卜炒猪肉_生); 拿锅铲翻炒3次"},
"tip": "§a炒胡萝卜加生猪肉, 变成 炒锅_63(胡萝卜炒猪肉_生); 拿锅铲翻炒4次"},
# 菜谱38 炒时蔬(加胡萝卜) (炒时蔬_加蔬菜_熟 + 胡萝卜碎)
{"block": COOKING_VEGETABLES_1, "item": CRUSHED_CARROTS, "target": SEASONAL_VEGETABLES, "consume": 1,
"tip": "§a炒时蔬加胡萝卜碎, 变成 炒锅_88(炒时蔬_加胡萝卜_生); 拿锅铲翻炒3次"},
"tip": "§a炒时蔬加胡萝卜碎, 变成 炒锅_88(炒时蔬_加胡萝卜_生); 拿锅铲翻炒4次"},
# 菜谱39 煎葱油饼 (煎面饼_生 + 葱花碎x3)
{"block": COOKING_DOUGHT_0, "item": CRUSHED_SCALLIONS, "target": COOKING_SCALLION_PANCAKE_0, "consume": 3,
"tip": "§a煎面饼加葱花碎x3, 变成 炒锅_20(煎葱油饼_生); 放在点燃炉灶上计时60秒"},
"tip": "§a煎面饼加葱花碎x3, 变成 炒锅_20(煎葱油饼_生); 放在点燃炉灶上计时煎熟"},
# 菜谱40 煎酱香饼 (煎面饼_熟 + 辣椒x3)
{"block": COOKING_DOUGHT_1, "item": PEPPER, "target": COOKING_PANCAKE_2, "consume": 3,
"tip": "§a煎面饼加辣椒x3, 变成 炒锅_46(煎酱香饼); 拿锅铲翻炒3次"},
"tip": "§a煎面饼加辣椒x3, 变成 炒锅_46(煎酱香饼); 拿锅铲翻炒4次"},
# 菜谱45~48 意面系 (意面_熟 + 主料)
{"block": PASTA_POT_1, "item": COOKED_BEEF, "target": PASTA_POT_2, "consume": 1,
"tip": "§a意面加熟牛肉, 变成 炒锅_77(牛肉意面_生); 拿锅铲翻炒3次"},
"tip": "§a意面加熟牛肉, 变成 炒锅_77(牛肉意面_生); 拿锅铲翻炒4次"},
{"block": PASTA_POT_1, "item": BROWN_MUSHROOM, "target": PASTA_POT_4, "consume": 5,
"tip": "§a意面加香菇x5, 变成 炒锅_79(香菇意面_生); 拿锅铲翻炒3次"},
"tip": "§a意面加香菇x5, 变成 炒锅_79(香菇意面_生); 拿锅铲翻炒4次"},
{"block": PASTA_POT_1, "item": CRUSHED_CARROTS, "target": PASTA_POT_6, "consume": 3,
"tip": "§a意面加胡萝卜碎x3, 变成 炒锅_81(胡萝卜意面_生); 拿锅铲翻炒3次"},
"tip": "§a意面加胡萝卜碎x3, 变成 炒锅_81(胡萝卜意面_生); 拿锅铲翻炒4次"},
{"block": PASTA_POT_1, "item": CHICKEN, "target": PASTA_POT_8, "consume": 1,
"tip": "§a意面加鸡肉, 变成 炒锅_83(鸡肉番茄意面_生); 拿锅铲翻炒3次"},
"tip": "§a意面加鸡肉, 变成 炒锅_83(鸡肉番茄意面_生); 拿锅铲翻炒4次"},
# 菜谱49 蛋炒饭 (煎蛋 + 胡萝卜碎x3)
{"block": COOKED_EGG, "item": CRUSHED_CARROTS, "target": RICE_EGG_1, "consume": 3,
"tip": "§a煎蛋加胡萝卜碎x3, 变成 炒锅_85(蛋炒饭_加胡萝卜_生); 拿锅铲翻炒3次"},
"tip": "§a煎蛋加胡萝卜碎x3, 变成 炒锅_85(蛋炒饭_加胡萝卜_生); 拿锅铲翻炒4次"},
# ---------------- 四、翻炒(锅铲右键3次, 需下方点燃炉灶, 冷却1.5秒) ----------------
{"block": COOKING_CARROT, "item": SPATULA, "action": "stir", "target": WOKCARROT_1, "times": 3,
# ---------------- 四、翻炒(锅铲右键旋转4次, 需下方点燃炉灶, 冷却1.5秒) ----------------
{"block": COOKING_CARROT, "item": SPATULA, "action": "stir", "target": WOKCARROT_1, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_95(炒胡萝卜_半熟); 再翻炒3次可熟"},
{"block": WOKCARROT_1, "item": SPATULA, "action": "stir", "target": COOKING_PEPPER, "times": 3,
"tip": "§a翻炒完成, 变成 炒锅_95(炒胡萝卜_半熟); 再翻炒4次可熟"},
{"block": WOKCARROT_1, "item": SPATULA, "action": "stir", "target": COOKING_PEPPER, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_19(炒胡萝卜_熟); 可作胡萝卜系菜基底"},
{"block": PASTA_POT_0, "item": SPATULA, "action": "stir", "target": PASTA_POT_1, "times": 3,
{"block": PASTA_POT_0, "item": SPATULA, "action": "stir", "target": PASTA_POT_1, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_76(意面_熟); 可加牛肉/香菇/胡萝卜碎/鸡肉"},
{"block": COOKING_POTATO, "item": SPATULA, "action": "stir", "target": COOKING_POTATO_1, "times": 3,
{"block": COOKING_POTATO, "item": SPATULA, "action": "stir", "target": COOKING_POTATO_1, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_48(炒土豆_熟); 可手持盘子出锅 或 加猪肉做土豆炒猪肉"},
{"block": COOKING_MEAT, "item": SPATULA, "action": "stir", "target": COOKING_MEAT_1, "times": 3,
{"block": COOKING_MEAT, "item": SPATULA, "action": "stir", "target": COOKING_MEAT_1, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_45(炒碎肉_熟); 可手持盘子出锅"},
{"block": SQUID_WHISKERS_0, "item": SPATULA, "action": "stir", "target": SQUID_WHISKERS_1, "times": 3,
{"block": SQUID_WHISKERS_0, "item": SPATULA, "action": "stir", "target": SQUID_WHISKERS_1, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_93(炒鱿鱼须_熟); 可手持盘子出锅"},
{"block": COOKING_CRAB_1, "item": SPATULA, "action": "stir", "target": COOKING_CRAB_2, "times": 3,
{"block": COOKING_CRAB_1, "item": SPATULA, "action": "stir", "target": COOKING_CRAB_2, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_35(炒蟹_熟); 可手持盘子出锅"},
{"block": COOKING_FISH, "item": SPATULA, "action": "stir", "target": COOKING_FISH_1, "times": 3,
{"block": COOKING_FISH, "item": SPATULA, "action": "stir", "target": COOKING_FISH_1, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_42(煎鲑鱼_熟); 可手持盘子出锅"},
{"block": COOKING_SQUID, "item": SPATULA, "action": "stir", "target": COOKING_SQUID_1, "times": 3,
{"block": COOKING_SQUID, "item": SPATULA, "action": "stir", "target": COOKING_SQUID_1, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_57(炒鱿鱼_半熟); 再翻炒3次可熟"},
{"block": COOKING_SQUID_1, "item": SPATULA, "action": "stir", "target": COOKING_SQUID_2, "times": 3,
"tip": "§a翻炒完成, 变成 炒锅_57(炒鱿鱼_半熟); 再翻炒4次可熟"},
{"block": COOKING_SQUID_1, "item": SPATULA, "action": "stir", "target": COOKING_SQUID_2, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_58(炒鱿鱼_熟); 可手持盘子出锅"},
{"block": CARROT_AND_BEEF, "item": SPATULA, "action": "stir", "target": CARROT_AND_BEEF_1, "times": 3,
{"block": CARROT_AND_BEEF, "item": SPATULA, "action": "stir", "target": CARROT_AND_BEEF_1, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_2(黑椒牛排_熟); 可手持盘子出锅"},
{"block": CARROT_AND_BEEFRIBS, "item": SPATULA, "action": "stir", "target": CARROT_AND_BEEFRIBS_1, "times": 3,
{"block": CARROT_AND_BEEFRIBS, "item": SPATULA, "action": "stir", "target": CARROT_AND_BEEFRIBS_1, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_4(胡萝卜牛排骨_熟); 可手持盘子出锅"},
{"block": CARROT_AND_LEGCOW, "item": SPATULA, "action": "stir", "target": CARROT_AND_LEGCOW_1, "times": 3,
{"block": CARROT_AND_LEGCOW, "item": SPATULA, "action": "stir", "target": CARROT_AND_LEGCOW_1, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_6(黑椒牛腿_熟); 可手持盘子出锅"},
{"block": CARROT_AND_MUTTON, "item": SPATULA, "action": "stir", "target": CARROT_AND_MUTTON_1, "times": 3,
{"block": CARROT_AND_MUTTON, "item": SPATULA, "action": "stir", "target": CARROT_AND_MUTTON_1, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_8(清炒羊肉_熟); 可手持盘子出锅"},
{"block": CARROT_AND_PORKCHOP, "item": SPATULA, "action": "stir", "target": CARROT_AND_PORKCHOP_1, "times": 3,
{"block": CARROT_AND_PORKCHOP, "item": SPATULA, "action": "stir", "target": CARROT_AND_PORKCHOP_1, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_10(清炒猪排_熟); 可手持盘子出锅"},
{"block": CARROT_AND_SALMON, "item": SPATULA, "action": "stir", "target": CARROT_AND_SALMON_1, "times": 3,
{"block": CARROT_AND_SALMON, "item": SPATULA, "action": "stir", "target": CARROT_AND_SALMON_1, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_12(胡萝卜鲑鱼_熟); 可手持盘子出锅"},
{"block": CARROT_LEG_OF_LAMB, "item": SPATULA, "action": "stir", "target": CARROT_LEG_OF_LAMB_1, "times": 3,
{"block": CARROT_LEG_OF_LAMB, "item": SPATULA, "action": "stir", "target": CARROT_LEG_OF_LAMB_1, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_14(胡萝卜羊腿_熟); 可手持盘子出锅"},
{"block": COOKING_COD, "item": SPATULA, "action": "stir", "target": COOKING_COD_1, "times": 3,
{"block": COOKING_COD, "item": SPATULA, "action": "stir", "target": COOKING_COD_1, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_29(胡萝卜炒鳕鱼_熟); 可手持盘子出锅"},
{"block": COOKING_BEEF_TENDERLOIN, "item": SPATULA, "action": "stir", "target": COOKING_BEEF_TENDERLOIN_1, "times": 3,
{"block": COOKING_BEEF_TENDERLOIN, "item": SPATULA, "action": "stir", "target": COOKING_BEEF_TENDERLOIN_1, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_24(胡萝卜牛里脊_熟); 可手持盘子出锅"},
{"block": COOKING_COOKED_PORKLOIN, "item": SPATULA, "action": "stir", "target": COOKING_COOKED_PORKLOIN_1, "times": 3,
{"block": COOKING_COOKED_PORKLOIN, "item": SPATULA, "action": "stir", "target": COOKING_COOKED_PORKLOIN_1, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_31(小炒五花肉_熟); 可手持盘子出锅"},
{"block": COOKING_COOKED_PORKRIBS, "item": SPATULA, "action": "stir", "target": COOKING_COOKED_PORKRIBS_1, "times": 3,
{"block": COOKING_COOKED_PORKRIBS, "item": SPATULA, "action": "stir", "target": COOKING_COOKED_PORKRIBS_1, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_33(胡萝卜炒猪排骨_熟); 可手持盘子出锅"},
{"block": COOKING_SHEEPLOIN, "item": SPATULA, "action": "stir", "target": COOKING_SHEEPLOIN_1, "times": 3,
{"block": COOKING_SHEEPLOIN, "item": SPATULA, "action": "stir", "target": COOKING_SHEEPLOIN_1, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_53(胡萝卜炒羊里脊_熟); 可手持盘子出锅"},
{"block": COOKING_SHEEPRACK, "item": SPATULA, "action": "stir", "target": COOKING_SHEEPRACK_1, "times": 3,
{"block": COOKING_SHEEPRACK, "item": SPATULA, "action": "stir", "target": COOKING_SHEEPRACK_1, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_55(胡萝卜炒羊排_熟); 可手持盘子出锅"},
{"block": COOKING_CHILI_CHICKEN, "item": SPATULA, "action": "stir", "target": COOKING_CHILI_CHICKEN_2, "times": 3,
{"block": COOKING_CHILI_CHICKEN, "item": SPATULA, "action": "stir", "target": COOKING_CHILI_CHICKEN_2, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_27(辣子鸡丁_熟); 可手持盘子出锅"},
{"block": COOKING_RABBIT, "item": SPATULA, "action": "stir", "target": COOKING_RABBIT_1, "times": 3,
{"block": COOKING_RABBIT, "item": SPATULA, "action": "stir", "target": COOKING_RABBIT_1, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_50(辣炒兔肉_熟); 可手持盘子出锅"},
{"block": SPICY_FISH_0, "item": SPATULA, "action": "stir", "target": SPICY_FISH_1, "times": 3,
{"block": SPICY_FISH_0, "item": SPATULA, "action": "stir", "target": SPICY_FISH_1, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_91(辣炒鲑鱼_熟); 可手持盘子出锅"},
{"block": OILPAN_CHILI_BEEF_1, "item": SPATULA, "action": "stir", "target": OILPAN_CHILI_BEEF_2, "times": 3,
{"block": OILPAN_CHILI_BEEF_1, "item": SPATULA, "action": "stir", "target": OILPAN_CHILI_BEEF_2, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_72(辣椒炒牛肉_熟); 可手持盘子出锅"},
{"block": OILPAN_CHILI_BEEF_BEANCURD, "item": SPATULA, "action": "stir", "target": OILPAN_CHILI_BEEF_BEANCURD_2, "times": 3,
{"block": OILPAN_CHILI_BEEF_BEANCURD, "item": SPATULA, "action": "stir", "target": OILPAN_CHILI_BEEF_BEANCURD_2, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_74(麻婆豆腐_熟); 可手持盘子出锅"},
{"block": MUSHROOM_FRIED_CHICKEN_1, "item": SPATULA, "action": "stir", "target": MUSHROOM_FRIED_CHICKEN_2, "times": 3,
{"block": MUSHROOM_FRIED_CHICKEN_1, "item": SPATULA, "action": "stir", "target": MUSHROOM_FRIED_CHICKEN_2, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_69(香菇滑鸡_熟); 可手持盘子出锅"},
{"block": FRIED_PORK_WITH_POTATOES, "item": SPATULA, "action": "stir", "target": FRIED_PORK_WITH_POTATOES_1, "times": 3,
{"block": FRIED_PORK_WITH_POTATOES, "item": SPATULA, "action": "stir", "target": FRIED_PORK_WITH_POTATOES_1, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_65(土豆炒猪肉_熟); 可手持盘子出锅"},
{"block": FRIED_PORK_WITH_CARROTS, "item": SPATULA, "action": "stir", "target": FRIED_PORK_WITH_CARROTS_1, "times": 3,
{"block": FRIED_PORK_WITH_CARROTS, "item": SPATULA, "action": "stir", "target": FRIED_PORK_WITH_CARROTS_1, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_67(胡萝卜炒猪肉_熟); 可手持盘子出锅"},
{"block": COOKING_VEGETABLES, "item": SPATULA, "action": "stir", "target": COOKING_VEGETABLES_1, "times": 3,
{"block": COOKING_VEGETABLES, "item": SPATULA, "action": "stir", "target": COOKING_VEGETABLES_1, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_60(炒时蔬_加蔬菜_熟); 可加胡萝卜碎做炒时蔬"},
{"block": SEASONAL_VEGETABLES, "item": SPATULA, "action": "stir", "target": SEASONAL_VEGETABLES_1, "times": 3,
{"block": SEASONAL_VEGETABLES, "item": SPATULA, "action": "stir", "target": SEASONAL_VEGETABLES_1, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_89(炒时蔬_加胡萝卜_熟); 可手持盘子出锅"},
{"block": COOKING_ANY_MEAT, "item": SPATULA, "action": "stir", "target": FRIED_CHICKEN, "times": 3,
{"block": COOKING_ANY_MEAT, "item": SPATULA, "action": "stir", "target": FRIED_CHICKEN, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_66(小炒鸡肉_半熟); 再翻炒3次变熟 或 加香菇x8做香菇滑鸡"},
{"block": FRIED_CHICKEN, "item": SPATULA, "action": "stir", "target": COOKED_ANY_MEAT, "times": 3,
"tip": "§a翻炒完成, 变成 炒锅_66(小炒鸡肉_半熟); 再翻炒4次变熟 或 加香菇x8做香菇滑鸡"},
{"block": FRIED_CHICKEN, "item": SPATULA, "action": "stir", "target": COOKED_ANY_MEAT, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_16(小炒鸡肉_熟); 可手持盘子出锅"},
{"block": PASTA_POT_2, "item": SPATULA, "action": "stir", "target": PASTA_POT_3, "times": 3,
{"block": PASTA_POT_2, "item": SPATULA, "action": "stir", "target": PASTA_POT_3, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_78(牛肉意面_熟); 可手持盘子出锅"},
{"block": PASTA_POT_4, "item": SPATULA, "action": "stir", "target": PASTA_POT_5, "times": 3,
{"block": PASTA_POT_4, "item": SPATULA, "action": "stir", "target": PASTA_POT_5, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_80(香菇意面_熟); 可手持盘子出锅"},
{"block": PASTA_POT_6, "item": SPATULA, "action": "stir", "target": PASTA_POT_7, "times": 3,
{"block": PASTA_POT_6, "item": SPATULA, "action": "stir", "target": PASTA_POT_7, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_82(胡萝卜意面_熟); 可手持盘子出锅"},
{"block": PASTA_POT_8, "item": SPATULA, "action": "stir", "target": PASTA_POT_9, "times": 3,
{"block": PASTA_POT_8, "item": SPATULA, "action": "stir", "target": PASTA_POT_9, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_84(鸡肉番茄意面_熟); 可手持盘子出锅"},
{"block": RICE_EGG_1, "item": SPATULA, "action": "stir", "target": RICE_EGG_2, "times": 3,
{"block": RICE_EGG_1, "item": SPATULA, "action": "stir", "target": RICE_EGG_2, "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成, 变成 炒锅_86(蛋炒饭_加胡萝卜_熟); 再加米饭做蛋炒饭"},
# 菜谱40 煎酱香饼: 翻炒3次(方块不变, 门控 rtdd_cf=3), 满3次可空手出锅
{"block": COOKING_PANCAKE_2, "item": SPATULA, "action": "stir", "times": 3,
# 菜谱40 煎酱香饼: 翻炒4次(方块不变, 门控 rtdd_cf=4), 满4次可空手出锅
{"block": COOKING_PANCAKE_2, "item": SPATULA, "action": "stir", "times": 4,
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
"tip": "§a翻炒完成(3/3); 空手右键出锅 酱香饼"},
"tip": "§a翻炒完成(4/4); 空手右键出锅 酱香饼"},
# ---------------- 五、出锅(熟态 + 盘子 -> 掉落盘装成品, 锅变回炒锅(空)) ----------------
{"block": COOKING_POTATO_1, "item": PLATE, "action": "take_out",
@@ -537,7 +537,7 @@ SWITCH_RULES = [
"dropItem": PLATE_26, "consume": 1, "tip": "§a取出 炒鱿鱼, 锅变回 炒锅(空); 成品【吃】右键食用"},
# 菜谱15 煎蛋(熟): 需计时门控 rtdd_cg=1
{"block": COOKED_EGG, "item": PLATE, "action": "take_out",
"dropItem": PLATE_22, "consume": 1, "needFlag": ["rtdd_cg", 1, "§e煎蛋还没煎熟, 再等30秒"],
"dropItem": PLATE_22, "consume": 1, "needFlag": ["rtdd_cg", 1, "§e煎蛋还没煎熟, 再等等"],
"tip": "§a取出 元气煎蛋, 锅变回 炒锅(空); 成品【吃】右键食用"},
{"block": CARROT_AND_BEEF_1, "item": PLATE, "action": "take_out",
"dropItem": PLATE_2, "consume": 1, "tip": "§a取出 黑椒牛排, 锅变回 炒锅(空); 成品【吃】右键食用"},
@@ -606,9 +606,9 @@ SWITCH_RULES = [
# 菜谱42 煎面饼_熟 空手出锅 -> 煎饼
{"block": COOKING_DOUGHT_1, "item": None, "action": "take_out",
"dropItem": COOKED_DOUGHT, "tip": "§a取出 煎饼, 锅变回 炒锅(空); 煎饼可卷菜"},
# 菜谱40 煎酱香饼(需翻炒3次门控 rtdd_cf=3) 空手出锅 -> 酱香饼
# 菜谱40 煎酱香饼(需翻炒4次门控 rtdd_cf=4) 空手出锅 -> 酱香饼
{"block": COOKING_PANCAKE_2, "item": None, "action": "take_out",
"dropItem": COOKED_PANCAKE, "needFlag": ["rtdd_cf", 3, "§c请先用锅铲翻炒3次"],
"dropItem": COOKED_PANCAKE, "needFlag": ["rtdd_cf", 4, "§c请先用锅铲翻炒4次"],
"tip": "§a取出 酱香饼, 锅变回 炒锅(空); 成品【吃】右键食用"},
]
@@ -660,20 +660,20 @@ for _rice in RICE_FORMS:
# mark: 门控计时(煎蛋: 方块不变, 到点标记 rtdd_cg=1)
# ============================================================================
TIMER_RULES = [
# 菜谱15 煎蛋: 30秒煎熟, 方块不变(门控标记 rtdd_cg=1)
{"source": COOKED_EGG, "time": 30, "below": [LIT_STOVE],
# 菜谱15 煎蛋: 2秒煎熟, 方块不变(门控标记 rtdd_cg=1)
{"source": COOKED_EGG, "time": 2, "below": [LIT_STOVE],
"autoStart": True, "mark": "rtdd_cg",
"doneTip": "§e煎蛋煎熟了, 手持盘子右键取出"},
# 菜谱39 煎葱油饼_生 -> 60秒 -> 煎葱油饼_熟
# 菜谱39 煎葱油饼_生 -> 2秒 -> 煎葱油饼_熟
{"source": COOKING_SCALLION_PANCAKE_0, "target": COOKING_SCALLION_PANCAKE_1,
"time": 60, "below": [LIT_STOVE], "autoStart": True,
"time": 2, "below": [LIT_STOVE], "autoStart": True,
"doneTip": "§e煎葱油饼煎好了, 空手右键取出"},
# 菜谱41 煎馍_生 -> 60秒 -> 煎馍_熟
# 菜谱41 煎馍_生 -> 2秒 -> 煎馍_熟
{"source": COOKING_DOUGH_0, "target": COOKING_DOUGH_1,
"time": 60, "below": [LIT_STOVE], "autoStart": True,
"time": 2, "below": [LIT_STOVE], "autoStart": True,
"doneTip": "§e煎馍煎好了, 空手右键取出"},
# 菜谱42 煎面饼_生 -> 60秒 -> 煎面饼_熟
# 菜谱42 煎面饼_生 -> 2秒 -> 煎面饼_熟
{"source": COOKING_DOUGHT_0, "target": COOKING_DOUGHT_1,
"time": 60, "below": [LIT_STOVE], "autoStart": True,
"time": 2, "below": [LIT_STOVE], "autoStart": True,
"doneTip": "§e煎面饼煎好了, 空手右键取出"},
]
@@ -5,7 +5,7 @@
================================================================================
处理"炒锅"(xy_chaoguo) 分类下的右键转换:
炒锅(空)<->(盖锅)、辣椒锅底、葱花锅底、放料(添油+食材 -> 菜生态)、
翻炒(锅铲右键3次, 需下方点燃炉灶)、出锅(熟态+盘子 -> 掉落盘装成品)、
翻炒(锅铲右键旋转4次, 需下方点燃炉灶)、出锅(熟态+盘子 -> 掉落盘装成品)、
空手出锅(煎葱油饼_熟/煎馍_熟/煎面饼_熟/煎酱香饼)、
盖饭双向(手持成品菜右键米饭 <-> 手持米饭右键成品菜, itemUseOn)。
@@ -19,8 +19,8 @@
本类只负责"空手右键计时源方块"转发启动(FeatureDispatcher.startTimerFor)。
【门控数据(存方块实体)】
rtdd_cf: 翻炒计数(满3次后按规则变方块; 煎酱香饼门控=3)
rtdd_cg: 煎蛋门控(计时30秒后由计时服务置1, 之后才允许盘子出锅)
rtdd_cf: 翻炒计数(满4次后按规则变方块; 煎酱香饼门控=4)
rtdd_cg: 煎蛋门控(计时2秒后由计时服务置1, 之后才允许盘子出锅)
================================================================================
"""
import time
@@ -70,7 +70,7 @@ class ChaoguoService(BlueFoxServerSystem):
self.itemUseOnRecipes[(r["item"], r["surface"])] = r
# ---- 空手右键"计时源方块"(煎蛋/煎葱油饼_生/煎馍_生/煎面饼_生): ----
# 放在点燃炉灶上 -> 开始计时(提示包含总共多少秒与结果)
# 放在点燃炉灶上 -> 开始计时(提示只报开始)
self.timerSources = set()
self.startTimerTips = {} # 空手右键启动计时 -> 提示
self.timingTips = {} # 空手右键"已在计时中" -> 提示
@@ -78,16 +78,16 @@ class ChaoguoService(BlueFoxServerSystem):
self.timerSources.add(src)
self.featureBlocks.add(src) # 登记右键路由, 空手右键才分发到这里
self.startTimerTips = {
COOKED_EGG: "§a开始计时: 还需30秒, 计时结束 煎蛋煎熟, 手持盘子出锅",
COOKING_SCALLION_PANCAKE_0: "§a开始计时: 还需60秒, 计时结束变成 煎葱油饼_熟, 空手出锅 葱油饼",
COOKING_DOUGH_0: "§a开始计时: 还需60秒, 计时结束变成 煎馍_熟, 空手出锅 馍",
COOKING_DOUGHT_0: "§a开始计时: 还需60秒, 计时结束变成 煎面饼_熟, 空手出锅 煎饼",
COOKED_EGG: "§a开始煎蛋, 计时结束煎熟, 手持盘子出锅",
COOKING_SCALLION_PANCAKE_0: "§a开始煎葱油饼, 计时结束变成 煎葱油饼_熟, 空手出锅 葱油饼",
COOKING_DOUGH_0: "§a开始煎馍, 计时结束变成 煎馍_熟, 空手出锅 馍",
COOKING_DOUGHT_0: "§a开始煎面饼, 计时结束变成 煎面饼_熟, 空手出锅 煎饼",
}
self.timingTips = {
COOKED_EGG: "§e正在计时中: 还需30秒, 计时结束 煎蛋煎熟, 手持盘子出锅",
COOKING_SCALLION_PANCAKE_0: "§e正在计时中: 还需60秒, 计时结束变成 煎葱油饼_熟, 空手出锅 葱油饼",
COOKING_DOUGH_0: "§e正在计时中: 还需60秒, 计时结束变成 煎馍_熟, 空手出锅 馍",
COOKING_DOUGHT_0: "§e正在计时中: 还需60秒, 计时结束变成 煎面饼_熟, 空手出锅 煎饼",
COOKED_EGG: "§e正在煎蛋, 计时结束煎熟, 手持盘子出锅",
COOKING_SCALLION_PANCAKE_0: "§e正在煎葱油饼, 计时结束变成 煎葱油饼_熟, 空手出锅 葱油饼",
COOKING_DOUGH_0: "§e正在煎馍, 计时结束变成 煎馍_熟, 空手出锅 馍",
COOKING_DOUGHT_0: "§e正在煎面饼, 计时结束变成 煎面饼_熟, 空手出锅 煎饼",
}
# ---- 右键冷却表 ----
@@ -131,8 +131,8 @@ class ChaoguoService(BlueFoxServerSystem):
self._handleStartTimer(blockName, playerId, pos, dim)
return True
return False
# 翻炒用 1.5 秒冷却(防连点刷计数), 其余 0.4 秒
cd = 1.5 if recipe.get("action") == "stir" else 0.4
# 翻炒用 0.3 秒冷却(旋转4次需快速连点; 用户要求调短), 其余 0.4 秒
cd = 0.3 if recipe.get("action") == "stir" else 0.4
if not self.checkCooldown(key, cd):
return True
self.handleSwitch(recipe, playerId, pos, dim, itemDict)
@@ -212,7 +212,7 @@ class ChaoguoService(BlueFoxServerSystem):
playerId, recipe.get("belowTip", "§c下方方块不符合"))
return
# 出锅门控(煎蛋需煎熟 rtdd_cg=1; 煎酱香饼需翻炒3次 rtdd_cf=3)
# 出锅门控(煎蛋需煎熟 rtdd_cg=1; 煎酱香饼需翻炒4次 rtdd_cf=4)
needFlag = recipe.get("needFlag")
if needFlag:
flagKey, flagVal, flagTip = needFlag[0], needFlag[1], needFlag[2]
@@ -238,7 +238,7 @@ class ChaoguoService(BlueFoxServerSystem):
self.dropItem(dim, pos, recipe["dropItem"])
self._clearWokData(dim, pos)
# 普通替换方块(盖锅/锅底/放料/加料)
# 注意: 翻炒(stir)的 target 由 _handleStir 满3次才替换, 这里必须排除,
# 注意: 翻炒(stir)的 target 由 _handleStir 满4次才替换, 这里必须排除,
# 否则第一次右键翻炒就会立刻把方块换成目标态
if recipe.get("target") and action != "take_out" and action != "stir":
self.replaceBlock(pos, dim, recipe["target"], playerId)
@@ -249,9 +249,11 @@ class ChaoguoService(BlueFoxServerSystem):
comp.CreateMsg(playerId).NotifyOneMessage(playerId, recipe["tip"])
def _handleStir(self, recipe, playerId, pos, dim):
"""翻炒: 锅铲右键计1次(rtdd_cf), 满 times 次后变 target;
煎酱香饼无 target, 满3次后门控(空手出锅用)"""
times = recipe.get("times", 3)
"""翻炒: 锅铲右键一次 -> 方块旋转90度 + 计数+1(rtdd_cf), 满 times 次(转回原位)
后变 target(照石磨旋转机制); 煎酱香饼无 target, 满4次后门控(空手出锅用)"""
times = recipe.get("times", 4)
# 每次右键先旋转方块90度(aux+1 四方向, 照石磨 _rotateMill)
self._rotateWok(pos, dim)
cf = self._readFlag(dim, pos, "rtdd_cf") + 1
if cf >= times:
target = recipe.get("target")
@@ -259,7 +261,7 @@ class ChaoguoService(BlueFoxServerSystem):
self.replaceBlock(pos, dim, target, playerId)
self._clearWokData(dim, pos) # 新方块重置翻炒计数
else:
self._writeFlag(dim, pos, "rtdd_cf", times) # 门控: 保持3
self._writeFlag(dim, pos, "rtdd_cf", times) # 门控: 保持4
comp.CreateMsg(playerId).NotifyOneMessage(
playerId, recipe.get("tip", "§a翻炒完成"))
else:
@@ -267,6 +269,17 @@ class ChaoguoService(BlueFoxServerSystem):
comp.CreateMsg(playerId).NotifyOneMessage(
playerId, "§a翻炒中 (%d/%d)" % (cf, times))
def _rotateWok(self, pos, dim):
"""炒锅翻炒旋转: aux+1 四方向循环(照石磨 _rotateMill)"""
try:
old = comp.CreateBlockInfo(LevelId).GetBlockNew(pos, dim)
aux = old.get("aux", 0)
comp.CreateBlockInfo(LevelId).SetBlockNew(
pos, blockDict={"name": old.get("name", "rtdd:wok"), "aux": (aux + 1) % 4},
oldBlockHandling=0, dimensionId=dim)
except Exception:
pass
# ============================================================================
# 三、方块实体门控数据 读/写(rtdd_cf 翻炒计数 / rtdd_cg 煎蛋门控)
# ============================================================================
@@ -4,10 +4,10 @@
炒锅·计时引擎(服务端)
================================================================================
只处理"炒锅"(xy_chaoguo) 分类下的【计时自动转换】:
煎蛋 : 30秒煎熟(方块不变, 门控标记 rtdd_cg=1, 之后才可盘子出锅)
煎葱油饼_生 : 60秒 -> 煎葱油饼_熟
煎馍_生 : 60秒 -> 煎馍_熟
煎面饼_生 : 60秒 -> 煎面饼_熟
煎蛋 : 2秒煎熟(方块不变, 门控标记 rtdd_cg=1, 之后才可盘子出锅)
煎葱油饼_生 : 2秒 -> 煎葱油饼_熟
煎馍_生 : 2秒 -> 煎馍_熟
煎面饼_生 : 2秒 -> 煎面饼_熟
【计时判定(用户指定, 与油锅/汤锅一致)】
- 计时方块【正下方】必须是 点燃的炉灶(stove_2) 才开始计时
@@ -377,83 +377,9 @@ SWITCH_RULES = [
"tip": "§a倒入豆浆, 开始熬制; 等计时结束变成 煮豆腐(熟), 拿菜刀右键切成 豆腐x16"},
# ---------------- 六、出锅(熟汤羹+木碗 -> 碗装成品, 锅变回汤锅(空)) ----------------
{"block": CARROT_BEEF_SOUP_3, "item": BOWL, "action": "take_out",
"target": POT_EMPTY, "dropItem": BOWL_CARROT_BEEF, "consume": 1,
"tip": "§a盛出 胡萝卜牛肉汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
{"block": LAMB_SOUP_WITH_TURNIPS_3, "item": BOWL, "action": "take_out",
"target": POT_EMPTY, "dropItem": BOWL_LAMB_TURNIP, "consume": 1,
"tip": "§a盛出 胡萝卜羊肉汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
{"block": CARROT_RIBS_3, "item": BOWL, "action": "take_out",
"target": POT_EMPTY, "dropItem": BOWL_CARROT_RIBS, "consume": 1,
"tip": "§a盛出 胡萝卜排骨汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
{"block": VEGETABLE_BEEF_SOUP_3, "item": BOWL, "action": "take_out",
"target": POT_EMPTY, "dropItem": BOWL_VEGETABLE_BEEF, "consume": 1,
"tip": "§a盛出 清汤羊肉, 锅变回 汤锅(空); 成品【吃】右键食用"},
{"block": VEGETABLE_LAMB_SOUP_3, "item": BOWL, "action": "take_out",
"target": POT_EMPTY, "dropItem": BOWL_VEGETABLE_LAMB, "consume": 1,
"tip": "§a盛出 蔬菜牛肉汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
{"block": VEGETABLE_LEAN_BROTH_3, "item": BOWL, "action": "take_out",
"target": POT_EMPTY, "dropItem": BOWL_VEGETABLE_LEAN, "consume": 1,
"tip": "§a盛出 蔬菜瘦肉汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
{"block": VEGETABLE_SSTEW_3, "item": BOWL, "action": "take_out",
"target": POT_EMPTY, "dropItem": BOWL_VEGETABLE_SSTEW, "consume": 1,
"tip": "§a盛出 蔬菜乱炖, 锅变回 汤锅(空); 成品【吃】右键食用"},
{"block": BEEF_BONE_BROTH_3, "item": BOWL, "action": "take_out",
"target": POT_EMPTY, "dropItem": BOWL_BEEF_BONE, "consume": 1,
"tip": "§a盛出 胡萝卜土豆牛骨汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
{"block": LAMB_STEW_3, "item": BOWL, "action": "take_out",
"target": POT_EMPTY, "dropItem": BOWL_LAMB_STEW, "consume": 1,
"tip": "§a盛出 土豆胡萝卜炖羊肉, 锅变回 汤锅(空); 成品【吃】右键食用"},
{"block": LAMB_CHOP_SOUP_3, "item": BOWL, "action": "take_out",
"target": POT_EMPTY, "dropItem": BOWL_LAMB_CHOP, "consume": 1,
"tip": "§a盛出 胡萝卜土豆羊排汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
{"block": CARROT_COD_SOUP_3, "item": BOWL, "action": "take_out",
"target": POT_EMPTY, "dropItem": BOWL_CARROT_COD, "consume": 1,
"tip": "§a盛出 胡萝卜鳕鱼汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
{"block": CARROT_FISH_SOUP_3, "item": BOWL, "action": "take_out",
"target": POT_EMPTY, "dropItem": BOWL_CARROT_FISH, "consume": 1,
"tip": "§a盛出 胡萝卜鲑鱼汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
{"block": EGG_COD_SOUP_3, "item": BOWL, "action": "take_out",
"target": POT_EMPTY, "dropItem": BOWL_EGG_COD, "consume": 1,
"tip": "§a盛出 蛋花鳕鱼汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
{"block": NORI_EGG_SOUP_3, "item": BOWL, "action": "take_out",
"target": POT_EMPTY, "dropItem": BOWL_NORI_EGG, "consume": 1,
"tip": "§a盛出 瘦肉蛋花汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
{"block": TOFU_FISH_SOUP_3, "item": BOWL, "action": "take_out",
"target": POT_EMPTY, "dropItem": BOWL_TOFU_FISH, "consume": 1,
"tip": "§a盛出 豆腐鲑鱼汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
{"block": CHICKEN_STEW_MUSHROOMS_3, "item": BOWL, "action": "take_out",
"target": POT_EMPTY, "dropItem": BOWL_MUSHROOM_CHICKEN, "consume": 1,
"tip": "§a盛出 蘑菇炖鸡, 锅变回 汤锅(空); 成品【吃】右键食用"},
{"block": RAW_PIG_FOOD_SOUP_5, "item": BOWL, "action": "take_out",
"target": POT_EMPTY, "dropItem": BOWL_PIG_FOOT, "consume": 1,
"tip": "§a盛出 猪蹄汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
{"block": ROUJIAMO_SOUP_1, "item": BOWL, "action": "take_out",
"target": POT_EMPTY, "dropItem": BOWL_ROUJIAMO, "consume": 1,
"tip": "§a盛出 羊肉泡馍汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
{"block": COOKED_NOODLE_SOUP, "item": BOWL, "action": "take_out",
"target": POT_EMPTY, "dropItem": BOWL_NOODLE, "consume": 1,
"tip": "§a盛出 熟面条, 锅变回 汤锅(空); 熟面条可做汤面"},
{"block": DUMPLINGS_SOUP_2, "item": BOWL, "action": "take_out",
"target": POT_EMPTY, "dropItem": BOWL_DUMPLINGS, "consume": 1,
"tip": "§a盛出 饺子_碗装, 锅变回 汤锅(空); 成品【吃】右键食用"},
# 菜谱32 todo: 饺子汤_熟 + 盘子 -> 美味饺子(全份)盘装
{"block": DUMPLINGS_SOUP_2, "item": PLATE, "action": "take_out",
"target": POT_EMPTY, "dropItem": PLATE_30A, "consume": 1,
"tip": "§a捞出 美味饺子(全份)盘装, 锅变回 汤锅(空); 成品【吃】右键食用"},
{"block": VEGETABLE_FISH_SOUP_3, "item": BOWL, "action": "take_out",
"target": POT_EMPTY, "dropItem": BOWL_VEGETABLE_FISH, "consume": 1,
"tip": "§a盛出 蔬菜鱼片汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
# 菜谱38 碗装米饭(木碗盛出)
{"block": RICE_POT_1, "item": BOWL, "action": "take_out",
"target": POT_EMPTY, "dropItem": BOWL_RICE_1, "consume": 1,
"tip": "§a盛出 米饭_1(熟米饭_形态1), 锅变回 汤锅(空); 碗装米饭供炒锅蛋炒饭"},
{"block": RICE_POT_2, "item": BOWL, "action": "take_out",
"target": POT_EMPTY, "dropItem": BOWL_RICE_2, "consume": 1,
"tip": "§a盛出 米饭_2(熟米饭_形态2), 锅变回 汤锅(空); 碗装米饭供炒锅蛋炒饭"},
{"block": RICE_POT_3, "item": BOWL, "action": "take_out",
"target": POT_EMPTY, "dropItem": BOWL_RICE_3, "consume": 1,
"tip": "§a盛出 米饭_3(熟米饭_形态3), 锅变回 汤锅(空); 碗装米饭供炒锅蛋炒饭"},
# 【已迁移 2026-09-23】手持 木碗/盘子 右键 熟汤方块 的 take_out 全部搬到了
# ITEM_USE_ON_RULES(source=surface), 走 itemUseOn 路径: 转换+取消放置同一事件,
# 进客户端白名单提前拦, 消除"盛出闪一下"。此处不再定义(避免 blockUse 先拦截)。
# ---------------- 七、取出(空手/菜刀, 锅变回汤锅(空)) ----------------
# 菜谱37 饭团
@@ -514,6 +440,7 @@ SWITCH_RULES = [
# 转换+取消放置在同一事件完成, 避免手持方块物品时引擎把"锅"放出来/掉出来
# ============================================================================
ITEM_USE_ON_RULES = [
# ---- 锅态汤面走 itemUseOn 路径(手持锅态汤方块 右键 熟面条表面) ----
{"item": MUSHROOM_SOUP, "surface": BOWL_NOODLE, "target": MUSHROOM_NOODLES,
"consume": 1, "drop": BOWL,
"tip": "§a蘑菇汤浇在面条上, 变成 香菇面, 掉落一个木碗; 汤面【吃】右键食用"},