diff --git a/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/modMain.py b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/modMain.py index d7d0f94..8408c57 100644 --- a/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/modMain.py +++ b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/modMain.py @@ -22,6 +22,8 @@ from xiangyemod.mianshi.service.MianshiService import MianshiService from xiangyemod.mianshi.service.MianshiTimerService import MianshiTimerService from xiangyemod.youguo.service.YouguoService import YouguoService from xiangyemod.youguo.service.YouguoTimerService import YouguoTimerService +from xiangyemod.tangguo.service.TangguoService import TangguoService +from xiangyemod.tangguo.service.TangguoTimerService import TangguoTimerService if not serverApi.IsInServer(): pass diff --git a/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/tangguo/TangguoData.py b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/tangguo/TangguoData.py new file mode 100644 index 0000000..daf24b2 --- /dev/null +++ b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/tangguo/TangguoData.py @@ -0,0 +1,654 @@ +# -*- coding: utf-8 -*- +""" +================================================================================ +汤锅(xy_tangguo)转化规则数据 +================================================================================ +统一管理"汤锅"分类下的转化规则常量。只被 +TangguoService / TangguoTimerService 读取, FeatureDispatcher 通过 +方块名路由到对应服务。 + +【实现范围(对应 汤锅转化关系.txt)】 + 一、汤锅基础 : 汤锅(空)<->(加水)、盖/掀锅盖 + 二、汤底/成品汤: 汤锅(加水)+食材(右键) -> 汤底; 汤底+肉/鱼/豆腐(右键) -> 汤羹(生) + 三、计时熬制 : 汤羹(生)->(四分熟)->(八分熟)->(熟), 下方须是点燃的炉灶(stove_2) + 四、出锅 : 熟汤羹+木碗(右键) -> 掉落碗装成品, 锅变回 汤锅(空) + 五、米饭/蛋/豆腐: 生米锅/煮蛋/煮豆腐 计时 + 取出 + 六、汤面分组 : 手持汤锅成品菜 右键 熟面条(方块) -> 汤面 + +【计时(见 TangguoTimerService)】 + 所有汤羹/生米锅/煮蛋/煮豆腐 计时都判定【正下方】是 点燃的炉灶(stove_2), + 计时数据在汤羹方块本身; 炉灶移走/熄灭则暂停, 回来继续 + +【不实现】: 各碗装成品/汤面 右键吃 (吃的操作后续由总食用功能实现) +================================================================================ +""" + +# ============================================================================ +# 一、方块/物品(常量) +# ============================================================================ +POT_EMPTY = "rtdd:stewedsoup" # 汤锅(空) +POT_WATER = "rtdd:stewedsoupwater" # 汤锅(加水) +POT_LID = "rtdd:coverthepot" # 汤锅(盖锅) +LIT_STOVE = "rtdd:stove_2" # 点燃的炉灶(厨具) +BOWL = "rtdd:bowlasoup" # 木碗(厨具) +CLEAVER = "rtdd:cleaver" # 菜刀(厨具) +WATER_BUCKET = "minecraft:water_bucket" # 水桶(原版) +EMPTY_BUCKET = "minecraft:bucket" # 空桶(原版) + +# ---- 食材(乡野食材/原版) ---- +CRUSHED_CARROTS = "rtdd:crushed_carrots" # 胡萝卜碎 +VEGETABLE = "rtdd:vegetable" # 青菜碎 +EGG = "minecraft:egg" # 鸡蛋(原版) +POTATO_WEDGES = "rtdd:potato_wedges" # 土豆块/土豆碎 +RED_MUSHROOM = "minecraft:red_mushroom" # 红蘑菇(原版) +BROWN_MUSHROOM = "minecraft:brown_mushroom" # 棕蘑菇(原版) +COD = "minecraft:cod" # 鳕鱼(原版) +SALMON = "minecraft:salmon" # 鲑鱼(原版) +BEEF = "minecraft:beef" # 生牛肉(原版) +MUTTON = "minecraft:mutton" # 生羊肉(原版) +CHICKEN = "minecraft:chicken" # 生鸡肉(原版) +PORKRIB = "rtdd:porkrib" # 猪肋排 +COW_RIBS = "rtdd:costillavacaes" # 牛肋 +SHEEP_RACKS = "rtdd:sheepracks" # 羊小排 +CRUSHED_MEAT = "rtdd:crushedmeat" # 碎肉 +BEANCURD = "rtdd:beancurd" # 豆腐 +HAM = "rtdd:ham" # 猪蹄 +MO = "rtdd:roujiamo_0" # 馍(面食.甜食) +NOODLES = "rtdd:noodles" # 生面(面食.甜食) +DUMPLINGS = "rtdd:dumplings_4" # 生饺子(面食.甜食) +SASHIMI = "rtdd:sashimi" # 生鱼片 +BROWN_RICE = "rtdd:brownrice" # 大米(乡野食材) +EGG_PILE = "rtdd:egg_pile" # 鸡蛋堆(乡野食材) +SOYMILK = "rtdd:fruitjuice_7" # 豆浆(乡野饮料) +SCALLIONS = "rtdd:crushed_scallions" # 葱花碎 + +# ============================================================================ +# 二、汤底方块(不可计时, 供继续加料/组合) +# ============================================================================ +CARROT_SOUP = "rtdd:carrotsoup" # 胡萝卜汤 +VEGETABLE_SOUP = "rtdd:vegetablesoup" # 蔬菜汤 +EGG_SOUP = "rtdd:eggsoup" # 蛋花汤 +POTATO_SOUP = "rtdd:potatosoup" # 土豆汤 +CARROT_POTATO_SOUP = "rtdd:carrotandpotatosoup" # 胡萝卜土豆汤 +RED_MUSHROOM_SOUP = "rtdd:red_mushroomsoup" # 红蘑菇汤 +BROWN_MUSHROOM_SOUP = "rtdd:brownmushroomsoup" # 棕蘑菇汤 +MUSHROOM_SOUP = "rtdd:mushroomsoup" # 蘑菇汤 +COD_SOUP = "rtdd:codsoup" # 鳕鱼汤 +SALMON_SOUP = "rtdd:salmonsoup" # 鲑鱼汤 +POTATO_EGG_SOUP = "rtdd:potatoeggsoup" # 土豆蛋花汤 +TOFU_SOUP = "rtdd:tufusoup" # 豆腐汤 + +# ============================================================================ +# 三、汤羹计时链(生 -> 四分熟 -> 八分熟 -> 熟) +# ============================================================================ +CARROT_BEEF_SOUP = "rtdd:carrotbeefsoup" # 胡萝卜牛肉汤 +CARROT_BEEF_SOUP_1 = "rtdd:carrotbeefsoup_1" +CARROT_BEEF_SOUP_2 = "rtdd:carrotbeefsoup_2" +CARROT_BEEF_SOUP_3 = "rtdd:carrotbeefsoup_3" +LAMB_SOUP_WITH_TURNIPS = "rtdd:lambsoupwithturnips" # 胡萝卜羊肉汤 +LAMB_SOUP_WITH_TURNIPS_1 = "rtdd:lambsoupwithturnips_1" +LAMB_SOUP_WITH_TURNIPS_2 = "rtdd:lambsoupwithturnips_2" +LAMB_SOUP_WITH_TURNIPS_3 = "rtdd:lambsoupwithturnips_3" +CARROT_RIBS = "rtdd:carrotribs" # 胡萝卜排骨汤 +CARROT_RIBS_1 = "rtdd:carrotribs_1" +CARROT_RIBS_2 = "rtdd:carrotribs_2" +CARROT_RIBS_3 = "rtdd:carrotribs_3" +VEGETABLE_BEEF_SOUP = "rtdd:vegetablebeefsoup" # 清汤羊肉 +VEGETABLE_BEEF_SOUP_1 = "rtdd:vegetablebeefsoup_1" +VEGETABLE_BEEF_SOUP_2 = "rtdd:vegetablebeefsoup_2" +VEGETABLE_BEEF_SOUP_3 = "rtdd:vegetablebeefsoup_3" +VEGETABLE_LAMB_SOUP = "rtdd:vegetablelambsoup" # 蔬菜牛肉汤 +VEGETABLE_LAMB_SOUP_1 = "rtdd:vegetablelambsoup_1" +VEGETABLE_LAMB_SOUP_2 = "rtdd:vegetablelambsoup_2" +VEGETABLE_LAMB_SOUP_3 = "rtdd:vegetablelambsoup_3" +VEGETABLE_LEAN_BROTH = "rtdd:vegetableleanbroth" # 蔬菜瘦肉汤 +VEGETABLE_LEAN_BROTH_1 = "rtdd:vegetableleanbroth_1" +VEGETABLE_LEAN_BROTH_2 = "rtdd:vegetableleanbroth_2" +VEGETABLE_LEAN_BROTH_3 = "rtdd:vegetableleanbroth_3" +VEGETABLE_SSTEW = "rtdd:vegetablesstew" # 蔬菜乱炖 +VEGETABLE_SSTEW_1 = "rtdd:vegetablesstew_1" +VEGETABLE_SSTEW_2 = "rtdd:vegetablesstew_2" +VEGETABLE_SSTEW_3 = "rtdd:vegetablesstew_3" +BEEF_BONE_BROTH = "rtdd:beefbonebroth" # 胡萝卜土豆牛骨汤 +BEEF_BONE_BROTH_1 = "rtdd:beefbonebroth_1" +BEEF_BONE_BROTH_2 = "rtdd:beefbonebroth_2" +BEEF_BONE_BROTH_3 = "rtdd:beefbonebroth_3" +LAMB_STEW = "rtdd:lambstew" # 土豆胡萝卜炖羊肉 +LAMB_STEW_1 = "rtdd:lambstew_1" +LAMB_STEW_2 = "rtdd:lambstew_2" +LAMB_STEW_3 = "rtdd:lambstew_3" +VEGETABLE_POTATOES_LAMBSTEAK = "rtdd:vegetablepotatoesandlambsteaksoup" # 胡萝卜土豆羊排汤(生) +LAMB_CHOP_SOUP_1 = "rtdd:lambchopsoup_1" # 胡萝卜土豆羊排汤(三分熟) +LAMB_CHOP_SOUP_2 = "rtdd:lambchopsoup_2" # (七分熟) +LAMB_CHOP_SOUP_3 = "rtdd:lambchopsoup_3" # (熟) +CARROT_COD_SOUP = "rtdd:carrotcodsoup" # 胡萝卜鳕鱼汤 +CARROT_COD_SOUP_1 = "rtdd:carrotcodsoup_1" +CARROT_COD_SOUP_2 = "rtdd:carrotcodsoup_2" +CARROT_COD_SOUP_3 = "rtdd:carrotcodsoup_3" +CARROT_FISH_SOUP = "rtdd:carrotfishsoup" # 胡萝卜鲑鱼汤 +CARROT_FISH_SOUP_1 = "rtdd:carrotfishsoup_1" +CARROT_FISH_SOUP_2 = "rtdd:carrotfishsoup_2" +CARROT_FISH_SOUP_3 = "rtdd:carrotfishsoup_3" +EGG_COD_SOUP = "rtdd:eggcodsoup" # 蛋花鳕鱼汤 +EGG_COD_SOUP_1 = "rtdd:eggcodsoup_1" +EGG_COD_SOUP_2 = "rtdd:eggcodsoup_2" +EGG_COD_SOUP_3 = "rtdd:eggcodsoup_3" +NORI_EGG_SOUP = "rtdd:norieggsoup" # 瘦肉蛋花汤(生) +NORI_EGG_SOUP_0 = "rtdd:norieggsoup_0" # (三分熟) +NORI_EGG_SOUP_1 = "rtdd:norieggsoup_1" # (七分熟) +NORI_EGG_SOUP_2 = "rtdd:norieggsoup_2" # (全熟) +NORI_EGG_SOUP_3 = "rtdd:norieggsoup_3" # (熟) +TOFU_FISH_SOUP_RAW = "rtdd:tufusoupb" # 豆腐鲑鱼汤(生) +TOFU_FISH_SOUP_1 = "rtdd:tufufishsoup_1" # (四分熟) +TOFU_FISH_SOUP_2 = "rtdd:tufufishsoup_2" # (八分熟) +TOFU_FISH_SOUP_3 = "rtdd:tufufishsoup_3" # (熟) +CHICKEN_STEW_MUSHROOMS = "rtdd:chickenstewwithmushrooms" # 蘑菇炖鸡 +CHICKEN_STEW_MUSHROOMS_1 = "rtdd:chickenstewwithmushrooms_1" +CHICKEN_STEW_MUSHROOMS_2 = "rtdd:chickenstewwithmushrooms_2" +CHICKEN_STEW_MUSHROOMS_3 = "rtdd:chickenstewwithmushrooms_3" +RAW_PIG_FOOD_SOUP_0 = "rtdd:rawpigfoodsoup_0" # 汤锅_66(猪蹄汤_生) +RAW_PIG_FOOD_SOUP_2 = "rtdd:rawpigfoodsoup_2" # 汤锅_67(猪蹄汤_加土豆) +RAW_PIG_FOOD_SOUP_3 = "rtdd:rawpigfoodsoup_3" # 汤锅_68(三分熟) +RAW_PIG_FOOD_SOUP_4 = "rtdd:rawpigfoodsoup_4" # 汤锅_69(七分熟) +RAW_PIG_FOOD_SOUP_5 = "rtdd:rawpigfoodsoup_5" # 汤锅_70(全熟) +ROUJIAMO_SOUP_0 = "rtdd:roujiamosoup_0" # 羊肉泡馍汤(生) +ROUJIAMO_SOUP_1 = "rtdd:roujiamosoup_1" # (熟) +RAW_NOODLE_SOUP = "rtdd:rawnoodlesoup" # 生面汤(生) +COOKED_NOODLE_SOUP = "rtdd:cookednoodlessoup" # 熟面汤(熟) +DUMPLINGS_SOUP_0 = "rtdd:dumplingssoup_0" # 饺子汤(生) +DUMPLINGS_SOUP_1 = "rtdd:dumplingssoup_1" # (五分熟) +DUMPLINGS_SOUP_2 = "rtdd:dumplingssoup_2" # (熟) +VEGETABLE_FISH_SOUP_0 = "rtdd:vegetablefishsoup_0" # 蔬菜鱼片汤(生) +VEGETABLE_FISH_SOUP_1 = "rtdd:vegetablefishsoup_1" +VEGETABLE_FISH_SOUP_2 = "rtdd:vegetablefishsoup_2" +VEGETABLE_FISH_SOUP_3 = "rtdd:vegetablefishsoup_3" +RAW_RICE_POT = "rtdd:rawricepot" # 生米锅 +RICE_POT_1 = "rtdd:ricepot_1" # 熟米饭_形态1 +RICE_POT_2 = "rtdd:ricepot_2" # 熟米饭_形态2 +RICE_POT_3 = "rtdd:ricepot_3" # 熟米饭_形态3 +RAW_EGG_SOUP = "rtdd:raweggsoup" # 煮鸡蛋(生) +COOKED_EGG_SOUP = "rtdd:cookedeggsoup" # 煮鸡蛋(熟) +BEANCURD_SOUP_0 = "rtdd:beancurdsoup_0" # 煮豆腐(生) +BEANCURD_SOUP_1 = "rtdd:beancurdsoup_1" # 煮豆腐(熟) + +# ============================================================================ +# 四、碗装成品(出锅掉落物, 归 tangguo_finished, 均为【吃】) +# ============================================================================ +BOWL_CARROT_BEEF = "rtdd:bowlacarrotbeefsoup" # 胡萝卜牛肉汤 +BOWL_LAMB_TURNIP = "rtdd:brownlambsoupwithturnipssoup" # 胡萝卜羊肉汤 +BOWL_CARROT_RIBS = "rtdd:bowlacarrotribs" # 胡萝卜排骨汤 +BOWL_VEGETABLE_BEEF = "rtdd:bowlavegetablebeefsoup" # 清汤羊肉 +BOWL_VEGETABLE_LAMB = "rtdd:bowlavegetablelambsoup" # 蔬菜牛肉汤 +BOWL_VEGETABLE_LEAN = "rtdd:bowlavegetableleanbroth" # 蔬菜瘦肉汤 +BOWL_VEGETABLE_SSTEW = "rtdd:bowlavegetablesstew" # 蔬菜乱炖 +BOWL_BEEF_BONE = "rtdd:bowlabeefbonebroth" # 胡萝卜土豆牛骨汤 +BOWL_LAMB_STEW = "rtdd:bowlalambstew" # 土豆胡萝卜炖羊肉 +BOWL_LAMB_CHOP = "rtdd:bowla_lambchopsoup" # 胡萝卜土豆羊排汤 +BOWL_CARROT_COD = "rtdd:bowlacarrotcodsoup" # 胡萝卜鳕鱼汤 +BOWL_CARROT_FISH = "rtdd:browncarrotfishsoupsoup" # 胡萝卜鲑鱼汤 +BOWL_EGG_COD = "rtdd:bowlaeggcodsoup" # 蛋花鳕鱼汤 +BOWL_NORI_EGG = "rtdd:brown_norieggsoup" # 瘦肉蛋花汤 +BOWL_TOFU_FISH = "rtdd:bowlatufufish" # 豆腐鲑鱼汤 +BOWL_MUSHROOM_CHICKEN = "rtdd:bowlofmushroomsoup" # 蘑菇炖鸡 +BOWL_PIG_FOOT = "rtdd:brownpigfootsoup" # 猪蹄汤 +BOWL_ROUJIAMO = "rtdd:bowla_roujiamo" # 羊肉泡馍汤 +BOWL_NOODLE = "rtdd:noodle_soup" # 熟面条 +BOWL_DUMPLINGS = "rtdd:dumplingssoup" # 饺子_碗装 +BOWL_VEGETABLE_FISH = "rtdd:brownvegetablefishsoup" # 蔬菜鱼片汤 +BOWL_RICE_1 = "rtdd:bowlofrice" # 米饭_1(熟米饭_形态1) +BOWL_RICE_2 = "rtdd:bowlofrice_2" # 米饭_2(形态2) +BOWL_RICE_3 = "rtdd:bowlofrice_3" # 米饭_3(形态3) + +# ============================================================================ +# 五、汤面方块(food_02_rice_noodle 分组) +# ============================================================================ +NOODLESOUP_1 = "rtdd:noodlesoup_1" # 猪排蔬菜面 +NOODLESOUP_2 = "rtdd:noodlesoup_2" # 羊排蔬菜面 +NOODLESOUP_3 = "rtdd:noodlesoup_3" # 牛骨面 +NOODLESOUP_4 = "rtdd:noodlesoup_4" # 小鸡炖蘑菇面 +ASSORTED_RAMEN = "rtdd:assortedramen" # 胡萝卜蔬菜面 +BRAISED_NOODLES = "rtdd:braisednoodles" # 胡萝卜蔬菜牛肉面 +MUSHROOM_NOODLES = "rtdd:mushroomnoodles" # 香菇面 +YUSHENG_RAMEN = "rtdd:yushengramen" # 蔬菜鱼片面 +VEGETABLE_NOODLES = "rtdd:vegetable_noodles" # 蔬菜面 +NOODLES_1 = "rtdd:noodles_1" # 蛋花面 +NOODLES_2 = "rtdd:noodles_2" # 蛋花面(加葱花) +EGG_NOODLES = "rtdd:egg_noodles" # 鸡蛋面 +TONKOTSU_RAMEN = "rtdd:tonkotsu_ramen" # 猪排蔬菜面加水煮蛋(由 猪排蔬菜面+水煮蛋) + +# ============================================================================ +# 六、右键规则 (方块, 手持物品) -> 规则 +# item=None 表示空手右键 +# target=替换方块; consume=消耗手持; give=给背包; +# drop=额外掉落(掉落物形式); dropItem=出锅/取出掉落物; count=掉落数量; +# action=take_out(出锅/取出: 变回汤锅(空)+掉落); startTimer=转换后启动计时 +# ============================================================================ +SWITCH_RULES = [ + # ---------------- 一、汤锅基础 ---------------- + {"block": POT_EMPTY, "item": WATER_BUCKET, "target": POT_WATER, + "consume": 1, "give": EMPTY_BUCKET, + "tip": "§a倒入水, 汤锅变(加水); 水桶变回空桶"}, + {"block": POT_WATER, "item": EMPTY_BUCKET, "target": POT_EMPTY, + "consume": 1, "drop": WATER_BUCKET, + "tip": "§a倒掉水, 汤锅变回(空), 掉落一个水桶"}, + {"block": POT_WATER, "item": None, "target": POT_LID, + "tip": "§a盖上锅盖, 汤锅变(盖锅); 空手右键可再掀开"}, + {"block": POT_LID, "item": None, "target": POT_WATER, + "tip": "§a掀开锅盖, 汤锅变回(加水)"}, + + # ---------------- 二、汤底(汤锅(加水)+食材 -> 汤底) ---------------- + {"block": POT_WATER, "item": CRUSHED_CARROTS, "target": CARROT_SOUP, + "consume": 4, "tip": "§a放入胡萝卜碎x4, 变成 胡萝卜汤; 可继续加肉/鱼 或 组合汤"}, + {"block": POT_WATER, "item": VEGETABLE, "target": VEGETABLE_SOUP, + "consume": 4, "tip": "§a放入青菜碎x4, 变成 蔬菜汤; 可继续加肉/鱼 或 组合汤"}, + {"block": POT_WATER, "item": EGG, "target": EGG_SOUP, + "consume": 3, "tip": "§a放入鸡蛋x3, 变成 蛋花汤; 可继续加肉/鱼 或 组合汤"}, + {"block": POT_WATER, "item": POTATO_WEDGES, "target": POTATO_SOUP, + "consume": 4, "tip": "§a放入土豆块x4, 变成 土豆汤; 可继续加肉/鱼 或 组合汤"}, + {"block": POT_WATER, "item": RED_MUSHROOM, "target": RED_MUSHROOM_SOUP, + "consume": 5, "tip": "§a放入红蘑菇x5, 变成 红蘑菇汤; 可继续加食材"}, + {"block": POT_WATER, "item": BROWN_MUSHROOM, "target": BROWN_MUSHROOM_SOUP, + "consume": 5, "tip": "§a放入棕蘑菇x5, 变成 棕蘑菇汤; 可继续加食材"}, + {"block": POT_WATER, "item": COD, "target": COD_SOUP, + "consume": 1, "tip": "§a放入鳕鱼, 变成 鳕鱼汤; 可继续加食材"}, + {"block": POT_WATER, "item": SALMON, "target": SALMON_SOUP, + "consume": 1, "tip": "§a放入鲑鱼, 变成 鲑鱼汤; 可继续加食材"}, + {"block": POT_WATER, "item": BEANCURD, "target": TOFU_SOUP, + "consume": 4, "tip": "§a放入豆腐x4, 变成 豆腐汤; 可继续加食材"}, + + # ---------------- 三、组合汤(汤底+汤底/食材 -> 组合汤底) ---------------- + {"block": POTATO_SOUP, "item": CRUSHED_CARROTS, "target": CARROT_POTATO_SOUP, + "consume": 4, "tip": "§a土豆汤加胡萝卜碎x4, 变成 胡萝卜土豆汤; 可继续加肉/鱼"}, + {"block": CARROT_SOUP, "item": POTATO_WEDGES, "target": CARROT_POTATO_SOUP, + "consume": 4, "tip": "§a胡萝卜汤加土豆块x4, 变成 胡萝卜土豆汤; 可继续加肉/鱼"}, + {"block": RED_MUSHROOM_SOUP, "item": BROWN_MUSHROOM, "target": MUSHROOM_SOUP, + "consume": 5, "tip": "§a红蘑菇汤加棕蘑菇x5, 变成 蘑菇汤; 可继续加食材"}, + {"block": BROWN_MUSHROOM_SOUP, "item": RED_MUSHROOM, "target": MUSHROOM_SOUP, + "consume": 5, "tip": "§a棕蘑菇汤加红蘑菇x5, 变成 蘑菇汤; 可继续加食材"}, + {"block": POTATO_SOUP, "item": EGG, "target": POTATO_EGG_SOUP, + "consume": 3, "tip": "§a土豆汤加鸡蛋x3, 变成 土豆蛋花汤; 可继续加食材"}, + {"block": EGG_SOUP, "item": POTATO_WEDGES, "target": POTATO_EGG_SOUP, + "consume": 4, "tip": "§a蛋花汤加土豆块x4, 变成 土豆蛋花汤; 可继续加食材"}, + + # ---------------- 四、加肉/鱼/豆腐 -> 汤羹(生), 开始计时 ---------------- + {"block": CARROT_SOUP, "item": BEEF, "target": CARROT_BEEF_SOUP, + "consume": 2, "startTimer": CARROT_BEEF_SOUP, + "tip": "§a胡萝卜汤加生牛肉x2, 开始计时熬制(30秒/级); 等计时结束变成 胡萝卜牛肉汤(熟), 手持木碗出锅"}, + {"block": CARROT_SOUP, "item": MUTTON, "target": LAMB_SOUP_WITH_TURNIPS, + "consume": 2, "startTimer": LAMB_SOUP_WITH_TURNIPS, + "tip": "§a胡萝卜汤加羊肉x2, 开始计时熬制(60秒/级); 等计时结束变成 胡萝卜羊肉汤(熟), 手持木碗出锅"}, + {"block": CARROT_SOUP, "item": PORKRIB, "target": CARROT_RIBS, + "consume": 2, "startTimer": CARROT_RIBS, + "tip": "§a胡萝卜汤加猪肋排x2, 开始计时熬制(60秒/级); 等计时结束变成 胡萝卜排骨汤(熟), 手持木碗出锅"}, + {"block": VEGETABLE_SOUP, "item": MUTTON, "target": VEGETABLE_BEEF_SOUP, + "consume": 2, "startTimer": VEGETABLE_BEEF_SOUP, + "tip": "§a蔬菜汤加羊肉x2, 开始计时熬制(60秒/级); 等计时结束变成 清汤羊肉(熟), 手持木碗出锅"}, + {"block": VEGETABLE_SOUP, "item": BEEF, "target": VEGETABLE_LAMB_SOUP, + "consume": 2, "startTimer": VEGETABLE_LAMB_SOUP, + "tip": "§a蔬菜汤加生牛肉x2, 开始计时熬制(60秒/级); 等计时结束变成 蔬菜牛肉汤(熟), 手持木碗出锅"}, + {"block": VEGETABLE_SOUP, "item": CRUSHED_MEAT, "target": VEGETABLE_LEAN_BROTH, + "consume": 5, "startTimer": VEGETABLE_LEAN_BROTH, + "tip": "§a蔬菜汤加碎肉x5, 开始计时熬制(60秒/级); 等计时结束变成 蔬菜瘦肉汤(熟), 手持木碗出锅"}, + {"block": VEGETABLE_SOUP, "item": CARROT_POTATO_SOUP, "target": VEGETABLE_SSTEW, + "consume": 1, "drop": POT_EMPTY, "startTimer": VEGETABLE_SSTEW, + "tip": "§a蔬菜汤加胡萝卜土豆汤, 变成 蔬菜乱炖(生), 掉落一个汤锅(空); 等计时结束变熟, 手持木碗出锅"}, + {"block": CARROT_POTATO_SOUP, "item": VEGETABLE, "target": VEGETABLE_SSTEW, + "consume": 3, "startTimer": VEGETABLE_SSTEW, + "tip": "§a胡萝卜土豆汤加青菜碎x3, 变成 蔬菜乱炖(生); 等计时结束变熟, 手持木碗出锅"}, + {"block": CARROT_POTATO_SOUP, "item": COW_RIBS, "target": BEEF_BONE_BROTH, + "consume": 2, "startTimer": BEEF_BONE_BROTH, + "tip": "§a胡萝卜土豆汤加牛肋x2, 开始计时熬制(60秒/级); 等计时结束变成 胡萝卜土豆牛骨汤(熟), 手持木碗出锅"}, + {"block": CARROT_POTATO_SOUP, "item": MUTTON, "target": LAMB_STEW, + "consume": 2, "startTimer": LAMB_STEW, + "tip": "§a胡萝卜土豆汤加羊肉x2, 开始计时熬制(60秒/级); 等计时结束变成 土豆胡萝卜炖羊肉(熟), 手持木碗出锅"}, + {"block": CARROT_POTATO_SOUP, "item": SHEEP_RACKS, "target": VEGETABLE_POTATOES_LAMBSTEAK, + "consume": 2, "startTimer": VEGETABLE_POTATOES_LAMBSTEAK, + "tip": "§a胡萝卜土豆汤加羊小排x2, 开始计时熬制(60秒/级); 等计时结束变成 胡萝卜土豆羊排汤(熟), 手持木碗出锅"}, + {"block": CARROT_SOUP, "item": COD, "target": CARROT_COD_SOUP, + "consume": 1, "startTimer": CARROT_COD_SOUP, + "tip": "§a胡萝卜汤加鳕鱼, 开始计时熬制(60秒/级); 等计时结束变成 胡萝卜鳕鱼汤(熟), 手持木碗出锅"}, + {"block": CARROT_SOUP, "item": SALMON, "target": CARROT_FISH_SOUP, + "consume": 1, "startTimer": CARROT_FISH_SOUP, + "tip": "§a胡萝卜汤加鲑鱼, 开始计时熬制(60秒/级); 等计时结束变成 胡萝卜鲑鱼汤(熟), 手持木碗出锅"}, + {"block": COD_SOUP, "item": EGG, "target": EGG_COD_SOUP, + "consume": 3, "startTimer": EGG_COD_SOUP, + "tip": "§a鳕鱼汤加鸡蛋x3, 开始计时熬制(60秒/级); 等计时结束变成 蛋花鳕鱼汤(熟), 手持木碗出锅"}, + {"block": EGG_SOUP, "item": COD, "target": EGG_COD_SOUP, + "consume": 1, "startTimer": EGG_COD_SOUP, + "tip": "§a蛋花汤加鳕鱼, 开始计时熬制(60秒/级); 等计时结束变成 蛋花鳕鱼汤(熟), 手持木碗出锅"}, + {"block": EGG_SOUP, "item": CRUSHED_MEAT, "target": NORI_EGG_SOUP, + "consume": 5, "startTimer": NORI_EGG_SOUP, + "tip": "§a蛋花汤加碎肉x5, 开始计时熬制(30秒/级); 等计时结束变成 瘦肉蛋花汤(熟), 手持木碗出锅"}, + {"block": VEGETABLE_LEAN_BROTH, "item": EGG, "target": NORI_EGG_SOUP, + "consume": 3, "startTimer": NORI_EGG_SOUP, + "tip": "§a蔬菜瘦肉汤加鸡蛋x3, 开始计时熬制(30秒/级); 等计时结束变成 瘦肉蛋花汤(熟), 手持木碗出锅"}, + {"block": TOFU_SOUP, "item": SALMON, "target": TOFU_FISH_SOUP_RAW, + "consume": 1, "startTimer": TOFU_FISH_SOUP_RAW, + "tip": "§a豆腐汤加鲑鱼, 开始计时熬制(60秒/级); 等计时结束变成 豆腐鲑鱼汤(熟), 手持木碗出锅"}, + {"block": SALMON_SOUP, "item": BEANCURD, "target": TOFU_FISH_SOUP_RAW, + "consume": 4, "startTimer": TOFU_FISH_SOUP_RAW, + "tip": "§a鲑鱼汤加豆腐x4, 开始计时熬制(60秒/级); 等计时结束变成 豆腐鲑鱼汤(熟), 手持木碗出锅"}, + {"block": MUSHROOM_SOUP, "item": CHICKEN, "target": CHICKEN_STEW_MUSHROOMS, + "consume": 1, "startTimer": CHICKEN_STEW_MUSHROOMS, + "tip": "§a蘑菇汤加生鸡肉, 开始计时熬制(90秒/级); 等计时结束变成 蘑菇炖鸡(熟), 手持木碗出锅"}, + {"block": VEGETABLE_SOUP, "item": SASHIMI, "target": VEGETABLE_FISH_SOUP_0, + "consume": 10, "startTimer": VEGETABLE_FISH_SOUP_0, + "tip": "§a蔬菜汤加生鱼片x10, 开始计时熬制(60秒/级); 等计时结束变成 蔬菜鱼片汤(熟), 手持木碗出锅"}, + + # ---------------- 五、单独菜谱 ---------------- + # 菜谱29 猪蹄汤 + {"block": POT_WATER, "item": HAM, "target": RAW_PIG_FOOD_SOUP_0, + "consume": 2, "tip": "§a放入猪蹄x2, 变成 猪蹄汤(生); 继续拿土豆块x3右键 加土豆"}, + {"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, 开始计时熬制(30秒/级); 等计时结束变成 猪蹄汤(全熟), 手持木碗出锅"}, + # 菜谱30 羊肉泡馍汤 + {"block": POT_WATER, "item": MO, "target": ROUJIAMO_SOUP_0, + "consume": 1, "startTimer": ROUJIAMO_SOUP_0, + "tip": "§a放入馍, 开始计时熬制(30秒); 等计时结束变成 羊肉泡馍汤(熟), 手持木碗出锅"}, + # 菜谱31 生面汤 + {"block": POT_WATER, "item": NOODLES, "target": RAW_NOODLE_SOUP, + "consume": 1, "startTimer": RAW_NOODLE_SOUP, + "tip": "§a放入生面, 开始计时熬制(60秒); 等计时结束变成 熟面汤, 手持木碗盛出 熟面条"}, + # 菜谱32 饺子汤 + {"block": POT_WATER, "item": DUMPLINGS, "target": DUMPLINGS_SOUP_0, + "consume": 1, "startTimer": DUMPLINGS_SOUP_0, + "tip": "§a放入生饺子, 开始计时熬制(60秒/级); 等计时结束变成 饺子汤(熟), 手持木碗盛出 饺子_碗装"}, + # 菜谱35 生米锅 + {"block": POT_WATER, "item": BROWN_RICE, "target": RAW_RICE_POT, + "consume": 64, "startTimer": RAW_RICE_POT, + "tip": "§a放入大米x64, 变成 生米锅; 开始计时熬制(90秒)结束变成 熟米饭(形态随机)"}, + # 菜谱39 煮鸡蛋(生) + {"block": POT_WATER, "item": EGG_PILE, "target": RAW_EGG_SOUP, + "consume": 1, "startTimer": RAW_EGG_SOUP, + "tip": "§a放入鸡蛋堆, 开始计时熬制(60秒); 等计时结束变成 煮鸡蛋(熟), 空手右键取出 水煮蛋x9"}, + # 菜谱42 煮豆腐(生) + {"block": POT_WATER, "item": SOYMILK, "target": BEANCURD_SOUP_0, + "consume": 1, "startTimer": BEANCURD_SOUP_0, + "tip": "§a倒入豆浆, 开始计时熬制(60秒); 等计时结束变成 煮豆腐(熟), 拿菜刀右键切成 豆腐x16"}, + + # ---------------- 六、出锅(熟汤羹+木碗 -> 碗装成品, 锅变回汤锅(空)) ---------------- + {"block": CARROT_BEEF_SOUP_3, "item": BOWL, "action": "take_out", + "target": POT_EMPTY, "dropItem": BOWL_CARROT_BEEF, "consume": 1, + "tip": "§a盛出 胡萝卜牛肉汤, 锅变回 汤锅(空); 成品【吃】右键食用"}, + {"block": LAMB_SOUP_WITH_TURNIPS_3, "item": BOWL, "action": "take_out", + "target": POT_EMPTY, "dropItem": BOWL_LAMB_TURNIP, "consume": 1, + "tip": "§a盛出 胡萝卜羊肉汤, 锅变回 汤锅(空); 成品【吃】右键食用"}, + {"block": CARROT_RIBS_3, "item": BOWL, "action": "take_out", + "target": POT_EMPTY, "dropItem": BOWL_CARROT_RIBS, "consume": 1, + "tip": "§a盛出 胡萝卜排骨汤, 锅变回 汤锅(空); 成品【吃】右键食用"}, + {"block": VEGETABLE_BEEF_SOUP_3, "item": BOWL, "action": "take_out", + "target": POT_EMPTY, "dropItem": BOWL_VEGETABLE_BEEF, "consume": 1, + "tip": "§a盛出 清汤羊肉, 锅变回 汤锅(空); 成品【吃】右键食用"}, + {"block": VEGETABLE_LAMB_SOUP_3, "item": BOWL, "action": "take_out", + "target": POT_EMPTY, "dropItem": BOWL_VEGETABLE_LAMB, "consume": 1, + "tip": "§a盛出 蔬菜牛肉汤, 锅变回 汤锅(空); 成品【吃】右键食用"}, + {"block": VEGETABLE_LEAN_BROTH_3, "item": BOWL, "action": "take_out", + "target": POT_EMPTY, "dropItem": BOWL_VEGETABLE_LEAN, "consume": 1, + "tip": "§a盛出 蔬菜瘦肉汤, 锅变回 汤锅(空); 成品【吃】右键食用"}, + {"block": VEGETABLE_SSTEW_3, "item": BOWL, "action": "take_out", + "target": POT_EMPTY, "dropItem": BOWL_VEGETABLE_SSTEW, "consume": 1, + "tip": "§a盛出 蔬菜乱炖, 锅变回 汤锅(空); 成品【吃】右键食用"}, + {"block": BEEF_BONE_BROTH_3, "item": BOWL, "action": "take_out", + "target": POT_EMPTY, "dropItem": BOWL_BEEF_BONE, "consume": 1, + "tip": "§a盛出 胡萝卜土豆牛骨汤, 锅变回 汤锅(空); 成品【吃】右键食用"}, + {"block": LAMB_STEW_3, "item": BOWL, "action": "take_out", + "target": POT_EMPTY, "dropItem": BOWL_LAMB_STEW, "consume": 1, + "tip": "§a盛出 土豆胡萝卜炖羊肉, 锅变回 汤锅(空); 成品【吃】右键食用"}, + {"block": LAMB_CHOP_SOUP_3, "item": BOWL, "action": "take_out", + "target": POT_EMPTY, "dropItem": BOWL_LAMB_CHOP, "consume": 1, + "tip": "§a盛出 胡萝卜土豆羊排汤, 锅变回 汤锅(空); 成品【吃】右键食用"}, + {"block": CARROT_COD_SOUP_3, "item": BOWL, "action": "take_out", + "target": POT_EMPTY, "dropItem": BOWL_CARROT_COD, "consume": 1, + "tip": "§a盛出 胡萝卜鳕鱼汤, 锅变回 汤锅(空); 成品【吃】右键食用"}, + {"block": CARROT_FISH_SOUP_3, "item": BOWL, "action": "take_out", + "target": POT_EMPTY, "dropItem": BOWL_CARROT_FISH, "consume": 1, + "tip": "§a盛出 胡萝卜鲑鱼汤, 锅变回 汤锅(空); 成品【吃】右键食用"}, + {"block": EGG_COD_SOUP_3, "item": BOWL, "action": "take_out", + "target": POT_EMPTY, "dropItem": BOWL_EGG_COD, "consume": 1, + "tip": "§a盛出 蛋花鳕鱼汤, 锅变回 汤锅(空); 成品【吃】右键食用"}, + {"block": NORI_EGG_SOUP_3, "item": BOWL, "action": "take_out", + "target": POT_EMPTY, "dropItem": BOWL_NORI_EGG, "consume": 1, + "tip": "§a盛出 瘦肉蛋花汤, 锅变回 汤锅(空); 成品【吃】右键食用"}, + {"block": TOFU_FISH_SOUP_3, "item": BOWL, "action": "take_out", + "target": POT_EMPTY, "dropItem": BOWL_TOFU_FISH, "consume": 1, + "tip": "§a盛出 豆腐鲑鱼汤, 锅变回 汤锅(空); 成品【吃】右键食用"}, + {"block": CHICKEN_STEW_MUSHROOMS_3, "item": BOWL, "action": "take_out", + "target": POT_EMPTY, "dropItem": BOWL_MUSHROOM_CHICKEN, "consume": 1, + "tip": "§a盛出 蘑菇炖鸡, 锅变回 汤锅(空); 成品【吃】右键食用"}, + {"block": RAW_PIG_FOOD_SOUP_5, "item": BOWL, "action": "take_out", + "target": POT_EMPTY, "dropItem": BOWL_PIG_FOOT, "consume": 1, + "tip": "§a盛出 猪蹄汤, 锅变回 汤锅(空); 成品【吃】右键食用"}, + {"block": ROUJIAMO_SOUP_1, "item": BOWL, "action": "take_out", + "target": POT_EMPTY, "dropItem": BOWL_ROUJIAMO, "consume": 1, + "tip": "§a盛出 羊肉泡馍汤, 锅变回 汤锅(空); 成品【吃】右键食用"}, + {"block": COOKED_NOODLE_SOUP, "item": BOWL, "action": "take_out", + "target": POT_EMPTY, "dropItem": BOWL_NOODLE, "consume": 1, + "tip": "§a盛出 熟面条, 锅变回 汤锅(空); 熟面条可做汤面"}, + {"block": DUMPLINGS_SOUP_2, "item": BOWL, "action": "take_out", + "target": POT_EMPTY, "dropItem": BOWL_DUMPLINGS, "consume": 1, + "tip": "§a盛出 饺子_碗装, 锅变回 汤锅(空); 成品【吃】右键食用"}, + {"block": VEGETABLE_FISH_SOUP_3, "item": BOWL, "action": "take_out", + "target": POT_EMPTY, "dropItem": BOWL_VEGETABLE_FISH, "consume": 1, + "tip": "§a盛出 蔬菜鱼片汤, 锅变回 汤锅(空); 成品【吃】右键食用"}, + # 菜谱38 碗装米饭(木碗盛出) + {"block": RICE_POT_1, "item": BOWL, "action": "take_out", + "target": POT_EMPTY, "dropItem": BOWL_RICE_1, "consume": 1, + "tip": "§a盛出 米饭_1(熟米饭_形态1), 锅变回 汤锅(空); 碗装米饭供炒锅蛋炒饭"}, + {"block": RICE_POT_2, "item": BOWL, "action": "take_out", + "target": POT_EMPTY, "dropItem": BOWL_RICE_2, "consume": 1, + "tip": "§a盛出 米饭_2(熟米饭_形态2), 锅变回 汤锅(空); 碗装米饭供炒锅蛋炒饭"}, + {"block": RICE_POT_3, "item": BOWL, "action": "take_out", + "target": POT_EMPTY, "dropItem": BOWL_RICE_3, "consume": 1, + "tip": "§a盛出 米饭_3(熟米饭_形态3), 锅变回 汤锅(空); 碗装米饭供炒锅蛋炒饭"}, + + # ---------------- 七、取出(空手/菜刀, 锅变回汤锅(空)) ---------------- + # 菜谱37 饭团 + {"block": RICE_POT_1, "item": None, "action": "take_out", + "target": POT_EMPTY, "dropItem": RICE_BALLS, "count": 16, + "tip": "§a捏成 饭团x16, 锅变回 汤锅(空); 饭团供寿司用"}, + {"block": RICE_POT_2, "item": None, "action": "take_out", + "target": POT_EMPTY, "dropItem": RICE_BALLS, "count": 16, + "tip": "§a捏成 饭团x16, 锅变回 汤锅(空); 饭团供寿司用"}, + {"block": RICE_POT_3, "item": None, "action": "take_out", + "target": POT_EMPTY, "dropItem": RICE_BALLS, "count": 16, + "tip": "§a捏成 饭团x16, 锅变回 汤锅(空); 饭团供寿司用"}, + # 菜谱41 水煮蛋 + {"block": COOKED_EGG_SOUP, "item": None, "action": "take_out", + "target": POT_EMPTY, "dropItem": BOILED_EGG, "count": 9, + "tip": "§a取出 水煮蛋x9, 锅变回 汤锅(空); 水煮蛋【吃】右键食用"}, + # 菜谱44 豆腐(菜刀切, 不消耗刀) + {"block": BEANCURD_SOUP_1, "item": CLEAVER, "action": "take_out", + "target": POT_EMPTY, "dropItem": BEANCURD, "count": 16, + "tip": "§a切出 豆腐x16, 锅变回 汤锅(空); 豆腐供炒锅/汤锅使用"}, + + # ---------------- 八、汤面分组(手持汤锅成品菜 右键 熟面条(方块)) ---------------- + {"block": BOWL_NOODLE, "item": BOWL_CARROT_RIBS, "target": NOODLESOUP_1, + "consume": 1, "drop": BOWL, + "tip": "§a排骨汤浇在面条上, 变成 猪排蔬菜面, 掉落一个木碗; 汤面【吃】右键食用"}, + {"block": BOWL_NOODLE, "item": BOWL_LAMB_CHOP, "target": NOODLESOUP_2, + "consume": 1, "drop": BOWL, + "tip": "§a羊排汤浇在面条上, 变成 羊排蔬菜面, 掉落一个木碗; 汤面【吃】右键食用"}, + {"block": BOWL_NOODLE, "item": BOWL_BEEF_BONE, "target": NOODLESOUP_3, + "consume": 1, "drop": BOWL, + "tip": "§a牛骨汤浇在面条上, 变成 牛骨面, 掉落一个木碗; 汤面【吃】右键食用"}, + {"block": BOWL_NOODLE, "item": BOWL_MUSHROOM_CHICKEN, "target": NOODLESOUP_4, + "consume": 1, "drop": BOWL, + "tip": "§a蘑菇炖鸡浇在面条上, 变成 小鸡炖蘑菇面, 掉落一个木碗; 汤面【吃】右键食用"}, + {"block": BOWL_NOODLE, "item": BOWL_VEGETABLE_SSTEW, "target": ASSORTED_RAMEN, + "consume": 1, "drop": BOWL, + "tip": "§a蔬菜乱炖浇在面条上, 变成 胡萝卜蔬菜面, 掉落一个木碗; 汤面【吃】右键食用"}, + {"block": BOWL_NOODLE, "item": BOWL_VEGETABLE_LAMB, "target": BRAISED_NOODLES, + "consume": 1, "drop": BOWL, + "tip": "§a蔬菜牛肉汤浇在面条上, 变成 胡萝卜蔬菜牛肉面, 掉落一个木碗; 汤面【吃】右键食用"}, + {"block": BOWL_NOODLE, "item": MUSHROOM_SOUP, "target": MUSHROOM_NOODLES, + "consume": 1, "drop": BOWL, + "tip": "§a蘑菇汤浇在面条上, 变成 香菇面, 掉落一个木碗; 汤面【吃】右键食用"}, + {"block": BOWL_NOODLE, "item": BOWL_VEGETABLE_FISH, "target": YUSHENG_RAMEN, + "consume": 1, "drop": BOWL, + "tip": "§a蔬菜鱼片汤浇在面条上, 变成 蔬菜鱼片面, 掉落一个木碗; 汤面【吃】右键食用"}, + {"block": BOWL_NOODLE, "item": VEGETABLE_SOUP, "target": VEGETABLE_NOODLES, + "consume": 1, "drop": BOWL, + "tip": "§a蔬菜汤浇在面条上, 变成 蔬菜面, 掉落一个木碗; 汤面【吃】右键食用"}, + {"block": BOWL_NOODLE, "item": EGG_SOUP, "target": NOODLES_1, + "consume": 1, "drop": BOWL, + "tip": "§a蛋花汤浇在面条上, 变成 蛋花面, 掉落一个木碗; 可加葱花碎 或 直接【吃】"}, + {"block": BOWL_NOODLE, "item": BOILED_EGG, "target": EGG_NOODLES, + "consume": 1, "drop": BOWL, + "tip": "§a放上水煮蛋, 变成 鸡蛋面, 掉落一个木碗; 汤面【吃】右键食用"}, + # 蛋花面(加葱花) + {"block": NOODLES_1, "item": SCALLIONS, "target": NOODLES_2, + "consume": 1, "tip": "§a蛋花面撒上葱花碎, 变成 蛋花面(加葱花); 汤面【吃】右键食用"}, + # 猪排蔬菜面加水煮蛋(猪排蔬菜面 + 水煮蛋) + {"block": NOODLESOUP_1, "item": BOILED_EGG, "target": TONKOTSU_RAMEN, + "consume": 1, "tip": "§a猪排蔬菜面放上水煮蛋, 变成 猪排蔬菜面加水煮蛋; 汤面【吃】右键食用"}, +] + +# ============================================================================ +# 七、计时规则(供 TangguoTimerService) +# below: 汤羹方块正下方须是 点燃的炉灶(stove_2) 才计时 +# randomTargets: 生米锅到点后随机出其一形态 +# ============================================================================ +TIMER_RULES = [ + # 胡萝卜牛肉汤(30秒/级) + {"source": CARROT_BEEF_SOUP, "target": CARROT_BEEF_SOUP_1, "time": 30, + "below": [LIT_STOVE], "autoStart": True}, + {"source": CARROT_BEEF_SOUP_1, "target": CARROT_BEEF_SOUP_2, "time": 30, + "below": [LIT_STOVE], "autoStart": True}, + {"source": CARROT_BEEF_SOUP_2, "target": CARROT_BEEF_SOUP_3, "time": 30, + "below": [LIT_STOVE], "autoStart": True}, + # 胡萝卜羊肉汤(60秒/级) + {"source": LAMB_SOUP_WITH_TURNIPS, "target": LAMB_SOUP_WITH_TURNIPS_1, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + {"source": LAMB_SOUP_WITH_TURNIPS_1, "target": LAMB_SOUP_WITH_TURNIPS_2, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + {"source": LAMB_SOUP_WITH_TURNIPS_2, "target": LAMB_SOUP_WITH_TURNIPS_3, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + # 胡萝卜排骨汤(60秒/级) + {"source": CARROT_RIBS, "target": CARROT_RIBS_1, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + {"source": CARROT_RIBS_1, "target": CARROT_RIBS_2, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + {"source": CARROT_RIBS_2, "target": CARROT_RIBS_3, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + # 清汤羊肉(60秒/级) + {"source": VEGETABLE_BEEF_SOUP, "target": VEGETABLE_BEEF_SOUP_1, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + {"source": VEGETABLE_BEEF_SOUP_1, "target": VEGETABLE_BEEF_SOUP_2, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + {"source": VEGETABLE_BEEF_SOUP_2, "target": VEGETABLE_BEEF_SOUP_3, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + # 蔬菜牛肉汤(60秒/级) + {"source": VEGETABLE_LAMB_SOUP, "target": VEGETABLE_LAMB_SOUP_1, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + {"source": VEGETABLE_LAMB_SOUP_1, "target": VEGETABLE_LAMB_SOUP_2, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + {"source": VEGETABLE_LAMB_SOUP_2, "target": VEGETABLE_LAMB_SOUP_3, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + # 蔬菜瘦肉汤(60秒/级) + {"source": VEGETABLE_LEAN_BROTH, "target": VEGETABLE_LEAN_BROTH_1, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + {"source": VEGETABLE_LEAN_BROTH_1, "target": VEGETABLE_LEAN_BROTH_2, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + {"source": VEGETABLE_LEAN_BROTH_2, "target": VEGETABLE_LEAN_BROTH_3, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + # 蔬菜乱炖(60秒/级) + {"source": VEGETABLE_SSTEW, "target": VEGETABLE_SSTEW_1, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + {"source": VEGETABLE_SSTEW_1, "target": VEGETABLE_SSTEW_2, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + {"source": VEGETABLE_SSTEW_2, "target": VEGETABLE_SSTEW_3, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + # 胡萝卜土豆牛骨汤(60秒/级) + {"source": BEEF_BONE_BROTH, "target": BEEF_BONE_BROTH_1, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + {"source": BEEF_BONE_BROTH_1, "target": BEEF_BONE_BROTH_2, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + {"source": BEEF_BONE_BROTH_2, "target": BEEF_BONE_BROTH_3, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + # 土豆胡萝卜炖羊肉(60秒/级) + {"source": LAMB_STEW, "target": LAMB_STEW_1, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + {"source": LAMB_STEW_1, "target": LAMB_STEW_2, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + {"source": LAMB_STEW_2, "target": LAMB_STEW_3, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + # 胡萝卜土豆羊排汤(60秒/级) + {"source": VEGETABLE_POTATOES_LAMBSTEAK, "target": LAMB_CHOP_SOUP_1, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + {"source": LAMB_CHOP_SOUP_1, "target": LAMB_CHOP_SOUP_2, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + {"source": LAMB_CHOP_SOUP_2, "target": LAMB_CHOP_SOUP_3, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + # 胡萝卜鳕鱼汤(60秒/级) + {"source": CARROT_COD_SOUP, "target": CARROT_COD_SOUP_1, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + {"source": CARROT_COD_SOUP_1, "target": CARROT_COD_SOUP_2, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + {"source": CARROT_COD_SOUP_2, "target": CARROT_COD_SOUP_3, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + # 胡萝卜鲑鱼汤(60秒/级) + {"source": CARROT_FISH_SOUP, "target": CARROT_FISH_SOUP_1, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + {"source": CARROT_FISH_SOUP_1, "target": CARROT_FISH_SOUP_2, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + {"source": CARROT_FISH_SOUP_2, "target": CARROT_FISH_SOUP_3, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + # 蛋花鳕鱼汤(60秒/级) + {"source": EGG_COD_SOUP, "target": EGG_COD_SOUP_1, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + {"source": EGG_COD_SOUP_1, "target": EGG_COD_SOUP_2, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + {"source": EGG_COD_SOUP_2, "target": EGG_COD_SOUP_3, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + # 瘦肉蛋花汤(30秒/级, 四段) + {"source": NORI_EGG_SOUP, "target": NORI_EGG_SOUP_0, "time": 30, + "below": [LIT_STOVE], "autoStart": True}, + {"source": NORI_EGG_SOUP_0, "target": NORI_EGG_SOUP_1, "time": 30, + "below": [LIT_STOVE], "autoStart": True}, + {"source": NORI_EGG_SOUP_1, "target": NORI_EGG_SOUP_2, "time": 30, + "below": [LIT_STOVE], "autoStart": True}, + {"source": NORI_EGG_SOUP_2, "target": NORI_EGG_SOUP_3, "time": 30, + "below": [LIT_STOVE], "autoStart": True}, + # 豆腐鲑鱼汤(60秒/级, 生=tufusoupb) + {"source": TOFU_FISH_SOUP_RAW, "target": TOFU_FISH_SOUP_1, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + {"source": TOFU_FISH_SOUP_1, "target": TOFU_FISH_SOUP_2, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + {"source": TOFU_FISH_SOUP_2, "target": TOFU_FISH_SOUP_3, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + # 蘑菇炖鸡(90秒/级) + {"source": CHICKEN_STEW_MUSHROOMS, "target": CHICKEN_STEW_MUSHROOMS_1, "time": 90, + "below": [LIT_STOVE], "autoStart": True}, + {"source": CHICKEN_STEW_MUSHROOMS_1, "target": CHICKEN_STEW_MUSHROOMS_2, "time": 90, + "below": [LIT_STOVE], "autoStart": True}, + {"source": CHICKEN_STEW_MUSHROOMS_2, "target": CHICKEN_STEW_MUSHROOMS_3, "time": 90, + "below": [LIT_STOVE], "autoStart": True}, + # 猪蹄汤(30秒/级, 加土豆->三分熟->七分熟->全熟) + {"source": RAW_PIG_FOOD_SOUP_2, "target": RAW_PIG_FOOD_SOUP_3, "time": 30, + "below": [LIT_STOVE], "autoStart": True}, + {"source": RAW_PIG_FOOD_SOUP_3, "target": RAW_PIG_FOOD_SOUP_4, "time": 30, + "below": [LIT_STOVE], "autoStart": True}, + {"source": RAW_PIG_FOOD_SOUP_4, "target": RAW_PIG_FOOD_SOUP_5, "time": 30, + "below": [LIT_STOVE], "autoStart": True}, + # 羊肉泡馍汤(单级30秒) + {"source": ROUJIAMO_SOUP_0, "target": ROUJIAMO_SOUP_1, "time": 30, + "below": [LIT_STOVE], "autoStart": True}, + # 生面汤(单级60秒) + {"source": RAW_NOODLE_SOUP, "target": COOKED_NOODLE_SOUP, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + # 饺子汤(60秒/级) + {"source": DUMPLINGS_SOUP_0, "target": DUMPLINGS_SOUP_1, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + {"source": DUMPLINGS_SOUP_1, "target": DUMPLINGS_SOUP_2, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + # 生米锅(一级90秒, 形态随机) + {"source": RAW_RICE_POT, "time": 90, "below": [LIT_STOVE], "autoStart": True, + "randomTargets": [RICE_POT_1, RICE_POT_2, RICE_POT_3]}, + # 煮鸡蛋(单级60秒) + {"source": RAW_EGG_SOUP, "target": COOKED_EGG_SOUP, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, + # 煮豆腐(单级60秒) + {"source": BEANCURD_SOUP_0, "target": BEANCURD_SOUP_1, "time": 60, + "below": [LIT_STOVE], "autoStart": True}, +] diff --git a/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/tangguo/__init__.py b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/tangguo/__init__.py new file mode 100644 index 0000000..40a96af --- /dev/null +++ b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/tangguo/__init__.py @@ -0,0 +1 @@ +# -*- coding: utf-8 -*- diff --git a/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/tangguo/service/TangguoService.py b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/tangguo/service/TangguoService.py new file mode 100644 index 0000000..1cb0ae9 --- /dev/null +++ b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/tangguo/service/TangguoService.py @@ -0,0 +1,228 @@ +# -*- coding: utf-8 -*- +""" +================================================================================ +汤锅·右键转换引擎(服务端) +================================================================================ +处理"汤锅"(xy_tangguo) 分类下的右键转换: + 汤锅(空)<->(加水)、盖/掀锅盖、下汤底、组合汤、 + 加肉/鱼/豆腐(开始计时)、出锅(熟汤羹+木碗->碗装成品)、 + 取出(饭团/水煮蛋/豆腐)、汤面(成品菜浇熟面条) + +【事件监听在哪?】 + 本类【不】监听任何事件! + 所有事件由 FeatureDispatcher 统一监听, 按 blockOwner 路由到本类 handleBlockUse。 + +【本类怎么做】 + handleBlockUse <- 入口: 分发器转发右键方块事件 + └─ handleSwitch <- 通用转换(含 空手右键/出锅/取出) + +【计时在?】 + 加肉/鱼后熬制计时在 TangguoTimerService, 本类只负责"开始计时"(startTimer 字段调 + FeatureDispatcher.startTimerFor 转发); 下方无点燃炉灶时提示玩家。 +================================================================================ +""" +import time +import mod.server.extraServerApi as serverApi + +# ---- 网易API基础对象 ---- +ServerSystem = serverApi.GetServerSystemCls() # 服务端系统基类 +comp = serverApi.GetEngineCompFactory() # 组件工厂 + +# ---- 继承 BlueFox 框架的系统基类(提供 CreateEngineItemEntity 等方法) ---- +from ....BlueFoxTools.SpecialFunciton.BlueFoxSystem import BlueFoxServerSystem +from ....BlueFoxTools.ToolsConfig import LevelId + +# ---- 只导入汤锅自己的数据库 ---- +from ..TangguoData import SWITCH_RULES + +# ---- 统一分发器 ---- +from ...service.FeatureDispatcher import FeatureDispatcher + + +class TangguoService(BlueFoxServerSystem): + """ + 汤锅·右键转换引擎 + """ + + def __init__(self, namespace, systemName): + super(TangguoService, self).__init__(namespace, systemName) + print "===== TangguoService init =====" + + # ---- (方块, 手持物品) -> 规则: O(1) 查找 (item=None 表示空手右键) ---- + self.recipes = {} + self.featureBlocks = set() + for r in SWITCH_RULES: + self.recipes[(r["block"], r.get("item"))] = r + self.featureBlocks.add(r["block"]) + + # ---- 右键冷却表 ---- + self.cooldown = {} + + # ---- 注册到统一分发器 ---- + FeatureDispatcher.register(self) + + # ============================================================================ + # 一、给 FeatureDispatcher 的接口 + # ============================================================================ + + def getFeatureBlocks(self): + """返回本功能管辖的所有右键方块名集合""" + return self.featureBlocks + + def getItemUseOnRules(self): + """手持物品右键方块表面不需要单独路由(所有转换都是右键方块本身), 返回空""" + return {} + + def handleBlockUse(self, args): + """由 FeatureDispatcher 转发的右键方块入口""" + blockName = args.get("blockName") + playerId = args.get("playerId") + x, y, z = args.get("x"), args.get("y"), args.get("z") + pos = (x, y, z) + dim = comp.CreateDimension(playerId).GetEntityDimensionId() + key = (dim, x, y, z) + + itemDict = self.getCarriedItem(playerId) + itemName = itemDict.get("newItemName") if itemDict else None + if itemName == "minecraft:air": + itemName = None + recipe = self.recipes.get((blockName, itemName)) + if not recipe: + return False + if not self.checkCooldown(key, 0.4): + return True + self.handleSwitch(recipe, playerId, pos, dim, itemDict) + return True + + # ============================================================================ + # 二、通用转换执行 + # ============================================================================ + + def handleSwitch(self, recipe, playerId, pos, dim, itemDict): + # 消耗物品(数量不足则拦截, 不转换) + consume = recipe.get("consume", 0) + if consume > 1 and itemDict is not None and (itemDict.get("count") or 0) < consume: + comp.CreateMsg(playerId).NotifyOneMessage( + playerId, "§c数量不足, 需要 %d 个" % consume) + return + if consume > 0: + self.consumeItem(playerId, itemDict, consume) + + # 出锅/取出: 熟汤羹+木碗 -> 碗装成品; 熟米饭->饭团/碗装米饭; + # 煮鸡蛋->水煮蛋; 煮豆腐->豆腐. 锅都变回 汤锅(空) + action = recipe.get("action") + if action == "take_out": + self.replaceBlock(pos, dim, recipe.get("target") or self._defaultPot(), playerId) + self.dropItem(dim, pos, recipe["dropItem"], recipe.get("count", 1)) + # 普通替换方块(加水/盖锅/下汤底/组合/加料/汤面) + if recipe.get("target") and action != "take_out": + self.replaceBlock(pos, dim, recipe["target"], playerId) + + # 额外掉落(倒水掉水桶 / 蔬菜乱炖掉汤锅(空) / 汤面掉木碗) + if recipe.get("drop"): + self.dropItem(dim, pos, recipe["drop"]) + + # 加料后启动计时(记录发起玩家); 下方无点燃炉灶时提示 + if recipe.get("startTimer"): + started = FeatureDispatcher.startTimerFor( + recipe["startTimer"], dim, pos, playerId) + if not started: + comp.CreateMsg(playerId).NotifyOneMessage( + playerId, "§e熬制需要下方是 点燃的炉灶; 放上炉灶后会自动开始计时") + + # 给背包物品(加水给空桶) + 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" + + # ============================================================================ + # 三、工具方法:获取玩家主手物品 + # ============================================================================ + + def getCarriedItem(self, playerId): + itemComp = comp.CreateItem(playerId) + return itemComp.GetPlayerItem( + serverApi.GetMinecraftEnum().ItemPosType.CARRIED, 0, True) + + # ============================================================================ + # 四、工具方法:给玩家物品 + # ============================================================================ + + def giveItem(self, playerId, itemName, count=1, aux=0): + try: + itemDict = {"itemName": itemName, "count": count, "auxValue": aux} + comp.CreateItem(playerId).SpawnItemToPlayerInv(itemDict, playerId) + except Exception: + pass + + # ============================================================================ + # 五、工具方法:消耗物品 + # ============================================================================ + + def consumeItem(self, playerId, itemDict, amount=1): + if itemDict is None: + return + count = itemDict.get("count", 0) + if count <= amount: + comp.CreateItem(playerId).SetEntityItem( + serverApi.GetMinecraftEnum().ItemPosType.CARRIED, + {"itemName": "minecraft:air", "count": 0, "auxValue": 0}) + else: + itemDict["count"] = count - amount + comp.CreateItem(playerId).SetEntityItem( + serverApi.GetMinecraftEnum().ItemPosType.CARRIED, + {"itemName": itemDict["newItemName"], + "count": itemDict["count"], + "auxValue": itemDict.get("newAuxValue", 0), + "userData": itemDict.get("userData", {})}) + + # ============================================================================ + # 六、工具方法:以掉落物形式生成物品 + # ============================================================================ + + def dropItem(self, dim, pos, itemName, count=1, aux=0): + try: + itemDict = {"itemName": itemName, "count": count, "auxValue": aux} + self.CreateEngineItemEntity(itemDict, dim, (pos[0], pos[1] + 0.5, pos[2])) + except Exception: + pass + + # ============================================================================ + # 七、工具方法:替换方块 / 清空方块(清空时 aux 强制 0, 兼容定向变体) + # ============================================================================ + + def replaceBlock(self, pos, dim, newBlockName, playerId=None): + creator = playerId if playerId is not None else LevelId + aux = 0 + try: + oldBlock = comp.CreateBlockInfo(creator).GetBlockNew(pos, dim) + aux = oldBlock.get("aux", 0) + except Exception: + aux = 0 + comp.CreateBlockInfo(creator).SetBlockNew( + pos, blockDict={"name": newBlockName, "aux": aux}, + oldBlockHandling=0, dimensionId=dim) + + def clearBlock(self, pos, dim): + comp.CreateBlockInfo(LevelId).SetBlockNew( + pos, blockDict={"name": "minecraft:air", "aux": 0}, + oldBlockHandling=0, dimensionId=dim) + + # ============================================================================ + # 八、工具方法:冷却检查 + # ============================================================================ + + def checkCooldown(self, key, cd=0.4): + now = time.time() + last = self.cooldown.get(key, 0) + if now - last < cd: + return False + self.cooldown[key] = now + return True diff --git a/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/tangguo/service/TangguoTimerService.py b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/tangguo/service/TangguoTimerService.py new file mode 100644 index 0000000..f4af499 --- /dev/null +++ b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/tangguo/service/TangguoTimerService.py @@ -0,0 +1,234 @@ +# -*- coding: utf-8 -*- +""" +================================================================================ +汤锅·计时熬制引擎(服务端) +================================================================================ +只处理"汤锅"(xy_tangguo) 分类下的【计时自动转换】: + 汤羹(生) -> (四分熟) -> (八分熟) -> (熟) + 瘦肉蛋花汤: 生->三分熟->七分熟->全熟->熟; 猪蹄汤: 加土豆->三分熟->七分熟->全熟 + 生米锅: 一级计时到点后 熟米饭形态1/2/3 随机出一个 + 煮鸡蛋/煮豆腐/生面汤/饺子汤/羊肉泡馍汤: 单级/双级计时 + +【计时判定(用户指定, 与油锅一致)】 + - 汤羹方块【正下方】必须是 点燃的炉灶(stove_2) 才开始计时 + - 计时数据仍在【汤羹方块本身】上(汤羹方块 tick 时判定下方炉灶) + - 炉灶被移走/熄灭 -> 暂停计时(数据保留, 炉灶回来继续) + 提示发起玩家 + +【事件监听在哪?】 + 本类【不】监听任何事件! + ServerBlockEntityTickEvent 由 FeatureDispatcher 统一监听, 再按 timerOwner + 路由到本类的 handleBlockEntityTick。计时用绝对时间戳写方块实体数据, + 退出重进继续计时。 +================================================================================ +""" +import time +import random +import mod.server.extraServerApi as serverApi + +# ---- 网易API基础对象 ---- +ServerSystem = serverApi.GetServerSystemCls() # 服务端系统基类 +comp = serverApi.GetEngineCompFactory() # 组件工厂 + +# ---- 继承 BlueFox 框架的系统基类 ---- +from ....BlueFoxTools.SpecialFunciton.BlueFoxSystem import BlueFoxServerSystem +from ....BlueFoxTools.ToolsConfig import LevelId + +# ---- 方块实体数据组件(计时持久化: 开始时间戳+时长写进方块) ---- +blockEntityDataComp = comp.CreateBlockEntityData(LevelId) + +# ---- 只导入汤锅自己的数据库 ---- +from ..TangguoData import TIMER_RULES + +# ---- 统一分发器 ---- +from ...service.FeatureDispatcher import FeatureDispatcher + + +class TangguoTimerService(BlueFoxServerSystem): + """ + 汤锅·计时熬制引擎 + """ + + def __init__(self, namespace, systemName): + super(TangguoTimerService, self).__init__(namespace, systemName) + print "===== TangguoTimerService init =====" + + # ---- 计时规则: source -> [规则...] ---- + self.timerMap = {} + for t in TIMER_RULES: + self.timerMap.setdefault(t["source"], []).append(t) + + # ---- 注册到分发器的计时路由表 ---- + FeatureDispatcher.registerTimer(self) + + # ============================================================================ + # 一、给 FeatureDispatcher 的接口 + # ============================================================================ + + def getTimerBlocks(self): + """返回本功能的所有"计时源方块"集合(tick 路由用)""" + return set(self.timerMap.keys()) + + def handleBlockEntityTick(self, args): + """由 FeatureDispatcher 转发的计时方块 tick 入口""" + dim = args.get("dimension") + pos = (args.get("posX"), args.get("posY"), args.get("posZ")) + blockName = args.get("blockName", "") + self._tickProcess(dim, pos, blockName) + + # ============================================================================ + # 二、启动计时(右键加料后由 TangguoService 通过 startTimerFor 转发) + # ============================================================================ + + def startTimer(self, dim, pos, blockName, playerId=None): + rules = self.timerMap.get(blockName) + if not rules: + return False + rule = self._pickRule(rules, dim, pos) + if not rule: + return False + try: + data = blockEntityDataComp.GetBlockEntityData(dim, pos) + if data and data["rtdd_tid"] == blockName: + return False + except Exception: + pass + self._writeTimerData(dim, pos, rule, playerId) + return True + + # ============================================================================ + # 三、tick 检查与到点转换 + # ============================================================================ + + def _pickRule(self, rules, dim, pos): + """按"下方方块"匹配规则(点燃炉灶), 返回命中的规则; 无命中返回 None""" + belowPos = (pos[0], pos[1] - 1, pos[2]) + try: + b = comp.CreateBlockInfo(LevelId).GetBlockNew(belowPos, dim) + belowName = b.get("name") if b else "" + except Exception: + belowName = "" + for rule in rules: + if belowName in rule.get("below", [belowName]): + return rule + return None + + def _tickProcess(self, dim, pos, blockName): + try: + rules = self.timerMap.get(blockName) + if not rules: + return + + blockData = blockEntityDataComp.GetBlockEntityData(dim, pos) + if blockData is None: + return + + try: + tid = blockData["rtdd_tid"] + except Exception: + tid = "" + if tid != blockName: + # autoStart: 计时源方块无计时数据且下方点燃炉灶时自动启动 + if any(r.get("autoStart", True) for r in rules): + rule = self._pickRule(rules, dim, pos) + if rule: + self._writeTimerData(dim, pos, rule, None) + return + + # 计时中: 下方点燃炉灶被移走/熄灭 -> 暂停 + 提示 + rule = self._pickRule(rules, dim, pos) + if rule is None: + self._handleBelowBroken(dim, pos, blockName, blockData) + return + + tstart = blockData["rtdd_tstart"] + tdur = blockData["rtdd_tdur"] + + if time.time() - tstart >= tdur: + self._finishTimer(dim, pos, rule) + except Exception: + pass + + def _handleBelowBroken(self, dim, pos, blockName, data): + """下方点燃炉灶被移走/熄灭: 暂停计时(数据保留, 炉灶回来继续) + 提示发起玩家""" + tp = "" + try: + tp = data["rtdd_tp"] or "" + except Exception: + tp = "" + self._notifyIfOnline(tp, "§c汤锅下的炉灶移走了, 暂停熬制") + + def _finishTimer(self, dim, pos, rule): + """到点转换(只保留开始提示; 炉灶移走提示走 _handleBelowBroken)""" + try: + cur = comp.CreateBlockInfo(LevelId).GetBlockNew(pos, dim) + if cur and cur.get("name") != rule["source"]: + self._clearTimerData(dim, pos) + return + # 生米锅: 一级计时到点后 三种形态随机出一个 + if rule.get("randomTargets"): + target = random.choice(rule["randomTargets"]) + else: + target = rule["target"] + self.replaceBlock(pos, dim, target, None) + self._clearTimerData(dim, pos) + except Exception: + pass + + # ============================================================================ + # 四、计时数据读写(存在方块实体数据里,重启不丢) + # ============================================================================ + + def _writeTimerData(self, dim, pos, recipe, playerId=None): + try: + blockData = blockEntityDataComp.GetBlockEntityData(dim, pos) + if blockData is None: + return + now = time.time() + blockData["rtdd_tid"] = recipe["source"] + blockData["rtdd_tstart"] = now + blockData["rtdd_tdur"] = recipe.get("time", 60) + blockData["rtdd_tp"] = playerId if playerId else "" + except Exception: + pass + + def _clearTimerData(self, dim, pos): + try: + blockData = blockEntityDataComp.GetBlockEntityData(dim, pos) + if blockData is None: + return + blockData["rtdd_tid"] = "" + blockData["rtdd_tstart"] = 0 + blockData["rtdd_tdur"] = 0 + blockData["rtdd_tp"] = "" + except Exception: + pass + + # ============================================================================ + # 五、提示工具 + # ============================================================================ + + def _notifyIfOnline(self, playerId, tip): + if not tip or not playerId: + return + try: + ids = comp.CreateGame(LevelId).GetAllPlayerIds() + if playerId in ids: + comp.CreateMsg(playerId).NotifyOneMessage(playerId, tip) + except Exception: + pass + + # ============================================================================ + # 六、工具方法:替换方块 + # ============================================================================ + + def replaceBlock(self, pos, dim, newBlockName, playerId=None): + creator = playerId if playerId is not None else LevelId + aux = 0 + try: + oldBlock = comp.CreateBlockInfo(creator).GetBlockNew(pos, dim) + aux = oldBlock.get("aux", 0) + except Exception: + aux = 0 + comp.CreateBlockInfo(creator).SetBlockNew( + pos, blockDict={"name": newBlockName, "aux": aux}, + oldBlockHandling=0, dimensionId=dim) diff --git a/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/tangguo/service/__init__.py b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/tangguo/service/__init__.py new file mode 100644 index 0000000..40a96af --- /dev/null +++ b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/tangguo/service/__init__.py @@ -0,0 +1 @@ +# -*- coding: utf-8 -*- diff --git a/behavior_pack_v8jz0zSR/netease_blocks/beancurdsoup_0.json b/behavior_pack_v8jz0zSR/netease_blocks/beancurdsoup_0.json index 0c4a555a..dc541f7 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/beancurdsoup_0.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/beancurdsoup_0.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/beefbonebroth.json b/behavior_pack_v8jz0zSR/netease_blocks/beefbonebroth.json index 2a5bc62..8496a7b 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/beefbonebroth.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/beefbonebroth.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/beefbonebroth_1.json b/behavior_pack_v8jz0zSR/netease_blocks/beefbonebroth_1.json index a6d71ef..8f43ef3 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/beefbonebroth_1.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/beefbonebroth_1.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/beefbonebroth_2.json b/behavior_pack_v8jz0zSR/netease_blocks/beefbonebroth_2.json index 9c99d3e..9dc1c23 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/beefbonebroth_2.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/beefbonebroth_2.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/carrotbeefsoup.json b/behavior_pack_v8jz0zSR/netease_blocks/carrotbeefsoup.json index 30192f3..d34308c 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/carrotbeefsoup.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/carrotbeefsoup.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/carrotbeefsoup_1.json b/behavior_pack_v8jz0zSR/netease_blocks/carrotbeefsoup_1.json index 379a9c5..86f6610 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/carrotbeefsoup_1.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/carrotbeefsoup_1.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/carrotbeefsoup_2.json b/behavior_pack_v8jz0zSR/netease_blocks/carrotbeefsoup_2.json index 7f630d4..cf86edd 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/carrotbeefsoup_2.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/carrotbeefsoup_2.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/carrotcodsoup.json b/behavior_pack_v8jz0zSR/netease_blocks/carrotcodsoup.json index a8c080f..27d9447 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/carrotcodsoup.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/carrotcodsoup.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/carrotcodsoup_1.json b/behavior_pack_v8jz0zSR/netease_blocks/carrotcodsoup_1.json index f8a1374..5d40084 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/carrotcodsoup_1.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/carrotcodsoup_1.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/carrotcodsoup_2.json b/behavior_pack_v8jz0zSR/netease_blocks/carrotcodsoup_2.json index d42edf4..c34947a 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/carrotcodsoup_2.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/carrotcodsoup_2.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/carrotfishsoup.json b/behavior_pack_v8jz0zSR/netease_blocks/carrotfishsoup.json index 7b602d4..fc7ba4c 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/carrotfishsoup.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/carrotfishsoup.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/carrotfishsoup_1.json b/behavior_pack_v8jz0zSR/netease_blocks/carrotfishsoup_1.json index 6afe189..496d49c 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/carrotfishsoup_1.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/carrotfishsoup_1.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/carrotfishsoup_2.json b/behavior_pack_v8jz0zSR/netease_blocks/carrotfishsoup_2.json index d3b4af4..a3e5ac7 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/carrotfishsoup_2.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/carrotfishsoup_2.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/carrotribs.json b/behavior_pack_v8jz0zSR/netease_blocks/carrotribs.json index 9633186..b63f692 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/carrotribs.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/carrotribs.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/carrotribs_1.json b/behavior_pack_v8jz0zSR/netease_blocks/carrotribs_1.json index 75b9c1b..98ef8f8 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/carrotribs_1.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/carrotribs_1.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/carrotribs_2.json b/behavior_pack_v8jz0zSR/netease_blocks/carrotribs_2.json index 10a096e..75cc3d0 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/carrotribs_2.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/carrotribs_2.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/chickenstewwithmushrooms.json b/behavior_pack_v8jz0zSR/netease_blocks/chickenstewwithmushrooms.json index 7858f25..51e993a 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/chickenstewwithmushrooms.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/chickenstewwithmushrooms.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/chickenstewwithmushrooms_1.json b/behavior_pack_v8jz0zSR/netease_blocks/chickenstewwithmushrooms_1.json index cfab6a6..dd8b706 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/chickenstewwithmushrooms_1.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/chickenstewwithmushrooms_1.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/chickenstewwithmushrooms_2.json b/behavior_pack_v8jz0zSR/netease_blocks/chickenstewwithmushrooms_2.json index 24f9b36..9204e57 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/chickenstewwithmushrooms_2.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/chickenstewwithmushrooms_2.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/dumplingssoup_0.json b/behavior_pack_v8jz0zSR/netease_blocks/dumplingssoup_0.json index 4e1108a..c98a2a1 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/dumplingssoup_0.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/dumplingssoup_0.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/dumplingssoup_1.json b/behavior_pack_v8jz0zSR/netease_blocks/dumplingssoup_1.json index 9cbd06d..caae256 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/dumplingssoup_1.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/dumplingssoup_1.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/eggcodsoup.json b/behavior_pack_v8jz0zSR/netease_blocks/eggcodsoup.json index ca4c370..8359c6a 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/eggcodsoup.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/eggcodsoup.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/eggcodsoup_1.json b/behavior_pack_v8jz0zSR/netease_blocks/eggcodsoup_1.json index b7c2710..a394663 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/eggcodsoup_1.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/eggcodsoup_1.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/eggcodsoup_2.json b/behavior_pack_v8jz0zSR/netease_blocks/eggcodsoup_2.json index 208249e..5409d11 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/eggcodsoup_2.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/eggcodsoup_2.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/lambchopsoup_1.json b/behavior_pack_v8jz0zSR/netease_blocks/lambchopsoup_1.json index afbc789..14028d4 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/lambchopsoup_1.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/lambchopsoup_1.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/lambchopsoup_2.json b/behavior_pack_v8jz0zSR/netease_blocks/lambchopsoup_2.json index cc885f0..f0d403c 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/lambchopsoup_2.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/lambchopsoup_2.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/lambsoupwithturnips.json b/behavior_pack_v8jz0zSR/netease_blocks/lambsoupwithturnips.json index c271f9b..d274aaf 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/lambsoupwithturnips.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/lambsoupwithturnips.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/lambsoupwithturnips_1.json b/behavior_pack_v8jz0zSR/netease_blocks/lambsoupwithturnips_1.json index f071056..cdc832b 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/lambsoupwithturnips_1.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/lambsoupwithturnips_1.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/lambsoupwithturnips_2.json b/behavior_pack_v8jz0zSR/netease_blocks/lambsoupwithturnips_2.json index 7c3b230..a2c7b26 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/lambsoupwithturnips_2.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/lambsoupwithturnips_2.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/lambstew.json b/behavior_pack_v8jz0zSR/netease_blocks/lambstew.json index 250fc81..6e22490 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/lambstew.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/lambstew.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/lambstew_1.json b/behavior_pack_v8jz0zSR/netease_blocks/lambstew_1.json index 6b091a5..b43a8e5 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/lambstew_1.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/lambstew_1.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/lambstew_2.json b/behavior_pack_v8jz0zSR/netease_blocks/lambstew_2.json index 97ee3e6..983a5e1 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/lambstew_2.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/lambstew_2.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/norieggsoup.json b/behavior_pack_v8jz0zSR/netease_blocks/norieggsoup.json index 5975984..c7ee112 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/norieggsoup.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/norieggsoup.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/norieggsoup_0.json b/behavior_pack_v8jz0zSR/netease_blocks/norieggsoup_0.json index c9ed698..9e52c2d 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/norieggsoup_0.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/norieggsoup_0.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/norieggsoup_1.json b/behavior_pack_v8jz0zSR/netease_blocks/norieggsoup_1.json index 50877d0..0532704 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/norieggsoup_1.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/norieggsoup_1.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/norieggsoup_2.json b/behavior_pack_v8jz0zSR/netease_blocks/norieggsoup_2.json index fcf3a98..1288815 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/norieggsoup_2.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/norieggsoup_2.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/raweggsoup.json b/behavior_pack_v8jz0zSR/netease_blocks/raweggsoup.json index eb97129..e805441 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/raweggsoup.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/raweggsoup.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/rawnoodlesoup.json b/behavior_pack_v8jz0zSR/netease_blocks/rawnoodlesoup.json index 2082b9e..76065a3 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/rawnoodlesoup.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/rawnoodlesoup.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/rawpigfoodsoup_2.json b/behavior_pack_v8jz0zSR/netease_blocks/rawpigfoodsoup_2.json index 27290c7..6fad5ca 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/rawpigfoodsoup_2.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/rawpigfoodsoup_2.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/rawpigfoodsoup_3.json b/behavior_pack_v8jz0zSR/netease_blocks/rawpigfoodsoup_3.json index 3d22b9e..ab74cd8 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/rawpigfoodsoup_3.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/rawpigfoodsoup_3.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/rawpigfoodsoup_4.json b/behavior_pack_v8jz0zSR/netease_blocks/rawpigfoodsoup_4.json index 8c35789..58a3ac7 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/rawpigfoodsoup_4.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/rawpigfoodsoup_4.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/rawricepot.json b/behavior_pack_v8jz0zSR/netease_blocks/rawricepot.json index 5c0e8c4..68bc3b6 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/rawricepot.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/rawricepot.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/roujiamosoup_0.json b/behavior_pack_v8jz0zSR/netease_blocks/roujiamosoup_0.json index a995129..1aea82a 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/roujiamosoup_0.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/roujiamosoup_0.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/tufufishsoup_1.json b/behavior_pack_v8jz0zSR/netease_blocks/tufufishsoup_1.json index 314f13e..960a0d2 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/tufufishsoup_1.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/tufufishsoup_1.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/tufufishsoup_2.json b/behavior_pack_v8jz0zSR/netease_blocks/tufufishsoup_2.json index edd6c55..77726e5 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/tufufishsoup_2.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/tufufishsoup_2.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/tufusoupb.json b/behavior_pack_v8jz0zSR/netease_blocks/tufusoupb.json index 89e44fc..cc55818 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/tufusoupb.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/tufusoupb.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/vegetablebeefsoup.json b/behavior_pack_v8jz0zSR/netease_blocks/vegetablebeefsoup.json index e2472a1..5211150 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/vegetablebeefsoup.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/vegetablebeefsoup.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/vegetablebeefsoup_1.json b/behavior_pack_v8jz0zSR/netease_blocks/vegetablebeefsoup_1.json index 46d88d0..097a857 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/vegetablebeefsoup_1.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/vegetablebeefsoup_1.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/vegetablebeefsoup_2.json b/behavior_pack_v8jz0zSR/netease_blocks/vegetablebeefsoup_2.json index 35aff30..68a733a 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/vegetablebeefsoup_2.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/vegetablebeefsoup_2.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/vegetablelambsoup.json b/behavior_pack_v8jz0zSR/netease_blocks/vegetablelambsoup.json index ace4540..41bd855 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/vegetablelambsoup.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/vegetablelambsoup.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/vegetablelambsoup_1.json b/behavior_pack_v8jz0zSR/netease_blocks/vegetablelambsoup_1.json index c7b61dc..381db3a 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/vegetablelambsoup_1.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/vegetablelambsoup_1.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/vegetablelambsoup_2.json b/behavior_pack_v8jz0zSR/netease_blocks/vegetablelambsoup_2.json index 4d40b00..5f8d885 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/vegetablelambsoup_2.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/vegetablelambsoup_2.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/vegetableleanbroth.json b/behavior_pack_v8jz0zSR/netease_blocks/vegetableleanbroth.json index e19755e..b6914a7 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/vegetableleanbroth.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/vegetableleanbroth.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/vegetableleanbroth_1.json b/behavior_pack_v8jz0zSR/netease_blocks/vegetableleanbroth_1.json index 1fac527..d0f8790 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/vegetableleanbroth_1.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/vegetableleanbroth_1.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/vegetableleanbroth_2.json b/behavior_pack_v8jz0zSR/netease_blocks/vegetableleanbroth_2.json index 3d6bfc1..5fa522e 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/vegetableleanbroth_2.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/vegetableleanbroth_2.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/vegetablepotatoesandlambsteaksoup.json b/behavior_pack_v8jz0zSR/netease_blocks/vegetablepotatoesandlambsteaksoup.json index 9ee341b..2755a13 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/vegetablepotatoesandlambsteaksoup.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/vegetablepotatoesandlambsteaksoup.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/vegetablesstew.json b/behavior_pack_v8jz0zSR/netease_blocks/vegetablesstew.json index 24560fe..5e9ee33 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/vegetablesstew.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/vegetablesstew.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/vegetablesstew_1.json b/behavior_pack_v8jz0zSR/netease_blocks/vegetablesstew_1.json index 0306a74..09a2cb3 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/vegetablesstew_1.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/vegetablesstew_1.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/behavior_pack_v8jz0zSR/netease_blocks/vegetablesstew_2.json b/behavior_pack_v8jz0zSR/netease_blocks/vegetablesstew_2.json index 0787c9a..7f98462 100644 --- a/behavior_pack_v8jz0zSR/netease_blocks/vegetablesstew_2.json +++ b/behavior_pack_v8jz0zSR/netease_blocks/vegetablesstew_2.json @@ -48,7 +48,7 @@ "netease:block_entity": { "client_tick": false, "movable": false, - "tick": false + "tick": true } } } diff --git a/resource_pack_Are13Lvd/texts/zh_CN.lang b/resource_pack_Are13Lvd/texts/zh_CN.lang index b45853c..f587062 100644 --- a/resource_pack_Are13Lvd/texts/zh_CN.lang +++ b/resource_pack_Are13Lvd/texts/zh_CN.lang @@ -171,12 +171,12 @@ tile.rtdd:plate_19.name=辣炒兔肉(全份) tile.rtdd:animalcarcasses.name=动物骸骨_禁用 tile.rtdd:plate_10.name=胡萝卜炒羊里脊(全份) tile.rtdd:dead_villagera.name=烤村民 -tile.rtdd:vegetablesstew_2.name=汤锅_110(蔬菜汤_八分熟) +tile.rtdd:vegetablesstew_2.name=汤锅_110(蔬菜乱炖_八分熟) tile.rtdd:fishingnet.name=网(渔网) -tile.rtdd:vegetablesstew_1.name=汤锅_109(蔬菜汤_四分熟) +tile.rtdd:vegetablesstew_1.name=汤锅_109(蔬菜乱炖_四分熟) tile.rtdd:plate_13.name=胡萝卜炒猪排骨(全份) tile.rtdd:plate_14.name=炒土豆 -tile.rtdd:vegetablesstew_3.name=汤锅_111(蔬菜汤_熟) +tile.rtdd:vegetablesstew_3.name=汤锅_111(蔬菜乱炖_熟) tile.rtdd:plate_11.name=胡萝卜炒羊排 tile.rtdd:plate_12.name=小炒五花肉(全份) tile.rtdd:cookingpotato.name=炒锅_47(炒土豆_生) @@ -453,11 +453,11 @@ tile.rtdd:bookcase_11.name=书柜_3(2本) tile.rtdd:bookcase_10.name=书柜_4(3本) tile.rtdd:ironcoinpile.name=铁币堆_禁用 tile.rtdd:plate_13a.name=胡萝卜炒猪排骨(半份) -tile.rtdd:rawpigfoodsoup_5.name=汤锅_70(猪蹄汤_熟) -tile.rtdd:rawpigfoodsoup_3.name=汤锅_68(猪蹄汤_七分熟) -tile.rtdd:rawpigfoodsoup_4.name=汤锅_69(猪蹄汤_全熟) +tile.rtdd:rawpigfoodsoup_5.name=汤锅_70(猪蹄汤_全熟) +tile.rtdd:rawpigfoodsoup_3.name=汤锅_68(猪蹄汤_三分熟) +tile.rtdd:rawpigfoodsoup_4.name=汤锅_69(猪蹄汤_七分熟) tile.rtdd:dumplingssoup_2.name=汤锅_37(饺子_熟) -tile.rtdd:rawpigfoodsoup_2.name=汤锅_67(猪蹄汤_三分熟) +tile.rtdd:rawpigfoodsoup_2.name=汤锅_67(猪蹄汤_加土豆) tile.rtdd:beefbonebroth_1.name=汤锅_4(胡萝卜土豆牛骨汤_四分熟) tile.rtdd:dumplingssoup_0.name=汤锅_35(饺子_生) tile.rtdd:beefbonebroth_2.name=汤锅_5(胡萝卜土豆牛骨汤_八分熟) @@ -665,7 +665,7 @@ tile.rtdd:breaddough_4d.name=甜甜圈胚(生) tile.rtdd:chickenstewwithmushrooms_3.name=汤锅_29(蘑菇炖鸡_熟) tile.rtdd:chickenstewwithmushrooms_1.name=汤锅_27(蘑菇炖鸡_四分熟) tile.rtdd:chickenstewwithmushrooms_2.name=汤锅_28(蘑菇炖鸡_八分熟) -tile.rtdd:vegetablesstew.name=汤锅_108(蔬菜汤_生) +tile.rtdd:vegetablesstew.name=汤锅_108(蔬菜乱炖_生) tile.rtdd:bowlatufufish.name=豆腐鲑鱼汤 tile.rtdd:b_256casting_table_11.name=铸造台_1禁用 tile.rtdd:b_238_t_3.name=满酒桶_4 @@ -807,7 +807,7 @@ tile.rtdd:roasted_vegetables_3.name=烤蔬菜串(熟) tile.rtdd:b_201.name=书本(5本) tile.rtdd:b_200.name=书本_4_禁用 tile.rtdd:souffle_0.name=舒芙蕾 -tile.rtdd:bowlavegetablesstew.name=蔬菜汤 +tile.rtdd:bowlavegetablesstew.name=蔬菜乱炖 tile.rtdd:casting_table_14.name=铸造台_7(铸造台_14)禁用 tile.rtdd:casting_table_13.name=铸造台_6(铸造台_13)禁用 tile.rtdd:casting_table_16.name=铸造台_9(铸造台_16)禁用 @@ -1071,7 +1071,7 @@ tile.rtdd:b_22.name=鳕鱼盒_1_禁用 tile.rtdd:roastedmushrooms_0.name=烤香菇串(生) tile.rtdd:orangebarrel.name=货桶(橘子) tile.rtdd:roastedmushrooms_3.name=烤香菇串(熟) -tile.rtdd:tonkotsu_ramen.name=猪排拉面 +tile.rtdd:tonkotsu_ramen.name=猪排蔬菜面加水煮蛋 tile.rtdd:flag_red_orange.name=旗子_7(红橙旗) tile.rtdd:roastedmushrooms_1.name=烤香菇串(半熟) itemGroup.name.tangguo_01_basic=基础工具 @@ -1082,7 +1082,7 @@ itemGroup.name.tangguo_ribs=胡萝卜排骨汤 itemGroup.name.tangguo_vegetable_beef=清汤羊肉 itemGroup.name.tangguo_vegetable_lamb=蔬菜牛肉汤 itemGroup.name.tangguo_vegetable_lean=蔬菜瘦肉汤 -itemGroup.name.tangguo_vegetable_stew=蔬菜汤 +itemGroup.name.tangguo_vegetable_stew=蔬菜乱炖 itemGroup.name.tangguo_bone=牛骨汤 itemGroup.name.tangguo_lambstew=土豆胡萝卜炖羊肉 itemGroup.name.tangguo_lambchop=胡萝卜土豆羊排汤 diff --git a/tuilun/油锅转化关系.txt b/tuilun/ok/油锅转化关系.txt similarity index 100% rename from tuilun/油锅转化关系.txt rename to tuilun/ok/油锅转化关系.txt diff --git a/tuilun/全部功能做了什么.txt b/tuilun/全部功能做了什么.txt index 2e9670a..cc5726e 100644 --- a/tuilun/全部功能做了什么.txt +++ b/tuilun/全部功能做了什么.txt @@ -326,6 +326,9 @@ FurnitureData+FurnitureService 实现, 注册到 FeatureDispatcher) - 汤锅/炒锅/油锅 转化txt 二次重写(2026-09-11): 全面具体化, 每个步骤标注操作类型 (【右键转换】/【计时】/【吃】), 补充跨分类关联与食材来源(油罐/裹粉/生饺子/米饭/煎蛋/ 豆腐/豆浆/生面/馍等); 正文全用中文方块名, 英文id统一移入文末【方块清单】对照 [已整理] +- 汤锅/炒锅 转化txt 三次重写(2026-09-11): 食材全部用实际物品名(土豆块/青菜碎/胡萝卜碎/ + 葱花碎/蒜末), 不再笼统写"土豆/青菜"; 菜谱每个菜名单独一条, 可多食材的拆开逐条 + (如蔬菜乱炖 20/20a/20b, 蔬菜锅底 5/5a, 煎饼四兄弟 42/42a/42b/42c) [已整理] - 油锅转化txt 按用户todo转正(2026-09-11): 油罐倒油直接变玻璃罐+玻璃罐取油回罐; 各炸物消耗数量(鸡块1/猪肉1/薯条3/鱼1/天妇罗4/生饺子3); 计时分级(生60秒->半熟30秒->熟, 天妇罗/炸饺子单级60秒); 出锅盘装成品掉落物形式; 炸饺子=油锅合体(计时/取出均在油锅_1上); @@ -677,3 +680,79 @@ FurnitureData+FurnitureService 实现, 注册到 FeatureDispatcher) 【留后】各盘装成品 右键吃(总食用功能后续实现)、天妇罗炸虾递减吃(整份->半份 plate_49a)、 盘子用后变脏 + +######################################## +【汤锅】(xy_tangguo) 2026-09-14 +######################################## +实现于 xiangyemod/tangguo (TangguoData + TangguoService + TangguoTimerService, 注册到 FeatureDispatcher) +(59个计时汤羹方块 netease:block_entity tick 已改 true) + +一、汤锅基础 +- 加水: 手持水桶右键空汤锅 -> 汤锅(加水) + 水桶变回空桶 [已实现] +- 倒水: 手持空桶右键汤锅(加水) -> 汤锅(空) + 掉落1个水桶 [已实现] +- 盖/掀锅盖: 空手右键双向切换 汤锅(加水)<->汤锅(盖锅) [已实现] + +二、汤底(汤锅(加水)+食材右键 -> 汤底, 消耗数量按txt) +- 胡萝卜碎x4->胡萝卜汤 / 青菜碎x4->蔬菜汤 / 鸡蛋x3->蛋花汤 / 土豆块x4->土豆汤 / + 红蘑菇x5->红蘑菇汤 / 棕蘑菇x5->棕蘑菇汤 / 鳕鱼x1->鳕鱼汤 / 鲑鱼x1->鲑鱼汤 / + 豆腐x4->豆腐汤 [已实现] +- 组合汤: 土豆汤+胡萝卜碎x4 或 胡萝卜汤+土豆块x4 -> 胡萝卜土豆汤; + 红蘑菇汤+棕蘑菇x5 或 棕蘑菇汤+红蘑菇x5 -> 蘑菇汤; + 土豆汤+鸡蛋x3 或 蛋花汤+土豆块x4 -> 土豆蛋花汤 [已实现] + +三、加肉/鱼/豆腐 -> 汤羹(生), 开始计时(下方须点燃炉灶 stove_2 才计时; + 无炉灶时提示"熬制需要下方是点燃的炉灶", 放上后自动开始) +- 胡萝卜汤+牛肉x2->胡萝卜牛肉汤 / +羊肉x2->胡萝卜羊肉汤 / +猪肋排x2->胡萝卜排骨汤 / + +鳕鱼->胡萝卜鳕鱼汤 / +鲑鱼->胡萝卜鲑鱼汤 [已实现] +- 蔬菜汤+羊肉x2->清汤羊肉 / +牛肉x2->蔬菜牛肉汤 / +碎肉x5->蔬菜瘦肉汤 / + +胡萝卜土豆汤x1->蔬菜乱炖(掉落1个汤锅(空)) / +生鱼片x10->蔬菜鱼片汤 [已实现] +- 胡萝卜土豆汤+青菜碎x3->蔬菜乱炖 / +牛肋x2->胡萝卜土豆牛骨汤 / +羊肉x2->土豆胡萝卜炖羊肉 / + +羊小排x2->胡萝卜土豆羊排汤 [已实现] +- 鳕鱼汤+鸡蛋x3 或 蛋花汤+鳕鱼->蛋花鳕鱼汤; 蛋花汤+碎肉x5 或 蔬菜瘦肉汤+鸡蛋x3->瘦肉蛋花汤; + 豆腐汤+鲑鱼 或 鲑鱼汤+豆腐x4->豆腐鲑鱼汤; 蘑菇汤+生鸡肉->蘑菇炖鸡 [已实现] +- 猪蹄汤: 汤锅(加水)+猪蹄x2->生; 生+土豆块x3->加土豆, 开始计时 [已实现] +- 羊肉泡馍汤: 汤锅(加水)+馍->生, 开始计时 [已实现] +- 生面汤: 汤锅(加水)+生面->生, 开始计时 [已实现] +- 饺子汤: 汤锅(加水)+生饺子->生, 开始计时 [已实现] +- 生米锅: 汤锅(加水)+大米x64->生米锅, 开始计时 [已实现] +- 煮鸡蛋: 汤锅(加水)+鸡蛋堆->生, 开始计时 [已实现] +- 煮豆腐: 汤锅(加水)+豆浆->生, 开始计时 [已实现] + +四、计时熬制(汤羹方块正下方是点燃炉灶才计时, 计时数据在汤羹本身; 炉灶移走暂停+提示; + 计时结束提示【已取消】, 只保留加料时的开始提示) +- 30秒/级: 胡萝卜牛肉汤(生->四分熟->八分熟->熟)3级; 瘦肉蛋花汤4级; + 猪蹄汤(加土豆->三分熟->七分熟->全熟)3级; 羊肉泡馍汤1级 [已实现] +- 60秒/级: 胡萝卜羊肉汤/胡萝卜排骨汤/清汤羊肉/蔬菜牛肉汤/蔬菜瘦肉汤/蔬菜乱炖/ + 胡萝卜土豆牛骨汤/土豆胡萝卜炖羊肉/胡萝卜土豆羊排汤/胡萝卜鳕鱼汤/胡萝卜鲑鱼汤/ + 蛋花鳕鱼汤/豆腐鲑鱼汤/生面汤/饺子汤(2级)/煮鸡蛋/煮豆腐 [已实现] +- 90秒/级: 蘑菇炖鸡3级; 生米锅1级到点后 熟米饭形态1/2/3 随机出一个 [已实现] + +五、出锅(熟汤羹+木碗右键, 消耗1木碗, 获得碗装成品(掉落物), 锅变回 汤锅(空)) +- 胡萝卜牛肉汤/胡萝卜羊肉汤/胡萝卜排骨汤/清汤羊肉/蔬菜牛肉汤/蔬菜瘦肉汤/蔬菜乱炖/ + 胡萝卜土豆牛骨汤/土豆胡萝卜炖羊肉/胡萝卜土豆羊排汤/胡萝卜鳕鱼汤/胡萝卜鲑鱼汤/ + 蛋花鳕鱼汤/瘦肉蛋花汤/豆腐鲑鱼汤/蘑菇炖鸡/猪蹄汤/羊肉泡馍汤/熟面条/饺子_碗装/ + 蔬菜鱼片汤/碗装米饭(米饭_1/2/3) [已实现] +- 全部成品 归 tangguo_finished, 均【吃】, 右键吃 后续由总食用功能实现 + +六、取出(锅变回 汤锅(空), 掉落物形式) +- 熟米饭 空手右键 -> 饭团x16 (供寿司) [已实现] +- 煮鸡蛋(熟) 空手右键 -> 水煮蛋x9 [已实现] +- 煮豆腐(熟) + 菜刀右键(不消耗) -> 豆腐x16 [已实现] + +七、汤面分组(food_02_rice_noodle) +- 手持汤锅成品菜 右键 熟面条(方块) -> 汤面, 消耗1成品菜, 掉落1木碗 [已实现] +- 猪排蔬菜面=胡萝卜排骨汤+熟面条 / 羊排蔬菜面=胡萝卜土豆羊排汤+熟面条 / + 牛骨面=胡萝卜土豆牛骨汤+熟面条 / 小鸡炖蘑菇面=蘑菇炖鸡+熟面条 / + 胡萝卜蔬菜面=蔬菜乱炖+熟面条 / 胡萝卜蔬菜牛肉面=蔬菜牛肉汤+熟面条 / + 香菇面=蘑菇汤+熟面条 / 蔬菜鱼片面=蔬菜鱼片汤+熟面条 / 蔬菜面=蔬菜汤+熟面条 / + 蛋花面=蛋花汤+熟面条 / 鸡蛋面=水煮蛋+熟面条 [已实现] +- 蛋花面(加葱花): 蛋花面+葱花碎x1 -> 蛋花面(加葱花) [已实现] +- 猪排蔬菜面加水煮蛋(tonkotsu_ramen): 猪排蔬菜面+水煮蛋x1 -> 猪排蔬菜面加水煮蛋 + (原"猪排拉面"改名, 配方由 胡萝卜排骨汤+熟面条 改为 猪排蔬菜面+水煮蛋) [已实现] +- 所有汤面 均 空手右键直接吃, 归【吃】, 后续由总食用功能实现 + +【提示/体验】所有转换有提示(含消耗数量与下一步指引: "可继续加料 或 等计时结束变成X, +手持木碗出锅"); 数量不足/下方无点燃炉灶有提示并拦截; 右键冷却0.4秒; 手持方块物品右键 +汤锅类功能方块取消默认放置(全局) [已实现] +【留后】各碗装成品/汤面 右键吃(总食用功能后续实现) + diff --git a/tuilun/全部功能没做什么.txt b/tuilun/全部功能没做什么.txt index 3522f6b..9c14de7 100644 --- a/tuilun/全部功能没做什么.txt +++ b/tuilun/全部功能没做什么.txt @@ -201,21 +201,24 @@ 二、饭团来源 (汤锅熟米饭捏饭团) - 熟米饭(汤锅煮好) 空手右键(不用碗) -> 饭团 (txt 23) -- 未做原因: 属汤锅分类, 汤锅代码尚未实现; 本次寿司功能只用饭团物品本身 - (寿司的饭团暂靠创造模式/后续汤锅功能获取) +- 已实现(2026-09-14): 汤锅 菜谱37 熟米饭 空手右键 -> 饭团x16, 见 全部功能做了什么.txt 汤锅节 ######################################## -【汤锅·煮豆腐】(xy_tangguo) +【汤锅】(xy_tangguo) ######################################## -(汤锅转化关系.txt 六、煮豆腐组; 方块已由 禁用(xy_jinyong) 移回 汤锅(xy_tangguo) 分类, - 独立分组 tangguo_tofu 已建; 转换代码未实现) +(汤锅转换 已整体实现于 xiangyemod/tangguo 2026-09-14, 见 全部功能做了什么.txt; + 原"汤锅·煮豆腐"未做项已随汤锅整体实现移除) -一、煮豆腐 (豆浆 -> 生 -> 熟 -> 取豆腐) -- 汤锅(加水) + 手持豆浆(fruitjuice_7)右键 -> 汤锅(煮豆腐_生)(beancurdsoup_0), 消耗1个豆浆 -- 煮豆腐_生 计时约60秒 -> 煮豆腐_熟(beancurdsoup_1) -- 煮豆腐_熟 + 手持刀(cleaver)右键 -> 获得 豆腐(beancurd) 16个, 锅恢复空汤锅 -- 未做原因: 属汤锅分类, 汤锅代码整体尚未开发, 本次只做分类整理与转化文档 +一、吃 (各碗装成品 / 汤面 右键食用) +- 碗装成品: 胡萝卜牛肉汤/胡萝卜羊肉汤/胡萝卜排骨汤/清汤羊肉/蔬菜牛肉汤/蔬菜瘦肉汤/ + 蔬菜乱炖/胡萝卜土豆牛骨汤/土豆胡萝卜炖羊肉/胡萝卜土豆羊排汤/胡萝卜鳕鱼汤/ + 胡萝卜鲑鱼汤/蛋花鳕鱼汤/瘦肉蛋花汤/豆腐鲑鱼汤/蘑菇炖鸡/猪蹄汤/羊肉泡馍汤/ + 饺子_碗装/蔬菜鱼片汤/熟米饭(碗装)/饭团/水煮蛋/豆腐 +- 汤面: 猪排蔬菜面/羊排蔬菜面/牛骨面/小鸡炖蘑菇面/胡萝卜蔬菜面/胡萝卜蔬菜牛肉面/ + 香菇面/蔬菜鱼片面/蔬菜面/蛋花面/蛋花面(加葱花)/鸡蛋面/猪排蔬菜面加水煮蛋 + (均 空手右键直接吃) +- 未做原因: 食用部分由统一的"总食用功能"汇总实现, 本次不实现 (汤锅转化关系.txt 已标注) ######################################## diff --git a/tuilun/汤锅转化关系.txt b/tuilun/汤锅转化关系.txt index d21098f..dedb7d1 100644 --- a/tuilun/汤锅转化关系.txt +++ b/tuilun/汤锅转化关系.txt @@ -2,178 +2,550 @@ 【汤锅】(xy_tangguo) 转化关系 ======================================== 说明: -- 正文全部用中文方块名, 英文id见文末【方块清单】 -- 汤锅方块: 汤锅(空)、汤锅(加水)、锅盖; 工具: 木碗(厨具)、菜刀(厨具)、水桶(原版) +- 正文全部用中文方块名, 英文id写在括号里 +- 汤锅方块: 汤锅(空)(stewedsoup)、汤锅(加水)(stewedsoupwater) +- 工具: 木碗(bowlasoup)、菜刀(cleaver)、水桶(原版) - 核心流程: 加水【右键转换】 -> 下汤底料【右键转换】 -> 加肉/鱼【右键转换】 -> - 计时熬【计时】 -> 出锅【右键转换】 -> 碗装成品【吃】 + 计时熬【计时】 -> 出锅【右键转换】 -> 碗装成品 - 汤羹规律: 汤羹(生) -> 汤羹(四分熟) -> 汤羹(八分熟) -> 汤羹(熟), 计时约60秒一级 (部分汤羹为三分熟/七分熟形态, 以方块实际为准) -- 出锅: 手持 木碗 右键 熟汤羹, 消耗1个木碗, 获得碗装成品 -- 米饭流程(核心关联): 大米 -> 生米锅 -> 熟米饭 -> 空手捏饭团(供寿司) / 木碗盛出碗装米饭(供炒锅蛋炒饭) +- 出锅: 手持 木碗(bowlasoup) 右键 熟汤羹, 消耗1个木碗, 获得 碗装成品 +- 米饭流程: 大米 -> 生米锅 -> 熟米饭 -> 空手捏饭团(供寿司) / 木碗盛出碗装米饭(供炒锅蛋炒饭) - 汤锅需放在 点燃的炉灶(stove_2) 上(下方判定)才计时熬制; 炉灶移走则暂停 - -【操作类型图例】 - 【右键转换】= 手持指定物品右键方块触发 - 【计时】 = 方块自动计时转换(约60秒一级) - 【吃】 = 成品可直接右键食用 - +所有的获得 都以掉落物形式! 【跨分类关联】 - 水桶/空桶: 原版(加水, 水桶变空桶) - 锅盖/木碗/菜刀: 厨具 - 鸡蛋: 动物养殖 鸡窝取蛋 / 鸡蛋堆(乡野食材); 一蛋三用(蛋花汤/煮鸡蛋/炒锅煎蛋) - 大米: 乡野食材 谷物·米面; 竹筒饭用生大米, 寿司用熟米饭捏饭团(区分!) - 豆浆: 乡野饮料 榨汁机 黄豆 -> 豆浆 -- 生面: 面食.甜食 面饼切开+菜刀(面食.甜食转化关系.txt) -- 生饺子: 面食.甜食 饺子组 捏合掉落物 -- 馍: 面食.甜食 烙制(生面饼右键烤炉) +- 生面/生饺子/馍: 面食.甜食 - 饭团: 供 寿司 干海带+饭团(寿司转化关系.txt) -- 碗装米饭: 供 炒锅 蛋炒饭(炒锅转化关系.txt 六) +- 碗装米饭: 供 炒锅 蛋炒饭(炒锅转化关系.txt) - 豆腐: 供 炒锅 麻婆豆腐 / 汤锅 豆腐汤 ======================================== -一、基础工具 +【汤锅(空) -> 汤锅(加水)】 ======================================== -1. 汤锅(空) -> 汤锅(加水) 【右键转换】 -转换条件:[手持 水桶 右键, 消耗水桶, 返还空桶] -2. 盖/掀锅盖 双向 【右键转换】 -转换条件:[手持 锅盖 右键] -机制: 盖上(锅盖) / 掀开(汤锅(加水)) 循环切换 +步骤1:汤锅(空)(rtdd:stewedsoup) + 拿水桶(minecraft:water_bucket)右键, 消耗1个水桶 + → 变身 汤锅(加水)(rtdd:stewedsoupwater),水桶变回空桶(minecraft:bucket) + +汤锅(加水)->汤锅(空) +拿空桶(minecraft:bucket)右键, 消耗1个空桶 + → 变身 汤锅(空)(rtdd:stewedsoup) 掉落一个水桶 ======================================== -二、汤底(汤锅(加水) + 食材) +【盖/掀锅盖】(双向) ======================================== -机制: 手持食材 右键 汤锅(加水)【右键转换】, 消耗1个, 变对应汤底 -(食材均为切配后的碎食材: 胡萝卜碎/青菜碎/土豆块, 来自乡野食材·蔬菜切配) -3. 汤锅(加水) + 胡萝卜碎 -> 胡萝卜汤 -4. 汤锅(加水) + 青菜碎 -> 蔬菜汤 -5. 汤锅(加水) + 鸡蛋 -> 蛋花汤 -6. 汤锅(加水) + 土豆块 -> 土豆汤 -7. 汤锅(加水) + 胡萝卜碎 + 土豆块 -> 胡萝卜土豆汤 -8. 汤锅(加水) + 红蘑菇 -> 红蘑菇汤 -9. 汤锅(加水) + 棕蘑菇 -> 棕蘑菇汤 -10. 汤锅(加水) + 蘑菇 -> 蘑菇汤 -11. 汤锅(加水) + 鳕鱼 -> 鳕鱼汤 -12. 汤锅(加水) + 鲑鱼 -> 鲑鱼汤 -13. 汤锅(加水) + 土豆块 + 鸡蛋 -> 土豆蛋花汤 +步骤1:汤锅(加水)(rtdd:stewedsoupwater) + 空手右键, + → 变身 汤锅(盖锅) +步骤2:汤锅(盖锅) + 空手右键, + → 变身 汤锅(加水)(rtdd:stewedsoupwater) ======================================== -三、各汤羹(汤底 + 肉/鱼 -> 生 -> 计时 -> 熟) +菜谱 1 — 胡萝卜汤 ======================================== -机制: 手持 肉/鱼 右键 对应汤底【右键转换】-> 汤羹(生); - 【计时】60秒/级 -> 汤羹(四分熟) -> 汤羹(八分熟) -> 汤羹(熟) -(肉类/鱼 来自 乡野食材 或 原版; 加料消耗1个) -14. 胡萝卜汤 + 生牛肉 -> 胡萝卜牛肉汤 【右键转换+计时】 -15. 胡萝卜汤 + 羊肉 -> 胡萝卜羊肉汤 【右键转换+计时】 -16. 胡萝卜汤 + 猪排骨 -> 胡萝卜排骨汤 【右键转换+计时】 -17. 蔬菜汤 + 生牛肉 -> 清汤羊肉 【右键转换+计时】 -18. 蔬菜汤 + 羊肉 -> 蔬菜牛肉汤 【右键转换+计时】 -19. 蔬菜汤 + 碎肉 -> 蔬菜瘦肉汤 【右键转换+计时】 -20. 蔬菜汤 + 青菜碎(或胡萝卜碎/土豆块) -> 蔬菜乱炖 【右键转换+计时】 -21. 胡萝卜土豆汤 + 牛腿 -> 胡萝卜土豆牛骨汤 【右键转换+计时】 - (牛骨已放弃, 用牛腿替代, 菜名保留) -22. 胡萝卜土豆汤 + 羊肉 -> 土豆胡萝卜炖羊肉 【右键转换+计时】 -23. 胡萝卜土豆汤 + 羊排 -> 胡萝卜土豆羊排汤 【右键转换+计时】 -24. 胡萝卜汤 + 鳕鱼 -> 胡萝卜鳕鱼汤 【右键转换+计时】 -25. 胡萝卜汤 + 鲑鱼 -> 胡萝卜鲑鱼汤 【右键转换+计时】 -26. 鳕鱼汤 + 鸡蛋 -> 蛋花鳕鱼汤 【右键转换+计时】 -27. 瘦肉蛋花汤底 + 鸡蛋 -> 瘦肉蛋花汤 【右键转换+计时】 - (瘦肉已放弃, 用碎肉替代) -28. 豆腐汤 + 鲑鱼 -> 豆腐鲑鱼汤 【右键转换+计时】 - (加葱花步骤见原文档; 豆腐来源: 本文件 六) -29. 汤锅(加水) + 豆腐 -> 豆腐汤 【右键转换】 -30. 蘑菇汤 + 生鸡肉 -> 蘑菇炖鸡 【右键转换+计时】 -31. 汤锅(加水) + 猪蹄 -> 猪蹄汤 【右键转换+计时】 -32. 汤锅(加水) + 馍(面食.甜食) -> 羊肉泡馍汤 【右键转换+计时】 -33. 汤锅(加水) + 生面(面食.甜食) -> 生面汤 -> 熟面汤 【右键转换+计时】 -34. 汤锅(加水) + 生饺子(面食.甜食) -> 饺子汤 【右键转换+计时】 -35. 汤锅(加水) + 鱿鱼 -> 鱿鱼汤 【右键转换+计时】 -36. 蔬菜汤 + 生鱼片 -> 蔬菜鱼片汤 【右键转换+计时】 +步骤1:汤锅(加水)(rtdd:stewedsoupwater) + 拿胡萝卜碎(rtdd:crushed_carrots)右键, 消耗4个 + → 变身 胡萝卜汤(rtdd:carrotsoup) ======================================== -四、米饭流程(核心关联) +菜谱 2 — 蔬菜汤 ======================================== -37. 汤锅(加水) + 大米(乡野食材, 生) -> 生米锅 【右键转换】 -转换条件:[手持 大米(生) 右键, 消耗1个] -38. 生米锅 -> 熟米饭(一级) -> 熟米饭(二级) -> 熟米饭(三级) 【计时】 -转换条件:[计时约60秒一级, 共三级变熟] -39. 熟米饭(三级) 空手右键 -> 饭团 【右键转换】 -机制: 熟米饭直接捏成饭团(不用碗), 供 寿司 干海带+饭团 -> 寿司【吃】(寿司转化关系.txt) -39a. 熟米饭(三级) + 木碗 -> 碗装米饭 【右键转换】 -转换条件:[手持 木碗 右键, 消耗1个木碗] -机制: 木碗盛出熟米饭, 供 炒锅 蛋炒饭(炒锅转化关系.txt 六) -todo 饭团/碗装米饭 右键吃 (吃的操作后续由总食用功能实现) +步骤1:汤锅(加水)(rtdd:stewedsoupwater) + 拿青菜碎(rtdd:vegetable)右键, 消耗4个 + → 变身 蔬菜汤(rtdd:vegetablesoup) ======================================== -五、煮鸡蛋组(独立分组 itemGroup.name.tangguo_boiledeggs) +菜谱 3 — 蛋花汤 ======================================== -方块: 煮鸡蛋(生)、煮鸡蛋(熟); 成品: 水煮蛋(归 tangguo_finished 成品组) -- 本组由 禁用(xy_jinyong) 移回汤锅, 单独成组 -40. 汤锅(加水) + 鸡蛋 -> 煮鸡蛋(生) 【右键转换】 -转换条件:[手持 鸡蛋 右键, 消耗1个] -机制: 鸡蛋入锅, 变生煮鸡蛋 -41. 煮鸡蛋(生) -> 煮鸡蛋(熟) 【计时】 -转换条件:[计时约60秒变熟] -42. 煮鸡蛋(熟) + 木碗 -> 水煮蛋 【右键转换】 -转换条件:[手持 木碗 右键, 消耗1个木碗] -机制: 捞出煮熟鸡蛋, 水煮蛋归成品菜组 -> 【吃】 +步骤1:汤锅(加水)(rtdd:stewedsoupwater) + 拿鸡蛋(minecraft:egg)右键, 消耗3个 + → 变身 蛋花汤(rtdd:eggsoup) ======================================== -六、煮豆腐组(独立分组 itemGroup.name.tangguo_tofu) +菜谱 4 — 土豆汤 ======================================== -方块: 煮豆腐(生)、煮豆腐(熟); 成品: 豆腐(物品, 归 tangguo_finished) -- 本组由 禁用(xy_jinyong) 移回汤锅, 单独成组 -43. 汤锅(加水) + 豆浆 -> 煮豆腐(生) 【右键转换】 -转换条件:[手持 豆浆 右键, 消耗1个] -机制: 豆浆入锅(豆浆来源: 乡野饮料 榨汁机 黄豆 -> 豆浆, 见 乡野饮料转化关系.txt) -44. 煮豆腐(生) -> 煮豆腐(熟) 【计时】 -转换条件:[计时约60秒变熟] -45. 煮豆腐(熟) + 菜刀 -> 豆腐 16个 【右键转换】 -转换条件:[手持 菜刀 右键, 不消耗刀] -机制: 锅中取出豆腐, 得16个豆腐; 锅恢复空汤锅 - 豆腐 供 汤锅 豆腐汤(第29条) / 炒锅 麻婆豆腐(炒锅转化关系.txt 37) -todo 豆腐 右键吃 (可生食? 后续确认) +步骤1:汤锅(加水)(rtdd:stewedsoupwater) + 拿土豆块(rtdd:potato_wedges)右键, 消耗4个 + → 变身 土豆汤(rtdd:potatosoup) ======================================== -七、出锅(熟汤羹 + 木碗 -> 碗装成品) +菜谱 5 — 胡萝卜土豆汤 ======================================== -机制: 手持 木碗(厨具) 右键 熟汤羹【右键转换】, 消耗1个木碗, 获得对应碗装成品 -- 各汤羹熟态出锅 -> 碗装XX 系列, 成品归 tangguo_finished 成品组 -- 碗装成品 = 【吃】(右键食用); 水煮蛋/豆腐 亦归 tangguo_finished -- 鱿鱼汤熟态 方块当前为禁用分类 -todo 各碗装成品 右键吃 (吃的操作后续由总食用功能实现) +转换1:土豆汤(rtdd:potatosoup) + 拿胡萝卜碎(rtdd:crushed_carrots)右键, 消耗4个 + → 变身 胡萝卜土豆汤(rtdd:carrotandpotatosoup) +转换2:胡萝卜汤(rtdd:carrotsoup) + 拿土豆块(rtdd:potato_wedges)右键, 消耗4个 + → 变身 胡萝卜土豆汤(rtdd:carrotandpotatosoup) +======================================== +菜谱 6 — 红蘑菇汤 +======================================== +步骤1:汤锅(加水)(rtdd:stewedsoupwater) + 拿红蘑菇(minecraft:red_mushroom)右键, 消耗5个 + → 变身 红蘑菇汤(rtdd:red_mushroomsoup) ======================================== -【方块清单】(中文 -> 英文id, 供实现对照) +菜谱 7 — 棕蘑菇汤 ======================================== -- 汤锅(空): stewedsoup; 汤锅(加水): stewedsoupwater; 锅盖: coverthepot -- 汤底: 胡萝卜汤(carrotsoup)、蔬菜汤(vegetablesoup)、蛋花汤(eggsoup)、 - 土豆汤(potatosoup)、胡萝卜土豆汤(carrotandpotatosoup)、红蘑菇汤(red_mushroomsoup)、 - 棕蘑菇汤(brownmushroomsoup)、蘑菇汤(mushroomsoup)、鳕鱼汤(codsoup)、 - 鲑鱼汤(salmonsoup)、土豆蛋花汤(potatoeggsoup) -- 汤羹(生_0/四分熟_1/八分熟_2/熟_3, 部分为三分熟/七分熟): - 胡萝卜牛肉汤(carrotbeefsoup)、胡萝卜羊肉汤(lambsoupwithturnips)、 - 胡萝卜排骨汤(carrotribs)、清汤羊肉(vegetablebeefsoup)、蔬菜牛肉汤(vegetablelambsoup)、 - 蔬菜瘦肉汤(vegetableleanbroth)、蔬菜乱炖(vegetablesstew)、 - 胡萝卜土豆牛骨汤(beefbonebroth)、土豆胡萝卜炖羊肉(lambstew)、 - 胡萝卜土豆羊排汤(vegetablepotatoesandlambsteaksoup)、胡萝卜鳕鱼汤(carrotcodsoup)、 - 胡萝卜鲑鱼汤(carrotfishsoup)、蛋花鳕鱼汤(eggcodsoup)、瘦肉蛋花汤(norieggsoup)、 - 豆腐汤(tufusoup)、豆腐鲑鱼汤(tufufishsoup)、蘑菇炖鸡(chickenstewwithmushrooms)、 - 猪蹄汤(rawpigfoodsoup)、羊肉泡馍汤(roujiamosoup)、生面汤(rawnoodlesoup)、 - 熟面汤(cookednoodlessoup)、饺子汤(dumplingssoup)、鱿鱼汤(squidsoup)、 - 蔬菜鱼片汤(vegetablefishsoup) - (部分熟态方块以 brown* 前缀命名: 如 brown_norieggsoup/browncarrotfishsoupsoup/ - brownlambsoupwithturnipssoup/brownpigfootsoup/brownvegetablefishsoup) -- 米饭: 生米锅(rawricepot)、熟米饭(ricepot_1/2/3)、饭团(rice_balls, 物品)、 - 碗装米饭(bowlofrice) -- 煮鸡蛋: 煮鸡蛋(生)(raweggsoup)、煮鸡蛋(熟)(cookedeggsoup)、水煮蛋(boiled_egg, 物品) -- 煮豆腐: 煮豆腐(生)(beancurdsoup_0)、煮豆腐(熟)(beancurdsoup_1)、豆腐(beancurd, 物品) -- 碗装成品(归 tangguo_finished): 碗装胡萝卜牛肉汤(bowlacarrotbeefsoup)、 - 碗装胡萝卜排骨汤(bowlacarrotribs)、碗装胡萝卜鳕鱼汤(bowlacarrotcodsoup)、 - 碗装牛骨汤(bowlabeefbonebroth)、碗装蛋花鳕鱼汤(bowlaeggcodsoup)、 - 碗装炖羊肉(bowlalambstew)、碗装羊排汤(bowla_lambchopsoup)、 - 碗装羊肉泡馍(bowla_roujiamo)、碗装豆腐鲑鱼汤(bowlatufufish)、 - 碗装清汤羊肉(bowlavegetablebeefsoup)、碗装蔬菜牛肉汤(bowlavegetablelambsoup)、 - 碗装蔬菜瘦肉汤(bowlavegetableleanbroth)、碗装蔬菜乱炖(bowlavegetablesstew)、 - 碗装蘑菇汤(bowlofmushroomsoup) -- 关联外部: 木碗(bowlasoup)/菜刀(cleaver)(厨具); 大米(brownrice)(乡野食材); - 豆浆(fruitjuice_7)(乡野饮料); 生面(noodles)/生饺子(dumplings_4)/馍(roujiamo_0)(面食.甜食) +步骤1:汤锅(加水)(rtdd:stewedsoupwater) + 拿棕蘑菇(minecraft:brown_mushroom)右键, 消耗5个 + → 变身 棕蘑菇汤(rtdd:brownmushroomsoup) + +======================================== +菜谱 8 — 蘑菇汤 +======================================== +转换1:红蘑菇汤(rtdd:red_mushroomsoup) + 拿棕蘑菇(minecraft:brown_mushroom)右键, 消耗5个 + → 变身 蘑菇汤(rtdd:mushroomsoup) +转换2:棕蘑菇汤(rtdd:brownmushroomsoup) + 拿红蘑菇(minecraft:red_mushroom)右键, 消耗5个 + → 变身 蘑菇汤(rtdd:mushroomsoup) + +======================================== +菜谱 9 — 鳕鱼汤 +======================================== +步骤1:汤锅(加水)(rtdd:stewedsoupwater) + 拿鳕鱼(minecraft:cod)右键, 消耗1个 + → 变身 鳕鱼汤(rtdd:codsoup) + +======================================== +菜谱 10 — 鲑鱼汤 +======================================== +步骤1:汤锅(加水)(rtdd:stewedsoupwater) + 拿鲑鱼(minecraft:salmon)右键, 消耗1个 + → 变身 鲑鱼汤(rtdd:salmonsoup) + +======================================== +菜谱 11 — 土豆蛋花汤 +======================================== +转换1:土豆汤(rtdd:potatosoup) + 拿鸡蛋(minecraft:egg)右键, 消耗3个 + → 变身 土豆蛋花汤(rtdd:potatoeggsoup) +转换2:蛋花汤(rtdd:eggsoup) + 拿土豆块(rtdd:potato_wedges)右键, 消耗4个 + → 变身 土豆蛋花汤(rtdd:potatoeggsoup) + +======================================== +菜谱 12 — 胡萝卜牛肉汤 +======================================== +步骤1:胡萝卜汤(rtdd:carrotsoup) + 拿生牛肉(minecraft:beef)右键, 消耗2个 + → 变身 胡萝卜牛肉汤_生(rtdd:carrotbeefsoup) +步骤2:胡萝卜牛肉汤_生(rtdd:carrotbeefsoup) 【计时】约30秒 + → 变身 胡萝卜牛肉汤_四分熟(rtdd:carrotbeefsoup_1) +步骤3:胡萝卜牛肉汤_四分熟(rtdd:carrotbeefsoup_1) 【计时】约30秒 + → 变身 胡萝卜牛肉汤_八分熟(rtdd:carrotbeefsoup_2) +步骤4:胡萝卜牛肉汤_八分熟(rtdd:carrotbeefsoup_2) 【计时】约30秒 + → 变身 胡萝卜牛肉汤_熟(rtdd:carrotbeefsoup_3) +步骤5:胡萝卜牛肉汤_熟(rtdd:carrotbeefsoup_3) + 拿木碗(rtdd:bowlasoup)右键, 消耗1个木碗 + → 获得 胡萝卜牛肉汤(rtdd:bowlacarrotbeefsoup),锅变回 汤锅(空)(rtdd:stewedsoup) + +======================================== +菜谱 13 — 胡萝卜羊肉汤 +======================================== +步骤1:胡萝卜汤(rtdd:carrotsoup) + 拿羊肉(minecraft:mutton)右键, 消耗2个 + → 变身 胡萝卜羊肉汤_生(rtdd:lambsoupwithturnips) +步骤2:胡萝卜羊肉汤_生(rtdd:lambsoupwithturnips) 【计时】约60秒 + → 变身 胡萝卜羊肉汤_四分熟(rtdd:lambsoupwithturnips_1) +步骤3:胡萝卜羊肉汤_四分熟(rtdd:lambsoupwithturnips_1) 【计时】约60秒 + → 变身 胡萝卜羊肉汤_八分熟(rtdd:lambsoupwithturnips_2) +步骤4:胡萝卜羊肉汤_八分熟(rtdd:lambsoupwithturnips_2) 【计时】约60秒 + → 变身 胡萝卜羊肉汤_熟(rtdd:lambsoupwithturnips_3) +步骤5:胡萝卜羊肉汤_熟(rtdd:lambsoupwithturnips_3) + 拿木碗(rtdd:bowlasoup)右键, 消耗1个木碗 + → 获得 胡萝卜羊肉汤,锅变回 汤锅(空)(rtdd:stewedsoup) + +======================================== +菜谱 14 — 胡萝卜排骨汤 +======================================== +步骤1:胡萝卜汤(rtdd:carrotsoup) + 拿猪肋排 右键, 消耗2个 + → 变身 胡萝卜排骨汤_生(rtdd:carrotribs) +步骤2:胡萝卜排骨汤_生(rtdd:carrotribs) 【计时】约60秒 + → 变身 胡萝卜排骨汤_四分熟(rtdd:carrotribs_1) +步骤3:胡萝卜排骨汤_四分熟(rtdd:carrotribs_1) 【计时】约60秒 + → 变身 胡萝卜排骨汤_八分熟(rtdd:carrotribs_2) +步骤4:胡萝卜排骨汤_八分熟(rtdd:carrotribs_2) 【计时】约60秒 + → 变身 胡萝卜排骨汤_熟(rtdd:carrotribs_3) +步骤5:胡萝卜排骨汤_熟(rtdd:carrotribs_3) + 拿木碗(rtdd:bowlasoup)右键, 消耗1个木碗 + → 获得 胡萝卜排骨汤(rtdd:bowlacarrotribs),锅变回 汤锅(空)(rtdd:stewedsoup) + +======================================== +菜谱 15 — 清汤羊肉 +======================================== +步骤1:蔬菜汤(rtdd:vegetablesoup) + 拿生羊肉右键, 消耗2个 + → 变身 清汤羊肉_生(rtdd:vegetablebeefsoup) +步骤2:清汤羊肉_生(rtdd:vegetablebeefsoup) 【计时】约60秒 + → 变身 清汤羊肉_四分熟(rtdd:vegetablebeefsoup_1) +步骤3:清汤羊肉_四分熟(rtdd:vegetablebeefsoup_1) 【计时】约60秒 + → 变身 清汤羊肉_八分熟(rtdd:vegetablebeefsoup_2) +步骤4:清汤羊肉_八分熟(rtdd:vegetablebeefsoup_2) 【计时】约60秒 + → 变身 清汤羊肉_熟(rtdd:vegetablebeefsoup_3) +步骤5:清汤羊肉_熟(rtdd:vegetablebeefsoup_3) + 拿木碗(rtdd:bowlasoup)右键, 消耗1个木碗 + → 获得 清汤羊肉(rtdd:bowlavegetablebeefsoup),锅变回 汤锅(空)(rtdd:stewedsoup) + +======================================== +菜谱 16 — 蔬菜牛肉汤 +======================================== +步骤1:蔬菜汤(rtdd:vegetablesoup) + 拿生牛肉右键, 消耗2个 + → 变身 蔬菜牛肉汤_生(rtdd:vegetablelambsoup) +步骤2:蔬菜牛肉汤_生(rtdd:vegetablelambsoup) 【计时】约60秒 + → 变身 蔬菜牛肉汤_四分熟(rtdd:vegetablelambsoup_1) +步骤3:蔬菜牛肉汤_四分熟(rtdd:vegetablelambsoup_1) 【计时】约60秒 + → 变身 蔬菜牛肉汤_八分熟(rtdd:vegetablelambsoup_2) +步骤4:蔬菜牛肉汤_八分熟(rtdd:vegetablelambsoup_2) 【计时】约60秒 + → 变身 蔬菜牛肉汤_熟(rtdd:vegetablelambsoup_3) +步骤5:蔬菜牛肉汤_熟(rtdd:vegetablelambsoup_3) + 拿木碗(rtdd:bowlasoup)右键, 消耗1个木碗 + → 获得 蔬菜牛肉汤(rtdd:bowlavegetablelambsoup),锅变回 汤锅(空)(rtdd:stewedsoup) + +======================================== +菜谱 17 — 蔬菜瘦肉汤 +======================================== +步骤1:蔬菜汤(rtdd:vegetablesoup) + 拿碎肉(rtdd:crushedmeat)右键, 消耗5个 + → 变身 蔬菜瘦肉汤_生(rtdd:vegetableleanbroth) +步骤2:蔬菜瘦肉汤_生(rtdd:vegetableleanbroth) 【计时】约60秒 + → 变身 蔬菜瘦肉汤_四分熟(rtdd:vegetableleanbroth_1) +步骤3:蔬菜瘦肉汤_四分熟(rtdd:vegetableleanbroth_1) 【计时】约60秒 + → 变身 蔬菜瘦肉汤_八分熟(rtdd:vegetableleanbroth_2) +步骤4:蔬菜瘦肉汤_八分熟(rtdd:vegetableleanbroth_2) 【计时】约60秒 + → 变身 蔬菜瘦肉汤_熟(rtdd:vegetableleanbroth_3) +步骤5:蔬菜瘦肉汤_熟(rtdd:vegetableleanbroth_3) + 拿木碗(rtdd:bowlasoup)右键, 消耗1个木碗 + → 获得 蔬菜瘦肉汤(rtdd:bowlavegetableleanbroth),锅变回 汤锅(空)(rtdd:stewedsoup) + +======================================== +菜谱 18 — 蔬菜乱炖 +======================================== +转换1:蔬菜汤(rtdd:vegetablesoup) + 拿胡萝卜土豆汤右键, 消耗1个 + → 变身 蔬菜乱炖_生(rtdd:vegetablesstew) 掉落一个汤锅(空) +转换2: 胡萝卜土豆汤+ 拿青菜碎右键, 消耗3个 + → 变身 蔬菜乱炖_生(rtdd:vegetablesstew) +计时1:蔬菜乱炖_生(rtdd:vegetablesstew) 【计时】约60秒 + → 变身 蔬菜乱炖_四分熟(rtdd:vegetablesstew_1) +计时2:蔬菜乱炖_四分熟(rtdd:vegetablesstew_1) 【计时】约60秒 + → 变身 蔬菜乱炖_八分熟(rtdd:vegetablesstew_2) +计时3:蔬菜乱炖_八分熟(rtdd:vegetablesstew_2) 【计时】约60秒 + → 变身 蔬菜乱炖_熟(rtdd:vegetablesstew_3) +出锅:蔬菜乱炖_熟(rtdd:vegetablesstew_3) + 拿木碗(rtdd:bowlasoup)右键, 消耗1个木碗 + → 获得 蔬菜乱炖(rtdd:bowlavegetablesstew),锅变回 汤锅(空)(rtdd:stewedsoup) + +======================================== +菜谱 19 — 胡萝卜土豆牛骨汤 +======================================== +步骤1:胡萝卜土豆汤(rtdd:carrotandpotatosoup) + 拿牛肋右键, 消耗2个 + → 变身 胡萝卜土豆牛骨汤_生(rtdd:beefbonebroth) +步骤2:胡萝卜土豆牛骨汤_生(rtdd:beefbonebroth) 【计时】约60秒 + → 变身 胡萝卜土豆牛骨汤_四分熟(rtdd:beefbonebroth_1) +步骤3:胡萝卜土豆牛骨汤_四分熟(rtdd:beefbonebroth_1) 【计时】约60秒 + → 变身 胡萝卜土豆牛骨汤_八分熟(rtdd:beefbonebroth_2) +步骤4:胡萝卜土豆牛骨汤_八分熟(rtdd:beefbonebroth_2) 【计时】约60秒 + → 变身 胡萝卜土豆牛骨汤_熟(rtdd:beefbonebroth_3) +步骤5:胡萝卜土豆牛骨汤_熟(rtdd:beefbonebroth_3) + 拿木碗(rtdd:bowlasoup)右键, 消耗1个木碗 + → 获得 胡萝卜土豆牛骨汤(rtdd:bowlabeefbonebroth),锅变回 汤锅(空)(rtdd:stewedsoup) + +======================================== +菜谱 20 — 土豆胡萝卜炖羊肉 +======================================== +步骤1:胡萝卜土豆汤(rtdd:carrotandpotatosoup) + 拿生羊肉右键, 消耗2个 + → 变身 土豆胡萝卜炖羊肉_生(rtdd:lambstew) +步骤2:土豆胡萝卜炖羊肉_生(rtdd:lambstew) 【计时】约60秒 + → 变身 土豆胡萝卜炖羊肉_四分熟(rtdd:lambstew_1) +步骤3:土豆胡萝卜炖羊肉_四分熟(rtdd:lambstew_1) 【计时】约60秒 + → 变身 土豆胡萝卜炖羊肉_八分熟(rtdd:lambstew_2) +步骤4:土豆胡萝卜炖羊肉_八分熟(rtdd:lambstew_2) 【计时】约60秒 + → 变身 土豆胡萝卜炖羊肉_熟(rtdd:lambstew_3) +步骤5:土豆胡萝卜炖羊肉_熟(rtdd:lambstew_3) + 拿木碗(rtdd:bowlasoup)右键, 消耗1个木碗 + → 获得 土豆胡萝卜炖羊肉(rtdd:bowlalambstew),锅变回 汤锅(空)(rtdd:stewedsoup) + +======================================== +菜谱 21 — 胡萝卜土豆羊排汤 +======================================== +步骤1:胡萝卜土豆汤(rtdd:carrotandpotatosoup) + 拿羊小排(rtdd:sheepracks)右键, 消耗2个 + → 变身 胡萝卜土豆羊排汤_生(rtdd:vegetablepotatoesandlambsteaksoup) +步骤2:胡萝卜土豆羊排汤_生(rtdd:vegetablepotatoesandlambsteaksoup) 【计时】约60秒 + → 变身 胡萝卜土豆羊排汤_三分熟(rtdd:lambchopsoup_1) +步骤3:胡萝卜土豆羊排汤_三分熟(rtdd:lambchopsoup_1) 【计时】约60秒 + → 变身 胡萝卜土豆羊排汤_七分熟(rtdd:lambchopsoup_2) +步骤4:胡萝卜土豆羊排汤_七分熟(rtdd:lambchopsoup_2) 【计时】约60秒 + → 变身 胡萝卜土豆羊排汤_熟(rtdd:lambchopsoup_3) +步骤5:胡萝卜土豆羊排汤_熟(rtdd:lambchopsoup_3) + 拿木碗(rtdd:bowlasoup)右键, 消耗1个木碗 + → 获得 胡萝卜土豆羊排汤(rtdd:bowla_lambchopsoup),锅变回 汤锅(空)(rtdd:stewedsoup) + +======================================== +菜谱 22 — 胡萝卜鳕鱼汤 +======================================== +步骤1:胡萝卜汤(rtdd:carrotsoup) + 拿鳕鱼(minecraft:cod)右键, 消耗1个 + → 变身 胡萝卜鳕鱼汤_生(rtdd:carrotcodsoup) +步骤2:胡萝卜鳕鱼汤_生(rtdd:carrotcodsoup) 【计时】约60秒 + → 变身 胡萝卜鳕鱼汤_三分熟(rtdd:carrotcodsoup_1) +步骤3:胡萝卜鳕鱼汤_三分熟(rtdd:carrotcodsoup_1) 【计时】约60秒 + → 变身 胡萝卜鳕鱼汤_七分熟(rtdd:carrotcodsoup_2) +步骤4:胡萝卜鳕鱼汤_七分熟(rtdd:carrotcodsoup_2) 【计时】约60秒 + → 变身 胡萝卜鳕鱼汤_熟(rtdd:carrotcodsoup_3) +步骤5:胡萝卜鳕鱼汤_熟(rtdd:carrotcodsoup_3) + 拿木碗(rtdd:bowlasoup)右键, 消耗1个木碗 + → 获得 胡萝卜鳕鱼汤(rtdd:bowlacarrotcodsoup),锅变回 汤锅(空)(rtdd:stewedsoup) + +======================================== +菜谱 23 — 胡萝卜鲑鱼汤 +======================================== +步骤1:胡萝卜汤(rtdd:carrotsoup) + 拿鲑鱼(minecraft:salmon)右键, 消耗1个 + → 变身 胡萝卜鲑鱼汤_生(rtdd:carrotfishsoup) +步骤2:胡萝卜鲑鱼汤_生(rtdd:carrotfishsoup) 【计时】约60秒 + → 变身 胡萝卜鲑鱼汤_三分熟(rtdd:carrotfishsoup_1) +步骤3:胡萝卜鲑鱼汤_三分熟(rtdd:carrotfishsoup_1) 【计时】约60秒 + → 变身 胡萝卜鲑鱼汤_七分熟(rtdd:carrotfishsoup_2) +步骤4:胡萝卜鲑鱼汤_七分熟(rtdd:carrotfishsoup_2) 【计时】约60秒 + → 变身 胡萝卜鲑鱼汤_熟(rtdd:carrotfishsoup_3) +步骤5:胡萝卜鲑鱼汤_熟(rtdd:carrotfishsoup_3) + 拿木碗(rtdd:bowlasoup)右键, 消耗1个木碗 + → 获得 胡萝卜鲑鱼汤,锅变回 汤锅(空)(rtdd:stewedsoup) + +======================================== +菜谱 24 — 蛋花鳕鱼汤 +======================================== +转换1:鳕鱼汤(rtdd:codsoup) + 拿鸡蛋(minecraft:egg)右键, 消耗3个 + → 变身 蛋花鳕鱼汤_生(rtdd:eggcodsoup) +转换2:蛋花汤(rtdd:eggsoup) + 拿鳕鱼(minecraft:cod)右键, 消耗1个 + → 变身 蛋花鳕鱼汤_生(rtdd:eggcodsoup) +计时1:蛋花鳕鱼汤_生(rtdd:eggcodsoup) 【计时】约60秒 + → 变身 蛋花鳕鱼汤_四分熟(rtdd:eggcodsoup_1) +计时2:蛋花鳕鱼汤_四分熟(rtdd:eggcodsoup_1) 【计时】约60秒 + → 变身 蛋花鳕鱼汤_八分熟(rtdd:eggcodsoup_2) +计时3:蛋花鳕鱼汤_八分熟(rtdd:eggcodsoup_2) 【计时】约60秒 + → 变身 蛋花鳕鱼汤_熟(rtdd:eggcodsoup_3) +出锅:蛋花鳕鱼汤_熟(rtdd:eggcodsoup_3) + 拿木碗(rtdd:bowlasoup)右键, 消耗1个木碗 + → 获得 蛋花鳕鱼汤(rtdd:bowlaeggcodsoup),锅变回 汤锅(空)(rtdd:stewedsoup) + +======================================== +菜谱 25 — 瘦肉蛋花汤 +======================================== +转换1:蛋花汤(rtdd:eggsoup) + 拿碎肉(rtdd:crushedmeat)右键, 消耗5个 + → 变身 瘦肉蛋花汤_生(rtdd:norieggsoup) +转换2:蔬菜瘦肉汤(rtdd:vegetableleanbroth) + 拿鸡蛋(minecraft:egg)右键, 消耗3个 + → 变身 瘦肉蛋花汤_生(rtdd:norieggsoup) +计时1:瘦肉蛋花汤_生(rtdd:norieggsoup) 【计时】约30秒 + → 变身 瘦肉蛋花汤_三分熟(rtdd:norieggsoup_0) +计时2:瘦肉蛋花汤_三分熟(rtdd:norieggsoup_0) 【计时】约30秒 + → 变身 瘦肉蛋花汤_七分熟(rtdd:norieggsoup_1) +计时3:瘦肉蛋花汤_七分熟(rtdd:norieggsoup_1) 【计时】约30秒 + → 变身 瘦肉蛋花汤_全熟(rtdd:norieggsoup_2) +计时4:瘦肉蛋花汤_全熟(rtdd:norieggsoup_2) 【计时】约30秒 + → 变身 瘦肉蛋花汤_熟(rtdd:norieggsoup_3) +出锅:瘦肉蛋花汤_熟(rtdd:norieggsoup_3) + 拿木碗(rtdd:bowlasoup)右键, 消耗1个木碗 + → 获得 瘦肉蛋花汤,锅变回 汤锅(空)(rtdd:stewedsoup) +(瘦肉已放弃, 用碎肉替代) + +======================================== +菜谱 26 — 豆腐鲑鱼汤 +======================================== +转换1:豆腐汤(rtdd:tufusoup) + 拿鲑鱼(minecraft:salmon)右键, 消耗1个 + → 变身 豆腐鲑鱼汤_生(rtdd:tufufishsoup) +转换2:鲑鱼汤(rtdd:salmonsoup) + 拿豆腐(rtdd:beancurd)右键, 消耗4个 + → 变身 豆腐鲑鱼汤_生(rtdd:tufufishsoup) +计时1:豆腐鲑鱼汤_生(rtdd:tufufishsoup) 【计时】约60秒 + → 变身 豆腐鲑鱼汤_四分熟(rtdd:tufufishsoup_1) +计时2:豆腐鲑鱼汤_四分熟(rtdd:tufufishsoup_1) 【计时】约60秒 + → 变身 豆腐鲑鱼汤_八分熟(rtdd:tufufishsoup_2) +计时3:豆腐鲑鱼汤_八分熟(rtdd:tufufishsoup_2) 【计时】约60秒 + → 变身 豆腐鲑鱼汤_熟(rtdd:tufufishsoup_3) +出锅:豆腐鲑鱼汤_熟(rtdd:tufufishsoup_3) + 拿木碗(rtdd:bowlasoup)右键, 消耗1个木碗 + → 获得 豆腐鲑鱼汤(rtdd:bowlatufufish),锅变回 汤锅(空)(rtdd:stewedsoup) + +======================================== +菜谱 27 — 豆腐汤 +======================================== +步骤1:汤锅(加水)(rtdd:stewedsoupwater) + 拿豆腐(rtdd:beancurd)右键, 消耗4个 + → 变身 豆腐汤(rtdd:tufusoup) + +======================================== +菜谱 28 — 蘑菇炖鸡 +======================================== +步骤1:蘑菇汤(rtdd:mushroomsoup) + 拿生鸡肉(minecraft:chicken)右键, 消耗1个 + → 变身 蘑菇炖鸡_生(rtdd:chickenstewwithmushrooms) +步骤2:蘑菇炖鸡_生(rtdd:chickenstewwithmushrooms) 【计时】约90秒 + → 变身 蘑菇炖鸡_四分熟(rtdd:chickenstewwithmushrooms_1) +步骤3:蘑菇炖鸡_四分熟(rtdd:chickenstewwithmushrooms_1) 【计时】约90秒 + → 变身 蘑菇炖鸡_八分熟(rtdd:chickenstewwithmushrooms_2) +步骤4:蘑菇炖鸡_八分熟(rtdd:chickenstewwithmushrooms_2) 【计时】约90秒 + → 变身 蘑菇炖鸡_熟(rtdd:chickenstewwithmushrooms_3) +步骤5:蘑菇炖鸡_熟(rtdd:chickenstewwithmushrooms_3) + 拿木碗(rtdd:bowlasoup)右键, 消耗1个木碗 + → 获得 蘑菇炖鸡(rtdd:bowlofmushroomsoup),锅变回 汤锅(空)(rtdd:stewedsoup) + +======================================== +菜谱 29 — 猪蹄汤 +======================================== +步骤1:汤锅(加水)(rtdd:stewedsoupwater) + 拿猪蹄(rtdd:ham)右键, 消耗2个 + → 变身 猪蹄汤_生(rtdd:rawpigfoodsoup_0) + 猪蹄汤_生(rtdd:rawpigfoodsoup_0) + 拿土豆碎(rtdd:potato_wedges)右键, 消耗3个 + → 变身 汤锅_67(猪蹄汤_加土豆) +步骤2:汤锅_67(猪蹄汤_加土豆) 【计时】约30秒 + → 变身 汤锅_68(猪蹄汤_三分熟) +步骤3:汤锅_68(猪蹄汤_三分熟) 【计时】约30秒 + → 变身 汤锅_69(猪蹄汤_七分熟) +步骤4:汤锅_69(猪蹄汤_七分熟) 【计时】约30秒 + → 变身 汤锅_70(猪蹄汤_全熟) +步骤5:汤锅_70(猪蹄汤_全熟) + 拿木碗(rtdd:bowlasoup)右键, 消耗1个木碗 + → 获得 猪蹄汤,锅变回 汤锅(空)(rtdd:stewedsoup) + +======================================== +菜谱 30 — 羊肉泡馍汤 +======================================== +步骤1:汤锅(加水)(rtdd:stewedsoupwater) + 拿馍(rtdd:roujiamo_0)右键, 消耗1个 + → 变身 羊肉泡馍汤_生(rtdd:roujiamosoup_0) +步骤2:羊肉泡馍汤_生(rtdd:roujiamosoup_0) 【计时】约30秒 + → 变身 羊肉泡馍汤_熟(rtdd:roujiamosoup_1) +步骤3:羊肉泡馍汤_熟(rtdd:roujiamosoup_1) + 拿木碗(rtdd:bowlasoup)右键, 消耗1个木碗 + → 获得 羊肉泡馍汤(rtdd:bowla_roujiamo),锅变回 汤锅(空)(rtdd:stewedsoup) + +======================================== +菜谱 31 — 生面汤 +======================================== +步骤1:汤锅(加水)(rtdd:stewedsoupwater) + 拿生面(rtdd:noodles)右键, 消耗1个 + → 变身 生面汤_生(rtdd:rawnoodlesoup) +步骤2:生面汤_生(rtdd:rawnoodlesoup) 【计时】约60秒 + → 变身 熟面汤(rtdd:cookednoodlessoup) +步骤3:熟面汤(rtdd:cookednoodlessoup) + 拿木碗(rtdd:bowlasoup)右键, 消耗1个木碗 + → 获得 熟面条(rtdd:noodle_soup),锅变回 汤锅(空)(rtdd:stewedsoup) + +======================================== +菜谱 32 — 饺子汤 +======================================== +步骤1:汤锅(加水)(rtdd:stewedsoupwater) + 拿生饺子(rtdd:dumplings_4)右键, 消耗1个 + → 变身 饺子汤_生(rtdd:dumplingssoup_0) +步骤2:饺子汤_生(rtdd:dumplingssoup_0) 【计时】约60秒 + → 变身 饺子汤_五分熟(rtdd:dumplingssoup_1) +步骤3:饺子汤_五分熟(rtdd:dumplingssoup_1) 【计时】约60秒 + → 变身 饺子汤_熟(rtdd:dumplingssoup_2) +步骤4:饺子汤_熟(rtdd:dumplingssoup_2) + 拿木碗(rtdd:bowlasoup)右键, 消耗1个木碗 + → 获得 饺子_碗装,锅变回 汤锅(空)(rtdd:stewedsoup) +todo 饺子汤_熟(rtdd:dumplingssoup_2) + 拿盘子 右键, 消耗1个盘子 + → 获得 美味饺子(全份)盘装 +======================================== + +======================================== +菜谱 34 — 蔬菜鱼片汤 +======================================== +步骤1:蔬菜汤(rtdd:vegetablesoup) + 拿生鱼片(rtdd:sashimi)右键, 消耗10个 + → 变身 蔬菜鱼片汤_生(rtdd:vegetablefishsoup_0) +步骤2:蔬菜鱼片汤_生(rtdd:vegetablefishsoup_0) 【计时】约60秒 + → 变身 蔬菜鱼片汤_四分熟(rtdd:vegetablefishsoup_1) +步骤3:蔬菜鱼片汤_四分熟(rtdd:vegetablefishsoup_1) 【计时】约60秒 + → 变身 蔬菜鱼片汤_八分熟(rtdd:vegetablefishsoup_2) +步骤4:蔬菜鱼片汤_八分熟(rtdd:vegetablefishsoup_2) 【计时】约60秒 + → 变身 蔬菜鱼片汤_熟(rtdd:vegetablefishsoup_3) +步骤5:蔬菜鱼片汤_熟(rtdd:vegetablefishsoup_3) + 拿木碗(rtdd:bowlasoup)右键, 消耗1个木碗 + → 获得 蔬菜鱼片汤,锅变回 汤锅(空)(rtdd:stewedsoup) + +======================================== +菜谱 35 — 生米锅 +======================================== +步骤1:汤锅(加水)(rtdd:stewedsoupwater) + 拿大米(rtdd:brownrice)右键, 消耗64个 + → 变身 生米锅(rtdd:rawricepot) + +======================================== +菜谱 36 — 熟米饭(一级计时, 形态随机) +======================================== +步骤1:生米锅(rtdd:rawricepot) 【计时】约90秒, 不消耗 + → 变身 熟米饭_形态1(rtdd:ricepot_1) / 形态2(rtdd:ricepot_2) / 形态3(rtdd:ricepot_3),三种随机出其一 +(不是逐级转换: 一级计时到点后 三种形态随机出现一个; 对应形态 使用木碗右键 -> 获得对应形态的米饭, 见 菜谱37/38) + + + +======================================== +菜谱 37 — 饭团 +======================================== +步骤1:熟米饭(形态1/2/3) + 空手右键, 不消耗 + → 获得 饭团(rtdd:rice_balls) 16个,锅变回 汤锅(空) + +======================================== +菜谱 38 — 碗装米饭 +======================================== +步骤1:熟米饭_形态1(rtdd:ricepot_1) + 拿木碗(rtdd:bowlasoup)右键, 消耗1个木碗 + → 获得 熟米饭_形态1,锅变回 汤锅(空)(rtdd:stewedsoup) +步骤2:熟米饭_形态2(rtdd:ricepot_2) + 拿木碗(rtdd:bowlasoup)右键, 消耗1个木碗 + → 获得 熟米饭_形态2,锅变回 汤锅(空)(rtdd:stewedsoup) +步骤3:熟米饭_形态3(rtdd:ricepot_3) + 拿木碗(rtdd:bowlasoup)右键, 消耗1个木碗 + → 获得 熟米饭_形态3,锅变回 汤锅(空)(rtdd:stewedsoup) +(碗装米饭 右键吃 后续由总食用功能实现) + + +======================================== +菜谱 39 — 煮鸡蛋(生) +======================================== +步骤1:汤锅(加水)(rtdd:stewedsoupwater) + 拿鸡蛋堆右键, 消耗1个 + → 变身 煮鸡蛋_生(rtdd:raweggsoup) + +======================================== +菜谱 40 — 煮鸡蛋(熟) +======================================== +步骤1:煮鸡蛋_生(rtdd:raweggsoup) 【计时】约60秒, 不消耗 + → 变身 煮鸡蛋_熟(rtdd:cookedeggsoup) + +======================================== +菜谱 41 — 水煮蛋 +======================================== +步骤1:煮鸡蛋_熟(rtdd:cookedeggsoup) + 右键, + → 获得 水煮蛋(rtdd:boiled_egg)9个,锅变回 汤锅(空) + +======================================== +菜谱 42 — 煮豆腐(生) +======================================== +步骤1:汤锅(加水)(rtdd:stewedsoupwater) + 拿豆浆(rtdd:fruitjuice_7)右键, 消耗1个 + → 变身 煮豆腐_生(rtdd:beancurdsoup_0) + +======================================== +菜谱 43 — 煮豆腐(熟) +======================================== +步骤1:煮豆腐_生(rtdd:beancurdsoup_0) 【计时】约60秒, 不消耗 + → 变身 煮豆腐_熟(rtdd:beancurdsoup_1) + +======================================== +菜谱 44 — 豆腐 +======================================== +步骤1:煮豆腐_熟(rtdd:beancurdsoup_1) + 拿菜刀(rtdd:cleaver)右键, 不消耗刀 + → 获得 豆腐(rtdd:beancurd) 16个,锅变回 汤锅(空) + +======================================== + +七、出锅说明 +======================================== +机制: 各汤羹熟态 手持 木碗(rtdd:bowlasoup) 右键 出锅, 消耗1个木碗, 获得 成品, 锅变回 汤锅(空) +- 所有获得 都以 掉落物形式! +- 成品 = 【吃】(右键食用), 归 tangguo_finished 成品组; 水煮蛋/豆腐 亦归 tangguo_finished +todo 成品 右键吃 (吃的操作后续由总食用功能实现) + +======================================== +八、汤面分组(itemGroup.name.food_02_rice_noodle) +======================================== +机制: 熟面条(rtdd:noodle_soup) 由 菜谱31(生面汤) 煮出; + 其余汤面 = 手持 汤锅成品菜 右键 熟面条(方块)【右键转换】, 消耗1个 掉落一个 木碗 +(按名字成分对应, 均为汤锅的菜) +- 猪排蔬菜面: noodlesoup_1 = 胡萝卜排骨汤 + 熟面条 (猪排骨+胡萝卜) +- 羊排蔬菜面: noodlesoup_2 = 胡萝卜土豆羊排汤 + 熟面条 (羊排) +- 牛骨面: noodlesoup_3 = 胡萝卜土豆牛骨汤 + 熟面条 (牛骨) +- 小鸡炖蘑菇面: noodlesoup_4 = 蘑菇炖鸡 + 熟面条 (小鸡+蘑菇) +- 胡萝卜蔬菜面: assortedramen = 蔬菜乱炖 + 熟面条 (胡萝卜碎+青菜碎) +- 胡萝卜蔬菜牛肉面: braisednoodles = 蔬菜牛肉汤 + 熟面条 (蔬菜+牛肉) +- 香菇面: mushroomnoodles = 蘑菇汤 + 熟面条 (蘑菇) +- 蔬菜鱼片面: yushengramen = 蔬菜鱼片汤 + 熟面条 (蔬菜+鱼片) +- 蔬菜面: vegetable_noodles = 蔬菜汤 + 熟面条 (蔬菜) +- 蛋花面: noodles_1 = 蛋花汤 + 熟面条 (蛋花) +- 蛋花面(加葱花): noodles_2 = 蛋花面 + 葱花碎 (加葱花) +- 鸡蛋面: egg_noodles = 水煮蛋 + 熟面条 (鸡蛋) +- 猪排拉面: tonkotsu_ramen = 猪排蔬菜面 + 水煮蛋 (加蛋) + (即 猪排蔬菜面加水煮蛋, 由 猪排蔬菜面 加 水煮蛋 得来) +- 所有汤面 均 空手右键直接吃, 归【吃】, 后续由总食用功能实现 + +======================================== +九、成品菜清单(归 tangguo_finished, 均为【吃】) +======================================== +所有出锅产物 均以掉落物形式获得, 右键吃 后续由总食用功能实现: +- 胡萝卜牛肉汤 (bowlacarrotbeefsoup) +- 胡萝卜羊肉汤 +- 胡萝卜排骨汤 (bowlacarrotribs) +- 清汤羊肉 (bowlavegetablebeefsoup) +- 蔬菜牛肉汤 (bowlavegetablelambsoup) +- 蔬菜瘦肉汤 (bowlavegetableleanbroth) +- 蔬菜乱炖 (bowlavegetablesstew) +- 胡萝卜土豆牛骨汤 (bowlabeefbonebroth) +- 土豆胡萝卜炖羊肉 (bowlalambstew) +- 胡萝卜土豆羊排汤 (bowla_lambchopsoup) +- 胡萝卜鳕鱼汤 (bowlacarrotcodsoup) +- 胡萝卜鲑鱼汤 +- 蛋花鳕鱼汤 (bowlaeggcodsoup) +- 瘦肉蛋花汤 +- 豆腐鲑鱼汤 (bowlatufufish) +- 蘑菇炖鸡 (bowlofmushroomsoup) +- 猪蹄汤 +- 羊肉泡馍汤 (bowla_roujiamo) +- 熟面条 (noodle_soup) +- 饺子_碗装 / 美味饺子(全份)盘装 (plate_30) +- 蔬菜鱼片汤 +- 熟米饭_形态1/2/3 (ricepot_1/2/3) +- 碗装米饭 (bowlofrice) +- 水煮蛋 (boiled_egg) +- 豆腐 (beancurd) + diff --git a/tuilun/炒锅转化关系.txt b/tuilun/炒锅转化关系.txt index cb94a3b..d1ba601 100644 --- a/tuilun/炒锅转化关系.txt +++ b/tuilun/炒锅转化关系.txt @@ -2,150 +2,566 @@ 【炒锅】(xy_chaoguo) 转化关系 ======================================== 说明: -- 正文全部用中文方块名, 英文id见文末【方块清单】 -- 炒锅方块: 炒锅、锅盖、添油锅; 锅底: 胡萝卜锅底/蔬菜锅底/辣椒锅底 +- 正文全部用中文方块名, 英文id写在括号里 +- 炒锅方块: 炒锅(wok)、锅盖(coverthepan)、添油锅(oilpan); 工具: 锅铲(spatula)、盘子(plate_0) - 核心流程: 添油【右键转换】 -> 起锅底【右键转换】 -> 加料【右键转换】 -> - 翻炒【右键转换】(锅铲3次/级) -> 熟 -> 出锅【右键转换】 -> 盘装成品【吃】 -- 全部菜式形态: 菜(生) -> 菜(熟), 用 锅铲 右键翻炒, 每3次升一级 -- 出锅: 手持 盘子 右键 熟菜, 消耗1个盘子, 获得成品菜 -- 炒锅需放在 点燃的炉灶(stove_2) 上(下方判定)才可翻炒/计时; 炉灶移走则暂停 - -【操作类型图例】 - 【右键转换】= 手持指定物品右键方块触发(翻炒用锅铲右键) - 【计时】 = 方块自动计时转换(约60秒一级) - 【吃】 = 成品可直接右键食用 + 翻炒【右键转换】(锅铲, 3次/级, 冷却1.5秒) -> 熟 -> 空手出锅【右键转换】 -> 盘装成品 +- 翻炒: 手持 锅铲(spatula) 右键 菜(生), 每次右键=1次翻炒, 冷却1.5秒, 3次升一级 +- 出锅: 空手右键 熟菜, 锅变回 空炒锅(wok), 获得 盘装成品(掉落物) +- 炒锅需放在 点燃的炉灶(stove_2) 上(下方判定)才可翻炒; 炉灶移走则暂停 【跨分类关联】 - 锅铲/带油锅铲/盘子: 厨具; 带油锅铲用完变回锅铲(厨具转化关系.txt 七) - 点燃的炉灶(stove_2): 厨具 炉灶加柴点燃 -- 碗装米饭: 汤锅 大米煮饭木碗盛出(汤锅转化关系.txt 39a); 与寿司饭团同源不同用 -- 煎蛋: 本分类 第19条; 鸡蛋一蛋三用(煎蛋/汤锅煮鸡蛋/蛋花汤) +- 碗装米饭: 汤锅 大米煮饭木碗盛出; 与寿司饭团同源不同用 +- 煎蛋: 鸡蛋一蛋三用(煎蛋/汤锅煮鸡蛋/蛋花汤) - 生面/面团: 面食.甜食 -- 豆腐: 汤锅 煮豆腐(汤锅转化关系.txt 45) +- 豆腐: 汤锅 煮豆腐(汤锅转化关系.txt) - 香菇: 原版蘑菇替代(已放弃独立香菇食材) - 食材: 乡野食材分类(切配碎食材: 胡萝卜碎/土豆块/青菜碎/葱花碎/蒜末 及 肉/鱼/辣椒等) ======================================== -一、基础工具 +【炒锅 -> 添油锅】 ======================================== -1. 炒锅 -> 添油锅 【右键转换】 -转换条件:[手持 带油锅铲 右键, 不消耗油铲] -机制: 带油锅铲右键空锅添油, 变添油锅; 带油锅铲用完变回锅铲(见 厨具转化关系.txt 七) -2. 炒锅 <-> 炒锅(盖锅) 盖/掀锅盖 双向 【右键转换】 -转换条件:[右键 进行转换] +步骤1:炒锅(rtdd:wok) + 拿带油锅铲(rtdd:spatula_oil)右键, 不消耗油铲 + → 变身 添油锅(rtdd:oilpan),带油锅铲用完变回锅铲(rtdd:spatula) ======================================== -二、锅底(添油锅 + 食材) +【炒锅 <-> 炒锅(盖锅)】(双向) ======================================== -机制: 手持食材 右键 添油锅【右键转换】, 消耗1个, 变对应锅底 -(食材均为切配后的碎食材: 胡萝卜碎/土豆块/青菜碎/葱花碎/蒜末) -3. 添油锅 + 辣椒(乡野食材) -> 辣椒锅底 【右键转换】 -4. 添油锅 + 胡萝卜碎 -> 胡萝卜锅底 【右键转换】 -机制: 胡萝卜锅底 = 炒菜主锅底, 后续加肉/鱼成菜 -5. 添油锅 + 青菜碎/葱花碎 -> 蔬菜锅底 【右键转换】 -机制: 原名"香菜锅底", 因无香菜改用葱花碎/青菜碎, 变蔬菜锅底 +步骤1:炒锅(rtdd:wok) + 空手右键, 不消耗 + → 变身 炒锅(盖锅) +步骤2:炒锅(盖锅) + 空手右键, 不消耗 + → 变身 炒锅(rtdd:wok) ======================================== -三、食材炒锅(添油锅 + 食材 -> 生 -> 翻炒 -> 熟) +菜谱 1 — 辣椒锅底 ======================================== -机制: 手持食材 右键 添油锅【右键转换】-> 生; 手持 锅铲 右键翻炒【右键转换】, 3次升一级 -6. 添油锅 + 生猪肉 -> 炒猪肉(生) -> 翻炒3次 -> 熟 【右键转换】 -7. 添油锅 + 生鸡肉 -> 炒鸡肉(生) -> 熟 【右键转换】 -8. 添油锅 + 面团(面食.甜食) -> 煎面饼(生) -> 熟 【右键转换】 -9. 添油锅 + 土豆块 -> 炒土豆(生) -> 翻炒3次 -> 熟 【右键转换】 -10. 添油锅 + 葱花碎 -> 炒菜加葱 【右键转换】 -11. 添油锅 + 蒜末 -> 炒菜加大蒜 【右键转换】 -12. 添油锅 + 胡萝卜碎 -> 炒胡萝卜(生) -> 翻炒3次半熟 -> 3次熟 【右键转换】 -13. 添油锅 + 生面(面食.甜食) -> 意面(生) -> 翻炒3次 -> 意面(熟) 【右键转换】 - (意面(熟) 为 意面系列 基础, 见 五) -14. 添油锅 + 碎肉 -> 炒碎肉(生) -> 熟 【右键转换】 -15. 添油锅 + 鱿鱼须 -> 炒鱿鱼须(生) -> 熟 【右键转换】 -16. 添油锅 + 螃蟹 -> 炒蟹(生) -> 熟 【右键转换】 -17. 添油锅 + 鲑鱼 -> 煎鲑鱼(生) -> 熟 【右键转换】 -18. 添油锅 + 鱿鱼 -> 炒鱿鱼(生) -> 半熟 -> 熟 【右键转换】 -19. 添油锅 + 鸡蛋 -> 煎蛋 【右键转换】 - (鸡蛋同源: 还用于 汤锅 煮鸡蛋/蛋花汤, 见 汤锅转化关系.txt; 煎蛋为蛋炒饭前置, 见 六) +步骤1:添油锅(rtdd:oilpan) + 拿辣椒(rtdd:pepper)右键, 消耗1个 + → 变身 辣椒锅底(rtdd:cooking_pepper) ======================================== -四、各菜谱(胡萝卜锅底/辣椒锅底 + 肉/鱼 -> 菜) +菜谱 2 — 胡萝卜锅底 ======================================== -机制: 全部 菜(生) -> 菜(熟), 锅铲翻炒3次升一级【右键转换】 -20. 胡萝卜锅底 + 生牛肉 -> 黑椒牛排 【右键转换】 -21. 胡萝卜锅底 + 牛肋 -> 胡萝卜牛排骨 【右键转换】 -22. 胡萝卜锅底 + 牛腿 -> 黑椒牛腿 【右键转换】 -23. 胡萝卜锅底 + 羊肉 -> 清炒羊肉 【右键转换】 -24. 胡萝卜锅底 + 猪排 -> 清炒猪排 【右键转换】 -25. 胡萝卜锅底 + 鲑鱼 -> 胡萝卜鲑鱼 【右键转换】 -26. 胡萝卜锅底 + 羊腿 -> 胡萝卜羊腿 【右键转换】 -27. 胡萝卜锅底 + 鳕鱼 -> 胡萝卜炒鳕鱼 【右键转换】 -28. 胡萝卜锅底 + 牛里脊 -> 胡萝卜牛里脊 【右键转换】 -29. 胡萝卜锅底 + 五花肉 -> 小炒五花肉 【右键转换】 -30. 胡萝卜锅底 + 猪排骨 -> 胡萝卜炒猪排骨 【右键转换】 -31. 胡萝卜锅底 + 羊里脊 -> 胡萝卜炒羊里脊 【右键转换】 -32. 胡萝卜锅底 + 羊排 -> 胡萝卜炒羊排 【右键转换】 -33. 辣椒锅底 + 鸡肉 -> 辣子鸡丁 【右键转换】 -34. 辣椒锅底 + 兔肉 -> 辣炒兔肉 【右键转换】 -35. 辣椒锅底 + 鲑鱼 -> 辣炒鲑鱼 【右键转换】 -36. 辣椒锅底 + 牛肉 -> 辣椒炒牛肉 【右键转换】 -37. 辣椒锅底 + 牛肉 + 豆腐(汤锅) -> 麻婆豆腐 【右键转换】 -38. 香菇(原版蘑菇) + 鸡肉 -> 香菇滑鸡 【右键转换】 -39. 炒猪肉 + 土豆块 -> 土豆炒猪肉 【右键转换】 -40. 炒猪肉 + 胡萝卜碎 -> 胡萝卜炒猪肉 【右键转换】 -41. 炒时蔬 + 胡萝卜碎 -> 炒时蔬(加胡萝卜碎) 【右键转换】 -42. 添油锅 + 面团 -> 煎葱油饼 / 煎酱香饼 / 煎馍 / 煎饼 (各生->熟) 【右键转换】 -43. 添油锅 + 鸡肉 -> 小炒鸡肉(生) -> 熟 【右键转换】 +步骤1:添油锅(rtdd:oilpan) + 拿胡萝卜碎(rtdd:crushed_carrots)右键, 消耗1个 + → 变身 胡萝卜锅底(rtdd:carrotpotbase) ======================================== -五、意面系列(意面(熟) + 料) +菜谱 3 — 蔬菜锅底 ======================================== -机制: 手持料 右键 熟意面【右键转换】-> 意面(生) -> 翻炒3次 -> 意面(熟) -44. 意面(熟) + 牛肉 -> 牛肉意面(生) -> 翻炒 -> 熟 【右键转换】 -45. 意面(熟) + 香菇(蘑菇) -> 香菇意面(生) -> 翻炒 -> 熟 【右键转换】 -46. 意面(熟) + 胡萝卜碎 -> 胡萝卜意面(生) -> 翻炒 -> 熟 【右键转换】 -47. 意面(熟) + 鸡肉 + 番茄(已放弃, 暂缺替代) -> 鸡肉番茄意面(生) -> 翻炒 -> 熟 【右键转换】 +转换1:添油锅(rtdd:oilpan) + 拿青菜碎(rtdd:vegetable)右键, 消耗1个 + → 变身 蔬菜锅底(rtdd:vegetablespotbase) +转换2:添油锅(rtdd:oilpan) + 拿葱花碎(rtdd:crushed_scallions)右键, 消耗1个 + → 变身 蔬菜锅底(rtdd:vegetablespotbase) +(原名"香菜锅底", 因无香菜改用青菜碎/葱花碎) ======================================== -六、蛋炒饭 +菜谱 4 — 炒猪肉 ======================================== -48. 煎蛋(第19条) + 碗装米饭(汤锅盛出) -> 蛋炒饭(生) 【右键转换】 - -> 翻炒3次 -> 蛋炒饭(熟) -> + 碗装米饭 -> 蛋炒饭(加米饭熟) 【右键转换】 - (碗装米饭来源: 汤锅 大米煮饭木碗盛出, 见 汤锅转化关系.txt 39a) -49. 蛋炒饭(加米饭熟) -> 碗装蛋炒饭 【右键转换】(出锅) -> 【吃】 +步骤1:添油锅(rtdd:oilpan) + 拿生猪肉(minecraft:porkchop)右键, 消耗1个 + → 变身 炒猪肉_生(rtdd:fried_pork) +步骤2:炒猪肉_生(rtdd:fried_pork) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 炒猪肉_熟(rtdd:fried_pork_1) +步骤3:炒猪肉_熟(rtdd:fried_pork_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 炒猪肉 + (炒猪肉_熟 也可继续加料, 见 菜谱37/38) ======================================== -七、出锅(熟菜 + 盘子 -> 成品) +菜谱 5 — 炒鸡肉 ======================================== -机制: 手持 盘子(厨具) 右键 熟菜【右键转换】, 消耗1个盘子, 获得对应成品菜 -- 各菜式出锅一一对应, 成品归 chaoguo_finished 成品组 -- 盘装成品 = 【吃】(右键食用) +步骤1:添油锅(rtdd:oilpan) + 拿生鸡肉(minecraft:chicken)右键, 消耗1个 + → 变身 炒鸡肉_生(rtdd:friedchicken) +步骤2:炒鸡肉_生(rtdd:friedchicken) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 炒鸡肉_熟(rtdd:friedchicken_1) +步骤3:炒鸡肉_熟(rtdd:friedchicken_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 熟鸡肉盘(rtdd:plate_4) + +======================================== +菜谱 6 — 煎面饼 +======================================== +步骤1:添油锅(rtdd:oilpan) + 拿面团(rtdd:dough_0)右键, 消耗1个 + → 变身 煎面饼_生(rtdd:cookingdought) +步骤2:煎面饼_生(rtdd:cookingdought) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 煎面饼_熟(rtdd:cookingdought_1) +步骤3:煎面饼_熟(rtdd:cookingdought_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 煎面饼 + +======================================== +菜谱 7 — 炒土豆 +======================================== +步骤1:添油锅(rtdd:oilpan) + 拿土豆块(rtdd:potato_wedges)右键, 消耗1个 + → 变身 炒土豆_生(rtdd:cookingpotato) +步骤2:炒土豆_生(rtdd:cookingpotato) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 炒土豆_熟(rtdd:cookingpotato_1) +步骤3:炒土豆_熟(rtdd:cookingpotato_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 炒土豆(rtdd:plate_14) + +======================================== +菜谱 8 — 炒菜加葱 +======================================== +步骤1:添油锅(rtdd:oilpan) + 拿葱花碎(rtdd:crushed_scallions)右键, 消耗1个 + → 变身 炒菜加葱(rtdd:cookingscallions) + +======================================== +菜谱 9 — 炒菜加大蒜 +======================================== +步骤1:添油锅(rtdd:oilpan) + 拿蒜末(rtdd:crushedgarlic)右键, 消耗1个 + → 变身 炒菜加大蒜(rtdd:cookinggarlic) + +======================================== +菜谱 10 — 炒胡萝卜 +======================================== +步骤1:添油锅(rtdd:oilpan) + 拿胡萝卜碎(rtdd:crushed_carrots)右键, 消耗1个 + → 变身 炒胡萝卜_生(rtdd:cookingcarrot) +步骤2:炒胡萝卜_生(rtdd:cookingcarrot) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 炒胡萝卜_熟(rtdd:cookingcarrot_1) +步骤3:炒胡萝卜_熟(rtdd:cookingcarrot_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 炒胡萝卜 + +======================================== +菜谱 11 — 意面(基础) +======================================== +步骤1:添油锅(rtdd:oilpan) + 拿生面(rtdd:noodles)右键, 消耗1个 + → 变身 意面_生(rtdd:pastapot_0) +步骤2:意面_生(rtdd:pastapot_0) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 意面_熟(rtdd:pastapot_1) +(意面_熟 为 意面系列 基础, 见 菜谱45~48) + +======================================== +菜谱 12 — 炒碎肉 +======================================== +步骤1:添油锅(rtdd:oilpan) + 拿碎肉(rtdd:crushedmeat)右键, 消耗1个 + → 变身 炒碎肉_生(rtdd:cookingmeat) +步骤2:炒碎肉_生(rtdd:cookingmeat) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 炒碎肉_熟(rtdd:cookingmeat_1) +步骤3:炒碎肉_熟(rtdd:cookingmeat_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 炒碎肉(rtdd:plate_24) + +======================================== +菜谱 13 — 炒鱿鱼须 +======================================== +步骤1:添油锅(rtdd:oilpan) + 拿鱿鱼须(rtdd:rawsquidwhiskersr)右键, 消耗1个 + → 变身 炒鱿鱼须_生(rtdd:squidwhiskersincooking_0) +步骤2:炒鱿鱼须_生(rtdd:squidwhiskersincooking_0) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 炒鱿鱼须_熟(rtdd:squidwhiskersincooking_1) +步骤3:炒鱿鱼须_熟(rtdd:squidwhiskersincooking_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 炒鱿鱼须(rtdd:plate_26d) + +======================================== +菜谱 14 — 炒蟹 +======================================== +步骤1:添油锅(rtdd:oilpan) + 拿螃蟹(rtdd:crab)右键, 消耗1个 + → 变身 炒蟹_生(rtdd:cookingcrab) +步骤2:炒蟹_生(rtdd:cookingcrab) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 炒蟹_熟(rtdd:cookingcrab_1) +步骤3:炒蟹_熟(rtdd:cookingcrab_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 炒蟹(rtdd:plate_33) + +======================================== +菜谱 15 — 煎鲑鱼 +======================================== +步骤1:添油锅(rtdd:oilpan) + 拿鲑鱼(minecraft:salmon)右键, 消耗1个 + → 变身 煎鲑鱼_生(rtdd:cookingfish) +步骤2:煎鲑鱼_生(rtdd:cookingfish) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 煎鲑鱼_熟(rtdd:cookingfish_1) +步骤3:煎鲑鱼_熟(rtdd:cookingfish_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 煎鲑鱼(rtdd:plate_25) + +======================================== +菜谱 16 — 炒鱿鱼 +======================================== +步骤1:添油锅(rtdd:oilpan) + 拿鱿鱼(乡野食材)右键, 消耗1个 + → 变身 炒鱿鱼_生(rtdd:cookingsquid) +步骤2:炒鱿鱼_生(rtdd:cookingsquid) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 炒鱿鱼_半熟(rtdd:cookingsquid_1) +步骤3:炒鱿鱼_半熟(rtdd:cookingsquid_1) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 炒鱿鱼_熟(rtdd:cookingsquid_2) +步骤4:炒鱿鱼_熟(rtdd:cookingsquid_2) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 炒鱿鱼(rtdd:plate_26) + +======================================== +菜谱 17 — 煎蛋 +======================================== +步骤1:添油锅(rtdd:oilpan) + 拿鸡蛋(minecraft:egg)右键, 消耗1个 + → 变身 煎蛋(rtdd:cookedegg) +(煎蛋 为 蛋炒饭 前置, 见 菜谱49; 鸡蛋同源: 汤锅 煮鸡蛋/蛋花汤) + +======================================== +菜谱 18 — 黑椒牛排 +======================================== +步骤1:胡萝卜锅底(rtdd:carrotpotbase) + 拿生牛肉(minecraft:beef)右键, 消耗1个 + → 变身 黑椒牛排_生(rtdd:carrotandbeef) +步骤2:黑椒牛排_生(rtdd:carrotandbeef) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 黑椒牛排_熟(rtdd:carrotandbeef_1) +步骤3:黑椒牛排_熟(rtdd:carrotandbeef_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 黑椒牛排(rtdd:plate_2) + +======================================== +菜谱 19 — 胡萝卜牛排骨 +======================================== +步骤1:胡萝卜锅底(rtdd:carrotpotbase) + 拿牛肋(rtdd:costillavacaes)右键, 消耗1个 + → 变身 胡萝卜牛排骨_生(rtdd:carrotandbeefribs) +步骤2:胡萝卜牛排骨_生(rtdd:carrotandbeefribs) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 胡萝卜牛排骨_熟(rtdd:carrotandbeefribs_1) +步骤3:胡萝卜牛排骨_熟(rtdd:carrotandbeefribs_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 胡萝卜牛排骨(rtdd:plate_6) + +======================================== +菜谱 20 — 黑椒牛腿 +======================================== +步骤1:胡萝卜锅底(rtdd:carrotpotbase) + 拿牛腿肉(rtdd:legcow)右键, 消耗1个 + → 变身 黑椒牛腿_生(rtdd:carrotandlegcow) +步骤2:黑椒牛腿_生(rtdd:carrotandlegcow) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 黑椒牛腿_熟(rtdd:carrotandlegcow_1) +步骤3:黑椒牛腿_熟(rtdd:carrotandlegcow_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 黑椒牛腿(rtdd:plate_7) + +======================================== +菜谱 21 — 清炒羊肉 +======================================== +步骤1:胡萝卜锅底(rtdd:carrotpotbase) + 拿羊肉(minecraft:mutton)右键, 消耗1个 + → 变身 清炒羊肉_生(rtdd:carrotandmutton) +步骤2:清炒羊肉_生(rtdd:carrotandmutton) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 清炒羊肉_熟(rtdd:carrotandmutton_1) +步骤3:清炒羊肉_熟(rtdd:carrotandmutton_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 清炒羊肉(rtdd:plate_3) + +======================================== +菜谱 22 — 清炒猪排 +======================================== +步骤1:胡萝卜锅底(rtdd:carrotpotbase) + 拿猪排(minecraft:porkchop)右键, 消耗1个 + → 变身 清炒猪排_生(rtdd:carrotandporkchop) +步骤2:清炒猪排_生(rtdd:carrotandporkchop) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 清炒猪排_熟(rtdd:carrotandporkchop_1) +步骤3:清炒猪排_熟(rtdd:carrotandporkchop_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 清炒猪排(rtdd:plate_1) + +======================================== +菜谱 23 — 胡萝卜鲑鱼 +======================================== +步骤1:胡萝卜锅底(rtdd:carrotpotbase) + 拿鲑鱼(minecraft:salmon)右键, 消耗1个 + → 变身 胡萝卜鲑鱼_生(rtdd:carrotandsalmon) +步骤2:胡萝卜鲑鱼_生(rtdd:carrotandsalmon) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 胡萝卜鲑鱼_熟(rtdd:carrotandsalmon_1) +步骤3:胡萝卜鲑鱼_熟(rtdd:carrotandsalmon_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 胡萝卜鲑鱼(rtdd:plate_5) + +======================================== +菜谱 24 — 胡萝卜羊腿 +======================================== +步骤1:胡萝卜锅底(rtdd:carrotpotbase) + 拿羊腿(rtdd:legsleep)右键, 消耗1个 + → 变身 胡萝卜羊腿_生(rtdd:carrotlegoflamb) +步骤2:胡萝卜羊腿_生(rtdd:carrotlegoflamb) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 胡萝卜羊腿_熟(rtdd:carrotlegoflamb_1) +步骤3:胡萝卜羊腿_熟(rtdd:carrotlegoflamb_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 胡萝卜羊腿(rtdd:plate_9) + +======================================== +菜谱 25 — 胡萝卜炒鳕鱼 +======================================== +步骤1:胡萝卜锅底(rtdd:carrotpotbase) + 拿鳕鱼(minecraft:cod)右键, 消耗1个 + → 变身 胡萝卜炒鳕鱼_生(rtdd:cookingcod) +步骤2:胡萝卜炒鳕鱼_生(rtdd:cookingcod) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 胡萝卜炒鳕鱼_熟(rtdd:cookingcod_1) +步骤3:胡萝卜炒鳕鱼_熟(rtdd:cookingcod_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 胡萝卜炒鳕鱼(rtdd:plate_15) + +======================================== +菜谱 26 — 胡萝卜牛里脊 +======================================== +步骤1:胡萝卜锅底(rtdd:carrotpotbase) + 拿牛里脊(rtdd:beef_tenderloin)右键, 消耗1个 + → 变身 胡萝卜牛里脊_生(rtdd:cookingbeeftenderloin) +步骤2:胡萝卜牛里脊_生(rtdd:cookingbeeftenderloin) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 胡萝卜牛里脊_熟(rtdd:cookingbeeftenderloin1) +步骤3:胡萝卜牛里脊_熟(rtdd:cookingbeeftenderloin1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 胡萝卜牛里脊(rtdd:plate_8) + +======================================== +菜谱 27 — 小炒五花肉 +======================================== +步骤1:胡萝卜锅底(rtdd:carrotpotbase) + 拿五花肉(rtdd:porkloins)右键, 消耗1个 + → 变身 小炒五花肉_生(rtdd:cookingcookedporkloin) +步骤2:小炒五花肉_生(rtdd:cookingcookedporkloin) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 小炒五花肉_熟(rtdd:cookingcookedporkloin_1) +步骤3:小炒五花肉_熟(rtdd:cookingcookedporkloin_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 小炒五花肉(rtdd:plate_12) + +======================================== +菜谱 28 — 胡萝卜炒猪排骨 +======================================== +步骤1:胡萝卜锅底(rtdd:carrotpotbase) + 拿猪肋排(rtdd:porkrib)右键, 消耗1个 + → 变身 胡萝卜炒猪排骨_生(rtdd:cookingcookedporkribs) +步骤2:胡萝卜炒猪排骨_生(rtdd:cookingcookedporkribs) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 胡萝卜炒猪排骨_熟(rtdd:cookingcookedporkribs_1) +步骤3:胡萝卜炒猪排骨_熟(rtdd:cookingcookedporkribs_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 胡萝卜炒猪排骨(rtdd:plate_13) + +======================================== +菜谱 29 — 胡萝卜炒羊里脊 +======================================== +步骤1:胡萝卜锅底(rtdd:carrotpotbase) + 拿羊里脊(rtdd:sheeploins)右键, 消耗1个 + → 变身 胡萝卜炒羊里脊_生(rtdd:cookingsheeploin) +步骤2:胡萝卜炒羊里脊_生(rtdd:cookingsheeploin) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 胡萝卜炒羊里脊_熟(rtdd:cookingsheeploin_1) +步骤3:胡萝卜炒羊里脊_熟(rtdd:cookingsheeploin_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 胡萝卜炒羊里脊(rtdd:plate_10) + +======================================== +菜谱 30 — 胡萝卜炒羊排 +======================================== +步骤1:胡萝卜锅底(rtdd:carrotpotbase) + 拿羊小排(rtdd:sheepracks)右键, 消耗1个 + → 变身 胡萝卜炒羊排_生(rtdd:cookingsheeprack) +步骤2:胡萝卜炒羊排_生(rtdd:cookingsheeprack) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 胡萝卜炒羊排_熟(rtdd:cookingsheeprack_1) +步骤3:胡萝卜炒羊排_熟(rtdd:cookingsheeprack_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 胡萝卜炒羊排(rtdd:plate_11) + +======================================== +菜谱 31 — 辣子鸡丁 +======================================== +步骤1:辣椒锅底(rtdd:cooking_pepper) + 拿鸡肉(minecraft:chicken)右键, 消耗1个 + → 变身 辣子鸡丁_生(rtdd:cookingchilipepperandchicken) +步骤2:辣子鸡丁_生(rtdd:cookingchilipepperandchicken) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 辣子鸡丁_熟(rtdd:cookingchilipepperandchicken_1) +步骤3:辣子鸡丁_熟(rtdd:cookingchilipepperandchicken_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 辣子鸡丁(rtdd:plate_47) + +======================================== +菜谱 32 — 辣炒兔肉 +======================================== +步骤1:辣椒锅底(rtdd:cooking_pepper) + 拿兔肉(minecraft:rabbit)右键, 消耗1个 + → 变身 辣炒兔肉_生(rtdd:cookingrabbit) +步骤2:辣炒兔肉_生(rtdd:cookingrabbit) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 辣炒兔肉_熟(rtdd:cookingrabbit_1) +步骤3:辣炒兔肉_熟(rtdd:cookingrabbit_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 辣炒兔肉(rtdd:plate_19) + +======================================== +菜谱 33 — 辣炒鲑鱼 +======================================== +步骤1:辣椒锅底(rtdd:cooking_pepper) + 拿鲑鱼(minecraft:salmon)右键, 消耗1个 + → 变身 辣炒鲑鱼_生(rtdd:spicy_fish) +步骤2:辣炒鲑鱼_生(rtdd:spicy_fish) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 辣炒鲑鱼_熟(rtdd:spicy_fish_1) +步骤3:辣炒鲑鱼_熟(rtdd:spicy_fish_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 辣炒鲑鱼(rtdd:plate_41) + +======================================== +菜谱 34 — 辣椒炒牛肉 +======================================== +步骤1:辣椒锅底(rtdd:cooking_pepper) + 拿牛肉(minecraft:beef)右键, 消耗1个 + → 变身 辣椒炒牛肉_生(rtdd:oilpanchilipepperbeef_1) +步骤2:辣椒炒牛肉_生(rtdd:oilpanchilipepperbeef_1) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 辣椒炒牛肉_熟(rtdd:oilpanchilipepperbeef_2) +步骤3:辣椒炒牛肉_熟(rtdd:oilpanchilipepperbeef_2) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 辣椒炒牛肉(rtdd:plate_47a) + +======================================== +菜谱 35 — 麻婆豆腐 +======================================== +步骤1:辣椒锅底(rtdd:cooking_pepper) + 拿牛肉(minecraft:beef)右键, 消耗1个 + → 变身 辣椒炒牛肉_生(rtdd:oilpanchilipepperbeef_1) +步骤2:辣椒炒牛肉_生(rtdd:oilpanchilipepperbeef_1) + 拿豆腐(rtdd:beancurd)右键, 消耗1个 + → 变身 麻婆豆腐_生(rtdd:oilpanchilipepperbeefbeancurd) +步骤3:麻婆豆腐_生(rtdd:oilpanchilipepperbeefbeancurd) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 麻婆豆腐_熟 +步骤4:麻婆豆腐_熟 + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 麻婆豆腐(rtdd:plate_32) + +======================================== +菜谱 36 — 香菇滑鸡 +======================================== +步骤1:香菇锅底(原版蘑菇) + 拿鸡肉(minecraft:chicken)右键, 消耗1个 + → 变身 香菇滑鸡_生(rtdd:mushroom_fried_chicken) +步骤2:香菇滑鸡_生(rtdd:mushroom_fried_chicken) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 香菇滑鸡_熟(rtdd:mushroomfriedchicken_2) +步骤3:香菇滑鸡_熟(rtdd:mushroomfriedchicken_2) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 香菇滑鸡(rtdd:plate_54) + +======================================== +菜谱 37 — 土豆炒猪肉 +======================================== +步骤1:炒猪肉_熟(rtdd:fried_pork_1) + 拿土豆块(rtdd:potato_wedges)右键, 消耗1个 + → 变身 土豆炒猪肉_生(rtdd:fried_porkwith_potatoes) +步骤2:土豆炒猪肉_生(rtdd:fried_porkwith_potatoes) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 土豆炒猪肉_熟(rtdd:fried_porkwith_potatoes_1) +步骤3:土豆炒猪肉_熟(rtdd:fried_porkwith_potatoes_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 土豆炒猪肉(rtdd:plate_52) + +======================================== +菜谱 38 — 胡萝卜炒猪肉 +======================================== +步骤1:炒猪肉_熟(rtdd:fried_pork_1) + 拿胡萝卜碎(rtdd:crushed_carrots)右键, 消耗1个 + → 变身 胡萝卜炒猪肉_生(rtdd:fried_porkwith_carrots) +步骤2:胡萝卜炒猪肉_生(rtdd:fried_porkwith_carrots) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 胡萝卜炒猪肉_熟(rtdd:fried_porkwith_carrots_1) +步骤3:胡萝卜炒猪肉_熟(rtdd:fried_porkwith_carrots_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 胡萝卜炒猪肉(rtdd:plate_53) + +======================================== +菜谱 39 — 炒时蔬(加胡萝卜碎) +======================================== +步骤1:炒时蔬(rtdd:cookingvegetables) + 拿胡萝卜碎(rtdd:crushed_carrots)右键, 消耗1个 + → 变身 炒时蔬(加胡萝卜碎)(rtdd:cookingvegetables_1) + +======================================== +菜谱 40 — 煎葱油饼 +======================================== +步骤1:添油锅(rtdd:oilpan) + 拿面团(rtdd:dough_0)右键, 消耗1个 + → 变身 煎葱油饼_生(rtdd:cooking_scallion_pancake) +步骤2:煎葱油饼_生(rtdd:cooking_scallion_pancake) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 煎葱油饼_熟(rtdd:cooking_scallion_pancake_1) +步骤3:煎葱油饼_熟(rtdd:cooking_scallion_pancake_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 煎葱油饼 + +======================================== +菜谱 41 — 煎酱香饼 +======================================== +步骤1:添油锅(rtdd:oilpan) + 拿面团(rtdd:dough_0)右键, 消耗1个 + → 变身 煎酱香饼_生(rtdd:cooking_pancake_1) +步骤2:煎酱香饼_生(rtdd:cooking_pancake_1) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 煎酱香饼_熟(rtdd:cooking_pancake_2) +步骤3:煎酱香饼_熟(rtdd:cooking_pancake_2) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 煎酱香饼 + +======================================== +菜谱 42 — 煎馍 +======================================== +步骤1:添油锅(rtdd:oilpan) + 拿面团(rtdd:dough_0)右键, 消耗1个 + → 变身 煎馍_生(rtdd:cookingdough_0) +步骤2:煎馍_生(rtdd:cookingdough_0) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 煎馍_熟(rtdd:cookingdough_1) +步骤3:煎馍_熟(rtdd:cookingdough_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 煎馍 + +======================================== +菜谱 43 — 煎饼 +======================================== +步骤1:添油锅(rtdd:oilpan) + 拿面团(rtdd:dough_0)右键, 消耗1个 + → 变身 煎饼_生(rtdd:cookingdought) +步骤2:煎饼_生(rtdd:cookingdought) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 煎饼_熟(rtdd:cookingdought_1) +步骤3:煎饼_熟(rtdd:cookingdought_1) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 煎饼 + +======================================== +菜谱 44 — 小炒鸡肉 +======================================== +步骤1:添油锅(rtdd:oilpan) + 拿鸡肉(minecraft:chicken)右键, 消耗1个 + → 变身 小炒鸡肉_生(rtdd:cookinganymeat) +步骤2:小炒鸡肉_生(rtdd:cookinganymeat) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 小炒鸡肉_熟(rtdd:cookedanymeat) +步骤3:小炒鸡肉_熟(rtdd:cookedanymeat) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 小炒鸡肉(rtdd:plate_31) + +======================================== +菜谱 45 — 牛肉意面 +======================================== +步骤1:意面_熟(rtdd:pastapot_1) + 拿牛肉(minecraft:beef)右键, 消耗1个 + → 变身 牛肉意面_生(rtdd:pastapot_2) +步骤2:牛肉意面_生(rtdd:pastapot_2) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 牛肉意面_熟(rtdd:pastapot_3) +步骤3:牛肉意面_熟(rtdd:pastapot_3) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 牛肉意面(rtdd:plate_43) + +======================================== +菜谱 46 — 香菇意面 +======================================== +步骤1:意面_熟(rtdd:pastapot_1) + 拿香菇(原版蘑菇)右键, 消耗1个 + → 变身 香菇意面_生(rtdd:pastapot_4) +步骤2:香菇意面_生(rtdd:pastapot_4) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 香菇意面_熟(rtdd:pastapot_5) +步骤3:香菇意面_熟(rtdd:pastapot_5) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 香菇意面(rtdd:plate_44) + +======================================== +菜谱 47 — 胡萝卜意面 +======================================== +步骤1:意面_熟(rtdd:pastapot_1) + 拿胡萝卜碎(rtdd:crushed_carrots)右键, 消耗1个 + → 变身 胡萝卜意面_生(rtdd:pastapot_6) +步骤2:胡萝卜意面_生(rtdd:pastapot_6) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 胡萝卜意面_熟(rtdd:pastapot_7) +步骤3:胡萝卜意面_熟(rtdd:pastapot_7) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 胡萝卜意面(rtdd:plate_45) + +======================================== +菜谱 48 — 鸡肉番茄意面 +======================================== +步骤1:意面_熟(rtdd:pastapot_1) + 拿鸡肉(minecraft:chicken)右键, 消耗1个 + → 变身 鸡肉番茄意面_生(rtdd:pastapot_8) +步骤2:鸡肉番茄意面_生(rtdd:pastapot_8) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 鸡肉番茄意面_熟(rtdd:pastapot_9) +步骤3:鸡肉番茄意面_熟(rtdd:pastapot_9) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 鸡肉番茄意面(rtdd:plate_46) +(番茄已放弃, 暂缺替代) + +======================================== +菜谱 49 — 蛋炒饭 +======================================== +步骤1:煎蛋(rtdd:cookedegg) + 拿碗装米饭(rtdd:bowlofrice)右键, 消耗1个 + → 变身 蛋炒饭_生(rtdd:riceegg_1) +步骤2:蛋炒饭_生(rtdd:riceegg_1) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒 + → 变身 蛋炒饭_熟(rtdd:riceegg_2) +步骤3:蛋炒饭_熟(rtdd:riceegg_2) + 拿碗装米饭(rtdd:bowlofrice)右键, 消耗1个 + → 变身 蛋炒饭(加米饭)_熟(rtdd:riceegg_3) +步骤4:蛋炒饭(加米饭)_熟(rtdd:riceegg_3) + 空手右键 + → 锅变回空炒锅(rtdd:wok),获得 碗装蛋炒饭(rtdd:bowlofriceegg) + +======================================== +七、出锅说明 +======================================== +机制: 所有菜式熟态 空手右键 出锅, 锅变回 空炒锅(rtdd:wok), 获得 盘装成品(掉落物) +- 盘装成品 = 【吃】(右键食用), 归 chaoguo_finished 成品组 +- 成品id: 见 菜谱 各步骤末尾; 无 plate id 的成品 实现时按顺序补 todo 各盘装成品 右键吃 (吃的操作后续由总食用功能实现) ======================================== -【方块清单】(中文 -> 英文id, 供实现对照) +八、盖饭分组(itemGroup.name.food_11_rice_meal) ======================================== -- 炒锅: wok; 锅盖: coverthepan; 添油锅: oilpan -- 锅底: 胡萝卜锅底(carrotpotbase)、蔬菜锅底(vegetablespotbase)、辣椒锅底(cooking_pepper) -- 食材炒: 炒猪肉(fried_pork)、炒鸡肉(friedchicken)、煎面饼(cookingdought)、 - 炒土豆(cookingpotato)、炒菜加葱(cookingscallions)、炒菜加大蒜(cookinggarlic)、 - 炒胡萝卜(cookingcarrot)、意面(pastapot_0生/…/pastapot_1熟)、炒碎肉(cookingmeat)、 - 炒鱿鱼须(squidwhiskersincooking)、炒蟹(cookingcrab)、煎鲑鱼(cookingfish)、 - 炒鱿鱼(cookingsquid)、煎蛋(cookedegg)、煎葱油饼(cooking_scallion_pancake)、 - 煎酱香饼(cooking_pancake_1)、煎馍(cookingdough)、煎饼(cookingdought)、 - 小炒鸡肉(cookinganymeat生/cookedanymeat熟) -- 菜谱(胡萝卜锅底): 黑椒牛排(carrotandbeef)、胡萝卜牛排骨(carrotandbeefribs)、 - 黑椒牛腿(carrotandlegcow)、清炒羊肉(carrotandmutton)、清炒猪排(carrotandporkchop)、 - 胡萝卜鲑鱼(carrotandsalmon)、胡萝卜羊腿(carrotlegoflamb)、胡萝卜炒鳕鱼(cookingcod)、 - 胡萝卜牛里脊(cookingbeeftenderloin)、小炒五花肉(cookingcookedporkloin)、 - 胡萝卜炒猪排骨(cookingcookedporkribs)、胡萝卜炒羊里脊(cookingsheeploin)、 - 胡萝卜炒羊排(cookingsheeprack) -- 菜谱(辣椒锅底): 辣子鸡丁(cookingchilipepperandchicken)、辣炒兔肉(cookingrabbit)、 - 辣炒鲑鱼(spicy_fish)、辣椒炒牛肉(oilpanchilipepperbeef)、麻婆豆腐(oilpanchilipepperbeefbeancurd) -- 其他菜: 香菇滑鸡(mushroom_fried_chicken)、土豆炒猪肉(fried_porkwith_potatoes)、 - 胡萝卜炒猪肉(fried_porkwith_carrots) -- 意面系列: 牛肉意面(pastapot_2生/pastapot_3熟)、香菇意面(pastapot_4生/pastapot_5熟)、 - 胡萝卜意面(pastapot_6生/pastapot_7熟)、鸡肉番茄意面(pastapot_8生/pastapot_9熟) -- 蛋炒饭: 蛋炒饭(riceegg_1生/riceegg_2熟/riceegg_3加米饭熟)、 - 碗装蛋炒饭(bowlofriceegg, 归 chaoguo_finished) -- 盘装成品: 各菜式出锅 -> plate_* 系列(归 chaoguo_finished 成品组, 实现时按顺序对应) -- 关联外部: 锅铲(spatula)/带油锅铲(spatula_oil)/盘子(plate_0)(厨具); - 碗装米饭(bowlofrice)(汤锅); 豆腐(beancurd)(汤锅); 生面(noodles)/面团(dough_0)(面食.甜食) +机制: 手持 成品菜 右键 碗装米饭(rtdd:bowlofrice)【右键转换】, 消耗1个成品菜 + 1个碗装米饭, 变 盖饭 +(碗装米饭来源: 汤锅 菜谱38; 盖饭归 food_11_rice_meal 分组, 均【吃】) +- 辣子鸡丁盖饭: plate_48 = 辣子鸡丁(plate_47) + 碗装米饭 +- 香菇滑鸡盖饭: plate_55 = 香菇滑鸡(plate_54) + 碗装米饭 +- 麻婆豆腐盖饭: plate_56 = 麻婆豆腐(plate_32) + 碗装米饭 +- 鳕鱼盖饭: plate_50 = 胡萝卜炒鳕鱼(plate_15) + 碗装米饭 + +======================================== +九、成品菜清单(归 chaoguo_finished, 均为【吃】) +======================================== +所有出锅产物 均以掉落物形式获得, 右键吃 后续由总食用功能实现: +- 黑椒牛排 (plate_2) +- 清炒猪排 (plate_1) +- 清炒羊肉 (plate_3) +- 熟鸡肉盘 (plate_4) +- 胡萝卜鲑鱼 (plate_5) +- 胡萝卜牛排骨 (plate_6) +- 黑椒牛腿 (plate_7) +- 胡萝卜牛里脊 (plate_8) +- 胡萝卜羊腿 (plate_9) +- 胡萝卜炒羊里脊 (plate_10) +- 胡萝卜炒羊排 (plate_11) +- 小炒五花肉 (plate_12) +- 胡萝卜炒猪排骨 (plate_13) +- 炒土豆 (plate_14) +- 胡萝卜炒鳕鱼 (plate_15) +- 辣炒兔肉 (plate_19) +- 元气煎蛋 (plate_22) +- 炒时蔬 (plate_23) +- 炒碎肉 (plate_24) +- 煎鲑鱼 (plate_25) +- 炒鱿鱼 (plate_26) +- 炒鱿鱼须 (plate_26d) +- 小炒鸡肉 (plate_31) +- 麻婆豆腐 (plate_32) +- 炒蟹 (plate_33) +- 辣炒鲑鱼 (plate_41) +- 牛肉意面 (plate_43) +- 香菇意面 (plate_44) +- 胡萝卜意面 (plate_45) +- 鸡肉番茄意面 (plate_46) +- 辣子鸡丁 (plate_47) +- 辣椒炒牛肉 (plate_47a) +- 土豆炒猪肉 (plate_52) +- 胡萝卜炒猪肉 (plate_53) +- 香菇滑鸡 (plate_54) +- 碗装蛋炒饭 (bowlofriceegg)