稻谷bug修复 提示删除
This commit is contained in:
1 parent
344fad19ac
commit
bd2ebfb154
43 files changed
+700
-846
No files matched your search
+139
-139
@@ -244,369 +244,369 @@ SWITCH_RULES = [
|
||||
# ---------------- 一、炒锅基础 ----------------
|
||||
# 炒锅(空) <-> 炒锅(盖锅) (双向, 空手)
|
||||
{"block": WOK, "item": None, "target": COVER_THE_PAN,
|
||||
"tip": "§a盖上锅盖, 炒锅变(盖锅); 空手右键可再掀开"},
|
||||
"tip": None},
|
||||
{"block": COVER_THE_PAN, "item": None, "target": WOK,
|
||||
"tip": "§a掀开锅盖, 炒锅变回(空)"},
|
||||
"tip": None},
|
||||
# 菜谱1 辣椒锅底 (炒锅(添油) + 辣椒x2)
|
||||
{"block": OIL_PAN, "item": PEPPER, "target": CARROT_POT_BASE, "consume": 2,
|
||||
"tip": "§a放入辣椒x2, 可加肉做辣系菜"},
|
||||
"tip": None},
|
||||
# 菜谱2 葱花锅底 (炒锅(添油) + 葱花碎x3) -> 炒锅_51
|
||||
{"block": OIL_PAN, "item": CRUSHED_SCALLIONS, "target": COOKING_SCALLIONS, "consume": 3,
|
||||
"tip": "§a放入葱花碎x3, 可加羊肉/猪肉清炒"},
|
||||
"tip": None},
|
||||
|
||||
# ---------------- 二、放料(炒锅(添油) + 食材 -> 生态) ----------------
|
||||
# 菜谱3 炒猪肉
|
||||
{"block": OIL_PAN, "item": PORKCHOP, "target": FRIED_PORK, "consume": 1,
|
||||
"tip": "§a放入生猪肉, 可加土豆块/胡萝卜碎做炒猪肉"},
|
||||
"tip": None},
|
||||
# 菜谱5 炒土豆
|
||||
{"block": OIL_PAN, "item": POTATO_WEDGES, "target": COOKING_POTATO, "consume": 1,
|
||||
"tip": "§a放入土豆块, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱7 加大蒜
|
||||
{"block": OIL_PAN, "item": CRUSHED_GARLIC, "target": COOKING_GARLIC, "consume": 3,
|
||||
"tip": "§a放入大蒜x3, 可加螃蟹做炒蟹"},
|
||||
"tip": None},
|
||||
# 菜谱8 炒胡萝卜 (基底, 两级翻炒)
|
||||
{"block": OIL_PAN, "item": CARROT, "target": COOKING_CARROT, "consume": 2,
|
||||
"tip": "§a放入胡萝卜x2, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱9 意面 (基底)
|
||||
{"block": OIL_PAN, "item": NOODLES, "target": PASTA_POT_0, "consume": 2,
|
||||
"tip": "§a放入生面x2, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱10 炒碎肉
|
||||
{"block": OIL_PAN, "item": CRUSHED_MEAT, "target": COOKING_MEAT, "consume": 4,
|
||||
"tip": "§a放入碎肉x4, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱11 炒鱿鱼须
|
||||
{"block": OIL_PAN, "item": RAW_SQUID_WHISKERS, "target": SQUID_WHISKERS_0, "consume": 3,
|
||||
"tip": "§a放入鱿鱼须x3, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱13 煎鲑鱼
|
||||
{"block": OIL_PAN, "item": SALMON, "target": COOKING_FISH, "consume": 1,
|
||||
"tip": "§a放入鲑鱼, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱14 炒鱿鱼 (两级翻炒)
|
||||
{"block": OIL_PAN, "item": DEAD_SQUID, "target": COOKING_SQUID, "consume": 1,
|
||||
"tip": "§a放入死鱿鱼(切掉鱿鱼须), 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱15 煎蛋
|
||||
{"block": OIL_PAN, "item": EGG, "target": COOKED_EGG, "consume": 1,
|
||||
"tip": "§a打入鸡蛋, 放在点燃炉灶上计时煎熟"},
|
||||
"tip": None},
|
||||
# 菜谱16 黑椒牛排
|
||||
{"block": OIL_PAN, "item": BEEF, "target": CARROT_AND_BEEF, "consume": 1,
|
||||
"tip": "§a放入生牛肉, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱18 黑椒牛腿
|
||||
{"block": OIL_PAN, "item": LEGCOW, "target": CARROT_AND_LEGCOW, "consume": 1,
|
||||
"tip": "§a放入牛腿肉, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱25 小炒五花肉
|
||||
{"block": OIL_PAN, "item": PORKLOINS, "target": COOKING_COOKED_PORKLOIN, "consume": 1,
|
||||
"tip": "§a放入五花肉, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱38 炒时蔬(加蔬菜)
|
||||
{"block": OIL_PAN, "item": VEGETABLE, "target": COOKING_VEGETABLES, "consume": 4,
|
||||
"tip": "§a放入青菜碎x4, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱41 煎馍
|
||||
{"block": OIL_PAN, "item": DOUGH_0, "target": COOKING_DOUGH_0, "consume": 1,
|
||||
"tip": "§a放入生面团(发酵后), 放在点燃炉灶上计时煎熟"},
|
||||
"tip": None},
|
||||
# 菜谱42 煎面饼
|
||||
{"block": OIL_PAN, "item": DOUGHT_7, "target": COOKING_DOUGHT_0, "consume": 1,
|
||||
"tip": "§a放入生面饼, 放在点燃炉灶上计时煎熟"},
|
||||
"tip": None},
|
||||
# 菜谱44 小炒鸡肉
|
||||
{"block": OIL_PAN, "item": CHICKEN, "target": COOKING_ANY_MEAT, "consume": 1,
|
||||
"tip": "§a放入生鸡肉, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
|
||||
# ---------------- 三、基底/中间态 + 主料 -> 菜生态 ----------------
|
||||
# 菜谱12 炒蟹 (加大蒜 + 螃蟹)
|
||||
{"block": COOKING_GARLIC, "item": CRAB, "target": COOKING_CRAB_1, "consume": 1,
|
||||
"tip": "§a放大蒜炒螃蟹, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱17 胡萝卜牛排骨 (炒胡萝卜_熟 + 牛肋x2)
|
||||
{"block": COOKING_PEPPER, "item": COSTILLAVACAES, "target": CARROT_AND_BEEFRIBS, "consume": 2,
|
||||
"tip": "§a炒胡萝卜加牛肋x2, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱19 清炒羊肉 (葱花锅底_51 + 羊肉)
|
||||
{"block": COOKING_SCALLIONS, "item": MUTTON, "target": CARROT_AND_MUTTON, "consume": 1,
|
||||
"tip": "§a葱花锅底加羊肉, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱20 清炒猪排 (葱花锅底_51 + 猪肉)
|
||||
{"block": COOKING_SCALLIONS, "item": PORKCHOP, "target": CARROT_AND_PORKCHOP, "consume": 1,
|
||||
"tip": "§a葱花锅底加猪肉, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱21 胡萝卜鲑鱼 (炒胡萝卜_熟 + 鲑鱼)
|
||||
{"block": COOKING_PEPPER, "item": SALMON, "target": CARROT_AND_SALMON, "consume": 1,
|
||||
"tip": "§a炒胡萝卜加鲑鱼, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱22 胡萝卜羊腿 (炒胡萝卜_熟 + 羊腿)
|
||||
{"block": COOKING_PEPPER, "item": LEGSLEEP, "target": CARROT_LEG_OF_LAMB, "consume": 1,
|
||||
"tip": "§a炒胡萝卜加羊腿, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱23 胡萝卜炒鳕鱼 (炒胡萝卜_熟 + 鳕鱼)
|
||||
{"block": COOKING_PEPPER, "item": COD, "target": COOKING_COD, "consume": 1,
|
||||
"tip": "§a炒胡萝卜加鳕鱼, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱24 胡萝卜牛里脊 (炒胡萝卜_熟 + 牛里脊)
|
||||
{"block": COOKING_PEPPER, "item": BEEF_TENDERLOIN, "target": COOKING_BEEF_TENDERLOIN, "consume": 1,
|
||||
"tip": "§a炒胡萝卜加牛里脊, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱26 胡萝卜炒猪排骨 (炒胡萝卜_熟 + 猪肋排x2)
|
||||
{"block": COOKING_PEPPER, "item": PORKRIB, "target": COOKING_COOKED_PORKRIBS, "consume": 2,
|
||||
"tip": "§a炒胡萝卜加猪肋排x2, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱27 胡萝卜炒羊里脊 (炒胡萝卜_熟 + 羊里脊x2)
|
||||
{"block": COOKING_PEPPER, "item": SHEEPLOINS, "target": COOKING_SHEEPLOIN, "consume": 2,
|
||||
"tip": "§a炒胡萝卜加羊里脊x2, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱28 胡萝卜炒羊排 (炒胡萝卜_熟 + 羊小排x2)
|
||||
{"block": COOKING_PEPPER, "item": SHEEPRACKS, "target": COOKING_SHEEPRACK, "consume": 2,
|
||||
"tip": "§a炒胡萝卜加羊小排x2, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱29 辣子鸡丁 (辣椒锅底 + 鸡肉)
|
||||
{"block": CARROT_POT_BASE, "item": CHICKEN, "target": COOKING_CHILI_CHICKEN, "consume": 1,
|
||||
"tip": "§a辣椒锅底加鸡肉, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱30 辣炒兔肉 (辣椒锅底 + 兔肉x2)
|
||||
{"block": CARROT_POT_BASE, "item": RABBIT, "target": COOKING_RABBIT, "consume": 2,
|
||||
"tip": "§a辣椒锅底加兔肉x2, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱31 辣炒鲑鱼 (辣椒锅底 + 鲑鱼)
|
||||
{"block": CARROT_POT_BASE, "item": SALMON, "target": SPICY_FISH_0, "consume": 1,
|
||||
"tip": "§a辣椒锅底加鲑鱼, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱32 辣椒炒牛肉 (辣椒锅底 + 牛肉)
|
||||
{"block": CARROT_POT_BASE, "item": BEEF, "target": OILPAN_CHILI_BEEF_1, "consume": 1,
|
||||
"tip": "§a辣椒锅底加牛肉, 拿锅铲翻炒4次 或 加豆腐做麻婆豆腐"},
|
||||
"tip": None},
|
||||
# 菜谱33 麻婆豆腐 (辣椒炒牛肉_生 + 豆腐)
|
||||
{"block": OILPAN_CHILI_BEEF_1, "item": BEANCURD, "target": OILPAN_CHILI_BEEF_BEANCURD, "consume": 1,
|
||||
"tip": "§a辣椒炒牛肉加豆腐, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱34 香菇滑鸡 (小炒鸡肉_半熟 + 香菇x8)
|
||||
{"block": FRIED_CHICKEN, "item": BROWN_MUSHROOM, "target": MUSHROOM_FRIED_CHICKEN_1, "consume": 8,
|
||||
"tip": "§a小炒鸡肉加香菇x8, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
{"block": FRIED_CHICKEN, "item": RED_MUSHROOM, "target": MUSHROOM_FRIED_CHICKEN_1, "consume": 8,
|
||||
"tip": "§a小炒鸡肉加香菇x8, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱35 土豆炒猪肉 (组合A: 炒猪肉_生 + 土豆块x3; 组合B: 炒土豆_熟 + 猪肉)
|
||||
{"block": FRIED_PORK, "item": POTATO_WEDGES, "target": FRIED_PORK_WITH_POTATOES, "consume": 3,
|
||||
"tip": "§a炒猪肉加土豆块x3, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
{"block": COOKING_POTATO_1, "item": PORKCHOP, "target": FRIED_PORK_WITH_POTATOES, "consume": 1,
|
||||
"tip": "§a炒土豆加生猪肉, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱36 胡萝卜炒猪肉 (组合A: 炒猪肉_生 + 胡萝卜碎x3; 组合B: 炒胡萝卜_熟 + 猪肉)
|
||||
{"block": FRIED_PORK, "item": CRUSHED_CARROTS, "target": FRIED_PORK_WITH_CARROTS, "consume": 3,
|
||||
"tip": "§a炒猪肉加胡萝卜碎x3, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
{"block": COOKING_PEPPER, "item": PORKCHOP, "target": FRIED_PORK_WITH_CARROTS, "consume": 1,
|
||||
"tip": "§a炒胡萝卜加生猪肉, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱38 炒时蔬(加胡萝卜) (炒时蔬_加蔬菜_熟 + 胡萝卜碎)
|
||||
{"block": COOKING_VEGETABLES_1, "item": CRUSHED_CARROTS, "target": SEASONAL_VEGETABLES, "consume": 1,
|
||||
"tip": "§a炒时蔬加胡萝卜碎, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱39 煎葱油饼 (煎面饼_生 + 葱花碎x3)
|
||||
{"block": COOKING_DOUGHT_0, "item": CRUSHED_SCALLIONS, "target": COOKING_SCALLION_PANCAKE_0, "consume": 3,
|
||||
"tip": "§a煎面饼加葱花碎x3, 放在点燃炉灶上计时煎熟"},
|
||||
"tip": None},
|
||||
# 菜谱40 煎酱香饼 (煎面饼_熟 + 辣椒x3)
|
||||
{"block": COOKING_DOUGHT_1, "item": PEPPER, "target": COOKING_PANCAKE_2, "consume": 3,
|
||||
"tip": "§a煎面饼加辣椒x3, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱45~48 意面系 (意面_熟 + 主料)
|
||||
{"block": PASTA_POT_1, "item": COOKED_BEEF, "target": PASTA_POT_2, "consume": 1,
|
||||
"tip": "§a意面加熟牛肉, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
{"block": PASTA_POT_1, "item": BROWN_MUSHROOM, "target": PASTA_POT_4, "consume": 5,
|
||||
"tip": "§a意面加香菇x5, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
{"block": PASTA_POT_1, "item": CRUSHED_CARROTS, "target": PASTA_POT_6, "consume": 3,
|
||||
"tip": "§a意面加胡萝卜碎x3, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
{"block": PASTA_POT_1, "item": CHICKEN, "target": PASTA_POT_8, "consume": 1,
|
||||
"tip": "§a意面加鸡肉, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
# 菜谱49 蛋炒饭 (煎蛋 + 胡萝卜碎x3)
|
||||
{"block": COOKED_EGG, "item": CRUSHED_CARROTS, "target": RICE_EGG_1, "consume": 3,
|
||||
"tip": "§a煎蛋加胡萝卜碎x3, 拿锅铲翻炒4次"},
|
||||
"tip": None},
|
||||
|
||||
# ---------------- 四、翻炒(锅铲右键旋转4次, 需下方点燃炉灶, 冷却1.5秒) ----------------
|
||||
{"block": COOKING_CARROT, "item": SPATULA, "action": "stir", "target": WOKCARROT_1, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_95(炒胡萝卜_半熟); 再翻炒4次可熟"},
|
||||
"tip": None},
|
||||
{"block": WOKCARROT_1, "item": SPATULA, "action": "stir", "target": COOKING_PEPPER, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_19(炒胡萝卜_熟); 可作胡萝卜系菜基底"},
|
||||
"tip": None},
|
||||
{"block": PASTA_POT_0, "item": SPATULA, "action": "stir", "target": PASTA_POT_1, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_76(意面_熟); 可加牛肉/香菇/胡萝卜碎/鸡肉"},
|
||||
"tip": None},
|
||||
{"block": COOKING_POTATO, "item": SPATULA, "action": "stir", "target": COOKING_POTATO_1, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_48(炒土豆_熟); 可手持盘子出锅 或 加猪肉做土豆炒猪肉"},
|
||||
"tip": None},
|
||||
{"block": COOKING_MEAT, "item": SPATULA, "action": "stir", "target": COOKING_MEAT_1, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_45(炒碎肉_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": SQUID_WHISKERS_0, "item": SPATULA, "action": "stir", "target": SQUID_WHISKERS_1, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_93(炒鱿鱼须_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": COOKING_CRAB_1, "item": SPATULA, "action": "stir", "target": COOKING_CRAB_2, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_35(炒蟹_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": COOKING_FISH, "item": SPATULA, "action": "stir", "target": COOKING_FISH_1, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_42(煎鲑鱼_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": COOKING_SQUID, "item": SPATULA, "action": "stir", "target": COOKING_SQUID_1, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_57(炒鱿鱼_半熟); 再翻炒4次可熟"},
|
||||
"tip": None},
|
||||
{"block": COOKING_SQUID_1, "item": SPATULA, "action": "stir", "target": COOKING_SQUID_2, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_58(炒鱿鱼_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": CARROT_AND_BEEF, "item": SPATULA, "action": "stir", "target": CARROT_AND_BEEF_1, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_2(黑椒牛排_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": CARROT_AND_BEEFRIBS, "item": SPATULA, "action": "stir", "target": CARROT_AND_BEEFRIBS_1, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_4(胡萝卜牛排骨_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": CARROT_AND_LEGCOW, "item": SPATULA, "action": "stir", "target": CARROT_AND_LEGCOW_1, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_6(黑椒牛腿_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": CARROT_AND_MUTTON, "item": SPATULA, "action": "stir", "target": CARROT_AND_MUTTON_1, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_8(清炒羊肉_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": CARROT_AND_PORKCHOP, "item": SPATULA, "action": "stir", "target": CARROT_AND_PORKCHOP_1, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_10(清炒猪排_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": CARROT_AND_SALMON, "item": SPATULA, "action": "stir", "target": CARROT_AND_SALMON_1, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_12(胡萝卜鲑鱼_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"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(胡萝卜羊腿_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": COOKING_COD, "item": SPATULA, "action": "stir", "target": COOKING_COD_1, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_29(胡萝卜炒鳕鱼_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": COOKING_BEEF_TENDERLOIN, "item": SPATULA, "action": "stir", "target": COOKING_BEEF_TENDERLOIN_1, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_24(胡萝卜牛里脊_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": COOKING_COOKED_PORKLOIN, "item": SPATULA, "action": "stir", "target": COOKING_COOKED_PORKLOIN_1, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_31(小炒五花肉_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": COOKING_COOKED_PORKRIBS, "item": SPATULA, "action": "stir", "target": COOKING_COOKED_PORKRIBS_1, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_33(胡萝卜炒猪排骨_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": COOKING_SHEEPLOIN, "item": SPATULA, "action": "stir", "target": COOKING_SHEEPLOIN_1, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_53(胡萝卜炒羊里脊_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": COOKING_SHEEPRACK, "item": SPATULA, "action": "stir", "target": COOKING_SHEEPRACK_1, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_55(胡萝卜炒羊排_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": COOKING_CHILI_CHICKEN, "item": SPATULA, "action": "stir", "target": COOKING_CHILI_CHICKEN_2, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_27(辣子鸡丁_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": COOKING_RABBIT, "item": SPATULA, "action": "stir", "target": COOKING_RABBIT_1, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_50(辣炒兔肉_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": SPICY_FISH_0, "item": SPATULA, "action": "stir", "target": SPICY_FISH_1, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_91(辣炒鲑鱼_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": OILPAN_CHILI_BEEF_1, "item": SPATULA, "action": "stir", "target": OILPAN_CHILI_BEEF_2, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_72(辣椒炒牛肉_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"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(麻婆豆腐_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": MUSHROOM_FRIED_CHICKEN_1, "item": SPATULA, "action": "stir", "target": MUSHROOM_FRIED_CHICKEN_2, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_69(香菇滑鸡_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"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(土豆炒猪肉_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"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(胡萝卜炒猪肉_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": COOKING_VEGETABLES, "item": SPATULA, "action": "stir", "target": COOKING_VEGETABLES_1, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_60(炒时蔬_加蔬菜_熟); 可加胡萝卜碎做炒时蔬"},
|
||||
"tip": None},
|
||||
{"block": SEASONAL_VEGETABLES, "item": SPATULA, "action": "stir", "target": SEASONAL_VEGETABLES_1, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_89(炒时蔬_加胡萝卜_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": COOKING_ANY_MEAT, "item": SPATULA, "action": "stir", "target": FRIED_CHICKEN, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_66(小炒鸡肉_半熟); 再翻炒4次变熟 或 加香菇x8做香菇滑鸡"},
|
||||
"tip": None},
|
||||
{"block": FRIED_CHICKEN, "item": SPATULA, "action": "stir", "target": COOKED_ANY_MEAT, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_16(小炒鸡肉_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": PASTA_POT_2, "item": SPATULA, "action": "stir", "target": PASTA_POT_3, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_78(牛肉意面_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": PASTA_POT_4, "item": SPATULA, "action": "stir", "target": PASTA_POT_5, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_80(香菇意面_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": PASTA_POT_6, "item": SPATULA, "action": "stir", "target": PASTA_POT_7, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_82(胡萝卜意面_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": PASTA_POT_8, "item": SPATULA, "action": "stir", "target": PASTA_POT_9, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_84(鸡肉番茄意面_熟); 可手持盘子出锅"},
|
||||
"tip": None},
|
||||
{"block": RICE_EGG_1, "item": SPATULA, "action": "stir", "target": RICE_EGG_2, "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成, 变成 炒锅_86(蛋炒饭_加胡萝卜_熟); 再加米饭做蛋炒饭"},
|
||||
"tip": None},
|
||||
# 菜谱40 煎酱香饼: 翻炒4次(方块不变, 门控 rtdd_cf=4), 满4次可空手出锅
|
||||
{"block": COOKING_PANCAKE_2, "item": SPATULA, "action": "stir", "times": 4,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c炒锅需要放在点燃的炉灶上才能翻炒",
|
||||
"tip": "§a翻炒完成(4/4); 空手右键出锅 酱香饼"},
|
||||
"tip": None},
|
||||
|
||||
# ---------------- 五、出锅(熟态 + 盘子 -> 掉落盘装成品, 锅变回炒锅(空)) ----------------
|
||||
{"block": COOKING_POTATO_1, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_14, "consume": 1, "tip": "§a取出 炒土豆, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_14, "consume": 1, "tip": None},
|
||||
{"block": COOKING_MEAT_1, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_24, "consume": 1, "tip": "§a取出 炒碎肉, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_24, "consume": 1, "tip": None},
|
||||
{"block": SQUID_WHISKERS_1, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_26D, "consume": 1, "tip": "§a取出 炒鱿鱼须, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_26D, "consume": 1, "tip": None},
|
||||
{"block": COOKING_CRAB_2, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_33, "consume": 1, "tip": "§a取出 炒蟹, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_33, "consume": 1, "tip": None},
|
||||
{"block": COOKING_FISH_1, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_25, "consume": 1, "tip": "§a取出 煎鲑鱼, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_25, "consume": 1, "tip": None},
|
||||
{"block": COOKING_SQUID_2, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_26, "consume": 1, "tip": "§a取出 炒鱿鱼, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_26, "consume": 1, "tip": None},
|
||||
# 菜谱15 煎蛋(熟): 需计时门控 rtdd_cg=1
|
||||
{"block": COOKED_EGG, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_22, "consume": 1, "needFlag": ["rtdd_cg", 1, "§e煎蛋还没煎熟, 再等等"],
|
||||
"tip": "§a取出 元气煎蛋, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_22, "consume": 1, "needFlag": ["rtdd_cg", 1, ""],
|
||||
"tip": None},
|
||||
{"block": CARROT_AND_BEEF_1, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_2, "consume": 1, "tip": "§a取出 黑椒牛排, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_2, "consume": 1, "tip": None},
|
||||
{"block": CARROT_AND_BEEFRIBS_1, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_6, "consume": 1, "tip": "§a取出 胡萝卜牛排骨, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_6, "consume": 1, "tip": None},
|
||||
{"block": CARROT_AND_LEGCOW_1, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_7, "consume": 1, "tip": "§a取出 黑椒牛腿, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_7, "consume": 1, "tip": None},
|
||||
{"block": CARROT_AND_MUTTON_1, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_3, "consume": 1, "tip": "§a取出 清炒羊肉, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_3, "consume": 1, "tip": None},
|
||||
{"block": CARROT_AND_PORKCHOP_1, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_1, "consume": 1, "tip": "§a取出 清炒猪排, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_1, "consume": 1, "tip": None},
|
||||
{"block": CARROT_AND_SALMON_1, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_5, "consume": 1, "tip": "§a取出 胡萝卜鲑鱼, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_5, "consume": 1, "tip": None},
|
||||
{"block": CARROT_LEG_OF_LAMB_1, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_9, "consume": 1, "tip": "§a取出 胡萝卜羊腿, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_9, "consume": 1, "tip": None},
|
||||
{"block": COOKING_COD_1, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_15, "consume": 1, "tip": "§a取出 胡萝卜炒鳕鱼, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_15, "consume": 1, "tip": None},
|
||||
{"block": COOKING_BEEF_TENDERLOIN_1, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_8, "consume": 1, "tip": "§a取出 胡萝卜牛里脊, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_8, "consume": 1, "tip": None},
|
||||
{"block": COOKING_COOKED_PORKLOIN_1, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_12, "consume": 1, "tip": "§a取出 小炒五花肉, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_12, "consume": 1, "tip": None},
|
||||
{"block": COOKING_COOKED_PORKRIBS_1, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_13, "consume": 1, "tip": "§a取出 胡萝卜炒猪排骨, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_13, "consume": 1, "tip": None},
|
||||
{"block": COOKING_SHEEPLOIN_1, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_10, "consume": 1, "tip": "§a取出 胡萝卜炒羊里脊, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_10, "consume": 1, "tip": None},
|
||||
{"block": COOKING_SHEEPRACK_1, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_11, "consume": 1, "tip": "§a取出 胡萝卜炒羊排, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_11, "consume": 1, "tip": None},
|
||||
{"block": COOKING_CHILI_CHICKEN_2, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_47, "consume": 1, "tip": "§a取出 辣子鸡丁, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_47, "consume": 1, "tip": None},
|
||||
{"block": COOKING_RABBIT_1, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_19, "consume": 1, "tip": "§a取出 辣炒兔肉, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_19, "consume": 1, "tip": None},
|
||||
{"block": SPICY_FISH_1, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_41, "consume": 1, "tip": "§a取出 辣炒鲑鱼, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_41, "consume": 1, "tip": None},
|
||||
{"block": OILPAN_CHILI_BEEF_2, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_47A, "consume": 1, "tip": "§a取出 辣椒炒牛肉, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_47A, "consume": 1, "tip": None},
|
||||
{"block": OILPAN_CHILI_BEEF_BEANCURD_2, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_32, "consume": 1, "tip": "§a取出 麻婆豆腐, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_32, "consume": 1, "tip": None},
|
||||
{"block": MUSHROOM_FRIED_CHICKEN_2, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_54, "consume": 1, "tip": "§a取出 香菇滑鸡, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_54, "consume": 1, "tip": None},
|
||||
{"block": FRIED_PORK_WITH_POTATOES_1, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_52, "consume": 1, "tip": "§a取出 土豆炒猪肉, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_52, "consume": 1, "tip": None},
|
||||
{"block": FRIED_PORK_WITH_CARROTS_1, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_53, "consume": 1, "tip": "§a取出 胡萝卜炒猪肉, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_53, "consume": 1, "tip": None},
|
||||
{"block": SEASONAL_VEGETABLES_1, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_23, "consume": 1, "tip": "§a取出 炒时蔬, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_23, "consume": 1, "tip": None},
|
||||
{"block": COOKED_ANY_MEAT, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_31, "consume": 1, "tip": "§a取出 小炒鸡肉, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_31, "consume": 1, "tip": None},
|
||||
{"block": PASTA_POT_3, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_43, "consume": 1, "tip": "§a取出 牛肉意面, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_43, "consume": 1, "tip": None},
|
||||
{"block": PASTA_POT_5, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_44, "consume": 1, "tip": "§a取出 香菇意面, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_44, "consume": 1, "tip": None},
|
||||
{"block": PASTA_POT_7, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_45, "consume": 1, "tip": "§a取出 胡萝卜意面, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_45, "consume": 1, "tip": None},
|
||||
{"block": PASTA_POT_9, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_46, "consume": 1, "tip": "§a取出 鸡肉番茄意面, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": PLATE_46, "consume": 1, "tip": None},
|
||||
{"block": RICE_EGG_3, "item": PLATE, "action": "take_out",
|
||||
"dropItem": BOWL_OF_RICE_EGG, "consume": 1, "tip": "§a取出 蛋炒饭, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": BOWL_OF_RICE_EGG, "consume": 1, "tip": None},
|
||||
|
||||
# ---------------- 六、空手出锅(熟饼/馍/煎饼/酱香饼, 空手右键) ----------------
|
||||
# 菜谱39 煎葱油饼_熟 空手出锅 -> 葱油饼
|
||||
{"block": COOKING_SCALLION_PANCAKE_1, "item": None, "action": "take_out",
|
||||
"dropItem": SCALLION_PANCAKE_0, "tip": "§a取出 葱油饼, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"dropItem": SCALLION_PANCAKE_0, "tip": None},
|
||||
# 菜谱41 煎馍_熟 空手出锅 -> 馍
|
||||
{"block": COOKING_DOUGH_1, "item": None, "action": "take_out",
|
||||
"dropItem": ROUJIAMO_0, "tip": "§a取出 馍, 锅变回 炒锅(空); 馍可做羊肉泡馍汤/肉夹馍"},
|
||||
"dropItem": ROUJIAMO_0, "tip": None},
|
||||
# 菜谱42 煎面饼_熟 空手出锅 -> 煎饼
|
||||
{"block": COOKING_DOUGHT_1, "item": None, "action": "take_out",
|
||||
"dropItem": COOKED_DOUGHT, "tip": "§a取出 煎饼, 锅变回 炒锅(空); 煎饼可卷菜"},
|
||||
"dropItem": COOKED_DOUGHT, "tip": None},
|
||||
# 菜谱40 煎酱香饼(需翻炒4次门控 rtdd_cf=4) 空手出锅 -> 酱香饼
|
||||
{"block": COOKING_PANCAKE_2, "item": None, "action": "take_out",
|
||||
"dropItem": COOKED_PANCAKE, "needFlag": ["rtdd_cf", 4, "§c请先用锅铲翻炒4次"],
|
||||
"tip": "§a取出 酱香饼, 锅变回 炒锅(空); 成品【吃】右键食用"},
|
||||
"tip": None},
|
||||
]
|
||||
|
||||
# ============================================================================
|
||||
@@ -639,17 +639,17 @@ for _g in GAI_FAN_ITEMS:
|
||||
for _rice in RICE_FORMS:
|
||||
ITEM_USE_ON_RULES.append({
|
||||
"item": _dish, "surface": _rice, "target": _target, "consume": 1,
|
||||
"tip": "§a%s 盖在米饭上, 变成 %s; 成品【吃】右键食用" % (_name, _gai)})
|
||||
"tip": None % (_name, _gai)})
|
||||
# 反向: 手持 米饭(三形态任一) 右键 成品菜 -> 菜品变盖饭
|
||||
for _rice in RICE_FORMS:
|
||||
ITEM_USE_ON_RULES.append({
|
||||
"item": _rice, "surface": _dish, "target": _target, "consume": 1,
|
||||
"tip": "§a米饭 压进 %s, 变成 %s; 成品【吃】右键食用" % (_name, _gai)})
|
||||
"tip": None % (_name, _gai)})
|
||||
# 蛋炒饭 加米饭(形态1/2/3都行) -> 炒锅_87(蛋炒饭_加米饭_熟)
|
||||
for _rice in RICE_FORMS:
|
||||
ITEM_USE_ON_RULES.append({
|
||||
"item": _rice, "surface": RICE_EGG_2, "target": RICE_EGG_3, "consume": 1,
|
||||
"tip": "§a加入米饭, 变成 炒锅_87(蛋炒饭_加米饭_熟); 可手持盘子出锅 蛋炒饭"})
|
||||
"tip": None})
|
||||
|
||||
# ============================================================================
|
||||
# 九、计时规则(供 ChaoguoTimerService)
|
||||
@@ -660,17 +660,17 @@ TIMER_RULES = [
|
||||
# 菜谱15 煎蛋: 2秒煎熟, 方块不变(门控标记 rtdd_cg=1)
|
||||
{"source": COOKED_EGG, "time": 2, "below": [LIT_STOVE],
|
||||
"autoStart": True, "mark": "rtdd_cg",
|
||||
"doneTip": "§e煎蛋煎熟了, 手持盘子右键取出"},
|
||||
"doneTip": None},
|
||||
# 菜谱39 煎葱油饼_生 -> 2秒 -> 煎葱油饼_熟
|
||||
{"source": COOKING_SCALLION_PANCAKE_0, "target": COOKING_SCALLION_PANCAKE_1,
|
||||
"time": 2, "below": [LIT_STOVE], "autoStart": True,
|
||||
"doneTip": "§e煎葱油饼煎好了, 空手右键取出"},
|
||||
"doneTip": None},
|
||||
# 菜谱41 煎馍_生 -> 2秒 -> 煎馍_熟
|
||||
{"source": COOKING_DOUGH_0, "target": COOKING_DOUGH_1,
|
||||
"time": 2, "below": [LIT_STOVE], "autoStart": True,
|
||||
"doneTip": "§e煎馍煎好了, 空手右键取出"},
|
||||
"doneTip": None},
|
||||
# 菜谱42 煎面饼_生 -> 2秒 -> 煎面饼_熟
|
||||
{"source": COOKING_DOUGHT_0, "target": COOKING_DOUGHT_1,
|
||||
"time": 2, "below": [LIT_STOVE], "autoStart": True,
|
||||
"doneTip": "§e煎面饼煎好了, 空手右键取出"},
|
||||
"doneTip": None},
|
||||
]
|
||||
+1
-28
@@ -41,7 +41,6 @@ blockEntityDataComp = comp.CreateBlockEntityData(LevelId)
|
||||
from ..ChaoguoData import (
|
||||
SWITCH_RULES, ITEM_USE_ON_RULES, TIMER_RULES,
|
||||
WOK,
|
||||
COOKED_EGG, COOKING_SCALLION_PANCAKE_0, COOKING_DOUGH_0, COOKING_DOUGHT_0,
|
||||
)
|
||||
|
||||
# ---- 统一分发器 ----
|
||||
@@ -80,18 +79,6 @@ class ChaoguoService(BlueFoxServerSystem):
|
||||
for src, r in {t["source"]: t for t in TIMER_RULES}.items():
|
||||
self.timerSources.add(src)
|
||||
self.featureBlocks.add(src) # 登记右键路由, 空手右键才分发到这里
|
||||
self.startTimerTips = {
|
||||
COOKED_EGG: "§a开始煎蛋, 等待一段时间, 手持盘子出锅",
|
||||
COOKING_SCALLION_PANCAKE_0: "§a开始煎葱油饼, 等待一段时间, 空手出锅 葱油饼",
|
||||
COOKING_DOUGH_0: "§a开始煎馍, 等待一段时间, 空手出锅 馍",
|
||||
COOKING_DOUGHT_0: "§a开始煎面饼, 等待一段时间, 空手出锅 煎饼",
|
||||
}
|
||||
self.timingTips = {
|
||||
COOKED_EGG: "§e正在煎蛋, 等待一段时间后出锅",
|
||||
COOKING_SCALLION_PANCAKE_0: "§e正在煎葱油饼, 等待一段时间后出锅",
|
||||
COOKING_DOUGH_0: "§e正在煎馍, 等待一段时间后出锅",
|
||||
COOKING_DOUGHT_0: "§e正在煎面饼, 等待一段时间后出锅",
|
||||
}
|
||||
|
||||
# ---- 右键冷却表 ----
|
||||
self.cooldown = {}
|
||||
@@ -152,16 +139,11 @@ class ChaoguoService(BlueFoxServerSystem):
|
||||
try:
|
||||
data = blockEntityDataComp.GetBlockEntityData(dim, pos)
|
||||
if data and data["rtdd_tid"] == blockName:
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, self.timingTips.get(blockName, "§e已经在计时中"))
|
||||
return
|
||||
except Exception:
|
||||
pass
|
||||
started = FeatureDispatcher.startTimerFor(blockName, dim, pos, playerId)
|
||||
if started:
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, self.startTimerTips.get(blockName, "§a已启动计时"))
|
||||
else:
|
||||
if not started:
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§c炒锅需要放在点燃的炉灶上才能开始计时")
|
||||
|
||||
@@ -205,8 +187,6 @@ class ChaoguoService(BlueFoxServerSystem):
|
||||
self.replaceBlock(pos, dim, recipe["target"], playerId)
|
||||
self._clearWokData(dim, pos)
|
||||
|
||||
if recipe.get("tip"):
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, recipe["tip"])
|
||||
return True
|
||||
|
||||
# ============================================================================
|
||||
@@ -253,7 +233,6 @@ class ChaoguoService(BlueFoxServerSystem):
|
||||
if needFlag:
|
||||
flagKey, flagVal, flagTip = needFlag[0], needFlag[1], needFlag[2]
|
||||
if self._readFlag(dim, pos, flagKey) < flagVal:
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, flagTip)
|
||||
return
|
||||
|
||||
# 消耗物品(数量不足则拦截, 不转换)
|
||||
@@ -280,10 +259,6 @@ class ChaoguoService(BlueFoxServerSystem):
|
||||
self.replaceBlock(pos, dim, recipe["target"], playerId)
|
||||
self._clearWokData(dim, pos)
|
||||
|
||||
# 提示
|
||||
if recipe.get("tip"):
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, recipe["tip"])
|
||||
|
||||
def _handleStir(self, recipe, playerId, pos, dim):
|
||||
"""翻炒: 锅铲右键一次 -> 方块旋转90度 + 计数+1(rtdd_cf), 满 times 次(转回原位)
|
||||
后变 target(照石磨旋转机制); 煎酱香饼无 target, 满4次后门控(空手出锅用)"""
|
||||
@@ -300,8 +275,6 @@ class ChaoguoService(BlueFoxServerSystem):
|
||||
self._clearWokData(dim, pos) # 新方块重置翻炒计数
|
||||
else:
|
||||
self._writeFlag(dim, pos, "rtdd_cf", times) # 门控: 保持4
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, recipe.get("tip", "§a翻炒完成"))
|
||||
else:
|
||||
self._writeFlag(dim, pos, "rtdd_cf", cf)
|
||||
|
||||
|
||||
@@ -34,11 +34,11 @@ ChujuService / ChujuTimerService 读取,FeatureDispatcher 通过方块名/物
|
||||
# ============================================================================
|
||||
STOVE_RULES = [
|
||||
{"source": "rtdd:stove", "item": "rtdd:b_15",
|
||||
"target": "rtdd:stove_1", "consume": 4, "tip": "§a炉灶加好了木条"},
|
||||
"target": "rtdd:stove_1", "consume": 4, "tip": None},
|
||||
{"source": "rtdd:stove_1", "item": "minecraft:flint_and_steel",
|
||||
"target": "rtdd:stove_2", "tip": "§a炉灶点燃了"},
|
||||
"target": "rtdd:stove_2", "tip": None},
|
||||
{"source": "rtdd:stove_1", "item": "minecraft:fire_charge",
|
||||
"target": "rtdd:stove_2", "consume": 1, "tip": "§a炉灶点燃了"},
|
||||
"target": "rtdd:stove_2", "consume": 1, "tip": None},
|
||||
]
|
||||
|
||||
# ============================================================================
|
||||
@@ -48,16 +48,16 @@ STOVE_RULES = [
|
||||
# ============================================================================
|
||||
MEATBALLMAKER_RULES = [
|
||||
{"source": "rtdd:meatballmaker_0", "item": "rtdd:dough_0",
|
||||
"target": "rtdd:meatballmaker_1", "consume": 1, "tip": "§a加入面团"},
|
||||
"target": "rtdd:meatballmaker_1", "consume": 1, "tip": None},
|
||||
{"source": "rtdd:meatballmaker_1", "item": "rtdd:rawsquidwhiskersr",
|
||||
"target": "rtdd:meatballmaker_2", "consume": 4, "tip": "§a加入鱿鱼须"},
|
||||
"target": "rtdd:meatballmaker_2", "consume": 4, "tip": None},
|
||||
{"source": "rtdd:meatballmaker_2", "item": "*any",
|
||||
"target": "rtdd:meatballmaker_3", "consume": 1,
|
||||
"below": ["rtdd:stove_2"], "tip": "§a加入配料,开始烹制丸子"},
|
||||
"below": ["rtdd:stove_2"], "tip": None},
|
||||
{"source": "rtdd:meatballmaker_5", "item": "rtdd:plate_0",
|
||||
"target": "rtdd:meatballmaker_0", "consume": 1,
|
||||
"dropItem": [{"name": "rtdd:plate_40", "count": 1}],
|
||||
"tip": "§a取出了章鱼小丸子"},
|
||||
"tip": None},
|
||||
]
|
||||
|
||||
# 丸子机计时: _3(加料完成) -> 30s -> _4(半熟) -> 30s -> _5(熟)
|
||||
@@ -144,7 +144,7 @@ OIL_CAN_USES = 16 # 油罐方块初始可用次数(用完变玻
|
||||
# ============================================================================
|
||||
STEAMER_RULES = [
|
||||
{"source": "rtdd:steamer", "item": None,
|
||||
"target": "rtdd:steamercover", "tip": "§a蒸笼盖上了盖子"},
|
||||
"target": "rtdd:steamercover", "tip": None},
|
||||
{"source": "rtdd:steamercover", "item": None,
|
||||
"target": "rtdd:steamer", "tip": "§a蒸笼掀开了盖子"},
|
||||
"target": "rtdd:steamer", "tip": None},
|
||||
]
|
||||
+5
-57
@@ -97,12 +97,12 @@ class ChujuService(BlueFoxServerSystem):
|
||||
self.featureBlocks.add(src)
|
||||
if src not in self.startTimerTips:
|
||||
if src == "rtdd:meatballmaker_3":
|
||||
self.startTimerTips[src] = "§a开始烹制(第1级/共2级): 还需60秒(每级30秒), 手持盘子出锅"
|
||||
self.timingTips[src] = "§e正在烹制中(第1级/共2级): 还需60秒(每级30秒), 等待出锅"
|
||||
self.startTimerTips[src] = None
|
||||
self.timingTips[src] = None
|
||||
else:
|
||||
sec = r.get("time", 60)
|
||||
self.startTimerTips[src] = "§a开始烹制(第2级/共2级): 还需%d秒, 手持盘子出锅" % sec
|
||||
self.timingTips[src] = "§e正在烹制中(第2级/共2级): 还需%d秒, 等待出锅" % sec
|
||||
self.startTimerTips[src] = None
|
||||
self.timingTips[src] = None
|
||||
|
||||
# ---- 右键冷却表 ----
|
||||
self.cooldown = {}
|
||||
@@ -210,12 +210,8 @@ class ChujuService(BlueFoxServerSystem):
|
||||
if uses <= 0:
|
||||
self._clearOilUses(dim, pos)
|
||||
self.replaceBlock(pos, dim, GLASS_TANK_ITEM, playerId) # 油罐用完变玻璃罐
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a锅铲蘸了油, 变成带油锅铲; 油罐用完了, 变成了玻璃罐")
|
||||
else:
|
||||
self._writeOilUses(dim, pos, uses)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a锅铲蘸了油, 变成带油锅铲; 油罐剩余 " + str(uses) + " 次")
|
||||
return True
|
||||
|
||||
def _returnOil(self, playerId, key, dim, pos):
|
||||
@@ -224,13 +220,10 @@ class ChujuService(BlueFoxServerSystem):
|
||||
return True
|
||||
uses = self._readOilUses(dim, pos)
|
||||
if uses >= OIL_CAN_USES:
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§e油罐是满的, 不用还油")
|
||||
return True
|
||||
self._setCarriedItem(playerId, SPATULA, False) # 替换手持为锅铲(去附魔)
|
||||
uses += 1
|
||||
self._writeOilUses(dim, pos, uses)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a油还回油罐, 变回锅铲; 油罐剩余 " + str(uses) + " 次")
|
||||
return True
|
||||
|
||||
def _oilWok(self, playerId, key, dim, pos):
|
||||
@@ -239,8 +232,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
return True
|
||||
self._setCarriedItem(playerId, SPATULA, False) # 替换手持为锅铲
|
||||
self.replaceBlock(pos, dim, OIL_PAN, playerId)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a炒锅添了油, 变成 炒锅(添油); 带油锅铲变回锅铲")
|
||||
return True
|
||||
|
||||
def _setCarriedItem(self, playerId, itemName, enchanted):
|
||||
@@ -290,16 +281,11 @@ class ChujuService(BlueFoxServerSystem):
|
||||
try:
|
||||
data = blockEntityDataComp.GetBlockEntityData(dim, pos)
|
||||
if data and data["rtdd_tid"] == blockName:
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, self.timingTips.get(blockName, "§e已经在计时中"))
|
||||
return
|
||||
except Exception:
|
||||
pass
|
||||
started = FeatureDispatcher.startTimerFor(blockName, dim, pos, playerId)
|
||||
if started:
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, self.startTimerTips.get(blockName, "§a已启动计时"))
|
||||
else:
|
||||
if not started:
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§c丸子机需要放在点燃的炉灶上才能开始烹制")
|
||||
|
||||
@@ -360,10 +346,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
if recipe.get("giveItem"):
|
||||
self.giveItem(playerId, recipe["giveItem"])
|
||||
|
||||
# 提示
|
||||
if recipe.get("tip"):
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, recipe["tip"])
|
||||
|
||||
# ============================================================================
|
||||
# 四、搅拌器(肉/牛奶/蛋/鸡蛋牛奶/奶油/蛋液)
|
||||
# ============================================================================
|
||||
@@ -380,8 +362,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
self.consumeItem(playerId, itemDict, 2)
|
||||
self.replaceBlock(pos, dim, "rtdd:beatermeat_0", playerId)
|
||||
self._writeMeat(dim, pos, itemName)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a放入肉,空手右键搅打")
|
||||
return True
|
||||
if itemName == MILK_ITEM:
|
||||
if not self.checkCooldown(key, 0.5):
|
||||
@@ -389,7 +369,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
self.consumeItem(playerId, itemDict, 1)
|
||||
self.giveItem(playerId, BUCKET_ITEM)
|
||||
self.replaceBlock(pos, dim, "rtdd:beatermike_0", playerId)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a放入牛奶")
|
||||
return True
|
||||
if itemName == EGG_ITEM:
|
||||
if (itemDict.get("count") or 0) < 3:
|
||||
@@ -399,8 +378,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
return True
|
||||
self.consumeItem(playerId, itemDict, 3)
|
||||
self.replaceBlock(pos, dim, "rtdd:beater_custard_0", playerId)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a放入鸡蛋,空手右键搅打")
|
||||
return True
|
||||
return False
|
||||
|
||||
@@ -412,8 +389,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
meat = self._readMeat(pos, dim)
|
||||
self.replaceBlock(pos, dim, "rtdd:beatermeat_1", playerId)
|
||||
self._writeMeat(dim, pos, meat)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a搅打完成,空手取出肉馅")
|
||||
return True
|
||||
return False
|
||||
|
||||
@@ -426,7 +401,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
if meatball:
|
||||
self.dropItems(dim, pos, [{"name": meatball, "count": 1}])
|
||||
self.replaceBlock(pos, dim, "rtdd:beater", playerId)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a取出了肉馅")
|
||||
return True
|
||||
return False
|
||||
|
||||
@@ -438,9 +412,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
target = "rtdd:beatermike_1" if blockName == "rtdd:beatermike_0" \
|
||||
else "rtdd:beatermike_2"
|
||||
self.replaceBlock(pos, dim, target, playerId)
|
||||
if target == "rtdd:beatermike_2":
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a牛奶搅打完成,加入鸡蛋做鸡蛋牛奶")
|
||||
return True
|
||||
return False
|
||||
|
||||
@@ -451,8 +422,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
return True
|
||||
self.consumeItem(playerId, itemDict, 1)
|
||||
self.replaceBlock(pos, dim, "rtdd:beater_eggsandmilk_0", playerId)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a加入鸡蛋,空手搅打做鸡蛋牛奶")
|
||||
return True
|
||||
return False
|
||||
|
||||
@@ -464,9 +433,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
target = "rtdd:beater_custard_1" if blockName == "rtdd:beater_custard_0" \
|
||||
else "rtdd:beater_custard_2"
|
||||
self.replaceBlock(pos, dim, target, playerId)
|
||||
if target == "rtdd:beater_custard_2":
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a蛋搅打完成,可加木碗取奶油或加牛奶做鸡蛋牛奶")
|
||||
return True
|
||||
return False
|
||||
|
||||
@@ -478,7 +444,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
self.consumeItem(playerId, itemDict, 1)
|
||||
self.dropItems(dim, pos, [{"name": CREAM_ITEM, "count": 1}])
|
||||
self.replaceBlock(pos, dim, "rtdd:beater", playerId)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a取出了奶油")
|
||||
return True
|
||||
if itemName == MILK_ITEM:
|
||||
if not self.checkCooldown(key, 0.5):
|
||||
@@ -486,8 +451,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
self.consumeItem(playerId, itemDict, 1)
|
||||
self.giveItem(playerId, BUCKET_ITEM)
|
||||
self.replaceBlock(pos, dim, "rtdd:beater_eggsandmilk_0", playerId)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a加入牛奶,空手搅打做鸡蛋牛奶")
|
||||
return True
|
||||
return False
|
||||
|
||||
@@ -499,9 +462,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
target = "rtdd:beater_eggsandmilk_1" \
|
||||
if blockName == "rtdd:beater_eggsandmilk_0" else "rtdd:beater_eggsandmilk_2"
|
||||
self.replaceBlock(pos, dim, target, playerId)
|
||||
if target == "rtdd:beater_eggsandmilk_2":
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a鸡蛋牛奶完成,可加盘子取蛋液")
|
||||
return True
|
||||
return False
|
||||
|
||||
@@ -513,7 +473,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
self.consumeItem(playerId, itemDict, 1)
|
||||
self.dropItems(dim, pos, [{"name": EGG_CUSTARD_ITEM, "count": 1}])
|
||||
self.replaceBlock(pos, dim, "rtdd:beater", playerId)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a取出了蛋液半成品")
|
||||
return True
|
||||
return False
|
||||
|
||||
@@ -575,8 +534,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
self.consumeItem(playerId, itemDict, WHEAT_COUNT)
|
||||
self._writeMillMat(dim, pos, "wheat")
|
||||
self._writeMill(dim, pos, 0)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a加入小麦,空手右键研磨")
|
||||
return True
|
||||
if itemName == SOYBEAN_ITEM:
|
||||
if (itemDict.get("count") or 0) < SOYBEAN_COUNT:
|
||||
@@ -588,8 +545,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
self.consumeItem(playerId, itemDict, SOYBEAN_COUNT)
|
||||
self._writeMillMat(dim, pos, "soybean")
|
||||
self._writeMill(dim, pos, 0)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a加入黄豆,空手右键研磨")
|
||||
return True
|
||||
# 空磨 + 空手: 无操作(交还默认); 完成态 + 手持非材料(玻璃罐/空手取粉) 不在此拦住
|
||||
if isEmpty and (not itemName or itemName == "minecraft:air"):
|
||||
@@ -604,10 +559,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
newProg = prog + 1
|
||||
self._rotateMill(pos, dim)
|
||||
self._writeMill(dim, pos, newProg)
|
||||
if newProg >= STONEMILL_GRIND_COUNT:
|
||||
tip = "§a研磨完成,可空手取出 面粉" if mat == "wheat" \
|
||||
else "§a研磨完成,可加玻璃罐取油"
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, tip)
|
||||
return True
|
||||
|
||||
# ---- 完成: 取成品 ----
|
||||
@@ -620,8 +571,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
return True
|
||||
self.dropItems(dim, pos, [{"name": FLOUR_ITEM, "count": 1}])
|
||||
self._clearMill(dim, pos)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a取出了面粉")
|
||||
return True
|
||||
# 黄豆: + 玻璃罐 -> 油罐
|
||||
if itemName == GLASS_TANK_ITEM:
|
||||
@@ -630,7 +579,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
self.consumeItem(playerId, itemDict, 1)
|
||||
self.dropItems(dim, pos, [{"name": OIL_CAN_ITEM, "count": 1}])
|
||||
self._clearMill(dim, pos)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a取出了油罐")
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
+1
-2
@@ -144,8 +144,6 @@ class ChujuTimerService(BlueFoxServerSystem):
|
||||
return
|
||||
self.replaceBlock(pos, dim, recipe["target"], None)
|
||||
self._clearTimerData(dim, pos)
|
||||
if recipe.get("doneTip"):
|
||||
self._notifyIfOnline(data["rtdd_tp"], recipe["doneTip"])
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
@@ -201,6 +199,7 @@ class ChujuTimerService(BlueFoxServerSystem):
|
||||
ids = comp.CreateGame(LevelId).GetAllPlayerIds()
|
||||
if playerId in ids:
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, tip)
|
||||
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
|
||||
+23
-23
@@ -43,7 +43,7 @@ ANIMAL_SWITCHES = [
|
||||
"consume": 1,
|
||||
"type": "switch",
|
||||
"switchCd": 0.5,
|
||||
"tip": "§a鸡蛋已放入鸡窝 (1/5)",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【放蛋2】鸡窝_2(1蛋) → 鸡窝_3(2蛋)
|
||||
@@ -54,7 +54,7 @@ ANIMAL_SWITCHES = [
|
||||
"consume": 1,
|
||||
"type": "switch",
|
||||
"switchCd": 0.5,
|
||||
"tip": "§a鸡蛋已放入鸡窝 (2/5)",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【放蛋3】鸡窝_3(2蛋) → 鸡窝_4(3蛋)
|
||||
@@ -65,7 +65,7 @@ ANIMAL_SWITCHES = [
|
||||
"consume": 1,
|
||||
"type": "switch",
|
||||
"switchCd": 0.5,
|
||||
"tip": "§a鸡蛋已放入鸡窝 (3/5)",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【放蛋4】鸡窝_4(3蛋) → 鸡窝_5(4蛋)
|
||||
@@ -76,7 +76,7 @@ ANIMAL_SWITCHES = [
|
||||
"consume": 1,
|
||||
"type": "switch",
|
||||
"switchCd": 0.5,
|
||||
"tip": "§a鸡蛋已放入鸡窝 (4/5)",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【放蛋5】鸡窝_5(4蛋) → 鸡窝_6(5蛋)
|
||||
@@ -87,7 +87,7 @@ ANIMAL_SWITCHES = [
|
||||
"consume": 1,
|
||||
"type": "switch",
|
||||
"switchCd": 0.5,
|
||||
"tip": "§a鸡蛋已放入鸡窝 (5/5)",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
|
||||
@@ -104,7 +104,7 @@ ANIMAL_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:egg", "count": 5}],
|
||||
"tip": "§a取走了 5 个鸡蛋",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【取4蛋】鸡窝_5(4蛋) → 鸡窝_1(0蛋),掉落4个鸡蛋
|
||||
@@ -115,7 +115,7 @@ ANIMAL_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:egg", "count": 4}],
|
||||
"tip": "§a取走了 4 个鸡蛋",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【取3蛋】鸡窝_4(3蛋) → 鸡窝_1(0蛋),掉落3个鸡蛋
|
||||
@@ -126,7 +126,7 @@ ANIMAL_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:egg", "count": 3}],
|
||||
"tip": "§a取走了 3 个鸡蛋",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【取2蛋】鸡窝_3(2蛋) → 鸡窝_1(0蛋),掉落2个鸡蛋
|
||||
@@ -137,7 +137,7 @@ ANIMAL_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:egg", "count": 2}],
|
||||
"tip": "§a取走了 2 个鸡蛋",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【取1蛋】鸡窝_2(1蛋) → 鸡窝_1(0蛋),掉落1个鸡蛋
|
||||
@@ -148,7 +148,7 @@ ANIMAL_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:egg", "count": 1}],
|
||||
"tip": "§a取走了 1 个鸡蛋",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
|
||||
@@ -163,7 +163,7 @@ ANIMAL_SWITCHES = [
|
||||
"target": "rtdd:chickenmanger_1",
|
||||
"consume": 16,
|
||||
"type": "switch",
|
||||
"tip": "§a鸡饲料已加满",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【计时变空】鸡饲料盆_2(满) → 鸡饲料盆_1(空),计时60秒
|
||||
@@ -175,8 +175,8 @@ ANIMAL_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "timer",
|
||||
"time": 60,
|
||||
"startTip": "§e鸡饲料已加满,鸡正在进食…",
|
||||
"doneTip": "§e鸡饲料已吃完",
|
||||
"startTip": None,
|
||||
"doneTip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
|
||||
@@ -191,7 +191,7 @@ ANIMAL_SWITCHES = [
|
||||
"target": "rtdd:manger_3",
|
||||
"consume": 32,
|
||||
"type": "switch",
|
||||
"tip": "§a小麦饲料已加满",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【计时减少1】饲料槽_2(满小麦) → 饲料槽_3(半量小麦),计时60秒
|
||||
@@ -202,7 +202,7 @@ ANIMAL_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "timer",
|
||||
"time": 60,
|
||||
"startTip": "§e小麦饲料已加满,动物正在进食…",
|
||||
"startTip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【计时减少2】饲料槽_3(半量小麦) → 饲料槽_4(少量小麦),计时60秒
|
||||
@@ -223,7 +223,7 @@ ANIMAL_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "timer",
|
||||
"time": 60,
|
||||
"doneTip": "§e小麦饲料已吃完",
|
||||
"doneTip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
|
||||
@@ -240,7 +240,7 @@ ANIMAL_SWITCHES = [
|
||||
"type": "switch",
|
||||
"giveItem": "minecraft:bucket",
|
||||
"giveCount": 1,
|
||||
"tip": "§a已给饲料槽加水",
|
||||
"tip": None,
|
||||
},
|
||||
|
||||
# ============================================================
|
||||
@@ -254,7 +254,7 @@ ANIMAL_SWITCHES = [
|
||||
"target": "rtdd:pigmanger_1",
|
||||
"consume": 32,
|
||||
"type": "switch",
|
||||
"tip": "§a胡萝卜饲料已加满",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【计时减少1】饲料槽_7(满胡萝卜) → 饲料槽_8(半量胡萝卜),计时60秒
|
||||
@@ -265,7 +265,7 @@ ANIMAL_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "timer",
|
||||
"time": 60,
|
||||
"startTip": "§e胡萝卜饲料已加满,动物正在进食…",
|
||||
"startTip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【计时减少2】饲料槽_8(半量胡萝卜) → 饲料槽_1(空),计时60秒
|
||||
@@ -276,7 +276,7 @@ ANIMAL_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "timer",
|
||||
"time": 60,
|
||||
"doneTip": "§e胡萝卜饲料已吃完",
|
||||
"doneTip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
|
||||
@@ -292,7 +292,7 @@ ANIMAL_SWITCHES = [
|
||||
"target": "rtdd:feces_2",
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"tip": "§a清理了粪便",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【清理2】粪便(半坨) → 粪便(仅痕迹)
|
||||
@@ -302,7 +302,7 @@ ANIMAL_SWITCHES = [
|
||||
"target": "rtdd:feces_1",
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"tip": "§a清理了粪便",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【清理3】粪便(仅痕迹) → 消失(空气)
|
||||
@@ -312,7 +312,7 @@ ANIMAL_SWITCHES = [
|
||||
"target": "minecraft:air",
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"tip": "§a清理了粪便",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
]
|
||||
-8
@@ -201,10 +201,6 @@ class AnimalService(BlueFoxServerSystem):
|
||||
if target and target != "minecraft:air":
|
||||
FeatureDispatcher.startTimerFor(target, dim, pos, playerId)
|
||||
|
||||
# 转换成功提示
|
||||
if recipe.get("tip"):
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, recipe["tip"])
|
||||
|
||||
return
|
||||
|
||||
# ---- 逆向操作:取东西/清理 ----
|
||||
@@ -218,10 +214,6 @@ class AnimalService(BlueFoxServerSystem):
|
||||
if recipe.get("target"):
|
||||
self.replaceBlock(pos, dim, recipe["target"], playerId)
|
||||
|
||||
# 转换成功提示
|
||||
if recipe.get("tip"):
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, recipe["tip"])
|
||||
|
||||
# ============================================================================
|
||||
# 五、工具方法:获取玩家主手物品
|
||||
# ============================================================================
|
||||
|
||||
+45
-45
@@ -39,11 +39,11 @@ ARROWBARREL_RULES = [
|
||||
{"source": "rtdd:arrowbarrel_0", "item": "*arrow",
|
||||
"target": "rtdd:arrowbarrel_1", "arrowMode": "store",
|
||||
"record": "count", "maxCount": 32,
|
||||
"tip": "§a已存入箭"},
|
||||
"tip": None},
|
||||
{"source": "rtdd:arrowbarrel_1", "item": None,
|
||||
"target": "rtdd:arrowbarrel_0", "arrowMode": "retrieve",
|
||||
"record": "count",
|
||||
"tip": "§a取回了箭"},
|
||||
"tip": None},
|
||||
]
|
||||
|
||||
# ============================================================
|
||||
@@ -56,31 +56,31 @@ ARROWBARREL_RULES = [
|
||||
FLUME_RULES = [
|
||||
# 加水/取水
|
||||
{"source": "rtdd:flume_0", "item": None,
|
||||
"target": "rtdd:flume_1", "tip": "§a水槽加满了水"},
|
||||
"target": "rtdd:flume_1", "tip": None},
|
||||
{"source": "rtdd:flume_1", "item": "minecraft:bucket",
|
||||
"target": "rtdd:flume_0", "consume": 1,
|
||||
"giveItem": "minecraft:water_bucket", "tip": "§a取走了水, 水桶装满水"},
|
||||
"giveItem": "minecraft:water_bucket", "tip": None},
|
||||
# 满水空手右键 -> 直接放空(倒掉水)
|
||||
{"source": "rtdd:flume_1", "item": None,
|
||||
"target": "rtdd:flume_0", "tip": "§a水槽已放空"},
|
||||
"target": "rtdd:flume_0", "tip": None},
|
||||
# 放脏盘子(需满水)
|
||||
{"source": "rtdd:flume_1", "item": "rtdd:plate_0a",
|
||||
"target": "rtdd:flume_2", "consume": 1, "tip": "§a放入1个脏盘子"},
|
||||
"target": "rtdd:flume_2", "consume": 1, "tip": None},
|
||||
{"source": "rtdd:flume_2", "item": "rtdd:plate_0a",
|
||||
"target": "rtdd:flume_3", "consume": 1, "tip": "§a放入1个脏盘子"},
|
||||
"target": "rtdd:flume_3", "consume": 1, "tip": None},
|
||||
{"source": "rtdd:flume_3", "item": "rtdd:plate_0a",
|
||||
"target": "rtdd:flume_4", "consume": 1, "tip": "§a放入1个脏盘子"},
|
||||
"target": "rtdd:flume_4", "consume": 1, "tip": None},
|
||||
{"source": "rtdd:flume_4", "item": "rtdd:plate_0a",
|
||||
"target": "rtdd:flume_5", "consume": 1, "tip": "§a放入1个脏盘子"},
|
||||
"target": "rtdd:flume_5", "consume": 1, "tip": None},
|
||||
# 取脏盘子(洗好取出的是 盘子 rtdd:plate_0)
|
||||
{"source": "rtdd:flume_5", "item": None,
|
||||
"target": "rtdd:flume_4", "giveItem": "rtdd:plate_0", "tip": "§a取回1个盘子"},
|
||||
"target": "rtdd:flume_4", "giveItem": "rtdd:plate_0", "tip": None},
|
||||
{"source": "rtdd:flume_4", "item": None,
|
||||
"target": "rtdd:flume_3", "giveItem": "rtdd:plate_0", "tip": "§a取回1个盘子"},
|
||||
"target": "rtdd:flume_3", "giveItem": "rtdd:plate_0", "tip": None},
|
||||
{"source": "rtdd:flume_3", "item": None,
|
||||
"target": "rtdd:flume_2", "giveItem": "rtdd:plate_0", "tip": "§a取回1个盘子"},
|
||||
"target": "rtdd:flume_2", "giveItem": "rtdd:plate_0", "tip": None},
|
||||
{"source": "rtdd:flume_2", "item": None,
|
||||
"target": "rtdd:flume_0", "giveItem": "rtdd:plate_0", "tip": "§a取回最后1个盘子"},
|
||||
"target": "rtdd:flume_0", "giveItem": "rtdd:plate_0", "tip": None},
|
||||
]
|
||||
|
||||
# ============================================================
|
||||
@@ -90,25 +90,25 @@ FLUME_RULES = [
|
||||
# ============================================================
|
||||
TRAYRACKS_RULES = [
|
||||
{"source": "rtdd:trayracks_1", "item": "rtdd:plate_0",
|
||||
"target": "rtdd:trayracks_2", "consume": 1, "tip": "§a放上1个盘子"},
|
||||
"target": "rtdd:trayracks_2", "consume": 1, "tip": None},
|
||||
{"source": "rtdd:trayracks_2", "item": "rtdd:plate_0",
|
||||
"target": "rtdd:trayracks_3", "consume": 1, "tip": "§a放上1个盘子"},
|
||||
"target": "rtdd:trayracks_3", "consume": 1, "tip": None},
|
||||
{"source": "rtdd:trayracks_3", "item": "rtdd:plate_0",
|
||||
"target": "rtdd:trayracks_4", "consume": 1, "tip": "§a放上1个盘子"},
|
||||
"target": "rtdd:trayracks_4", "consume": 1, "tip": None},
|
||||
{"source": "rtdd:trayracks_4", "item": "rtdd:plate_0",
|
||||
"target": "rtdd:trayracks_5", "consume": 1, "tip": "§a放上1个盘子"},
|
||||
"target": "rtdd:trayracks_5", "consume": 1, "tip": None},
|
||||
{"source": "rtdd:trayracks_5", "item": "rtdd:plate_0",
|
||||
"target": "rtdd:trayracks_6", "consume": 1, "tip": "§a放上1个盘子"},
|
||||
"target": "rtdd:trayracks_6", "consume": 1, "tip": None},
|
||||
{"source": "rtdd:trayracks_6", "item": None,
|
||||
"target": "rtdd:trayracks_5", "giveItem": "rtdd:plate_0", "tip": "§a取回1个盘子"},
|
||||
"target": "rtdd:trayracks_5", "giveItem": "rtdd:plate_0", "tip": None},
|
||||
{"source": "rtdd:trayracks_5", "item": None,
|
||||
"target": "rtdd:trayracks_4", "giveItem": "rtdd:plate_0", "tip": "§a取回1个盘子"},
|
||||
"target": "rtdd:trayracks_4", "giveItem": "rtdd:plate_0", "tip": None},
|
||||
{"source": "rtdd:trayracks_4", "item": None,
|
||||
"target": "rtdd:trayracks_3", "giveItem": "rtdd:plate_0", "tip": "§a取回1个盘子"},
|
||||
"target": "rtdd:trayracks_3", "giveItem": "rtdd:plate_0", "tip": None},
|
||||
{"source": "rtdd:trayracks_3", "item": None,
|
||||
"target": "rtdd:trayracks_2", "giveItem": "rtdd:plate_0", "tip": "§a取回1个盘子"},
|
||||
"target": "rtdd:trayracks_2", "giveItem": "rtdd:plate_0", "tip": None},
|
||||
{"source": "rtdd:trayracks_2", "item": None,
|
||||
"target": "rtdd:trayracks_1", "giveItem": "rtdd:plate_0", "tip": "§a取回1个盘子"},
|
||||
"target": "rtdd:trayracks_1", "giveItem": "rtdd:plate_0", "tip": None},
|
||||
]
|
||||
|
||||
# ============================================================
|
||||
@@ -118,22 +118,22 @@ TRAYRACKS_RULES = [
|
||||
# ============================================================
|
||||
CUPBOARD_RULES = [
|
||||
{"source": "rtdd:cupboard_0", "item": "rtdd:bowlasoup",
|
||||
"target": "rtdd:cupboard_1", "consume": 1, "tip": "§a放入1个木碗"},
|
||||
"target": "rtdd:cupboard_1", "consume": 1, "tip": None},
|
||||
{"source": "rtdd:cupboard_1", "item": "rtdd:bowlasoup",
|
||||
"target": "rtdd:cupboard_2", "consume": 1, "tip": "§a放入1个木碗"},
|
||||
"target": "rtdd:cupboard_2", "consume": 1, "tip": None},
|
||||
{"source": "rtdd:cupboard_2", "item": "rtdd:bowlasoup",
|
||||
"target": "rtdd:cupboard_3", "consume": 1, "tip": "§a放入1个木碗"},
|
||||
"target": "rtdd:cupboard_3", "consume": 1, "tip": None},
|
||||
{"source": "rtdd:cupboard_3", "item": "rtdd:bowlasoup",
|
||||
"tip": "§c碗柜已满!"},
|
||||
{"source": "rtdd:cupboard_3", "item": None,
|
||||
"target": "rtdd:cupboard_2", "dropItem": [{"name": "rtdd:bowlasoup", "count": 1}],
|
||||
"tip": "§a取回1个木碗"},
|
||||
"tip": None},
|
||||
{"source": "rtdd:cupboard_2", "item": None,
|
||||
"target": "rtdd:cupboard_1", "dropItem": [{"name": "rtdd:bowlasoup", "count": 1}],
|
||||
"tip": "§a取回1个木碗"},
|
||||
"tip": None},
|
||||
{"source": "rtdd:cupboard_1", "item": None,
|
||||
"target": "rtdd:cupboard_0", "dropItem": [{"name": "rtdd:bowlasoup", "count": 1}],
|
||||
"tip": "§a取回最后1个木碗"},
|
||||
"tip": None},
|
||||
]
|
||||
|
||||
# ============================================================
|
||||
@@ -171,19 +171,19 @@ for _i in range(len(_BOOKCASE_CHAIN) - 1):
|
||||
BOOKCASE_RULES.append({
|
||||
"source": _src, "item": "minecraft:book", "target": _dst,
|
||||
"consume": 1, "record": "stack", "maxCount": 13,
|
||||
"tip": "§a放入1本书",
|
||||
"tip": None,
|
||||
})
|
||||
BOOKCASE_RULES.append({
|
||||
"source": _src, "item": "minecraft:enchanted_book", "target": _dst,
|
||||
"consume": 1, "record": "stack", "maxCount": 13,
|
||||
"tip": "§a放入1本附魔书",
|
||||
"tip": None,
|
||||
})
|
||||
# 取回: 第 i 级 -> 第 i-1 级, 空手, 后放先取
|
||||
for _i in range(len(_BOOKCASE_CHAIN) - 1, 0, -1):
|
||||
_src, _dst = _BOOKCASE_CHAIN[_i], _BOOKCASE_CHAIN[_i - 1]
|
||||
BOOKCASE_RULES.append({
|
||||
"source": _src, "item": None, "target": _dst,
|
||||
"record": "stack", "tip": "§a取回了书",
|
||||
"record": "stack", "tip": None,
|
||||
})
|
||||
|
||||
# ============================================================
|
||||
@@ -208,14 +208,14 @@ for _i in range(len(_POTIONRACK_CHAIN) - 1):
|
||||
POTIONRACK_RULES.append({
|
||||
"source": _src, "item": "*potion", "target": _dst,
|
||||
"consume": 1, "record": "stack", "maxCount": 3,
|
||||
"tip": "§a放入1瓶药水",
|
||||
"tip": None,
|
||||
})
|
||||
# 取回: 第 i 级 -> 第 i-1 级, 空手, 后放先取
|
||||
for _i in range(len(_POTIONRACK_CHAIN) - 1, 0, -1):
|
||||
_src, _dst = _POTIONRACK_CHAIN[_i], _POTIONRACK_CHAIN[_i - 1]
|
||||
POTIONRACK_RULES.append({
|
||||
"source": _src, "item": None, "target": _dst,
|
||||
"record": "stack", "tip": "§a取回了1瓶药水",
|
||||
"record": "stack", "tip": None,
|
||||
})
|
||||
# 满架: 手持药水右键三瓶满的药水架 -> 提示已满, 拦截默认行为(防止误喝药水)
|
||||
POTIONRACK_RULES.append({
|
||||
@@ -292,10 +292,10 @@ KITCHENRACK_BLOCK_ITEMS = {
|
||||
RECORDPLAYER_RULES = [
|
||||
{"source": "rtdd:b_108", "item": "*music_disc",
|
||||
"target": "rtdd:b_109", "consume": 1, "discPut": True,
|
||||
"tip": "§a放入了唱片"},
|
||||
"tip": None},
|
||||
{"source": "rtdd:b_109", "item": None,
|
||||
"target": "rtdd:b_108", "discGet": True,
|
||||
"tip": "§a取回了唱片"},
|
||||
"tip": None},
|
||||
]
|
||||
|
||||
# ============================================================
|
||||
@@ -306,17 +306,17 @@ RECORDPLAYER_RULES = [
|
||||
# ============================================================
|
||||
TRASHBIN_RULES = [
|
||||
{"source": "rtdd:storage_buckets", "item": None,
|
||||
"target": "rtdd:rubbish_bin_2", "tip": "§a垃圾桶已打开"},
|
||||
"target": "rtdd:rubbish_bin_2", "tip": None},
|
||||
{"source": "rtdd:storage_buckets", "item": "*any",
|
||||
"target": "rtdd:rubbish_bin_2", "tip": "§a垃圾桶已打开"},
|
||||
"target": "rtdd:rubbish_bin_2", "tip": None},
|
||||
{"source": "rtdd:rubbish_bin_2", "item": None,
|
||||
"target": "rtdd:storage_buckets", "tip": "§a垃圾桶已关闭"},
|
||||
"target": "rtdd:storage_buckets", "tip": None},
|
||||
{"source": "rtdd:rubbish_bin_2", "item": "*any",
|
||||
"target": "rtdd:b_160", "clearHand": True, "tip": "§a已丢入垃圾桶"},
|
||||
"target": "rtdd:b_160", "clearHand": True, "tip": None},
|
||||
{"source": "rtdd:b_160", "item": None,
|
||||
"target": "rtdd:storage_buckets", "tip": "§a垃圾桶已关闭"},
|
||||
"target": "rtdd:storage_buckets", "tip": None},
|
||||
{"source": "rtdd:b_160", "item": "*any",
|
||||
"target": "rtdd:storage_buckets", "tip": "§a垃圾桶已关闭"},
|
||||
"target": "rtdd:storage_buckets", "tip": None},
|
||||
]
|
||||
|
||||
# ============================================================
|
||||
@@ -326,11 +326,11 @@ TRASHBIN_RULES = [
|
||||
# ============================================================
|
||||
FIREPLACE_RULES = [
|
||||
{"source": "rtdd:b_88", "item": "rtdd:b_15",
|
||||
"target": "rtdd:b_89", "consume": 4, "tip": "§a壁炉加好了柴火"},
|
||||
"target": "rtdd:b_89", "consume": 4, "tip": None},
|
||||
{"source": "rtdd:b_89", "item": "minecraft:flint_and_steel",
|
||||
"target": "rtdd:b_90", "tip": "§a壁炉点燃了"},
|
||||
"target": "rtdd:b_90", "tip": None},
|
||||
{"source": "rtdd:b_89", "item": "minecraft:fire_charge",
|
||||
"target": "rtdd:b_90", "consume": 1, "tip": "§a壁炉点燃了"},
|
||||
"target": "rtdd:b_90", "consume": 1, "tip": None},
|
||||
]
|
||||
|
||||
# ============================================================
|
||||
|
||||
+13
-22
@@ -317,10 +317,6 @@ class FurnitureService(BlueFoxServerSystem):
|
||||
# 保存记录到新方块(延迟兜底)
|
||||
self._saveRecordDelayed(pos, dim, record)
|
||||
|
||||
if recipe.get("tip"):
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a存入了 %d 只箭 (共%d/32)" % (storeCount, record["count"]))
|
||||
|
||||
elif mode == "retrieve":
|
||||
# ---- 取箭 ----
|
||||
record = self._loadRecord(pos, dim)
|
||||
@@ -330,9 +326,11 @@ class FurnitureService(BlueFoxServerSystem):
|
||||
retCount = record["count"]
|
||||
retItemName = record["itemName"]
|
||||
retAux = record.get("aux", 0)
|
||||
retUserData = record.get("userData")
|
||||
|
||||
# 掉落物形式返回箭(根因C)
|
||||
self._dropItemDict(dim, pos, {"itemName": retItemName, "count": retCount, "auxValue": retAux})
|
||||
# 掉落物形式返回箭(根因C); 药水箭带 userData 还原药水效果
|
||||
self._dropItemDict(dim, pos, {"itemName": retItemName, "count": retCount,
|
||||
"aux": retAux, "userData": retUserData})
|
||||
|
||||
# 替换方块
|
||||
if recipe.get("target"):
|
||||
@@ -341,10 +339,6 @@ class FurnitureService(BlueFoxServerSystem):
|
||||
# 清空记录
|
||||
self._clearRecord(pos, dim)
|
||||
|
||||
if recipe.get("tip"):
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a取回了 %d 只箭" % retCount)
|
||||
|
||||
# ============================================================================
|
||||
# 四、厨具架通用逻辑(组合由 stack 记录计算, 与放入顺序无关, 取回后放先取)
|
||||
# ============================================================================
|
||||
@@ -382,7 +376,6 @@ class FurnitureService(BlueFoxServerSystem):
|
||||
self._saveRecordDelayed(pos, dim, {"stack": self._namesToObjs(stackNames)})
|
||||
else:
|
||||
self._clearRecord(pos, dim)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a取回了厨具")
|
||||
return
|
||||
|
||||
# ---- 放入: 手持厨具 ----
|
||||
@@ -402,7 +395,6 @@ class FurnitureService(BlueFoxServerSystem):
|
||||
stackNames.append(itemName)
|
||||
self.replaceBlock(pos, dim, target, playerId)
|
||||
self._saveRecordDelayed(pos, dim, {"stack": self._namesToObjs(stackNames)})
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a放上了厨具")
|
||||
|
||||
def _rackTarget(self, itemNames):
|
||||
"""根据厨具物品名列表计算厨具架目标方块(0件=空, 1件=单件, 2件=组合, 顺序无关)"""
|
||||
@@ -488,10 +480,6 @@ class FurnitureService(BlueFoxServerSystem):
|
||||
self._dropItemDict(dim, pos,
|
||||
{"itemName": _gItem, "count": recipe.get("giveCount", 1), "auxValue": 0})
|
||||
|
||||
# ---- 转换成功提示 ----
|
||||
if recipe.get("tip"):
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, recipe["tip"])
|
||||
|
||||
# ============================================================================
|
||||
# 五、方块记录:count/stack 读写(箭桶/书柜, 字段 rtdd_sw*)
|
||||
# ============================================================================
|
||||
@@ -669,13 +657,16 @@ class FurnitureService(BlueFoxServerSystem):
|
||||
pass
|
||||
|
||||
def _dropItemDict(self, dim, pos, itemDict):
|
||||
"""以掉落物形式生成一个物品(唱片取回)"""
|
||||
"""以掉落物形式生成一个物品(唱片取回 / 箭桶取回等)"""
|
||||
try:
|
||||
self.CreateEngineItemEntity(
|
||||
{"itemName": itemDict["itemName"],
|
||||
"count": 1,
|
||||
"auxValue": itemDict.get("aux", 0)},
|
||||
dim, (pos[0], pos[1] + 0.5, pos[2]))
|
||||
outDict = {"itemName": itemDict["itemName"],
|
||||
"count": itemDict.get("count", 1),
|
||||
# 兼容两种 key: 调用处既有用 aux 也有用 auxValue
|
||||
"auxValue": itemDict.get("aux", itemDict.get("auxValue", 0))}
|
||||
# 药水箭等带 userData(item额外数据, 如药水NBT)的物品: 一并重建到掉落物
|
||||
if itemDict.get("userData"):
|
||||
outDict["userData"] = itemDict["userData"]
|
||||
self.CreateEngineItemEntity(outDict, dim, (pos[0], pos[1] + 0.5, pos[2]))
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
|
||||
+85
-85
@@ -128,194 +128,194 @@ RICH_MEAT_ITEMS = [COOKED_BEEF, COOKED_PORK]
|
||||
SWITCH_RULES = [
|
||||
# ---- 一、面粉·面团组 ----
|
||||
{"block": "rtdd:farineblcok", "item": EGG,
|
||||
"target": "rtdd:farineblock_1", "consume": 3, "tip": "§a面粉加了鸡蛋(消耗3个)"},
|
||||
"target": "rtdd:farineblock_1", "consume": 3, "tip": None},
|
||||
{"block": "rtdd:farineblock_1", "item": WATER_BUCKET,
|
||||
"target": "rtdd:farineblock_2", "consume": 1, "give": EMPTY_BUCKET,
|
||||
"tip": "§a面粉加水, 水桶变空桶"},
|
||||
"tip": None},
|
||||
{"block": "rtdd:rawdough_0", "item": None, "target": "rtdd:rawdough_1"},
|
||||
{"block": "rtdd:rawdough_1", "item": None, "target": "rtdd:rawdough_2"},
|
||||
{"block": "rtdd:rawdough_2", "item": None, "target": "rtdd:rawdough_3"},
|
||||
{"block": "rtdd:rawdough_3", "item": None, "target": "rtdd:rawdough_4",
|
||||
"startTimer": "rtdd:rawdough_4", "tip": "§a和完面, 开始发酵"},
|
||||
"startTimer": "rtdd:rawdough_4", "tip": None},
|
||||
{"block": "rtdd:rawdough_4", "item": CLEAVER, "action": "chop_smalldough",
|
||||
"tip": "§a切出了8个小面团"},
|
||||
"tip": None},
|
||||
{"block": "rtdd:dough_0", "item": ROLLINGPIN, "target": "rtdd:dough_1",
|
||||
"consume": 1, "tip": "§a开始擀面(消耗1根擀面杖)"},
|
||||
"consume": 1, "tip": None},
|
||||
{"block": "rtdd:dough_1", "item": None, "target": "rtdd:dought_2"},
|
||||
{"block": "rtdd:dought_2", "item": None, "target": "rtdd:dought_3"},
|
||||
{"block": "rtdd:dought_3", "item": None, "target": "rtdd:dought_4"},
|
||||
{"block": "rtdd:dought_4", "item": None, "target": "rtdd:dought_5"},
|
||||
{"block": "rtdd:dought_5", "item": None, "target": "rtdd:dought_6"},
|
||||
{"block": "rtdd:dought_6", "item": None, "target": "rtdd:dought_7",
|
||||
"give": ROLLINGPIN, "tip": "§a擀好了, 擀面杖返还"},
|
||||
{"block": "rtdd:dought_7", "item": CLEAVER, "target": "rtdd:dought_8", "tip": "§a面饼切开"},
|
||||
{"block": "rtdd:dought_8", "item": None, "target": "rtdd:dought_9", "tip": "§a转成可颂面胚"},
|
||||
"give": ROLLINGPIN, "tip": None},
|
||||
{"block": "rtdd:dought_7", "item": CLEAVER, "target": "rtdd:dought_8", "tip": None},
|
||||
{"block": "rtdd:dought_8", "item": None, "target": "rtdd:dought_9", "tip": None},
|
||||
{"block": "rtdd:dought_8", "item": CLEAVER, "action": "chop_noodles",
|
||||
"tip": "§a切出了生面"},
|
||||
"tip": None},
|
||||
{"block": "rtdd:smalldough_0", "item": ROLLINGPIN, "target": "rtdd:smalldough_1",
|
||||
"consume": 1, "tip": "§a开始擀小面团(消耗1根擀面杖)"},
|
||||
"consume": 1, "tip": None},
|
||||
{"block": "rtdd:smalldough_1", "item": None, "target": "rtdd:smalldough_2"},
|
||||
{"block": "rtdd:smalldough_2", "item": None, "target": "rtdd:smalldough_3"},
|
||||
{"block": "rtdd:smalldough_3", "item": None, "action": "drop_dumpling_skin",
|
||||
"dropItem": "rtdd:dumplings_0", "give": ROLLINGPIN,
|
||||
"tip": "§a压成饺子皮, 擀面杖返还"},
|
||||
"tip": None},
|
||||
|
||||
# ---- 二、饺子组 ----
|
||||
{"block": "rtdd:dumplings_0", "item": PORK_FILLING, "target": "rtdd:dumplings_1",
|
||||
"tip": "§a饺子皮加了猪肉馅"},
|
||||
"tip": None},
|
||||
{"block": "rtdd:dumplings_0", "item": VEGGIE, "target": "rtdd:dumplings_2",
|
||||
"tip": "§a饺子皮加了青菜碎"},
|
||||
"tip": None},
|
||||
{"block": "rtdd:dumplings_1", "item": VEGGIE, "target": "rtdd:dumplings_3",
|
||||
"tip": "§a加了青菜碎"},
|
||||
"tip": None},
|
||||
{"block": "rtdd:dumplings_2", "item": PORK_FILLING, "target": "rtdd:dumplings_3",
|
||||
"tip": "§a加了猪肉馅"},
|
||||
"tip": None},
|
||||
{"block": "rtdd:dumplings_3", "item": None, "action": "drop_result",
|
||||
"dropItem": "rtdd:dumplings_4", "tip": "§a捏合成了生饺子"},
|
||||
"dropItem": "rtdd:dumplings_4", "tip": None},
|
||||
{"block": "rtdd:steamerdumplings_1", "item": PLATE, "action": "take_steamer",
|
||||
"dropItem": "rtdd:plate_30a", "consume": 1, "tip": "§a取出美味饺子(全份)盘装, 蒸笼归位"},
|
||||
"dropItem": "rtdd:plate_30a", "consume": 1, "tip": None},
|
||||
|
||||
# ---- 三、包子组 ----
|
||||
{"block": "rtdd:dumplings_0", "item": None, "target": "rtdd:baozipi",
|
||||
"tip": "§a变成包子皮"},
|
||||
"tip": None},
|
||||
{"block": "rtdd:baozipi", "item": PORK_FILLING, "target": "rtdd:roubao_1",
|
||||
"tip": "§a包子皮加了肉馅"},
|
||||
"tip": None},
|
||||
{"block": "rtdd:baozipi", "item": BEEF_FILLING, "target": "rtdd:roubao_1",
|
||||
"tip": "§a包子皮加了肉馅"},
|
||||
"tip": None},
|
||||
{"block": "rtdd:roubao_1", "item": None, "target": "rtdd:roubao_2"},
|
||||
{"block": "rtdd:roubao_2", "item": None, "action": "drop_result",
|
||||
"dropItem": "rtdd:roubaozi_3", "tip": "§a塑形成生肉包子"},
|
||||
"dropItem": "rtdd:roubaozi_3", "tip": None},
|
||||
{"block": "rtdd:baozilong_2", "item": None, "action": "take_steamer",
|
||||
"dropItem": "rtdd:shouroubao", "dropCount": 3, "tip": "§a取出三个熟肉包子, 蒸笼归位"},
|
||||
"dropItem": "rtdd:shouroubao", "dropCount": 3, "tip": None},
|
||||
{"block": "rtdd:shouroubao", "item": CLEAVER, "target": "rtdd:shoubaozi_2",
|
||||
"tip": "§a切出半个"},
|
||||
"tip": None},
|
||||
{"block": "rtdd:shoubaozi_2", "item": CLEAVER, "target": "rtdd:shoubaozi_3",
|
||||
"tip": "§a切成1/4个"},
|
||||
"tip": None},
|
||||
{"block": "rtdd:shoubaozi_2", "item": "rtdd:shouroubao", "target": "rtdd:shoubaozidui_2",
|
||||
"consume": 1, "tip": "§a堆叠成两个"},
|
||||
"consume": 1, "tip": None},
|
||||
{"block": "rtdd:shoubaozidui_2", "item": "rtdd:shouroubao", "target": "rtdd:shoubaozidui_3",
|
||||
"consume": 1, "tip": "§a堆叠成三个"},
|
||||
"consume": 1, "tip": None},
|
||||
{"block": "rtdd:shoubaozidui_3", "item": None, "target": "rtdd:shoubaozidui_2",
|
||||
"dropItem": "rtdd:shouroubao", "tip": "§a取走一个"},
|
||||
"dropItem": "rtdd:shouroubao", "tip": None},
|
||||
{"block": "rtdd:shoubaozidui_2", "item": None, "target": "rtdd:shoubaozi_2",
|
||||
"dropItem": "rtdd:shouroubao", "tip": "§a取走一个"},
|
||||
"dropItem": "rtdd:shouroubao", "tip": None},
|
||||
|
||||
# ---- 四、馍·肉夹馍组 ----
|
||||
{"block": "rtdd:roujiamo_0", "item": CLEAVER, "target": "rtdd:roujiamo_1",
|
||||
"tip": "§a馍切开"},
|
||||
"tip": None},
|
||||
{"block": "rtdd:roujiamo_1", "item": COOKED_BEEF, "target": "rtdd:roujiamo_2",
|
||||
"consume": 2, "tip": "§a夹入熟牛肉(消耗2个)"},
|
||||
"consume": 2, "tip": None},
|
||||
{"block": "rtdd:roujiamo_1", "item": COOKED_PORK, "target": "rtdd:roujiamo_2",
|
||||
"consume": 2, "tip": "§a夹入熟猪肉(消耗2个)"},
|
||||
"consume": 2, "tip": None},
|
||||
|
||||
# ---- 五、煎饼卷组 ----
|
||||
{"block": "rtdd:cooked_dought", "item": VEGGIE, "target": "rtdd:cookeddought_1",
|
||||
"consume": 1, "tip": "§a煎饼加了青菜碎"},
|
||||
"consume": 1, "tip": None},
|
||||
{"block": "rtdd:cookeddought_1", "item": COOKED_BEEF, "target": "rtdd:cookeddought_2",
|
||||
"consume": 1, "tip": "§a加入熟牛肉"},
|
||||
"consume": 1, "tip": None},
|
||||
{"block": "rtdd:cookeddought_2", "item": POTATO, "target": "rtdd:cookeddought_3",
|
||||
"consume": 1, "tip": "§a加入土豆"},
|
||||
"consume": 1, "tip": None},
|
||||
{"block": "rtdd:cookeddought_3", "item": None, "target": "rtdd:cookeddought_4"},
|
||||
{"block": "rtdd:cookeddought_4", "item": None, "target": "rtdd:cookeddought_5"},
|
||||
{"block": "rtdd:cookeddought_5", "item": None, "target": "rtdd:cookeddought_6",
|
||||
"tip": "§a煎饼卷牛肉完成"},
|
||||
"tip": None},
|
||||
{"block": "rtdd:cookeddought_1", "item": COOKED_COD, "target": "rtdd:cookedcoddought_2",
|
||||
"tip": "§a加入熟鳕鱼"},
|
||||
"tip": None},
|
||||
{"block": "rtdd:cookedcoddought_2", "item": POTATO, "target": "rtdd:cookedcoddought_3",
|
||||
"consume": 1, "tip": "§a加入土豆"},
|
||||
"consume": 1, "tip": None},
|
||||
{"block": "rtdd:cookedcoddought_3", "item": None, "target": "rtdd:cookedcoddought_4"},
|
||||
{"block": "rtdd:cookedcoddought_4", "item": None, "target": "rtdd:cookedcoddought_5"},
|
||||
{"block": "rtdd:cookedcoddought_5", "item": None, "target": "rtdd:cookedcoddought_6",
|
||||
"tip": "§a煎饼卷鳕鱼完成"},
|
||||
"tip": None},
|
||||
|
||||
# ---- 六、竹筒饭组 ----
|
||||
{"block": "rtdd:bamboo_0", "item": CLEAVER, "target": "rtdd:bamboo_1",
|
||||
"tip": "§a竹筒切开"},
|
||||
"tip": None},
|
||||
{"block": "rtdd:bamboo_1", "item": BROWN_RICE, "target": "rtdd:bamboo_2",
|
||||
"consume": 32, "tip": "§a竹筒填满生大米(消耗32个)"},
|
||||
"consume": 32, "tip": None},
|
||||
{"block": "rtdd:bamboo_7", "item": None, "action": "take_steamer",
|
||||
"dropItem": "rtdd:bamboo_5", "tip": "§a取出熟竹筒饭, 蒸笼归位"},
|
||||
"dropItem": "rtdd:bamboo_5", "tip": None},
|
||||
|
||||
# ---- 七、面包·烘焙组(堆叠/递减) ----
|
||||
{"block": "rtdd:bread_1", "item": "rtdd:bread_1", "target": "rtdd:bread_1a",
|
||||
"consume": 1, "tip": "§a堆叠成2份"},
|
||||
"consume": 1, "tip": None},
|
||||
{"block": "rtdd:bread_1a", "item": "rtdd:bread_1", "target": "rtdd:bread_1b",
|
||||
"consume": 1, "tip": "§a堆叠成3份"},
|
||||
"consume": 1, "tip": None},
|
||||
{"block": "rtdd:bread_1b", "item": None, "target": "rtdd:bread_1a",
|
||||
"dropItem": "rtdd:bread_1", "tip": "§a取走一个"},
|
||||
"dropItem": "rtdd:bread_1", "tip": None},
|
||||
{"block": "rtdd:bread_1a", "item": None, "target": "rtdd:bread_1",
|
||||
"dropItem": "rtdd:bread_1", "tip": "§a取走一个"},
|
||||
"dropItem": "rtdd:bread_1", "tip": None},
|
||||
{"block": "rtdd:bread_2", "item": "rtdd:bread_2", "target": "rtdd:bread_2a",
|
||||
"consume": 1, "tip": "§a堆叠成2份"},
|
||||
"consume": 1, "tip": None},
|
||||
{"block": "rtdd:bread_2a", "item": "rtdd:bread_2", "target": "rtdd:bread_2b",
|
||||
"consume": 1, "tip": "§a堆叠成3份"},
|
||||
"consume": 1, "tip": None},
|
||||
{"block": "rtdd:bread_2b", "item": None, "target": "rtdd:bread_2a",
|
||||
"dropItem": "rtdd:bread_2", "tip": "§a取走一个"},
|
||||
"dropItem": "rtdd:bread_2", "tip": None},
|
||||
{"block": "rtdd:bread_2a", "item": None, "target": "rtdd:bread_2",
|
||||
"dropItem": "rtdd:bread_2", "tip": "§a取走一个"},
|
||||
"dropItem": "rtdd:bread_2", "tip": None},
|
||||
{"block": "rtdd:bread_3", "item": "rtdd:bread_3", "target": "rtdd:bread_3a",
|
||||
"consume": 1, "tip": "§a堆叠成2份"},
|
||||
"consume": 1, "tip": None},
|
||||
{"block": "rtdd:bread_3a", "item": "rtdd:bread_3", "target": "rtdd:bread_3b",
|
||||
"consume": 1, "tip": "§a堆叠成3份"},
|
||||
"consume": 1, "tip": None},
|
||||
{"block": "rtdd:bread_3b", "item": None, "target": "rtdd:bread_3a",
|
||||
"dropItem": "rtdd:bread_3", "tip": "§a取走一个"},
|
||||
"dropItem": "rtdd:bread_3", "tip": None},
|
||||
{"block": "rtdd:bread_3a", "item": None, "target": "rtdd:bread_3",
|
||||
"dropItem": "rtdd:bread_3", "tip": "§a取走一个"},
|
||||
"dropItem": "rtdd:bread_3", "tip": None},
|
||||
{"block": "rtdd:bread_4", "item": "rtdd:bread_4", "target": "rtdd:bread_4a",
|
||||
"consume": 1, "tip": "§a堆叠成2个"},
|
||||
"consume": 1, "tip": None},
|
||||
{"block": "rtdd:bread_4a", "item": "rtdd:bread_4", "target": "rtdd:bread_4b",
|
||||
"consume": 1, "tip": "§a堆叠成3个"},
|
||||
"consume": 1, "tip": None},
|
||||
{"block": "rtdd:bread_4b", "item": None, "target": "rtdd:bread_4a",
|
||||
"dropItem": "rtdd:bread_4", "tip": "§a取走一个甜甜圈"},
|
||||
"dropItem": "rtdd:bread_4", "tip": None},
|
||||
{"block": "rtdd:bread_4a", "item": None, "target": "rtdd:bread_4",
|
||||
"dropItem": "rtdd:bread_4", "tip": "§a取走一个甜甜圈"},
|
||||
"dropItem": "rtdd:bread_4", "tip": None},
|
||||
{"block": "rtdd:bread_4c", "item": CREAM, "target": "rtdd:bread_4",
|
||||
"consume": 1, "tip": "§a甜甜圈涂了奶油"},
|
||||
"consume": 1, "tip": None},
|
||||
|
||||
# ---- 八、面团·胚料组(右键循环转换) ----
|
||||
{"block": "rtdd:dough_0", "item": None, "target": "rtdd:breaddough_1",
|
||||
"startTimer": "rtdd:breaddough_1", "tip": "§a转成法棍面胚, 开始发酵"},
|
||||
"startTimer": "rtdd:breaddough_1", "tip": None},
|
||||
{"block": "rtdd:breaddough_1", "item": None, "target": "rtdd:breaddough_2",
|
||||
"tip": "§a转成吐司面胚"},
|
||||
"tip": None},
|
||||
{"block": "rtdd:breaddough_2", "item": None, "target": "rtdd:breaddough_4d",
|
||||
"tip": "§a转成甜甜圈胚"},
|
||||
"tip": None},
|
||||
{"block": "rtdd:breaddough_4d", "item": None, "target": "rtdd:dough_0",
|
||||
"tip": "§a转回发酵面团"},
|
||||
"tip": None},
|
||||
|
||||
# ---- 九、甜点·蛋糕组 ----
|
||||
{"block": "rtdd:cakebatterblock", "item": None, "action": "unmold_cake",
|
||||
"tip": "§a脱模出蛋糕胚 + 木碗"},
|
||||
"tip": None},
|
||||
# 蛋糕胚+原料做蛋糕: 奶油x4 / 蜂蜜x3 / 可可豆x16
|
||||
{"block": "rtdd:cakebase", "item": CREAM, "target": "rtdd:cake_0",
|
||||
"consume": 4, "tip": "§a蛋糕胚涂上奶油x4, 做了 奶油蛋糕"},
|
||||
"consume": 4, "tip": None},
|
||||
{"block": "rtdd:cakebase", "item": HONEY, "target": "rtdd:cake_1",
|
||||
"consume": 3, "tip": "§a蛋糕胚浇上蜂蜜x3, 做了 蜂蜜蛋糕"},
|
||||
"consume": 3, "tip": None},
|
||||
{"block": "rtdd:cake_0", "item": BERRIES, "target": "rtdd:cake_2",
|
||||
"consume": 4, "tip": "§a奶油蛋糕加浆果x4, 做成 浆果蛋糕"},
|
||||
"consume": 4, "tip": None},
|
||||
{"block": "rtdd:cakebase", "item": COCOA, "target": "rtdd:cake_3",
|
||||
"consume": 16, "tip": "§a蛋糕胚加可可豆x16, 做了 巧克力蛋糕"},
|
||||
"consume": 16, "tip": None},
|
||||
# 切分链: 整块 -> 3/4块 -> 半块(每次掉落1个小块) -> 半块拆分掉2个小块
|
||||
{"block": "rtdd:cake_1", "item": CLEAVER, "target": "rtdd:cake_1a",
|
||||
"dropItem": "rtdd:cake_1d", "tip": "§a切下小块"},
|
||||
"dropItem": "rtdd:cake_1d", "tip": None},
|
||||
{"block": "rtdd:cake_1a", "item": CLEAVER, "target": "rtdd:cake_1b",
|
||||
"dropItem": "rtdd:cake_1d", "tip": "§a切下小块"},
|
||||
"dropItem": "rtdd:cake_1d", "tip": None},
|
||||
{"block": "rtdd:cake_2", "item": CLEAVER, "target": "rtdd:cake_2a",
|
||||
"dropItem": "rtdd:cake_2d", "tip": "§a切下小块"},
|
||||
"dropItem": "rtdd:cake_2d", "tip": None},
|
||||
{"block": "rtdd:cake_2a", "item": CLEAVER, "target": "rtdd:cake_2b",
|
||||
"dropItem": "rtdd:cake_2d", "tip": "§a切下小块"},
|
||||
"dropItem": "rtdd:cake_2d", "tip": None},
|
||||
{"block": "rtdd:cake_3", "item": CLEAVER, "target": "rtdd:cake_3a",
|
||||
"dropItem": "rtdd:cake_3d", "tip": "§a切下小块"},
|
||||
"dropItem": "rtdd:cake_3d", "tip": None},
|
||||
{"block": "rtdd:cake_3a", "item": CLEAVER, "target": "rtdd:cake_3b",
|
||||
"dropItem": "rtdd:cake_3d", "tip": "§a切下小块"},
|
||||
"dropItem": "rtdd:cake_3d", "tip": None},
|
||||
{"block": "rtdd:cake_1b", "item": CLEAVER, "action": "split_cake",
|
||||
"dropItem": "rtdd:cake_1d", "tip": "§a半块切成两块小块"},
|
||||
"dropItem": "rtdd:cake_1d", "tip": None},
|
||||
{"block": "rtdd:cake_2b", "item": CLEAVER, "action": "split_cake",
|
||||
"dropItem": "rtdd:cake_2d", "tip": "§a半块切成两块小块"},
|
||||
"dropItem": "rtdd:cake_2d", "tip": None},
|
||||
{"block": "rtdd:cake_3b", "item": CLEAVER, "action": "split_cake",
|
||||
"dropItem": "rtdd:cake_3d", "tip": "§a半块切成两块小块"},
|
||||
"dropItem": "rtdd:cake_3d", "tip": None},
|
||||
{"block": "rtdd:plate_35", "item": SUGAR, "target": "rtdd:cream_caramel",
|
||||
"consume": 16, "tip": "§a做成焦糖布丁(消耗16个糖)"},
|
||||
"consume": 16, "tip": None},
|
||||
{"block": "rtdd:plate_34", "item": CREAM, "target": "rtdd:creampastry_0",
|
||||
"consume": 1, "tip": "§a做成舒芙蕾半成品"},
|
||||
"consume": 1, "tip": None},
|
||||
]
|
||||
|
||||
# ============================================================================
|
||||
@@ -323,9 +323,9 @@ SWITCH_RULES = [
|
||||
# ============================================================================
|
||||
KNEAD_COUNTERS = {
|
||||
"rtdd:farineblock_2": {"times": 2, "target": "rtdd:farineblock_3",
|
||||
"tip": "§a揉面中,(%d/2)", "doneTip": "§a揉好了, 变成面粉块"},
|
||||
"tip": None, "doneTip": None},
|
||||
"rtdd:farineblock_3": {"times": 3, "target": "rtdd:rawdough_0",
|
||||
"tip": "§a和面中,(%d/3)", "doneTip": "§a和好面了, 变成生面团"},
|
||||
"tip": None, "doneTip": None},
|
||||
}
|
||||
|
||||
# ============================================================================
|
||||
@@ -335,25 +335,25 @@ KNEAD_COUNTERS = {
|
||||
# ============================================================================
|
||||
ITEM_USE_ON_RULES = [
|
||||
{"item": "rtdd:dought_7", "surface": OVEN, "above": "rtdd:roujiamo_0",
|
||||
"consume": 1, "tip": "§a烙制成了馍"},
|
||||
"consume": 1, "tip": None},
|
||||
{"item": "rtdd:farineblock_1", "surface": BOWL, "replace": "rtdd:cakebatterblock_0",
|
||||
"consume": 1, "tip": "§a木碗变成了蛋糕面糊(生)"},
|
||||
"consume": 1, "tip": None},
|
||||
# ---- 蒸笼(下面要点燃的炉灶才计时) ----
|
||||
{"item": "rtdd:dumplings_4", "surface": STEAMER,
|
||||
"replace": "rtdd:steamerdumplings_0", "consume": 4,
|
||||
"startTimer": "rtdd:steamerdumplings_0",
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c蒸笼需要放在点燃的炉灶上",
|
||||
"tip": "§a四个生饺子放进蒸笼, 开始蒸制"},
|
||||
"tip": None},
|
||||
{"item": "rtdd:roubaozi_3", "surface": STEAMER,
|
||||
"replace": "rtdd:baozilong_1", "consume": 3,
|
||||
"startTimer": "rtdd:baozilong_1",
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c蒸笼需要放在点燃的炉灶上",
|
||||
"tip": "§a三个生肉包子放进蒸笼, 开始蒸制"},
|
||||
"tip": None},
|
||||
{"item": "rtdd:bamboo_4", "surface": STEAMER,
|
||||
"replace": "rtdd:bamboo_6", "consume": 1,
|
||||
"startTimer": "rtdd:bamboo_6",
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c蒸笼需要放在点燃的炉灶上",
|
||||
"tip": "§a竹筒饭放进蒸笼, 开始蒸制"},
|
||||
"tip": None},
|
||||
]
|
||||
|
||||
# ============================================================================
|
||||
|
||||
+2
-27
@@ -73,7 +73,7 @@ class MianshiService(BlueFoxServerSystem):
|
||||
# 竹筒饭加肉: (bamboo_2 + 任一肉类) -> bamboo_4
|
||||
for meat in MEAT_ITEMS:
|
||||
add({"block": "rtdd:bamboo_2", "item": meat,
|
||||
"target": "rtdd:bamboo_4", "consume": 1, "tip": "§a竹筒加了肉"})
|
||||
"target": "rtdd:bamboo_4", "consume": 1})
|
||||
|
||||
# 揉面/和面连点方块也要注册(空手右键路由)
|
||||
for b in KNEAD_COUNTERS:
|
||||
@@ -104,9 +104,6 @@ class MianshiService(BlueFoxServerSystem):
|
||||
src = r["source"]
|
||||
self.timerSources.add(src)
|
||||
self.featureBlocks.add(src)
|
||||
if src not in self.startTimerTips:
|
||||
self.startTimerTips[src] = "§a开始蒸制, 计时出锅"
|
||||
self.timingTips[src] = "§e正在蒸制中, 计时出锅"
|
||||
|
||||
# ---- 结果方块/物品 -> "下一步"可读提示(供转换/入笼提示追加) ----
|
||||
# 例子: 饺子皮 -> "加入 猪肉馅、青菜碎"; 可颂面胚 -> "放在烤炉上等计时(60秒)结束变成 可颂"
|
||||
@@ -200,8 +197,6 @@ class MianshiService(BlueFoxServerSystem):
|
||||
return True
|
||||
self.clearBlock(pos, dim)
|
||||
self.dropItem(dim, pos, blockName)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a取走" + self._nameOf(blockName))
|
||||
return True
|
||||
|
||||
# ---- 空手右键"蒸笼计时源"(蒸X_生): 计时已改自动(tick 判定下方点燃炉灶),
|
||||
@@ -279,13 +274,6 @@ class MianshiService(BlueFoxServerSystem):
|
||||
if rule.get("startTimer"):
|
||||
FeatureDispatcher.startTimerFor(
|
||||
rule["startTimer"], dim, (x, y, z), playerId)
|
||||
|
||||
if rule.get("tip"):
|
||||
tip = rule["tip"]
|
||||
nxt = self._nextStepTip(rule.get("replace") or rule.get("above"))
|
||||
if nxt:
|
||||
tip += "," + nxt
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, tip)
|
||||
return True
|
||||
|
||||
def _handleStartTimer(self, blockName, playerId, pos, dim):
|
||||
@@ -294,16 +282,11 @@ class MianshiService(BlueFoxServerSystem):
|
||||
try:
|
||||
data = blockEntityDataComp.GetBlockEntityData(dim, pos)
|
||||
if data and data["rtdd_tid"] == blockName:
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, self.timingTips.get(blockName, "§e已经在计时中"))
|
||||
return
|
||||
except Exception:
|
||||
pass
|
||||
started = FeatureDispatcher.startTimerFor(blockName, dim, pos, playerId)
|
||||
if started:
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, self.startTimerTips.get(blockName, "§a已启动计时"))
|
||||
else:
|
||||
if not started:
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§c蒸笼需要放在点燃的炉灶上才能开始蒸制")
|
||||
|
||||
@@ -332,7 +315,6 @@ class MianshiService(BlueFoxServerSystem):
|
||||
if n >= cfg["times"]:
|
||||
self.kneadCount.pop(key, None)
|
||||
self.replaceBlock(pos, dim, cfg["target"], playerId)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, cfg.get("doneTip", "§a完成"))
|
||||
else:
|
||||
self.kneadCount[key] = n
|
||||
return True
|
||||
@@ -395,13 +377,6 @@ class MianshiService(BlueFoxServerSystem):
|
||||
# 转换后启动计时(发酵等, 记录玩家以便完成提示送达)
|
||||
if recipe.get("startTimer"):
|
||||
FeatureDispatcher.startTimerFor(recipe["startTimer"], dim, pos, playerId)
|
||||
# 提示(追加"下一步操作"指引)
|
||||
if recipe.get("tip"):
|
||||
tip = recipe["tip"]
|
||||
nxt = self._nextStepTip(recipe.get("target") or recipe.get("dropItem"))
|
||||
if nxt:
|
||||
tip += "," + nxt
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, tip)
|
||||
|
||||
# ============================================================================
|
||||
# 五、工具方法,判断正下方是否指定方块(烤炉/点燃炉灶)
|
||||
|
||||
+1
@@ -236,6 +236,7 @@ class MianshiTimerService(BlueFoxServerSystem):
|
||||
ids = comp.CreateGame(LevelId).GetAllPlayerIds()
|
||||
if playerId in ids:
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, tip)
|
||||
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
|
||||
+56
@@ -52,6 +52,9 @@ from ..siwangshengwu.service.DeadmobGeneratorService import DeadmobGeneratorServ
|
||||
# ---- 钓鱼掉落: 螃蟹/龙虾(普通逻辑类, 由本分发器转发 PlayerFishingServerEvent) ----
|
||||
from ..yuanbanfangzhi.service.YuanbanFishing import YuanbanFishingService
|
||||
|
||||
# ---- 乡野自然·水稻: 踩踏耕地等下方方块变化时 清理作物+掉稻谷 ----
|
||||
from ..ziran.NaturalData import RICE_BLOCKS, RICE_SEED_ITEM, RICE_CROP_ITEM
|
||||
|
||||
# ---- 汤锅盛出自定义事件名(与客户端 ClientFeatureDispatcher TAKEOUT_EVENT 一致) ----
|
||||
TAKEOUT_EVENT = "TakeoutRequest"
|
||||
|
||||
@@ -252,6 +255,10 @@ class FeatureDispatcher(BlueFoxServerSystem):
|
||||
self.ListenForEvent(serverApi.GetEngineNamespace(),
|
||||
serverApi.GetEngineSystemName(),
|
||||
"ServerPlayerTryDestroyBlockEvent", self, self.OnDestroy)
|
||||
# 水稻/自定义方块周围方块变化(踩踏耕地使下方变泥土/草地等) -> 清理作物+掉稻谷
|
||||
self.ListenForEvent(serverApi.GetEngineNamespace(),
|
||||
serverApi.GetEngineSystemName(),
|
||||
"BlockNeighborChangedServerEvent", self, self.OnBlockNeighborChanged)
|
||||
self.ListenForEvent(serverApi.GetEngineNamespace(),
|
||||
serverApi.GetEngineSystemName(),
|
||||
"ItemUseOnAfterServerEvent", self, self.OnItemPlaceAfter)
|
||||
@@ -296,6 +303,9 @@ class FeatureDispatcher(BlueFoxServerSystem):
|
||||
self.UnListenForEvent(serverApi.GetEngineNamespace(),
|
||||
serverApi.GetEngineSystemName(),
|
||||
"ServerPlayerTryDestroyBlockEvent", self, self.OnDestroy)
|
||||
self.UnListenForEvent(serverApi.GetEngineNamespace(),
|
||||
serverApi.GetEngineSystemName(),
|
||||
"BlockNeighborChangedServerEvent", self, self.OnBlockNeighborChanged)
|
||||
self.UnListenForEvent(serverApi.GetEngineNamespace(),
|
||||
serverApi.GetEngineSystemName(),
|
||||
"ItemUseOnAfterServerEvent", self, self.OnItemPlaceAfter)
|
||||
@@ -739,3 +749,49 @@ class FeatureDispatcher(BlueFoxServerSystem):
|
||||
self.CreateEngineItemEntity(itemDict, dim, (x, y + 0.5, z))
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
def OnBlockNeighborChanged(self, args):
|
||||
"""
|
||||
BlockNeighborChangedServerEvent —— 自定义方块周围方块变化时触发。
|
||||
用途: 稻谷(riceseedlingsb/c/d)下方是耕地(farmland)时, 一旦耕地被踩踏/替换/推动
|
||||
(变成泥土/草方块等), 原版会把作物连根。为保证"踩耕地→作物消失且掉稻谷"(跟原版
|
||||
一致, 而不掉方块本体), 这里在下方耕地变化的瞬间:
|
||||
- 若稻谷方块仍存在于原地, 手动清空它;
|
||||
- 并掉落稻谷(b/c 掉1; 成熟 d 掉 稻谷1 + 大米16)。
|
||||
只处理稻谷块; 其余方块直接放行。
|
||||
"""
|
||||
blockName = args.get("blockName")
|
||||
if blockName not in RICE_BLOCKS:
|
||||
return
|
||||
posX, posY, posZ = args.get("posX"), args.get("posY"), args.get("posZ")
|
||||
dim = args.get("dimensionId")
|
||||
# 仅当下方(正下方一格)方块变化才处理, 避免同层/上方邻居变化误清
|
||||
if (args.get("neighborPosX") != posX or
|
||||
args.get("neighborPosZ") != posZ or
|
||||
args.get("neighborPosY") != (posY - 1)):
|
||||
return
|
||||
try:
|
||||
below = comp.CreateBlockInfo(LevelId).GetBlockNew((posX, posY - 1, posZ), dim)
|
||||
belowName = below.get("name") if below else None
|
||||
except Exception:
|
||||
belowName = None
|
||||
# 下方仍是耕地 -> 不算失去支撑, 放行
|
||||
if belowName == "minecraft:farmland":
|
||||
return
|
||||
# 清空作物方块(取消默认掉落, 手动掉)
|
||||
try:
|
||||
comp.CreateBlockInfo(LevelId).SetBlockNew(
|
||||
(posX, posY, posZ), blockDict={"name": "minecraft:air", "aux": 0},
|
||||
oldBlockHandling=0, dimensionId=dim)
|
||||
except Exception:
|
||||
pass
|
||||
try:
|
||||
self.CreateEngineItemEntity(
|
||||
{"itemName": RICE_SEED_ITEM, "count": 1, "auxValue": 0},
|
||||
dim, (posX, posY + 0.5, posZ))
|
||||
if blockName == "rtdd:riceseedlingsd":
|
||||
self.CreateEngineItemEntity(
|
||||
{"itemName": RICE_CROP_ITEM, "count": 16, "auxValue": 0},
|
||||
dim, (posX, posY + 0.5, posZ))
|
||||
except Exception:
|
||||
pass
|
||||
@@ -189,6 +189,17 @@ try:
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
# 市场贸易(条箱/货桶/售卖盒 放入: 手持 苹果/胡萝卜/土豆/桃/橘/鳕鱼/鲑鱼/面包/南瓜/西瓜
|
||||
# 右键空容器): MarketData.MARKET_SWITCHES。
|
||||
# 手持这些"可放置/可食用"物品右键容器时, 原版会先播放放置/使用预览, 需纳入 BLOCKUSE_CANCEL
|
||||
# 由客户端 cancel 后走 BlockUseRequest 到 MarketService.handleBlockUse, 实现"手中物品消失进容器"。
|
||||
# 注意: 派生会自动过滤 item=None 的取出规则(空手取出走 ServerBlockUseEvent, 本就不受 itemUseOn 影响)。
|
||||
try:
|
||||
from ..shichangmaoyi.MarketData import MARKET_SWITCHES as MARKET_RS
|
||||
_BLOCK_USE_TABLES.append(MARKET_RS)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
# ---- 原版放置/盘子转换 (itemUseOn, surface=相邻放置 / source=盘子) ----
|
||||
try:
|
||||
from ..yuanbanfangzhi.YuanbanData import (
|
||||
|
||||
+25
-25
@@ -53,7 +53,7 @@ BARBECUE_SWITCHES = [
|
||||
"target": "rtdd:barbecuegrill_1",
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"tip": "§a烧烤炉已点燃!",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【点火-烈焰弹】烧烤架_1(无火) → 烧烤架_2(点燃),烈焰弹消耗1个
|
||||
@@ -63,7 +63,7 @@ BARBECUE_SWITCHES = [
|
||||
"target": "rtdd:barbecuegrill_1",
|
||||
"consume": 1,
|
||||
"type": "switch",
|
||||
"tip": "§a烧烤炉已点燃!",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【灭火】烧烤架_2(点燃) → 烧烤架_1(无火),消耗水桶,获得空桶
|
||||
@@ -75,7 +75,7 @@ BARBECUE_SWITCHES = [
|
||||
"type": "switch",
|
||||
"giveItem": "minecraft:bucket",
|
||||
"giveCount": 1,
|
||||
"tip": "§a已用水扑灭烧烤炉",
|
||||
"tip": None,
|
||||
},
|
||||
|
||||
# ============================================================
|
||||
@@ -92,7 +92,7 @@ BARBECUE_SWITCHES = [
|
||||
"type": "switch",
|
||||
"switchCd": 0.5,
|
||||
"below": ["rtdd:barbecuegrill_1"],
|
||||
"tip": "§a牛肉串正在翻烤…",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -103,7 +103,7 @@ BARBECUE_SWITCHES = [
|
||||
"type": "switch",
|
||||
"switchCd": 0.5,
|
||||
"below": ["rtdd:barbecuegrill_1"],
|
||||
"tip": "§e牛肉串烤熟了!",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 羊肉串: 生(_1) → 半熟(_0) → 熟(_3)
|
||||
@@ -115,7 +115,7 @@ BARBECUE_SWITCHES = [
|
||||
"type": "switch",
|
||||
"switchCd": 0.5,
|
||||
"below": ["rtdd:barbecuegrill_1"],
|
||||
"tip": "§a羊肉串正在翻烤…",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -126,7 +126,7 @@ BARBECUE_SWITCHES = [
|
||||
"type": "switch",
|
||||
"switchCd": 0.5,
|
||||
"below": ["rtdd:barbecuegrill_1"],
|
||||
"tip": "§e羊肉串烤熟了!",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 烤蔬菜串: 生(_0) → 半熟(_1) → 熟(_3)
|
||||
@@ -138,7 +138,7 @@ BARBECUE_SWITCHES = [
|
||||
"type": "switch",
|
||||
"switchCd": 0.5,
|
||||
"below": ["rtdd:barbecuegrill_1"],
|
||||
"tip": "§a烤蔬菜串正在翻烤…",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -149,7 +149,7 @@ BARBECUE_SWITCHES = [
|
||||
"type": "switch",
|
||||
"switchCd": 0.5,
|
||||
"below": ["rtdd:barbecuegrill_1"],
|
||||
"tip": "§e烤蔬菜串烤熟了!",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 烤香菇串: 生(_0) → 半熟(_1) → 熟(_3)
|
||||
@@ -161,7 +161,7 @@ BARBECUE_SWITCHES = [
|
||||
"type": "switch",
|
||||
"switchCd": 0.5,
|
||||
"below": ["rtdd:barbecuegrill_1"],
|
||||
"tip": "§a烤香菇串正在翻烤…",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -172,7 +172,7 @@ BARBECUE_SWITCHES = [
|
||||
"type": "switch",
|
||||
"switchCd": 0.5,
|
||||
"below": ["rtdd:barbecuegrill_1"],
|
||||
"tip": "§e烤香菇串烤熟了!",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
|
||||
@@ -187,7 +187,7 @@ BARBECUE_SWITCHES = [
|
||||
"target": "rtdd:roastchicken_0",
|
||||
"consume": 1,
|
||||
"type": "switch",
|
||||
"tip": "§a烤鸡已上杆",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【上烤乳猪】支杆 + 死猪 → 烤乳猪(生)
|
||||
@@ -197,7 +197,7 @@ BARBECUE_SWITCHES = [
|
||||
"target": "rtdd:roastpig_0",
|
||||
"consume": 1,
|
||||
"type": "switch",
|
||||
"tip": "§a烤乳猪已上杆",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【上烤鳕鱼】支杆 + 鳕鱼 → 烤鳕鱼(生)
|
||||
@@ -207,7 +207,7 @@ BARBECUE_SWITCHES = [
|
||||
"target": "rtdd:grilledcod_0",
|
||||
"consume": 1,
|
||||
"type": "switch",
|
||||
"tip": "§a烤鳕鱼已上杆",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【上烤鲑鱼】支杆 + 鲑鱼 → 烤鲑鱼(生)
|
||||
@@ -217,7 +217,7 @@ BARBECUE_SWITCHES = [
|
||||
"target": "rtdd:grilled_fish",
|
||||
"consume": 1,
|
||||
"type": "switch",
|
||||
"tip": "§a烤鲑鱼已上杆",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
|
||||
@@ -236,8 +236,8 @@ BARBECUE_SWITCHES = [
|
||||
"time": 60,
|
||||
"below": ["minecraft:campfire"],
|
||||
"autoStart": True,
|
||||
"startTip": "§a下方是营火,烤鸡开始烤制",
|
||||
"doneTip": "§e烤鸡烤熟了!",
|
||||
"startTip": None,
|
||||
"doneTip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【烤熟】烤乳猪(生) → 烤乳猪(熟),下方需篝火
|
||||
@@ -250,8 +250,8 @@ BARBECUE_SWITCHES = [
|
||||
"time": 60,
|
||||
"below": ["minecraft:campfire"],
|
||||
"autoStart": True,
|
||||
"startTip": "§a下方是营火,烤乳猪开始烤制",
|
||||
"doneTip": "§e烤乳猪烤熟了!",
|
||||
"startTip": None,
|
||||
"doneTip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【烤熟】烤鳕鱼(生) → 烤鳕鱼(熟),下方需篝火
|
||||
@@ -264,8 +264,8 @@ BARBECUE_SWITCHES = [
|
||||
"time": 60,
|
||||
"below": ["minecraft:campfire"],
|
||||
"autoStart": True,
|
||||
"startTip": "§a下方是营火,烤鳕鱼开始烤制",
|
||||
"doneTip": "§e烤鳕鱼烤熟了!",
|
||||
"startTip": None,
|
||||
"doneTip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【烤熟】烤鲑鱼(生) → 烤鲑鱼(熟),下方需篝火
|
||||
@@ -278,8 +278,8 @@ BARBECUE_SWITCHES = [
|
||||
"time": 60,
|
||||
"below": ["minecraft:campfire"],
|
||||
"autoStart": True,
|
||||
"startTip": "§a下方是营火,烤鲑鱼开始烤制",
|
||||
"doneTip": "§e烤鲑鱼烤熟了!",
|
||||
"startTip": None,
|
||||
"doneTip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
|
||||
@@ -294,7 +294,7 @@ BARBECUE_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "rtdd:roast_chickenplace_1", "count": 1}],
|
||||
"tip": "§a取下了烤鸡(整只)",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 【取下烤乳猪】烤乳猪(熟) → 支杆 + 掉落 烤乳猪(整只)
|
||||
@@ -305,7 +305,7 @@ BARBECUE_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "rtdd:roastpignew_1", "count": 1}],
|
||||
"tip": "§a取下了烤乳猪(整只)",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
]
|
||||
|
||||
-8
@@ -213,10 +213,6 @@ class BarbecueService(BlueFoxServerSystem):
|
||||
if recipe.get("giveItem"):
|
||||
self.giveItem(playerId, recipe["giveItem"], recipe.get("giveCount", 1))
|
||||
|
||||
# 转换成功提示(点火/上杆等)
|
||||
if recipe.get("tip"):
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, recipe["tip"])
|
||||
|
||||
# 【自动烤制】:若上杆/放置成的方块是计时源(烤乳猪生态/烤鸡/烤鱼),
|
||||
# 立即判定下方是否营火:是→开始计时;否→提示需要营火。
|
||||
# (不再需要玩家右键启动,避免与"放方块"互斥。)
|
||||
@@ -237,10 +233,6 @@ class BarbecueService(BlueFoxServerSystem):
|
||||
if recipe.get("target"):
|
||||
self.replaceBlock(pos, dim, recipe["target"], playerId)
|
||||
|
||||
# 转换成功提示(烤串翻烤/取下等)
|
||||
if recipe.get("tip"):
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, recipe["tip"])
|
||||
|
||||
# ============================================================================
|
||||
# 五、下方方块检查(切换型规则专用,如烤串要求下方是点燃的烧烤炉)
|
||||
# ============================================================================
|
||||
|
||||
@@ -30,7 +30,7 @@ CHOP_CHAINS = [
|
||||
"rtdd:cutcarrot_3", "rtdd:cutcarrot_4",
|
||||
],
|
||||
"drop": {"name": "rtdd:crushed_carrots", "count": 3},
|
||||
"tip": "§a切出了胡萝卜碎",
|
||||
"tip": None,
|
||||
},
|
||||
{
|
||||
"blocks": [
|
||||
@@ -38,7 +38,7 @@ CHOP_CHAINS = [
|
||||
"rtdd:cutpotato_3", "rtdd:cutpotato_4",
|
||||
],
|
||||
"drop": {"name": "rtdd:potato_wedges", "count": 3},
|
||||
"tip": "§a切出了土豆块",
|
||||
"tip": None,
|
||||
},
|
||||
{
|
||||
"blocks": [
|
||||
@@ -46,7 +46,7 @@ CHOP_CHAINS = [
|
||||
"rtdd:cutvegetable_2", "rtdd:cutvegetable_3",
|
||||
],
|
||||
"drop": {"name": "rtdd:vegetable", "count": 3},
|
||||
"tip": "§a切出了青菜碎",
|
||||
"tip": None,
|
||||
},
|
||||
{
|
||||
"blocks": [
|
||||
@@ -54,7 +54,7 @@ CHOP_CHAINS = [
|
||||
"rtdd:cutscallions_3", "rtdd:cutscallions_4",
|
||||
],
|
||||
"drop": {"name": "rtdd:crushed_scallions", "count": 3},
|
||||
"tip": "§a切出了葱花碎",
|
||||
"tip": None,
|
||||
},
|
||||
]
|
||||
|
||||
@@ -82,9 +82,9 @@ COATING_RULES = [
|
||||
# ---- 肉馅按压: 空手右键 生猪肉馅/生牛肉馅 -> 按压成型 ----
|
||||
MEAT_PRESS_RULES = [
|
||||
{"source": "rtdd:rawmeatball_0", "target": "rtdd:rawmeatball_2",
|
||||
"tip": "§a生猪肉馅按压成型了"},
|
||||
"tip": None},
|
||||
{"source": "rtdd:rawmeatball_1", "target": "rtdd:rawmeatball_3",
|
||||
"tip": "§a生牛肉馅按压成型了"},
|
||||
"tip": None},
|
||||
]
|
||||
|
||||
# ---- 左键破坏掉落: 摆在地上的切配方块 -> 原版食材(相对"切配态"的原版不切物品) ----
|
||||
|
||||
-5
@@ -226,7 +226,6 @@ class ShicaiService(BlueFoxServerSystem):
|
||||
if not self.checkCooldown(key, 0.5):
|
||||
return True
|
||||
self.replaceBlock(pos, dim, rule["target"], playerId)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, rule["tip"])
|
||||
return True
|
||||
|
||||
# ============================================================================
|
||||
@@ -247,8 +246,6 @@ class ShicaiService(BlueFoxServerSystem):
|
||||
# 最后一级再切 -> 掉碎 + 变空气
|
||||
self.clearBlock(pos, dim)
|
||||
self.dropItems(dim, pos, [chain["drop"]])
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, chain.get("tip", "§a切好了"))
|
||||
return True
|
||||
|
||||
# ============================================================================
|
||||
@@ -266,7 +263,6 @@ class ShicaiService(BlueFoxServerSystem):
|
||||
self.clearBlock(pos, dim)
|
||||
self.dropItems(dim, pos, [GARLIC_DROP])
|
||||
self.garlicChop.pop(gkey, None)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a切好了蒜末")
|
||||
else:
|
||||
self.garlicChop[gkey] = n
|
||||
return True
|
||||
@@ -289,7 +285,6 @@ class ShicaiService(BlueFoxServerSystem):
|
||||
self.consumeItem(playerId, itemDict, need)
|
||||
self.clearBlock(pos, dim)
|
||||
self.dropItems(dim, pos, [rule["drop"]])
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a裹粉完成")
|
||||
return True
|
||||
|
||||
# ============================================================================
|
||||
|
||||
+51
-51
@@ -36,7 +36,7 @@ MARKET_SWITCHES = [
|
||||
"target": "rtdd:woodenbox_1",
|
||||
"consume": 32,
|
||||
"type": "switch",
|
||||
"tip": "§a已放入32个苹果",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -45,7 +45,7 @@ MARKET_SWITCHES = [
|
||||
"target": "rtdd:woodenbox_2",
|
||||
"consume": 32,
|
||||
"type": "switch",
|
||||
"tip": "§a已放入32个胡萝卜",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -54,7 +54,7 @@ MARKET_SWITCHES = [
|
||||
"target": "rtdd:woodenbox_3",
|
||||
"consume": 32,
|
||||
"type": "switch",
|
||||
"tip": "§a已放入32个土豆",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -63,7 +63,7 @@ MARKET_SWITCHES = [
|
||||
"target": "rtdd:woodenbox_4",
|
||||
"consume": 32,
|
||||
"type": "switch",
|
||||
"tip": "§a已放入32个桃子",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -72,7 +72,7 @@ MARKET_SWITCHES = [
|
||||
"target": "rtdd:woodenbox_5",
|
||||
"consume": 32,
|
||||
"type": "switch",
|
||||
"tip": "§a已放入32个橘子",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -81,7 +81,7 @@ MARKET_SWITCHES = [
|
||||
"target": "rtdd:woodenbox_6",
|
||||
"consume": 32,
|
||||
"type": "switch",
|
||||
"tip": "§a已放入32条鳕鱼",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -90,7 +90,7 @@ MARKET_SWITCHES = [
|
||||
"target": "rtdd:woodenbox_7",
|
||||
"consume": 32,
|
||||
"type": "switch",
|
||||
"tip": "§a已放入32条鲑鱼",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# ---- 取出 (空手右键 装满的条箱) ----
|
||||
@@ -101,7 +101,7 @@ MARKET_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:apple", "count": 32}],
|
||||
"tip": "§a取出了32个苹果",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -111,7 +111,7 @@ MARKET_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:carrot", "count": 32}],
|
||||
"tip": "§a取出了32个胡萝卜",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -121,7 +121,7 @@ MARKET_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:potato", "count": 32}],
|
||||
"tip": "§a取出了32个土豆",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -131,7 +131,7 @@ MARKET_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "rtdd:peach", "count": 32}],
|
||||
"tip": "§a取出了32个桃子",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -141,7 +141,7 @@ MARKET_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "rtdd:orange", "count": 32}],
|
||||
"tip": "§a取出了32个橘子",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -151,7 +151,7 @@ MARKET_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:cod", "count": 32}],
|
||||
"tip": "§a取出了32条鳕鱼",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -161,7 +161,7 @@ MARKET_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:salmon", "count": 32}],
|
||||
"tip": "§a取出了32条鲑鱼",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
|
||||
@@ -175,7 +175,7 @@ MARKET_SWITCHES = [
|
||||
"target": "rtdd:fishbucket_1",
|
||||
"consume": 32,
|
||||
"type": "switch",
|
||||
"tip": "§a已放入32条鳕鱼",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -184,7 +184,7 @@ MARKET_SWITCHES = [
|
||||
"target": "rtdd:fishbucket_2",
|
||||
"consume": 32,
|
||||
"type": "switch",
|
||||
"tip": "§a已放入32条鲑鱼",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -193,7 +193,7 @@ MARKET_SWITCHES = [
|
||||
"target": "rtdd:carrotbarrel",
|
||||
"consume": 32,
|
||||
"type": "switch",
|
||||
"tip": "§a已放入32个胡萝卜",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -202,7 +202,7 @@ MARKET_SWITCHES = [
|
||||
"target": "rtdd:potatobarrel",
|
||||
"consume": 32,
|
||||
"type": "switch",
|
||||
"tip": "§a已放入32个土豆",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -211,7 +211,7 @@ MARKET_SWITCHES = [
|
||||
"target": "rtdd:peachbarrel",
|
||||
"consume": 32,
|
||||
"type": "switch",
|
||||
"tip": "§a已放入32个桃子",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -220,7 +220,7 @@ MARKET_SWITCHES = [
|
||||
"target": "rtdd:orangebarrel",
|
||||
"consume": 32,
|
||||
"type": "switch",
|
||||
"tip": "§a已放入32个橘子",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -229,7 +229,7 @@ MARKET_SWITCHES = [
|
||||
"target": "rtdd:applebox",
|
||||
"consume": 32,
|
||||
"type": "switch",
|
||||
"tip": "§a已放入32个苹果",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# ---- 取出 ----
|
||||
@@ -240,7 +240,7 @@ MARKET_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:cod", "count": 32}],
|
||||
"tip": "§a取出了32条鳕鱼",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -250,7 +250,7 @@ MARKET_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:salmon", "count": 32}],
|
||||
"tip": "§a取出了32条鲑鱼",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -260,7 +260,7 @@ MARKET_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:carrot", "count": 32}],
|
||||
"tip": "§a取出了32个胡萝卜",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -270,7 +270,7 @@ MARKET_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:potato", "count": 32}],
|
||||
"tip": "§a取出了32个土豆",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -280,7 +280,7 @@ MARKET_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "rtdd:peach", "count": 32}],
|
||||
"tip": "§a取出了32个桃子",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -290,7 +290,7 @@ MARKET_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "rtdd:orange", "count": 32}],
|
||||
"tip": "§a取出了32个橘子",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -300,7 +300,7 @@ MARKET_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:apple", "count": 32}],
|
||||
"tip": "§a取出了32个苹果",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
|
||||
@@ -315,7 +315,7 @@ MARKET_SWITCHES = [
|
||||
"target": "rtdd:orangebox",
|
||||
"consume": 32,
|
||||
"type": "switch",
|
||||
"tip": "§a已放入32个橘子",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -324,7 +324,7 @@ MARKET_SWITCHES = [
|
||||
"target": "rtdd:peachbox",
|
||||
"consume": 32,
|
||||
"type": "switch",
|
||||
"tip": "§a已放入32个桃子",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -333,7 +333,7 @@ MARKET_SWITCHES = [
|
||||
"target": "rtdd:sales_box_cod",
|
||||
"consume": 32,
|
||||
"type": "switch",
|
||||
"tip": "§a已放入32条鳕鱼",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -342,7 +342,7 @@ MARKET_SWITCHES = [
|
||||
"target": "rtdd:b_30",
|
||||
"consume": 32,
|
||||
"type": "switch",
|
||||
"tip": "§a已放入32条鲑鱼",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -351,7 +351,7 @@ MARKET_SWITCHES = [
|
||||
"target": "rtdd:sales_box_carrot",
|
||||
"consume": 32,
|
||||
"type": "switch",
|
||||
"tip": "§a已放入32个胡萝卜",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -360,7 +360,7 @@ MARKET_SWITCHES = [
|
||||
"target": "rtdd:sales_box_bread",
|
||||
"consume": 32,
|
||||
"type": "switch",
|
||||
"tip": "§a已放入32个面包",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -369,7 +369,7 @@ MARKET_SWITCHES = [
|
||||
"target": "rtdd:sales_box_apple",
|
||||
"consume": 32,
|
||||
"type": "switch",
|
||||
"tip": "§a已放入32个苹果",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -378,7 +378,7 @@ MARKET_SWITCHES = [
|
||||
"target": "rtdd:sales_box_pumpkin",
|
||||
"consume": 1,
|
||||
"type": "switch",
|
||||
"tip": "§a已放入1个原版南瓜",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -387,7 +387,7 @@ MARKET_SWITCHES = [
|
||||
"target": "rtdd:sales_box_watermelon",
|
||||
"consume": 1,
|
||||
"type": "switch",
|
||||
"tip": "§a已放入1个原版西瓜",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -396,7 +396,7 @@ MARKET_SWITCHES = [
|
||||
"target": "rtdd:sales_box_potato",
|
||||
"consume": 32,
|
||||
"type": "switch",
|
||||
"tip": "§a已放入32个土豆",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# ---- 取出 ----
|
||||
@@ -407,7 +407,7 @@ MARKET_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "rtdd:orange", "count": 32}],
|
||||
"tip": "§a取出了32个橘子",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -417,7 +417,7 @@ MARKET_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "rtdd:peach", "count": 32}],
|
||||
"tip": "§a取出了32个桃子",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -427,7 +427,7 @@ MARKET_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:cod", "count": 32}],
|
||||
"tip": "§a取出了32条鳕鱼",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -437,7 +437,7 @@ MARKET_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:salmon", "count": 32}],
|
||||
"tip": "§a取出了32条鲑鱼",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -447,7 +447,7 @@ MARKET_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:carrot", "count": 32}],
|
||||
"tip": "§a取出了32个胡萝卜",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -457,7 +457,7 @@ MARKET_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:bread", "count": 32}],
|
||||
"tip": "§a取出了32个面包",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -467,7 +467,7 @@ MARKET_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:apple", "count": 32}],
|
||||
"tip": "§a取出了32个苹果",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -477,7 +477,7 @@ MARKET_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:pumpkin", "count": 1}],
|
||||
"tip": "§a取出了1个原版南瓜",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -487,7 +487,7 @@ MARKET_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:melon_block", "count": 1}],
|
||||
"tip": "§a取出了1个原版西瓜",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -497,7 +497,7 @@ MARKET_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "minecraft:potato", "count": 32}],
|
||||
"tip": "§a取出了32个土豆",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
|
||||
@@ -510,7 +510,7 @@ MARKET_SWITCHES = [
|
||||
"target": "rtdd:bountypaper_1",
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"tip": "§a切换到悬赏纸_1",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -519,7 +519,7 @@ MARKET_SWITCHES = [
|
||||
"target": "rtdd:bountypaper_2",
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"tip": "§a切换到悬赏纸_2",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -528,7 +528,7 @@ MARKET_SWITCHES = [
|
||||
"target": "rtdd:bountypaper",
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"tip": "§a切回农贸清单",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
]
|
||||
-4
@@ -162,10 +162,6 @@ class MarketService(BlueFoxServerSystem):
|
||||
if recipe.get("target"):
|
||||
self.replaceBlock(pos, dim, recipe["target"], playerId)
|
||||
|
||||
# ---- 转换成功提示 ----
|
||||
if recipe.get("tip"):
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, recipe["tip"])
|
||||
|
||||
# ============================================================================
|
||||
# 四、工具方法:放入数量检查
|
||||
# ============================================================================
|
||||
|
||||
+3
-28
@@ -24,7 +24,7 @@ ServerSystem = serverApi.GetServerSystemCls() # 服务端系统基类
|
||||
comp = serverApi.GetEngineCompFactory() # 组件工厂
|
||||
|
||||
from ....BlueFoxTools.SpecialFunciton.BlueFoxSystem import BlueFoxServerSystem
|
||||
from ..ShiyongfoodData import EAT_RULE_MAP, TRY_USE_RULES, EFFECT_CN
|
||||
from ..ShiyongfoodData import EAT_RULE_MAP, TRY_USE_RULES
|
||||
|
||||
|
||||
class ShiyongfoodService(BlueFoxServerSystem):
|
||||
@@ -90,7 +90,6 @@ class ShiyongfoodService(BlueFoxServerSystem):
|
||||
drop = rule.get("drop")
|
||||
if drop:
|
||||
self.dropItem(dim, pos, drop)
|
||||
self._notify(playerId, rule)
|
||||
return True
|
||||
|
||||
# ====================================================================
|
||||
@@ -134,12 +133,11 @@ class ShiyongfoodService(BlueFoxServerSystem):
|
||||
"auxValue": itemDict.get("newAuxValue", 0),
|
||||
"userData": itemDict.get("userData", {})})
|
||||
self._applyFood(playerId, rule.get("hunger", 0), rule.get("effects", []))
|
||||
self._notify(playerId, rule)
|
||||
return True
|
||||
|
||||
# ====================================================================
|
||||
# ============================================================================
|
||||
# 工具: 回复饱食度 + 增益效果
|
||||
# ====================================================================
|
||||
# ============================================================================
|
||||
def _applyFood(self, playerId, hunger, effects):
|
||||
try:
|
||||
# 饱食度【在现有值上累加】(不是覆盖): 当前值 + 回复值, 上限20点
|
||||
@@ -193,29 +191,6 @@ class ShiyongfoodService(BlueFoxServerSystem):
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
# ====================================================================
|
||||
# 工具: 食用提示
|
||||
# ====================================================================
|
||||
def _notify(self, playerId, rule):
|
||||
try:
|
||||
hunger = rule.get("hunger", 0)
|
||||
# 用真正的 § 颜色符(与全模组一致), 不要写 "\u00a7" 转义(Py2 字节串不解释该转义, 会原样显示)
|
||||
msg = "§a回复 %d 点饱食度" % hunger
|
||||
effects = rule.get("effects", [])
|
||||
if effects:
|
||||
parts = []
|
||||
for name, dur, lvl in effects:
|
||||
cn = EFFECT_CN.get(name, name)
|
||||
parts.append("%s%s(%d秒)" % (cn, self._roman(lvl), dur))
|
||||
msg += "§a,获得 " + "§e" + "§a".join(parts)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, msg)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
@staticmethod
|
||||
def _roman(lvl):
|
||||
return {1: "I", 2: "II", 3: "III", 4: "IV", 5: "V"}.get(lvl, "")
|
||||
|
||||
# ====================================================================
|
||||
# 工具: 冷却检查(0.4秒, 防长按右键连吃)
|
||||
# ====================================================================
|
||||
|
||||
+1
-1
@@ -137,7 +137,7 @@ class ShoubanService(BlueFoxServerSystem):
|
||||
self.dropItems(dim, pos, [{"name": fig, "count": 1}])
|
||||
# 提示开出内容
|
||||
name = FIGURINE_NAMES.get(fig, "手办")
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a盲盒开出了" + name + "!")
|
||||
|
||||
|
||||
# ============================================================================
|
||||
# 三、工具方法:获取玩家主手物品
|
||||
|
||||
@@ -60,12 +60,12 @@ SUSHI_GROUPS = [
|
||||
"nigiri3": "rtdd:nigirisushicod_3",
|
||||
"pile2": "rtdd:sushipile_2",
|
||||
"pile3": "rtdd:sushipile_3",
|
||||
"addTip": "§a加上鳕鱼",
|
||||
"addTip": None,
|
||||
"rollTip": None,
|
||||
"cutTip": "§a切出了鳕鱼寿司块(三个)",
|
||||
"nigiriTip": "§a捏成手握鳕鱼寿司",
|
||||
"pileTip": "§a堆成寿司堆",
|
||||
"takeTip": "§a取走一个",
|
||||
"cutTip": None,
|
||||
"nigiriTip": None,
|
||||
"pileTip": None,
|
||||
"takeTip": None,
|
||||
},
|
||||
{
|
||||
"key": "salmon",
|
||||
@@ -78,12 +78,12 @@ SUSHI_GROUPS = [
|
||||
"nigiri3": "rtdd:nigirisushisalnom_3",
|
||||
"pile2": "rtdd:sushipile_4",
|
||||
"pile3": "rtdd:sushipile_5",
|
||||
"addTip": "§a加上鲑鱼",
|
||||
"addTip": None,
|
||||
"rollTip": None,
|
||||
"cutTip": "§a切出了鲑鱼寿司块(三个)",
|
||||
"nigiriTip": "§a捏成手握鲑鱼寿司",
|
||||
"pileTip": "§a堆成寿司堆",
|
||||
"takeTip": "§a取走一个",
|
||||
"cutTip": None,
|
||||
"nigiriTip": None,
|
||||
"pileTip": None,
|
||||
"takeTip": None,
|
||||
},
|
||||
{
|
||||
"key": "fish",
|
||||
@@ -96,12 +96,12 @@ SUSHI_GROUPS = [
|
||||
"nigiri3": "rtdd:nigirisushifish_3",
|
||||
"pile2": "rtdd:sushipile_0",
|
||||
"pile3": "rtdd:sushipile_1",
|
||||
"addTip": "§a加上热带鱼",
|
||||
"addTip": None,
|
||||
"rollTip": None,
|
||||
"cutTip": "§a切出了热带鱼寿司块(三个)",
|
||||
"nigiriTip": "§a捏成手握热带鱼寿司",
|
||||
"pileTip": "§a堆成寿司堆",
|
||||
"takeTip": "§a取走一个",
|
||||
"cutTip": None,
|
||||
"nigiriTip": None,
|
||||
"pileTip": None,
|
||||
"takeTip": None,
|
||||
},
|
||||
{
|
||||
"key": "squid",
|
||||
@@ -111,7 +111,7 @@ SUSHI_GROUPS = [
|
||||
"nigiri2": "rtdd:squidsushi_2",
|
||||
"nigiri3": "rtdd:squidsushi_3",
|
||||
"addTip": None, "rollTip": None, "cutTip": None,
|
||||
"nigiriTip": "§a捏成手握鱿鱼寿司",
|
||||
"nigiriTip": None,
|
||||
"pileTip": None, "takeTip": None,
|
||||
},
|
||||
]
|
||||
|
||||
+3
-10
@@ -60,7 +60,7 @@ class ShousiService(BlueFoxServerSystem):
|
||||
# 1) 基础组: 干海带 + 手持饭团右键 -> 干海带(加饭团), 消耗4个饭团
|
||||
self.recipes[(NORI_0, RICE_BALL)] = {
|
||||
"target": NORI_1, "consume": NORI_RICE_CONSUME,
|
||||
"tip": "§a海苔上铺好了饭团",
|
||||
"tip": None,
|
||||
}
|
||||
self.featureBlocks.add(NORI_0)
|
||||
|
||||
@@ -121,11 +121,11 @@ class ShousiService(BlueFoxServerSystem):
|
||||
# 手握堆叠: 手持 手握X寿司(一个) 右键 -> (两个) -> (三个), 每级消耗1个
|
||||
self.recipes[(g["nigiri1"], g["nigiri1"])] = {
|
||||
"target": g["nigiri2"], "consume": STACK_CONSUME,
|
||||
"tip": "§a堆叠成两个",
|
||||
"tip": None,
|
||||
}
|
||||
self.recipes[(g["nigiri2"], g["nigiri1"])] = {
|
||||
"target": g["nigiri3"], "consume": STACK_CONSUME,
|
||||
"tip": "§a堆叠成三个",
|
||||
"tip": None,
|
||||
}
|
||||
self.featureBlocks.add(g["nigiri1"])
|
||||
self.featureBlocks.add(g["nigiri2"])
|
||||
@@ -242,7 +242,6 @@ class ShousiService(BlueFoxServerSystem):
|
||||
return False
|
||||
self.consumeItem(playerId, itemDict, 1)
|
||||
self.replaceBlock(targetPos, dim, NIGIRI_BASE, playerId)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a摆成手握普通寿司")
|
||||
return True
|
||||
|
||||
# ============================================================================
|
||||
@@ -272,9 +271,6 @@ class ShousiService(BlueFoxServerSystem):
|
||||
# 递减取走: 以掉落物形式返还卷寿司
|
||||
if recipe.get("drop"):
|
||||
self.dropItem(dim, pos, recipe["drop"])
|
||||
# 提示
|
||||
if recipe.get("tip"):
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, recipe["tip"])
|
||||
|
||||
# ============================================================================
|
||||
# 四、切块(手持菜刀右键卷寿司两次 -> 寿司块(三个))
|
||||
@@ -288,11 +284,8 @@ class ShousiService(BlueFoxServerSystem):
|
||||
if n >= CUT_COUNT:
|
||||
self.cutCounter.pop(key, None)
|
||||
self.replaceBlock(pos, dim, g["cubes"], playerId)
|
||||
msg = g.get("cutTip") or "§a切好了"
|
||||
else:
|
||||
self.cutCounter[key] = n
|
||||
msg = "§a切寿司中…(%d/%d)" % (n, CUT_COUNT)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, msg)
|
||||
return True
|
||||
|
||||
# ============================================================================
|
||||
|
||||
+33
-33
@@ -54,7 +54,7 @@ DEADMOB_SWITCHES = [
|
||||
"target": "rtdd:cow_0",
|
||||
"consume": 1,
|
||||
"type": "switch",
|
||||
"tip": "§a已把整只牛挂上肉钩",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -63,7 +63,7 @@ DEADMOB_SWITCHES = [
|
||||
"target": "rtdd:pig_0",
|
||||
"consume": 1,
|
||||
"type": "switch",
|
||||
"tip": "§a已把整只猪挂上肉钩",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -72,7 +72,7 @@ DEADMOB_SWITCHES = [
|
||||
"target": "rtdd:sheep",
|
||||
"consume": 1,
|
||||
"type": "switch",
|
||||
"tip": "§a已把整只羊挂上肉钩",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 挂鲑鱼(原版salmon): 空钩→一条→两条
|
||||
@@ -82,7 +82,7 @@ DEADMOB_SWITCHES = [
|
||||
"target": "rtdd:hang_meat_hooks_1",
|
||||
"consume": 1,
|
||||
"type": "switch",
|
||||
"tip": "§a已挂上一条鲑鱼,开始晾晒",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -91,7 +91,7 @@ DEADMOB_SWITCHES = [
|
||||
"target": "rtdd:hang_meat_hooks_2",
|
||||
"consume": 1,
|
||||
"type": "switch",
|
||||
"tip": "§a已再挂上一条鲑鱼",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 挂鳕鱼(原版cod): 空钩→一条→两条
|
||||
@@ -101,7 +101,7 @@ DEADMOB_SWITCHES = [
|
||||
"target": "rtdd:meathookcod_1",
|
||||
"consume": 1,
|
||||
"type": "switch",
|
||||
"tip": "§a已挂上一条鳕鱼,开始晾晒",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -110,7 +110,7 @@ DEADMOB_SWITCHES = [
|
||||
"target": "rtdd:meathookcod_2",
|
||||
"consume": 1,
|
||||
"type": "switch",
|
||||
"tip": "§a已再挂上一条鳕鱼",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
|
||||
@@ -124,7 +124,7 @@ DEADMOB_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "rtdd:dead_cow", "count": 1}],
|
||||
"tip": "§a取下了整只牛(尚未切割)",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -134,7 +134,7 @@ DEADMOB_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "rtdd:dead_pig", "count": 1}],
|
||||
"tip": "§a取下了整只猪(尚未切割)",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -144,7 +144,7 @@ DEADMOB_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "rtdd:dead_sheep", "count": 1}],
|
||||
"tip": "§a取下了整只羊(尚未切割)",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
|
||||
@@ -163,7 +163,7 @@ DEADMOB_SWITCHES = [
|
||||
{"name": "minecraft:beef", "count": (4, 5)},
|
||||
{"name": "minecraft:leather", "count": (4, 6)},
|
||||
],
|
||||
"tip": "§a砍下了牛头",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -173,7 +173,7 @@ DEADMOB_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "rtdd:legcow", "count": 4}],
|
||||
"tip": "§a卸下了四肢牛腿肉",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -187,7 +187,7 @@ DEADMOB_SWITCHES = [
|
||||
{"name": "rtdd:beef_tenderloin", "count": (2, 3)},
|
||||
{"name": "minecraft:beef", "count": (4, 5)},
|
||||
],
|
||||
"tip": "§a剔出了牛肋和牛里脊",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -200,7 +200,7 @@ DEADMOB_SWITCHES = [
|
||||
{"name": "rtdd:crushedmeat", "count": (2, 3)},
|
||||
{"name": "minecraft:beef", "count": (4, 5)},
|
||||
],
|
||||
"tip": "§a刮下碎肉,肉钩已清空",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# ---- 猪(不可逆) ----
|
||||
@@ -215,7 +215,7 @@ DEADMOB_SWITCHES = [
|
||||
{"name": "minecraft:porkchop", "count": (4, 5)},
|
||||
{"name": "minecraft:leather", "count": (4, 6)},
|
||||
],
|
||||
"tip": "§a已给猪去皮",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -225,7 +225,7 @@ DEADMOB_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "rtdd:ham", "count": 4}],
|
||||
"tip": "§a卸下了四肢猪蹄",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -238,7 +238,7 @@ DEADMOB_SWITCHES = [
|
||||
{"name": "rtdd:porkrib", "count": (2, 3)},
|
||||
{"name": "minecraft:porkchop", "count": (4, 5)},
|
||||
],
|
||||
"tip": "§a剔出了猪肋排",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -251,7 +251,7 @@ DEADMOB_SWITCHES = [
|
||||
{"name": "rtdd:crushedmeat", "count": (2, 3)},
|
||||
{"name": "minecraft:porkchop", "count": (4, 5)},
|
||||
],
|
||||
"tip": "§a刮下碎肉,肉钩已清空",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# ---- 羊(不可逆) ----
|
||||
@@ -266,7 +266,7 @@ DEADMOB_SWITCHES = [
|
||||
{"name": "minecraft:mutton", "count": (4, 5)},
|
||||
{"name": "minecraft:leather", "count": (4, 6)},
|
||||
],
|
||||
"tip": "§a已给羊去皮",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -276,7 +276,7 @@ DEADMOB_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "rtdd:legsleep", "count": 4}],
|
||||
"tip": "§a卸下了四肢羊腿",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -289,7 +289,7 @@ DEADMOB_SWITCHES = [
|
||||
{"name": "rtdd:sheeploins", "count": (2, 3)},
|
||||
{"name": "minecraft:mutton", "count": (4, 5)},
|
||||
],
|
||||
"tip": "§a剔出了羊里脊",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -302,7 +302,7 @@ DEADMOB_SWITCHES = [
|
||||
{"name": "rtdd:crushedmeat", "count": (2, 3)},
|
||||
{"name": "minecraft:mutton", "count": (4, 5)},
|
||||
],
|
||||
"tip": "§a刮下碎肉,肉钩已清空",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
|
||||
@@ -316,7 +316,7 @@ DEADMOB_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "rtdd:thedriedfish", "count": 1}],
|
||||
"tip": "§a取下了1份鱼干",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -326,7 +326,7 @@ DEADMOB_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "rtdd:thedriedfish", "count": 1}],
|
||||
"tip": "§a取下了1份鱼干,还剩一条",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -336,7 +336,7 @@ DEADMOB_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "rtdd:thedriedfish", "count": 1}],
|
||||
"tip": "§a取下了1份鱼干",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
|
||||
@@ -351,7 +351,7 @@ DEADMOB_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "rtdd:sashimi", "count": 1}],
|
||||
"tip": "§a切下1份生鱼片",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -361,7 +361,7 @@ DEADMOB_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "rtdd:sashimi", "count": 1}],
|
||||
"tip": "§a切下1份生鱼片",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -371,7 +371,7 @@ DEADMOB_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "rtdd:sashimi", "count": 1}],
|
||||
"tip": "§a切下1份生鱼片",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -381,7 +381,7 @@ DEADMOB_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "rtdd:sashimi", "count": 1}],
|
||||
"tip": "§a切完最后一份生鱼片",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 死鳕鱼: 三刀, 每刀1份生鱼片
|
||||
@@ -392,7 +392,7 @@ DEADMOB_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "rtdd:sashimi", "count": 1}],
|
||||
"tip": "§a切下1份生鱼片",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -402,7 +402,7 @@ DEADMOB_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "rtdd:sashimi", "count": 1}],
|
||||
"tip": "§a切下1份生鱼片",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
{
|
||||
@@ -412,7 +412,7 @@ DEADMOB_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "rtdd:sashimi", "count": 1}],
|
||||
"tip": "§a切完最后一份生鱼片",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
# 死鱿鱼: 一刀切须
|
||||
@@ -423,7 +423,7 @@ DEADMOB_SWITCHES = [
|
||||
"consume": 0,
|
||||
"type": "switch",
|
||||
"dropItem": [{"name": "rtdd:rawsquidwhiskersr", "count": (5, 6)}],
|
||||
"tip": "§a切下了鱿鱼须",
|
||||
"tip": None,
|
||||
"giveItem": None,
|
||||
},
|
||||
|
||||
|
||||
-4
@@ -177,10 +177,6 @@ class DeadmobService(BlueFoxServerSystem):
|
||||
if recipe.get("target") in DRY_SOURCE_BLOCKS:
|
||||
self.recordDryingPlayer(pos, dim, playerId)
|
||||
|
||||
# ---- 转换成功提示 ----
|
||||
if recipe.get("tip"):
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, recipe["tip"])
|
||||
|
||||
# ============================================================================
|
||||
# 四、工具方法:记录晾晒玩家(挂鱼时写入方块实体, 供计时完成通知)
|
||||
# ============================================================================
|
||||
|
||||
+92
-92
@@ -232,280 +232,280 @@ SWITCH_RULES = [
|
||||
# ---------------- 一、汤锅基础 ----------------
|
||||
{"block": POT_EMPTY, "item": WATER_BUCKET, "target": POT_WATER,
|
||||
"consume": 1, "give": EMPTY_BUCKET,
|
||||
"tip": "§a倒入水, 汤锅变(加水); 水桶变回空桶"},
|
||||
"tip": None},
|
||||
{"block": POT_WATER, "item": EMPTY_BUCKET, "target": POT_EMPTY,
|
||||
"consume": 1, "drop": WATER_BUCKET,
|
||||
"tip": "§a倒掉水, 汤锅变回(空), 掉落一个水桶"},
|
||||
"tip": None},
|
||||
{"block": POT_WATER, "item": None, "target": POT_LID,
|
||||
"tip": "§a盖上锅盖, 汤锅变(盖锅); 空手右键可再掀开"},
|
||||
"tip": None},
|
||||
{"block": POT_LID, "item": None, "target": POT_WATER,
|
||||
"tip": "§a掀开锅盖, 汤锅变回(加水)"},
|
||||
"tip": None},
|
||||
|
||||
# ---------------- 二、汤底(汤锅(加水)+食材 -> 汤底) ----------------
|
||||
{"block": POT_WATER, "item": CRUSHED_CARROTS, "target": CARROT_SOUP,
|
||||
"consume": 4, "tip": "§a放入胡萝卜碎x4, 可继续加肉/鱼 或 组合汤"},
|
||||
"consume": 4, "tip": None},
|
||||
{"block": POT_WATER, "item": VEGETABLE, "target": VEGETABLE_SOUP,
|
||||
"consume": 4, "tip": "§a放入青菜碎x4, 可继续加肉/鱼 或 组合汤"},
|
||||
"consume": 4, "tip": None},
|
||||
{"block": POT_WATER, "item": EGG, "target": EGG_SOUP,
|
||||
"consume": 3, "tip": "§a放入鸡蛋x3, 可继续加肉/鱼 或 组合汤"},
|
||||
"consume": 3, "tip": None},
|
||||
{"block": POT_WATER, "item": POTATO_WEDGES, "target": POTATO_SOUP,
|
||||
"consume": 4, "tip": "§a放入土豆块x4, 可继续加肉/鱼 或 组合汤"},
|
||||
"consume": 4, "tip": None},
|
||||
{"block": POT_WATER, "item": RED_MUSHROOM, "target": RED_MUSHROOM_SOUP,
|
||||
"consume": 5, "tip": "§a放入红蘑菇x5, 可继续加食材"},
|
||||
"consume": 5, "tip": None},
|
||||
{"block": POT_WATER, "item": BROWN_MUSHROOM, "target": BROWN_MUSHROOM_SOUP,
|
||||
"consume": 5, "tip": "§a放入棕蘑菇x5, 可继续加食材"},
|
||||
"consume": 5, "tip": None},
|
||||
{"block": POT_WATER, "item": COD, "target": COD_SOUP,
|
||||
"consume": 1, "tip": "§a放入鳕鱼, 可继续加食材"},
|
||||
"consume": 1, "tip": None},
|
||||
{"block": POT_WATER, "item": SALMON, "target": SALMON_SOUP,
|
||||
"consume": 1, "tip": "§a放入鲑鱼, 可继续加食材"},
|
||||
"consume": 1, "tip": None},
|
||||
{"block": POT_WATER, "item": BEANCURD, "target": TOFU_SOUP,
|
||||
"consume": 4, "tip": "§a放入豆腐x4, 可继续加食材"},
|
||||
"consume": 4, "tip": None},
|
||||
|
||||
# ---------------- 三、组合汤(汤底+汤底/食材 -> 组合汤底) ----------------
|
||||
{"block": POTATO_SOUP, "item": CRUSHED_CARROTS, "target": CARROT_POTATO_SOUP,
|
||||
"consume": 4, "tip": "§a土豆汤加胡萝卜碎x4, 可继续加肉/鱼"},
|
||||
"consume": 4, "tip": None},
|
||||
{"block": CARROT_SOUP, "item": POTATO_WEDGES, "target": CARROT_POTATO_SOUP,
|
||||
"consume": 4, "tip": "§a胡萝卜汤加土豆块x4, 可继续加肉/鱼"},
|
||||
"consume": 4, "tip": None},
|
||||
{"block": RED_MUSHROOM_SOUP, "item": BROWN_MUSHROOM, "target": MUSHROOM_SOUP,
|
||||
"consume": 5, "tip": "§a红蘑菇汤加棕蘑菇x5, 可继续加食材"},
|
||||
"consume": 5, "tip": None},
|
||||
{"block": BROWN_MUSHROOM_SOUP, "item": RED_MUSHROOM, "target": MUSHROOM_SOUP,
|
||||
"consume": 5, "tip": "§a棕蘑菇汤加红蘑菇x5, 可继续加食材"},
|
||||
"consume": 5, "tip": None},
|
||||
{"block": POTATO_SOUP, "item": EGG, "target": POTATO_EGG_SOUP,
|
||||
"consume": 3, "tip": "§a土豆汤加鸡蛋x3, 可继续加食材"},
|
||||
"consume": 3, "tip": None},
|
||||
{"block": EGG_SOUP, "item": POTATO_WEDGES, "target": POTATO_EGG_SOUP,
|
||||
"consume": 4, "tip": "§a蛋花汤加土豆块x4, 可继续加食材"},
|
||||
"consume": 4, "tip": None},
|
||||
|
||||
# ---------------- 四、加肉/鱼/豆腐 -> 汤羹(生), 开始计时 ----------------
|
||||
{"block": CARROT_SOUP, "item": BEEF, "target": CARROT_BEEF_SOUP,
|
||||
"consume": 2, "startTimer": CARROT_BEEF_SOUP,
|
||||
"tip": "§a胡萝卜汤加生牛肉x2, 开始熬制, 手持木碗出锅"},
|
||||
"tip": None},
|
||||
{"block": CARROT_SOUP, "item": MUTTON, "target": LAMB_SOUP_WITH_TURNIPS,
|
||||
"consume": 2, "startTimer": LAMB_SOUP_WITH_TURNIPS,
|
||||
"tip": "§a胡萝卜汤加羊肉x2, 开始熬制, 手持木碗出锅"},
|
||||
"tip": None},
|
||||
{"block": CARROT_SOUP, "item": PORKRIB, "target": CARROT_RIBS,
|
||||
"consume": 2, "startTimer": CARROT_RIBS,
|
||||
"tip": "§a胡萝卜汤加猪肋排x2, 开始熬制, 手持木碗出锅"},
|
||||
"tip": None},
|
||||
{"block": VEGETABLE_SOUP, "item": MUTTON, "target": VEGETABLE_BEEF_SOUP,
|
||||
"consume": 2, "startTimer": VEGETABLE_BEEF_SOUP,
|
||||
"tip": "§a蔬菜汤加羊肉x2, 开始熬制, 手持木碗出锅"},
|
||||
"tip": None},
|
||||
{"block": VEGETABLE_SOUP, "item": BEEF, "target": VEGETABLE_LAMB_SOUP,
|
||||
"consume": 2, "startTimer": VEGETABLE_LAMB_SOUP,
|
||||
"tip": "§a蔬菜汤加生牛肉x2, 开始熬制, 手持木碗出锅"},
|
||||
"tip": None},
|
||||
{"block": VEGETABLE_SOUP, "item": CRUSHED_MEAT, "target": VEGETABLE_LEAN_BROTH,
|
||||
"consume": 5, "startTimer": VEGETABLE_LEAN_BROTH,
|
||||
"tip": "§a蔬菜汤加碎肉x5, 开始熬制, 手持木碗出锅"},
|
||||
"tip": None},
|
||||
{"block": VEGETABLE_SOUP, "item": CARROT_POTATO_SOUP, "target": VEGETABLE_SSTEW,
|
||||
"consume": 1, "drop": POT_EMPTY, "startTimer": VEGETABLE_SSTEW,
|
||||
"tip": "§a蔬菜汤加胡萝卜土豆汤, 掉落一个汤锅(空); 开始熬制, 手持木碗出锅"},
|
||||
"tip": None},
|
||||
{"block": CARROT_POTATO_SOUP, "item": VEGETABLE, "target": VEGETABLE_SSTEW,
|
||||
"consume": 3, "startTimer": VEGETABLE_SSTEW,
|
||||
"tip": "§a胡萝卜土豆汤加青菜碎x3, 开始熬制, 手持木碗出锅"},
|
||||
"tip": None},
|
||||
{"block": CARROT_POTATO_SOUP, "item": COW_RIBS, "target": BEEF_BONE_BROTH,
|
||||
"consume": 2, "startTimer": BEEF_BONE_BROTH,
|
||||
"tip": "§a胡萝卜土豆汤加牛肋x2, 开始熬制, 手持木碗出锅"},
|
||||
"tip": None},
|
||||
{"block": CARROT_POTATO_SOUP, "item": MUTTON, "target": LAMB_STEW,
|
||||
"consume": 2, "startTimer": LAMB_STEW,
|
||||
"tip": "§a胡萝卜土豆汤加羊肉x2, 开始熬制, 手持木碗出锅"},
|
||||
"tip": None},
|
||||
{"block": CARROT_POTATO_SOUP, "item": SHEEP_RACKS, "target": VEGETABLE_POTATOES_LAMBSTEAK,
|
||||
"consume": 2, "startTimer": VEGETABLE_POTATOES_LAMBSTEAK,
|
||||
"tip": "§a胡萝卜土豆汤加羊小排x2, 开始熬制, 手持木碗出锅"},
|
||||
"tip": None},
|
||||
{"block": CARROT_SOUP, "item": COD, "target": CARROT_COD_SOUP,
|
||||
"consume": 1, "startTimer": CARROT_COD_SOUP,
|
||||
"tip": "§a胡萝卜汤加鳕鱼, 开始熬制, 手持木碗出锅"},
|
||||
"tip": None},
|
||||
{"block": CARROT_SOUP, "item": SALMON, "target": CARROT_FISH_SOUP,
|
||||
"consume": 1, "startTimer": CARROT_FISH_SOUP,
|
||||
"tip": "§a胡萝卜汤加鲑鱼, 开始熬制, 手持木碗出锅"},
|
||||
"tip": None},
|
||||
{"block": COD_SOUP, "item": EGG, "target": EGG_COD_SOUP,
|
||||
"consume": 3, "startTimer": EGG_COD_SOUP,
|
||||
"tip": "§a鳕鱼汤加鸡蛋x3, 开始熬制, 手持木碗出锅"},
|
||||
"tip": None},
|
||||
{"block": EGG_SOUP, "item": COD, "target": EGG_COD_SOUP,
|
||||
"consume": 1, "startTimer": EGG_COD_SOUP,
|
||||
"tip": "§a蛋花汤加鳕鱼, 开始熬制, 手持木碗出锅"},
|
||||
"tip": None},
|
||||
{"block": EGG_SOUP, "item": CRUSHED_MEAT, "target": NORI_EGG_SOUP,
|
||||
"consume": 5, "startTimer": NORI_EGG_SOUP,
|
||||
"tip": "§a蛋花汤加碎肉x5, 开始熬制, 手持木碗出锅"},
|
||||
"tip": None},
|
||||
{"block": VEGETABLE_LEAN_BROTH, "item": EGG, "target": NORI_EGG_SOUP,
|
||||
"consume": 3, "startTimer": NORI_EGG_SOUP,
|
||||
"tip": "§a蔬菜瘦肉汤加鸡蛋x3, 开始熬制, 手持木碗出锅"},
|
||||
"tip": None},
|
||||
{"block": TOFU_SOUP, "item": SALMON, "target": TOFU_FISH_SOUP_RAW,
|
||||
"consume": 1,
|
||||
"tip": "§a豆腐汤加鲑鱼, 再拿葱花碎右键加葱花后开始熬制, 手持木碗出锅"},
|
||||
"tip": None},
|
||||
{"block": SALMON_SOUP, "item": BEANCURD, "target": TOFU_FISH_SOUP_RAW,
|
||||
"consume": 4,
|
||||
"tip": "§a鲑鱼汤加豆腐x4, 再拿葱花碎右键加葱花后开始熬制, 手持木碗出锅"},
|
||||
"tip": None},
|
||||
# 菜谱26 supplement: 豆腐鲑鱼汤_生 + 葱花碎x3 -> 汤锅_89(加葱花), 开始计时
|
||||
{"block": TOFU_FISH_SOUP_RAW, "item": SCALLIONS, "target": TOFU_FISH_SCALLION,
|
||||
"consume": 3, "startTimer": TOFU_FISH_SCALLION,
|
||||
"tip": "§a豆腐鲑鱼汤加葱花碎x3, 开始熬制, 手持木碗出锅"},
|
||||
"tip": None},
|
||||
{"block": MUSHROOM_SOUP, "item": CHICKEN, "target": CHICKEN_STEW_MUSHROOMS,
|
||||
"consume": 1, "startTimer": CHICKEN_STEW_MUSHROOMS,
|
||||
"tip": "§a蘑菇汤加生鸡肉, 开始熬制, 手持木碗出锅"},
|
||||
"tip": None},
|
||||
{"block": VEGETABLE_SOUP, "item": SASHIMI, "target": VEGETABLE_FISH_SOUP_0,
|
||||
"consume": 10, "startTimer": VEGETABLE_FISH_SOUP_0,
|
||||
"tip": "§a蔬菜汤加生鱼片x10, 开始熬制, 手持木碗出锅"},
|
||||
"tip": None},
|
||||
|
||||
# ---------------- 五、单独菜谱 ----------------
|
||||
# 菜谱29 猪蹄汤
|
||||
{"block": POT_WATER, "item": HAM, "target": RAW_PIG_FOOD_SOUP_0,
|
||||
"consume": 2, "tip": "§a放入猪蹄x2, 变成 猪蹄汤(生); 继续拿土豆块x3右键 加土豆"},
|
||||
"consume": 2, "tip": None},
|
||||
{"block": RAW_PIG_FOOD_SOUP_0, "item": POTATO_WEDGES, "target": RAW_PIG_FOOD_SOUP_2,
|
||||
"consume": 3, "startTimer": RAW_PIG_FOOD_SOUP_2,
|
||||
"tip": "§a猪蹄汤加土豆块x3, 开始熬制, 手持木碗出锅"},
|
||||
"tip": None},
|
||||
# 菜谱30 羊肉泡馍汤
|
||||
{"block": POT_WATER, "item": MO, "target": ROUJIAMO_SOUP_0,
|
||||
"consume": 1, "startTimer": ROUJIAMO_SOUP_0,
|
||||
"tip": "§a放入馍, 开始熬制, 手持木碗出锅"},
|
||||
"tip": None},
|
||||
# 菜谱31 生面汤
|
||||
{"block": POT_WATER, "item": NOODLES, "target": RAW_NOODLE_SOUP,
|
||||
"consume": 1, "startTimer": RAW_NOODLE_SOUP,
|
||||
"tip": "§a放入生面, 开始熬制, 手持木碗盛出 熟面条"},
|
||||
"tip": None},
|
||||
# 菜谱32 饺子汤
|
||||
{"block": POT_WATER, "item": DUMPLINGS, "target": DUMPLINGS_SOUP_0,
|
||||
"consume": 1, "startTimer": DUMPLINGS_SOUP_0,
|
||||
"tip": "§a放入生饺子, 开始熬制, 手持木碗盛出 饺子_碗装"},
|
||||
"tip": None},
|
||||
# 菜谱35 生米锅
|
||||
{"block": POT_WATER, "item": BROWN_RICE, "target": RAW_RICE_POT,
|
||||
"consume": 64, "startTimer": RAW_RICE_POT,
|
||||
"tip": "§a放入大米x64, 变成 生米锅; 开始煮饭结束变熟, 木碗盛出"},
|
||||
"tip": None},
|
||||
# 菜谱39 煮鸡蛋(生)
|
||||
{"block": POT_WATER, "item": EGG_PILE, "target": RAW_EGG_SOUP,
|
||||
"consume": 1, "startTimer": RAW_EGG_SOUP,
|
||||
"tip": "§a放入鸡蛋堆, 开始熬制, 空手右键取出 水煮蛋x9"},
|
||||
"tip": None},
|
||||
# 菜谱42 煮豆腐(生)
|
||||
{"block": POT_WATER, "item": SOYMILK, "target": BEANCURD_SOUP_0,
|
||||
"consume": 1, "startTimer": BEANCURD_SOUP_0,
|
||||
"tip": "§a倒入豆浆, 开始熬制, 拿菜刀右键切成 豆腐x16"},
|
||||
"tip": None},
|
||||
|
||||
# ---------------- 六、出锅(熟汤羹+木碗 -> 碗装成品, 锅变回汤锅(空)) ----------------
|
||||
{"block": CARROT_BEEF_SOUP_3, "item": BOWL, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": BOWL_CARROT_BEEF, "consume": 1,
|
||||
"tip": "§a盛出 胡萝卜牛肉汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"block": LAMB_SOUP_WITH_TURNIPS_3, "item": BOWL, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": BOWL_LAMB_TURNIP, "consume": 1,
|
||||
"tip": "§a盛出 胡萝卜羊肉汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"block": CARROT_RIBS_3, "item": BOWL, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": BOWL_CARROT_RIBS, "consume": 1,
|
||||
"tip": "§a盛出 胡萝卜排骨汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"block": VEGETABLE_BEEF_SOUP_3, "item": BOWL, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": BOWL_VEGETABLE_BEEF, "consume": 1,
|
||||
"tip": "§a盛出 清汤羊肉, 锅变回 汤锅(空); 成品【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"block": VEGETABLE_LAMB_SOUP_3, "item": BOWL, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": BOWL_VEGETABLE_LAMB, "consume": 1,
|
||||
"tip": "§a盛出 蔬菜牛肉汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"block": VEGETABLE_LEAN_BROTH_3, "item": BOWL, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": BOWL_VEGETABLE_LEAN, "consume": 1,
|
||||
"tip": "§a盛出 蔬菜瘦肉汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"block": VEGETABLE_SSTEW_3, "item": BOWL, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": BOWL_VEGETABLE_SSTEW, "consume": 1,
|
||||
"tip": "§a盛出 蔬菜乱炖, 锅变回 汤锅(空); 成品【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"block": BEEF_BONE_BROTH_3, "item": BOWL, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": BOWL_BEEF_BONE, "consume": 1,
|
||||
"tip": "§a盛出 胡萝卜土豆牛骨汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"block": LAMB_STEW_3, "item": BOWL, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": BOWL_LAMB_STEW, "consume": 1,
|
||||
"tip": "§a盛出 土豆胡萝卜炖羊肉, 锅变回 汤锅(空); 成品【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"block": LAMB_CHOP_SOUP_3, "item": BOWL, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": BOWL_LAMB_CHOP, "consume": 1,
|
||||
"tip": "§a盛出 胡萝卜土豆羊排汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"block": CARROT_COD_SOUP_3, "item": BOWL, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": BOWL_CARROT_COD, "consume": 1,
|
||||
"tip": "§a盛出 胡萝卜鳕鱼汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"block": CARROT_FISH_SOUP_3, "item": BOWL, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": BOWL_CARROT_FISH, "consume": 1,
|
||||
"tip": "§a盛出 胡萝卜鲑鱼汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"block": EGG_COD_SOUP_3, "item": BOWL, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": BOWL_EGG_COD, "consume": 1,
|
||||
"tip": "§a盛出 蛋花鳕鱼汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"block": NORI_EGG_SOUP_3, "item": BOWL, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": BOWL_NORI_EGG, "consume": 1,
|
||||
"tip": "§a盛出 瘦肉蛋花汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"block": TOFU_FISH_SOUP_3, "item": BOWL, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": BOWL_TOFU_FISH, "consume": 1,
|
||||
"tip": "§a盛出 豆腐鲑鱼汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"block": CHICKEN_STEW_MUSHROOMS_3, "item": BOWL, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": BOWL_MUSHROOM_CHICKEN, "consume": 1,
|
||||
"tip": "§a盛出 蘑菇炖鸡, 锅变回 汤锅(空); 成品【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"block": RAW_PIG_FOOD_SOUP_5, "item": BOWL, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": BOWL_PIG_FOOT, "consume": 1,
|
||||
"tip": "§a盛出 猪蹄汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"block": ROUJIAMO_SOUP_1, "item": BOWL, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": BOWL_ROUJIAMO, "consume": 1,
|
||||
"tip": "§a盛出 羊肉泡馍汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"block": COOKED_NOODLE_SOUP, "item": BOWL, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": BOWL_NOODLE, "consume": 1,
|
||||
"tip": "§a盛出 熟面条, 锅变回 汤锅(空); 熟面条可做汤面"},
|
||||
"tip": None},
|
||||
{"block": DUMPLINGS_SOUP_2, "item": BOWL, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": BOWL_DUMPLINGS, "consume": 1,
|
||||
"tip": "§a盛出 饺子_碗装, 锅变回 汤锅(空); 成品【吃】右键食用"},
|
||||
"tip": None},
|
||||
# 菜谱32 todo: 饺子汤_熟 + 盘子 -> 美味饺子(全份)盘装
|
||||
{"block": DUMPLINGS_SOUP_2, "item": PLATE, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": PLATE_30A, "consume": 1,
|
||||
"tip": "§a捞出 美味饺子(全份)盘装, 锅变回 汤锅(空); 成品【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"block": VEGETABLE_FISH_SOUP_3, "item": BOWL, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": BOWL_VEGETABLE_FISH, "consume": 1,
|
||||
"tip": "§a盛出 蔬菜鱼片汤, 锅变回 汤锅(空); 成品【吃】右键食用"},
|
||||
"tip": None},
|
||||
# 菜谱38 碗装米饭(木碗盛出)
|
||||
{"block": RICE_POT_1, "item": BOWL, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": BOWL_RICE_1, "consume": 1,
|
||||
"tip": "§a盛出 米饭_1(熟米饭_形态1), 锅变回 汤锅(空); 碗装米饭供炒锅蛋炒饭"},
|
||||
"tip": None},
|
||||
{"block": RICE_POT_2, "item": BOWL, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": BOWL_RICE_2, "consume": 1,
|
||||
"tip": "§a盛出 米饭_2(熟米饭_形态2), 锅变回 汤锅(空); 碗装米饭供炒锅蛋炒饭"},
|
||||
"tip": None},
|
||||
{"block": RICE_POT_3, "item": BOWL, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": BOWL_RICE_3, "consume": 1,
|
||||
"tip": "§a盛出 米饭_3(熟米饭_形态3), 锅变回 汤锅(空); 碗装米饭供炒锅蛋炒饭"},
|
||||
"tip": None},
|
||||
|
||||
# ---------------- 七、取出(空手/菜刀, 锅变回汤锅(空)) ----------------
|
||||
# 菜谱37 饭团
|
||||
{"block": RICE_POT_1, "item": None, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": RICE_BALLS, "count": 16,
|
||||
"tip": "§a捏成 饭团x16, 锅变回 汤锅(空); 饭团供寿司用"},
|
||||
"tip": None},
|
||||
{"block": RICE_POT_2, "item": None, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": RICE_BALLS, "count": 16,
|
||||
"tip": "§a捏成 饭团x16, 锅变回 汤锅(空); 饭团供寿司用"},
|
||||
"tip": None},
|
||||
{"block": RICE_POT_3, "item": None, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": RICE_BALLS, "count": 16,
|
||||
"tip": "§a捏成 饭团x16, 锅变回 汤锅(空); 饭团供寿司用"},
|
||||
"tip": None},
|
||||
# 菜谱41 水煮蛋
|
||||
{"block": COOKED_EGG_SOUP, "item": None, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": BOILED_EGG, "count": 9,
|
||||
"tip": "§a取出 水煮蛋x9, 锅变回 汤锅(空); 水煮蛋【吃】右键食用"},
|
||||
"tip": None},
|
||||
# 菜谱44 豆腐(菜刀切, 不消耗刀)
|
||||
{"block": BEANCURD_SOUP_1, "item": CLEAVER, "action": "take_out",
|
||||
"target": POT_EMPTY, "dropItem": BEANCURD, "count": 16,
|
||||
"tip": "§a切出 豆腐x16, 锅变回 汤锅(空); 豆腐供炒锅/汤锅使用"},
|
||||
"tip": None},
|
||||
|
||||
# ---------------- 八、汤面分组(手持汤锅成品菜 右键 熟面条(方块)) ----------------
|
||||
{"block": BOWL_NOODLE, "item": BOWL_CARROT_RIBS, "target": NOODLESOUP_1,
|
||||
"consume": 1, "drop": BOWL,
|
||||
"tip": "§a排骨汤浇在面条上, 变成 猪排蔬菜面, 掉落一个木碗; 汤面【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"block": BOWL_NOODLE, "item": BOWL_LAMB_CHOP, "target": NOODLESOUP_2,
|
||||
"consume": 1, "drop": BOWL,
|
||||
"tip": "§a羊排汤浇在面条上, 变成 羊排蔬菜面, 掉落一个木碗; 汤面【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"block": BOWL_NOODLE, "item": BOWL_BEEF_BONE, "target": NOODLESOUP_3,
|
||||
"consume": 1, "drop": BOWL,
|
||||
"tip": "§a牛骨汤浇在面条上, 变成 牛骨面, 掉落一个木碗; 汤面【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"block": BOWL_NOODLE, "item": BOWL_MUSHROOM_CHICKEN, "target": NOODLESOUP_4,
|
||||
"consume": 1, "drop": BOWL,
|
||||
"tip": "§a蘑菇炖鸡浇在面条上, 变成 小鸡炖蘑菇面, 掉落一个木碗; 汤面【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"block": BOWL_NOODLE, "item": BOWL_VEGETABLE_SSTEW, "target": ASSORTED_RAMEN,
|
||||
"consume": 1, "drop": BOWL,
|
||||
"tip": "§a蔬菜乱炖浇在面条上, 变成 胡萝卜蔬菜面, 掉落一个木碗; 汤面【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"block": BOWL_NOODLE, "item": BOWL_VEGETABLE_LAMB, "target": BRAISED_NOODLES,
|
||||
"consume": 1, "drop": BOWL,
|
||||
"tip": "§a蔬菜牛肉汤浇在面条上, 变成 胡萝卜蔬菜牛肉面, 掉落一个木碗; 汤面【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"block": BOWL_NOODLE, "item": BOWL_VEGETABLE_FISH, "target": YUSHENG_RAMEN,
|
||||
"consume": 1, "drop": BOWL,
|
||||
"tip": "§a蔬菜鱼片汤浇在面条上, 变成 蔬菜鱼片面, 掉落一个木碗; 汤面【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"block": BOWL_NOODLE, "item": BOILED_EGG, "target": EGG_NOODLES,
|
||||
"consume": 1, "drop": BOWL,
|
||||
"tip": "§a放上水煮蛋, 变成 鸡蛋面, 掉落一个木碗; 汤面【吃】右键食用"},
|
||||
"tip": None},
|
||||
# 蛋花面(加葱花)
|
||||
{"block": NOODLES_1, "item": SCALLIONS, "target": NOODLES_2,
|
||||
"consume": 1, "tip": "§a蛋花面撒上葱花碎, 变成 蛋花面(加葱花); 汤面【吃】右键食用"},
|
||||
"consume": 1, "tip": None},
|
||||
# 猪排蔬菜面加水煮蛋(猪排蔬菜面 + 水煮蛋)
|
||||
{"block": NOODLESOUP_1, "item": BOILED_EGG, "target": TONKOTSU_RAMEN,
|
||||
"consume": 1, "tip": "§a猪排蔬菜面放上水煮蛋, 变成 猪排蔬菜面加水煮蛋; 汤面【吃】右键食用"},
|
||||
"consume": 1, "tip": None},
|
||||
]
|
||||
|
||||
# ============================================================================
|
||||
@@ -517,13 +517,13 @@ ITEM_USE_ON_RULES = [
|
||||
# ---- 锅态汤面走 itemUseOn 路径(手持锅态汤方块 右键 熟面条表面) ----
|
||||
{"item": MUSHROOM_SOUP, "surface": BOWL_NOODLE, "target": MUSHROOM_NOODLES,
|
||||
"consume": 1, "drop": BOWL,
|
||||
"tip": "§a蘑菇汤浇在面条上, 变成 香菇面, 掉落一个木碗; 汤面【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"item": VEGETABLE_SOUP, "surface": BOWL_NOODLE, "target": VEGETABLE_NOODLES,
|
||||
"consume": 1, "drop": BOWL,
|
||||
"tip": "§a蔬菜汤浇在面条上, 变成 蔬菜面, 掉落一个木碗; 汤面【吃】右键食用"},
|
||||
"tip": None},
|
||||
{"item": EGG_SOUP, "surface": BOWL_NOODLE, "target": NOODLES_1,
|
||||
"consume": 1, "drop": BOWL,
|
||||
"tip": "§a蛋花汤浇在面条上, 变成 蛋花面, 掉落一个木碗; 可加葱花碎 或 直接【吃】"},
|
||||
"tip": None},
|
||||
]
|
||||
|
||||
# ============================================================================
|
||||
|
||||
+2
-25
@@ -132,23 +132,9 @@ class TangguoService(BlueFoxServerSystem):
|
||||
self._finalInfo[r["block"]] = "空手取出"
|
||||
|
||||
self.timerSources = set()
|
||||
self.startTimerTips = {} # 空手右键启动计时 -> 提示(含总共多少秒)
|
||||
self.timingTips = {} # 空手右键"已在计时中" -> 提示(同样含总共多少秒)
|
||||
for src, r in self._timerBySrc.items():
|
||||
self.timerSources.add(src)
|
||||
self.featureBlocks.add(src) # 登记右键路由, 空手右键才分发到这里
|
||||
# 【提示不再报秒数】计时已统一为 1 秒/级, 秒数信息无意义, 只提示成品
|
||||
if r.get("randomTargets"):
|
||||
tip = "§a开始煮饭, 木碗盛出"
|
||||
t2 = "§e正在煮饭, 等待盛出"
|
||||
else:
|
||||
endBlock = self._timerTerminal(src)
|
||||
act = self._finalInfo.get(endBlock) if endBlock else None
|
||||
base = (", " + act) if act else ""
|
||||
tip = "§a开始熬制%s" % base
|
||||
t2 = "§e正在熬制%s" % base
|
||||
self.startTimerTips[src] = tip
|
||||
self.timingTips[src] = t2
|
||||
|
||||
# ---- 右键冷却表 ----
|
||||
self.cooldown = {}
|
||||
@@ -197,20 +183,15 @@ class TangguoService(BlueFoxServerSystem):
|
||||
return True
|
||||
|
||||
def _handleStartTimer(self, blockName, playerId, pos, dim):
|
||||
"""空手右键生汤羹等: 已在计时中 -> 提示总时长; 否则转发计时服务开始(下方需点燃炉灶)"""
|
||||
"""空手右键生汤羹等: 已在计时中则忽略; 否则转发计时服务开始(下方需点燃炉灶)"""
|
||||
try:
|
||||
data = blockEntityDataComp.GetBlockEntityData(dim, pos)
|
||||
if data and data["rtdd_tid"] == blockName:
|
||||
msg = self.timingTips.get(blockName) or "§e正在熬制中"
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, msg)
|
||||
return
|
||||
except Exception:
|
||||
pass
|
||||
started = FeatureDispatcher.startTimerFor(blockName, dim, pos, playerId)
|
||||
if started:
|
||||
msg = self.startTimerTips.get(blockName) or "§a已启动计时"
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, msg)
|
||||
else:
|
||||
if not started:
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§c需要放在点燃的炉灶上")
|
||||
|
||||
@@ -317,10 +298,6 @@ class TangguoService(BlueFoxServerSystem):
|
||||
if recipe.get("give"):
|
||||
self.giveItem(playerId, recipe["give"])
|
||||
|
||||
# 提示
|
||||
if recipe.get("tip"):
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, recipe["tip"])
|
||||
|
||||
def _defaultPot(self):
|
||||
"""take_out 未指定 target 时回退(正常应总是带 target=汤锅(空))"""
|
||||
return "rtdd:stewedsoup"
|
||||
|
||||
+1
@@ -214,6 +214,7 @@ class TangguoTimerService(BlueFoxServerSystem):
|
||||
ids = comp.CreateGame(LevelId).GetAllPlayerIds()
|
||||
if playerId in ids:
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, tip)
|
||||
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
|
||||
-14
@@ -175,7 +175,6 @@ class YinliaoService(BlueFoxServerSystem):
|
||||
self.replaceBlock(pos, dim, "rtdd:juicer_0", playerId)
|
||||
# 替换后写水果类型(block entity 可能未初始化, 带延迟兜底)
|
||||
self._writeFruit(dim, pos, itemName)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a已放入水果,右键开始榨汁")
|
||||
return True
|
||||
|
||||
# ---- 榨汁中逐级推进(juicer_0→1→2→3→4): 任意右键, 换态并保留水果类型 ----
|
||||
@@ -207,7 +206,6 @@ class YinliaoService(BlueFoxServerSystem):
|
||||
self.consumeItem(playerId, itemDict, 1) # 消耗玻璃杯(果汁成品自带杯)
|
||||
self.dropItems(dim, pos, [{"name": juiceBlock, "count": 1}])
|
||||
self.replaceBlock(pos, dim, "rtdd:juicer", playerId) # 还原空, 记录随方块清除
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a取出了" + juiceName)
|
||||
return True
|
||||
|
||||
return False
|
||||
@@ -228,8 +226,6 @@ class YinliaoService(BlueFoxServerSystem):
|
||||
if not started:
|
||||
return True # 已在定型中, 拦截但不消耗
|
||||
self.consumeItem(playerId, itemDict, 1)
|
||||
if ICE_LOLLY_TIMER.get("startTip"):
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, ICE_LOLLY_TIMER["startTip"])
|
||||
return True
|
||||
|
||||
# ---- 定型 + 水果x2 → 各水果冰棍盒 ----
|
||||
@@ -247,7 +243,6 @@ class YinliaoService(BlueFoxServerSystem):
|
||||
boxBlock, _popsicle, flavor = info
|
||||
self.consumeItem(playerId, itemDict, 2)
|
||||
self.replaceBlock(pos, dim, boxBlock, playerId)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a" + flavor + "冰棍做好了!")
|
||||
return True
|
||||
|
||||
# ---- 各水果冰棍盒 空手右键 → 取出2根冰棍, 还原未定型 ----
|
||||
@@ -261,7 +256,6 @@ class YinliaoService(BlueFoxServerSystem):
|
||||
_fruit, popsicle, flavor = info
|
||||
self.dropItems(dim, pos, [{"name": popsicle, "count": 2}])
|
||||
self.replaceBlock(pos, dim, "rtdd:icelollybox_1", playerId) # 还原未定型
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a取出了2根" + flavor + "冰棍")
|
||||
return True
|
||||
|
||||
# ============================================================================
|
||||
@@ -277,7 +271,6 @@ class YinliaoService(BlueFoxServerSystem):
|
||||
return True
|
||||
self.consumeItem(playerId, itemDict, 1)
|
||||
self.replaceBlock(pos, dim, "rtdd:frytheicebox_1", playerId)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a已放入冰块,右键放入水果炒冰")
|
||||
return True
|
||||
|
||||
# ---- 放冰 + 水果 → 各水果炒冰盒 ----
|
||||
@@ -290,7 +283,6 @@ class YinliaoService(BlueFoxServerSystem):
|
||||
iceBox, _icecream, flavor = info
|
||||
self.consumeItem(playerId, itemDict, 1)
|
||||
self.replaceBlock(pos, dim, iceBox, playerId)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a" + flavor + "炒冰做好了!")
|
||||
return True
|
||||
|
||||
# ---- 各水果炒冰盒 空手右键 → 取出1个冰沙, 还原空 ----
|
||||
@@ -306,7 +298,6 @@ class YinliaoService(BlueFoxServerSystem):
|
||||
return True
|
||||
self.dropItems(dim, pos, [{"name": icecream, "count": 1}])
|
||||
self.replaceBlock(pos, dim, "rtdd:frytheicebox", playerId) # 还原空
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a取出了" + flavor + "冰沙")
|
||||
return True
|
||||
|
||||
# ============================================================================
|
||||
@@ -320,7 +311,6 @@ class YinliaoService(BlueFoxServerSystem):
|
||||
return True
|
||||
self.consumeItem(playerId, itemDict, 1)
|
||||
self.replaceBlock(pos, dim, POPSICLE_PILE_2, playerId)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a把西瓜冰棍叠到橙子冰棍上,变成冰棍堆")
|
||||
return True
|
||||
# ---- 单根西瓜冰棍(地上) + 手持橙子冰棍 → 冰棍堆(橙子+西瓜), 顺序无关 ----
|
||||
if blockName == POPSICLE_SINGLE_MELON and itemName == POPSICLE_SINGLE_ORANGE:
|
||||
@@ -328,7 +318,6 @@ class YinliaoService(BlueFoxServerSystem):
|
||||
return True
|
||||
self.consumeItem(playerId, itemDict, 1)
|
||||
self.replaceBlock(pos, dim, POPSICLE_PILE_2, playerId)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a把橙子冰棍叠到西瓜冰棍上,变成冰棍堆")
|
||||
return True
|
||||
|
||||
# ---- 冰棍堆(橙子+西瓜) ----
|
||||
@@ -339,7 +328,6 @@ class YinliaoService(BlueFoxServerSystem):
|
||||
return True
|
||||
self.consumeItem(playerId, itemDict, 1)
|
||||
self.replaceBlock(pos, dim, POPSICLE_PILE_3, playerId)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a把苹果冰棍插到冰棍堆上,叠成三层")
|
||||
return True
|
||||
# 空手右键 → 取出西瓜冰棍(按方块状态固定), 变回 单根橙子冰棍
|
||||
if not itemName or itemName == "minecraft:air":
|
||||
@@ -347,7 +335,6 @@ class YinliaoService(BlueFoxServerSystem):
|
||||
return True
|
||||
self.dropItems(dim, pos, [{"name": POPSICLE_SINGLE_MELON, "count": 1}])
|
||||
self.replaceBlock(pos, dim, POPSICLE_SINGLE_ORANGE, playerId)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a取走了西瓜冰棍,剩下一根橙子冰棍")
|
||||
return True
|
||||
return False
|
||||
|
||||
@@ -359,7 +346,6 @@ class YinliaoService(BlueFoxServerSystem):
|
||||
return True
|
||||
self.dropItems(dim, pos, [{"name": POPSICLE_PILE_ADD, "count": 1}])
|
||||
self.replaceBlock(pos, dim, POPSICLE_PILE_2, playerId)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a取走了苹果冰棍")
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
-2
@@ -163,8 +163,6 @@ class YinliaoTimerService(BlueFoxServerSystem):
|
||||
# 替换方块为定型
|
||||
self.replaceBlock(pos, dim, recipe["target"], None)
|
||||
self._clearTimerData(dim, pos)
|
||||
if recipe.get("doneTip"):
|
||||
self._notifyIfOnline(data["rtdd_tp"], recipe["doneTip"])
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
|
||||
@@ -74,51 +74,51 @@ SWITCH_RULES = [
|
||||
# ---- 一、油锅基础 ----
|
||||
{"block": OILPOT_0, "item": OILCAN, "target": OILPOT_1,
|
||||
"consume": 1, "give": MEDICINE_TANK,
|
||||
"tip": "§a油罐倒入油锅, 油罐变回玻璃罐"},
|
||||
"tip": None},
|
||||
{"block": OILPOT_1, "item": MEDICINE_TANK, "target": OILPOT_0,
|
||||
"consume": 1, "give": OILCAN,
|
||||
"tip": "§a从油锅取油, 装回油罐"},
|
||||
"tip": None},
|
||||
|
||||
# ---- 二、放料(满油锅 + 裹粉半成品 -> 炸物(生), 开始计时炸制) ----
|
||||
# 油锅下须是 点燃的炉灶(stove_2) 才允许放料(否则不炸制)
|
||||
{"block": OILPOT_1, "item": BREADED_CHICKEN, "target": CHICKEN_0,
|
||||
"consume": 1, "startTimer": CHICKEN_0,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c油锅需要放在点燃的炉灶上",
|
||||
"tip": "§a放入裹粉鸡块, 开始炸制, 计时结束取出"},
|
||||
"tip": None},
|
||||
{"block": OILPOT_1, "item": BREADED_PORK, "target": PORK_0,
|
||||
"consume": 1, "startTimer": PORK_0,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c油锅需要放在点燃的炉灶上",
|
||||
"tip": "§a放入裹粉猪肉, 开始炸制, 计时结束取出"},
|
||||
"tip": None},
|
||||
{"block": OILPOT_1, "item": BREADED_FRIES, "target": FRIES_0,
|
||||
"consume": 3, "startTimer": FRIES_0,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c油锅需要放在点燃的炉灶上",
|
||||
"tip": "§a放入裹粉薯条x3, 开始炸制, 计时结束取出"},
|
||||
"tip": None},
|
||||
{"block": OILPOT_1, "item": BREADED_FISH, "target": FISH_0,
|
||||
"consume": 1, "startTimer": FISH_0,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c油锅需要放在点燃的炉灶上",
|
||||
"tip": "§a放入裹粉鱼, 开始炸制, 计时结束取出"},
|
||||
"tip": None},
|
||||
{"block": OILPOT_1, "item": BREADED_TEMPURA, "target": TEMPURA_1,
|
||||
"consume": 4, "startTimer": TEMPURA_1,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c油锅需要放在点燃的炉灶上",
|
||||
"tip": "§a放入裹粉天妇罗x4, 开始炸制, 计时结束取出"},
|
||||
"tip": None},
|
||||
{"block": OILPOT_1, "item": DUMPLINGS, "target": DUMPLING_1,
|
||||
"consume": 3, "startTimer": DUMPLING_1,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c油锅需要放在点燃的炉灶上",
|
||||
"tip": "§a放入生饺子x3, 开始炸制, 计时结束取出"},
|
||||
"tip": None},
|
||||
|
||||
# ---- 三、出锅(熟炸物 + 盘子 -> 掉落盘装成品) ----
|
||||
{"block": CHICKEN_2, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_CHICKEN, "consume": 1, "tip": "§a取出盘装鸡块, 油锅恢复满油, 可继续放料"},
|
||||
"dropItem": PLATE_CHICKEN, "consume": 1, "tip": None},
|
||||
{"block": PORK_2, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_PORK, "consume": 1, "tip": "§a取出炸猪排(盘装), 油锅恢复满油, 可继续放料"},
|
||||
"dropItem": PLATE_PORK, "consume": 1, "tip": None},
|
||||
{"block": FRIES_2, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_FRIES, "consume": 1, "tip": "§a取出炸薯条(盘装), 油锅恢复满油, 可继续放料"},
|
||||
"dropItem": PLATE_FRIES, "consume": 1, "tip": None},
|
||||
{"block": FISH_2, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_FISH, "consume": 1, "tip": "§a取出盘装炸鱼, 油锅恢复满油, 可继续放料"},
|
||||
"dropItem": PLATE_FISH, "consume": 1, "tip": None},
|
||||
{"block": TEMPURA_2, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_TEMPURA, "consume": 1, "tip": "§a取出天妇罗炸虾, 油锅恢复满油, 可继续放料"},
|
||||
"dropItem": PLATE_TEMPURA, "consume": 1, "tip": None},
|
||||
{"block": DUMPLING_2, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_DUMPLINGS, "consume": 1, "tip": "§a取出炸饺子(盘装), 油锅恢复满油, 可继续放料"},
|
||||
"dropItem": PLATE_DUMPLINGS, "consume": 1, "tip": None},
|
||||
]
|
||||
|
||||
# ============================================================================
|
||||
|
||||
+1
-32
@@ -117,31 +117,9 @@ class YouguoService(BlueFoxServerSystem):
|
||||
self._finalInfo[r["block"]] = "手持盘子出锅"
|
||||
|
||||
self.timerSources = set()
|
||||
self.startTimerTips = {} # 空手右键启动计时 -> 提示(含总共多少秒)
|
||||
self.timingTips = {} # 空手右键"已在计时中" -> 提示(同样含总共多少秒)
|
||||
for src, r in self._timerBySrc.items():
|
||||
self.timerSources.add(src)
|
||||
self.featureBlocks.add(src)
|
||||
total, stages = self._timerTotal[src] # total = 从当前级到终点剩余秒数
|
||||
curLv, totLv = self._timerStages.get(src, (1, 1))
|
||||
lvTip = "(第%d级/共%d级)" % (curLv, totLv) if totLv > 1 else ""
|
||||
if len(stages) <= 1:
|
||||
perTip = ""
|
||||
elif len(set(stages)) == 1:
|
||||
perTip = "每级%d秒" % stages[0]
|
||||
else:
|
||||
perTip = "先%d秒,再%s" % (stages[0], ",".join("%d秒" % s for s in stages[1:]))
|
||||
perStr = (", " + perTip) if perTip else ""
|
||||
endBlock = self._oilTerminal(src)
|
||||
endName = self._finalNames.get(endBlock, "") if endBlock else ""
|
||||
act = self._finalInfo.get(endBlock) if endBlock else None
|
||||
actStr = (", " + act) if act else ""
|
||||
base = "还需%d秒%s" % (total, perStr)
|
||||
base += actStr
|
||||
tip = "§a开始炸制%s: %s" % (lvTip, base)
|
||||
t2 = "§e正在炸制中%s: %s" % (lvTip, base)
|
||||
self.startTimerTips[src] = tip
|
||||
self.timingTips[src] = t2
|
||||
|
||||
# ---- 右键冷却表 ----
|
||||
self.cooldown = {}
|
||||
@@ -193,16 +171,11 @@ class YouguoService(BlueFoxServerSystem):
|
||||
try:
|
||||
data = blockEntityDataComp.GetBlockEntityData(dim, pos)
|
||||
if data and data["rtdd_tid"] == blockName:
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, self.timingTips.get(blockName, "§e已经在计时中"))
|
||||
return
|
||||
except Exception:
|
||||
pass
|
||||
started = FeatureDispatcher.startTimerFor(blockName, dim, pos, playerId)
|
||||
if started:
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, self.startTimerTips.get(blockName, "§a已启动计时"))
|
||||
else:
|
||||
if not started:
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§c油锅需要放在点燃的炉灶上才能开始计时")
|
||||
|
||||
@@ -279,10 +252,6 @@ class YouguoService(BlueFoxServerSystem):
|
||||
if recipe.get("give"):
|
||||
self.giveItem(playerId, recipe["give"])
|
||||
|
||||
# 提示
|
||||
if recipe.get("tip"):
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, recipe["tip"])
|
||||
|
||||
# ============================================================================
|
||||
# 三、工具方法,判断正下方是否指定方块(点燃炉灶)
|
||||
# ============================================================================
|
||||
|
||||
+1
@@ -207,6 +207,7 @@ class YouguoTimerService(BlueFoxServerSystem):
|
||||
ids = comp.CreateGame(LevelId).GetAllPlayerIds()
|
||||
if playerId in ids:
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, tip)
|
||||
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
|
||||
+18
-18
@@ -31,19 +31,19 @@ ITEM_USE_ON_RULES = [
|
||||
"item": "minecraft:chicken", # 原版生鸡肉
|
||||
"target": "rtdd:roastchickenplace_0", # 生鸡肉(放置后)
|
||||
"consume": 1,
|
||||
"tip": "§a已放置生鸡肉",
|
||||
"tip": None,
|
||||
},
|
||||
{
|
||||
"item": "minecraft:salmon", # 原版生鲑鱼
|
||||
"target": "rtdd:killfish_0", # 死鲑鱼
|
||||
"consume": 1,
|
||||
"tip": "§a已放置死鲑鱼",
|
||||
"tip": None,
|
||||
},
|
||||
{
|
||||
"item": "minecraft:cod", # 原版生鳕鱼
|
||||
"target": "rtdd:killcod_0", # 死鳕鱼
|
||||
"consume": 1,
|
||||
"tip": "§a已放置死鳕鱼",
|
||||
"tip": None,
|
||||
},
|
||||
# 网易端 ServerItemUseOnEvent 对 原版生鳕鱼 报的 itemName 是 minecraft:fish
|
||||
# (日志: [FD-ItemUseOn] minecraft:fish), 需额外注册一条, 否则生鳕鱼无法放置。
|
||||
@@ -51,38 +51,38 @@ ITEM_USE_ON_RULES = [
|
||||
"item": "minecraft:fish",
|
||||
"target": "rtdd:killcod_0", # 死鳕鱼
|
||||
"consume": 1,
|
||||
"tip": "§a已放置死鳕鱼",
|
||||
"tip": None,
|
||||
},
|
||||
# ---- 蔬菜·切配: 原版食材右键放置 -> 摆放地上的切配方块 ----
|
||||
{
|
||||
"item": "minecraft:carrot", # 原版胡萝卜
|
||||
"target": "rtdd:cutcarrot_0", # 切胡萝卜(摆放地上)
|
||||
"consume": 1,
|
||||
"tip": "§a已放置胡萝卜,可手持菜刀切配",
|
||||
"tip": None,
|
||||
},
|
||||
{
|
||||
"item": "minecraft:potato", # 原版土豆
|
||||
"target": "rtdd:cutpotato_0", # 切土豆(摆放地上)
|
||||
"consume": 1,
|
||||
"tip": "§a已放置土豆,可手持菜刀切配",
|
||||
"tip": None,
|
||||
},
|
||||
{
|
||||
"item": "rtdd:qingcai", # 青菜(整颗)
|
||||
"target": "rtdd:cutvegetable_0", # 切青菜(摆放地上)
|
||||
"consume": 1,
|
||||
"tip": "§a已放置青菜,可手持菜刀切配",
|
||||
"tip": None,
|
||||
},
|
||||
{
|
||||
"item": "rtdd:scallions", # 葱
|
||||
"target": "rtdd:cutscallions_1", # 葱花_1
|
||||
"consume": 1,
|
||||
"tip": "§a已放置葱,可手持菜刀切分",
|
||||
"tip": None,
|
||||
},
|
||||
{
|
||||
"item": "minecraft:dried_kelp", # 原版干海带
|
||||
"target": "rtdd:sushi_0", # 干海带(放置后)
|
||||
"consume": 1,
|
||||
"tip": "§a已放置干海带",
|
||||
"tip": None,
|
||||
},
|
||||
]
|
||||
|
||||
@@ -90,21 +90,21 @@ ITEM_USE_ON_RULES = [
|
||||
# 生鱼片(plate_17)可用 鳕鱼/鲑鱼/热带鱼 右键(含网易端鳕鱼报 minecraft:fish 的兼容)
|
||||
PLATE_RULES = [
|
||||
{"item": "minecraft:pumpkin_pie", "source": "rtdd:plate_0",
|
||||
"target": "rtdd:plate_16", "consume": 1, "tip": "§a南瓜派装盘了"},
|
||||
"target": "rtdd:plate_16", "consume": 1, "tip": None},
|
||||
{"item": "minecraft:cod", "source": "rtdd:plate_0",
|
||||
"target": "rtdd:plate_17", "consume": 1, "tip": "§a生鱼片装盘了"},
|
||||
"target": "rtdd:plate_17", "consume": 1, "tip": None},
|
||||
{"item": "minecraft:salmon", "source": "rtdd:plate_0",
|
||||
"target": "rtdd:plate_17", "consume": 1, "tip": "§a生鱼片装盘了"},
|
||||
"target": "rtdd:plate_17", "consume": 1, "tip": None},
|
||||
{"item": "minecraft:tropical_fish", "source": "rtdd:plate_0",
|
||||
"target": "rtdd:plate_17", "consume": 1, "tip": "§a生鱼片装盘了"},
|
||||
"target": "rtdd:plate_17", "consume": 1, "tip": None},
|
||||
{"item": "minecraft:fish", "source": "rtdd:plate_0",
|
||||
"target": "rtdd:plate_17", "consume": 1, "tip": "§a生鱼片装盘了"},
|
||||
"target": "rtdd:plate_17", "consume": 1, "tip": None},
|
||||
{"item": "minecraft:melon_slice", "source": "rtdd:plate_0",
|
||||
"target": "rtdd:plate_18", "consume": 1, "tip": "§a西瓜装盘了"},
|
||||
"target": "rtdd:plate_18", "consume": 1, "tip": None},
|
||||
{"item": "minecraft:bread", "source": "rtdd:plate_0",
|
||||
"target": "rtdd:plate_20", "consume": 1, "tip": "§a面包装盘了"},
|
||||
"target": "rtdd:plate_20", "consume": 1, "tip": None},
|
||||
{"item": "minecraft:cookie", "source": "rtdd:plate_0",
|
||||
"target": "rtdd:plate_21", "consume": 1, "tip": "§a曲奇装盘了"},
|
||||
"target": "rtdd:plate_21", "consume": 1, "tip": None},
|
||||
{"item": "minecraft:cooked_chicken", "source": "rtdd:plate_0",
|
||||
"target": "rtdd:plate_4", "consume": 1, "tip": "§a熟鸡肉装盘了"},
|
||||
"target": "rtdd:plate_4", "consume": 1, "tip": None},
|
||||
]
|
||||
-5
@@ -135,8 +135,6 @@ class YuanbanService(BlueFoxServerSystem):
|
||||
self.consumeItem(playerId, itemDict, plateRule.get("consume", 1))
|
||||
# 直接替换被右键的盘子方块
|
||||
self.replaceBlock(pos, dim, plateRule["target"], playerId)
|
||||
if plateRule.get("tip"):
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, plateRule["tip"])
|
||||
return True
|
||||
# 被右键的不是盘子 → 交给下面的相邻放置处理
|
||||
|
||||
@@ -170,9 +168,6 @@ class YuanbanService(BlueFoxServerSystem):
|
||||
|
||||
# 放置对应方块
|
||||
self.replaceBlock(targetPos, dim, rule["target"], playerId)
|
||||
# 放置成功提示
|
||||
if rule.get("tip"):
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, rule["tip"])
|
||||
return True
|
||||
|
||||
# ============================================================================
|
||||
|
||||
@@ -33,11 +33,11 @@ NaturalService / NaturalTimerService 读取,FeatureDispatcher 通过方块名/
|
||||
# ============================================================================
|
||||
FIREWOOD_RULES = [
|
||||
{"source": "rtdd:firewood_2", "item": "rtdd:firewood",
|
||||
"target": "rtdd:firewood", "consume": 1, "tip": "§a堆放柴火"},
|
||||
"target": "rtdd:firewood", "consume": 1, "tip": None},
|
||||
{"source": "rtdd:firewood", "item": None,
|
||||
"target": "rtdd:firewood_2",
|
||||
"dropItem": [{"name": "rtdd:firewood_2", "count": 1}],
|
||||
"tip": "§a取走柴火"},
|
||||
"tip": None},
|
||||
]
|
||||
|
||||
# ============================================================================
|
||||
@@ -48,7 +48,7 @@ GRAPE_HARVEST = {
|
||||
"source": "rtdd:grapebushes_2", "item": None,
|
||||
"target": "rtdd:grapebushes_1",
|
||||
"dropItem": [{"name": "rtdd:grape", "count": 3}],
|
||||
"tip": "§a取出了3个葡萄",
|
||||
"tip": None,
|
||||
}
|
||||
|
||||
# 葡萄种植: 手持葡萄右键支杆 -> 葡萄藤_1(之后按原版 tick 随机生长, 无提示)
|
||||
|
||||
-3
@@ -180,9 +180,6 @@ class NaturalService(BlueFoxServerSystem):
|
||||
# 给背包物品
|
||||
if recipe.get("giveItem"):
|
||||
self.giveItem(playerId, recipe["giveItem"])
|
||||
# 提示
|
||||
if recipe.get("tip"):
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, recipe["tip"])
|
||||
|
||||
def _applyBoneMeal(self, playerId, pos, dim, blockName, itemDict):
|
||||
"""骨粉催熟葡萄藤: 消耗1个骨粉, 沿 GROW_CHAIN 长大一级(不越级), 无提示。
|
||||
|
||||
+1
-2
@@ -148,8 +148,6 @@ class NaturalTimerService(BlueFoxServerSystem):
|
||||
return
|
||||
self.replaceBlock(pos, dim, recipe["target"], None)
|
||||
self._clearTimerData(dim, pos)
|
||||
if recipe.get("doneTip"):
|
||||
self._notifyIfOnline(data["rtdd_tp"], recipe["doneTip"])
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
@@ -193,6 +191,7 @@ class NaturalTimerService(BlueFoxServerSystem):
|
||||
ids = comp.CreateGame(LevelId).GetAllPlayerIds()
|
||||
if playerId in ids:
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, tip)
|
||||
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "item",
|
||||
"name": "rtdd:rice_seeds",
|
||||
"weight": 1,
|
||||
"count": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "item",
|
||||
"name": "rtdd:brownrice",
|
||||
"weight": 1,
|
||||
"count": 16
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -34,6 +34,9 @@
|
||||
"netease:face_directional": {
|
||||
"type": "direction"
|
||||
},
|
||||
"netease:neighborchanged_sendto_script": {
|
||||
"value": true
|
||||
},
|
||||
"netease:transform": {
|
||||
"conditions": {
|
||||
"brightness": {
|
||||
|
||||
@@ -34,6 +34,9 @@
|
||||
"netease:face_directional": {
|
||||
"type": "direction"
|
||||
},
|
||||
"netease:neighborchanged_sendto_script": {
|
||||
"value": true
|
||||
},
|
||||
"netease:transform": {
|
||||
"conditions": {
|
||||
"brightness": {
|
||||
|
||||
@@ -22,6 +22,9 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
"minecraft:loot": {
|
||||
"table": "loot_tables/blocks/riceseedlingsd.json"
|
||||
},
|
||||
"minecraft:block_light_absorption": {
|
||||
"value": 0
|
||||
},
|
||||
@@ -33,6 +36,9 @@
|
||||
},
|
||||
"netease:face_directional": {
|
||||
"type": "direction"
|
||||
},
|
||||
"netease:neighborchanged_sendto_script": {
|
||||
"value": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user