汤锅功能实现 1

This commit is contained in:
wenhe committed 2026-09-14 16:03:51 +08:00
1 parent d41f1eebac
commit 30ac368690
71 files changed
+2323 -333

No files matched your search

@@ -22,6 +22,8 @@ from xiangyemod.mianshi.service.MianshiService import MianshiService
from xiangyemod.mianshi.service.MianshiTimerService import MianshiTimerService from xiangyemod.mianshi.service.MianshiTimerService import MianshiTimerService
from xiangyemod.youguo.service.YouguoService import YouguoService from xiangyemod.youguo.service.YouguoService import YouguoService
from xiangyemod.youguo.service.YouguoTimerService import YouguoTimerService 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(): if not serverApi.IsInServer():
pass pass
@@ -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},
]
@@ -0,0 +1 @@
# -*- coding: utf-8 -*-
@@ -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
@@ -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)
@@ -0,0 +1 @@
# -*- coding: utf-8 -*-
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
@@ -48,7 +48,7 @@
"netease:block_entity": { "netease:block_entity": {
"client_tick": false, "client_tick": false,
"movable": false, "movable": false,
"tick": false "tick": true
} }
} }
} }
+11 -11
View File
@@ -171,12 +171,12 @@ tile.rtdd:plate_19.name=辣炒兔肉(全份)
tile.rtdd:animalcarcasses.name=动物骸骨_禁用 tile.rtdd:animalcarcasses.name=动物骸骨_禁用
tile.rtdd:plate_10.name=胡萝卜炒羊里脊(全份) tile.rtdd:plate_10.name=胡萝卜炒羊里脊(全份)
tile.rtdd:dead_villagera.name=烤村民 tile.rtdd:dead_villagera.name=烤村民
tile.rtdd:vegetablesstew_2.name=汤锅_110(蔬菜汤_八分熟) tile.rtdd:vegetablesstew_2.name=汤锅_110(蔬菜乱炖_八分熟)
tile.rtdd:fishingnet.name=网(渔网) tile.rtdd:fishingnet.name=网(渔网)
tile.rtdd:vegetablesstew_1.name=汤锅_109(蔬菜汤_四分熟) tile.rtdd:vegetablesstew_1.name=汤锅_109(蔬菜乱炖_四分熟)
tile.rtdd:plate_13.name=胡萝卜炒猪排骨(全份) tile.rtdd:plate_13.name=胡萝卜炒猪排骨(全份)
tile.rtdd:plate_14.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_11.name=胡萝卜炒羊排
tile.rtdd:plate_12.name=小炒五花肉(全份) tile.rtdd:plate_12.name=小炒五花肉(全份)
tile.rtdd:cookingpotato.name=炒锅_47(炒土豆_生) 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:bookcase_10.name=书柜_4(3本)
tile.rtdd:ironcoinpile.name=铁币堆_禁用 tile.rtdd:ironcoinpile.name=铁币堆_禁用
tile.rtdd:plate_13a.name=胡萝卜炒猪排骨(半份) tile.rtdd:plate_13a.name=胡萝卜炒猪排骨(半份)
tile.rtdd:rawpigfoodsoup_5.name=汤锅_70(猪蹄汤_熟) tile.rtdd:rawpigfoodsoup_5.name=汤锅_70(猪蹄汤_全熟)
tile.rtdd:rawpigfoodsoup_3.name=汤锅_68(猪蹄汤_七分熟) tile.rtdd:rawpigfoodsoup_3.name=汤锅_68(猪蹄汤_三分熟)
tile.rtdd:rawpigfoodsoup_4.name=汤锅_69(猪蹄汤_全熟) tile.rtdd:rawpigfoodsoup_4.name=汤锅_69(猪蹄汤_七分熟)
tile.rtdd:dumplingssoup_2.name=汤锅_37(饺子_熟) 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:beefbonebroth_1.name=汤锅_4(胡萝卜土豆牛骨汤_四分熟)
tile.rtdd:dumplingssoup_0.name=汤锅_35(饺子_生) tile.rtdd:dumplingssoup_0.name=汤锅_35(饺子_生)
tile.rtdd:beefbonebroth_2.name=汤锅_5(胡萝卜土豆牛骨汤_八分熟) tile.rtdd:beefbonebroth_2.name=汤锅_5(胡萝卜土豆牛骨汤_八分熟)
@@ -665,7 +665,7 @@ tile.rtdd:breaddough_4d.name=甜甜圈胚(生)
tile.rtdd:chickenstewwithmushrooms_3.name=汤锅_29(蘑菇炖鸡_熟) tile.rtdd:chickenstewwithmushrooms_3.name=汤锅_29(蘑菇炖鸡_熟)
tile.rtdd:chickenstewwithmushrooms_1.name=汤锅_27(蘑菇炖鸡_四分熟) tile.rtdd:chickenstewwithmushrooms_1.name=汤锅_27(蘑菇炖鸡_四分熟)
tile.rtdd:chickenstewwithmushrooms_2.name=汤锅_28(蘑菇炖鸡_八分熟) tile.rtdd:chickenstewwithmushrooms_2.name=汤锅_28(蘑菇炖鸡_八分熟)
tile.rtdd:vegetablesstew.name=汤锅_108(蔬菜汤_生) tile.rtdd:vegetablesstew.name=汤锅_108(蔬菜乱炖_生)
tile.rtdd:bowlatufufish.name=豆腐鲑鱼汤 tile.rtdd:bowlatufufish.name=豆腐鲑鱼汤
tile.rtdd:b_256casting_table_11.name=铸造台_1禁用 tile.rtdd:b_256casting_table_11.name=铸造台_1禁用
tile.rtdd:b_238_t_3.name=满酒桶_4 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_201.name=书本(5本)
tile.rtdd:b_200.name=书本_4_禁用 tile.rtdd:b_200.name=书本_4_禁用
tile.rtdd:souffle_0.name=舒芙蕾 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_14.name=铸造台_7(铸造台_14)禁用
tile.rtdd:casting_table_13.name=铸造台_6(铸造台_13)禁用 tile.rtdd:casting_table_13.name=铸造台_6(铸造台_13)禁用
tile.rtdd:casting_table_16.name=铸造台_9(铸造台_16)禁用 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:roastedmushrooms_0.name=烤香菇串(生)
tile.rtdd:orangebarrel.name=货桶(橘子) tile.rtdd:orangebarrel.name=货桶(橘子)
tile.rtdd:roastedmushrooms_3.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:flag_red_orange.name=旗子_7(红橙旗)
tile.rtdd:roastedmushrooms_1.name=烤香菇串(半熟) tile.rtdd:roastedmushrooms_1.name=烤香菇串(半熟)
itemGroup.name.tangguo_01_basic=基础工具 itemGroup.name.tangguo_01_basic=基础工具
@@ -1082,7 +1082,7 @@ itemGroup.name.tangguo_ribs=胡萝卜排骨汤
itemGroup.name.tangguo_vegetable_beef=清汤羊肉 itemGroup.name.tangguo_vegetable_beef=清汤羊肉
itemGroup.name.tangguo_vegetable_lamb=蔬菜牛肉汤 itemGroup.name.tangguo_vegetable_lamb=蔬菜牛肉汤
itemGroup.name.tangguo_vegetable_lean=蔬菜瘦肉汤 itemGroup.name.tangguo_vegetable_lean=蔬菜瘦肉汤
itemGroup.name.tangguo_vegetable_stew=蔬菜汤 itemGroup.name.tangguo_vegetable_stew=蔬菜乱炖
itemGroup.name.tangguo_bone=牛骨汤 itemGroup.name.tangguo_bone=牛骨汤
itemGroup.name.tangguo_lambstew=土豆胡萝卜炖羊肉 itemGroup.name.tangguo_lambstew=土豆胡萝卜炖羊肉
itemGroup.name.tangguo_lambchop=胡萝卜土豆羊排汤 itemGroup.name.tangguo_lambchop=胡萝卜土豆羊排汤
File renamed without changes.
+79
View File
@@ -326,6 +326,9 @@ FurnitureData+FurnitureService 实现, 注册到 FeatureDispatcher)
- 汤锅/炒锅/油锅 转化txt 二次重写(2026-09-11): 全面具体化, 每个步骤标注操作类型 - 汤锅/炒锅/油锅 转化txt 二次重写(2026-09-11): 全面具体化, 每个步骤标注操作类型
(【右键转换】/【计时】/【吃】), 补充跨分类关联与食材来源(油罐/裹粉/生饺子/米饭/煎蛋/ (【右键转换】/【计时】/【吃】), 补充跨分类关联与食材来源(油罐/裹粉/生饺子/米饭/煎蛋/
豆腐/豆浆/生面/馍等); 正文全用中文方块名, 英文id统一移入文末【方块清单】对照 [已整理] 豆腐/豆浆/生面/馍等); 正文全用中文方块名, 英文id统一移入文末【方块清单】对照 [已整理]
- 汤锅/炒锅 转化txt 三次重写(2026-09-11): 食材全部用实际物品名(土豆块/青菜碎/胡萝卜碎/
葱花碎/蒜末), 不再笼统写"土豆/青菜"; 菜谱每个菜名单独一条, 可多食材的拆开逐条
(如蔬菜乱炖 20/20a/20b, 蔬菜锅底 5/5a, 煎饼四兄弟 42/42a/42b/42c) [已整理]
- 油锅转化txt 按用户todo转正(2026-09-11): 油罐倒油直接变玻璃罐+玻璃罐取油回罐; - 油锅转化txt 按用户todo转正(2026-09-11): 油罐倒油直接变玻璃罐+玻璃罐取油回罐;
各炸物消耗数量(鸡块1/猪肉1/薯条3/鱼1/天妇罗4/生饺子3); 计时分级(生60秒->半熟30秒->熟, 各炸物消耗数量(鸡块1/猪肉1/薯条3/鱼1/天妇罗4/生饺子3); 计时分级(生60秒->半熟30秒->熟,
天妇罗/炸饺子单级60秒); 出锅盘装成品掉落物形式; 炸饺子=油锅合体(计时/取出均在油锅_1上); 天妇罗/炸饺子单级60秒); 出锅盘装成品掉落物形式; 炸饺子=油锅合体(计时/取出均在油锅_1上);
@@ -677,3 +680,79 @@ FurnitureData+FurnitureService 实现, 注册到 FeatureDispatcher)
【留后】各盘装成品 右键吃(总食用功能后续实现)、天妇罗炸虾递减吃(整份->半份 plate_49a)、 【留后】各盘装成品 右键吃(总食用功能后续实现)、天妇罗炸虾递减吃(整份->半份 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秒; 手持方块物品右键
汤锅类功能方块取消默认放置(全局) [已实现]
【留后】各碗装成品/汤面 右键吃(总食用功能后续实现)
+13 -10
View File
@@ -201,21 +201,24 @@
二、饭团来源 (汤锅熟米饭捏饭团) 二、饭团来源 (汤锅熟米饭捏饭团)
- 熟米饭(汤锅煮好) 空手右键(不用碗) -> 饭团 (txt 23) - 熟米饭(汤锅煮好) 空手右键(不用碗) -> 饭团 (txt 23)
- 未做原因: 属汤锅分类, 汤锅代码尚未实现; 本次寿司功能只用饭团物品本身 - 已实现(2026-09-14): 汤锅 菜谱37 熟米饭 空手右键 -> 饭团x16, 见 全部功能做了什么.txt 汤锅节
(寿司的饭团暂靠创造模式/后续汤锅功能获取)
######################################## ########################################
【汤锅·煮豆腐】(xy_tangguo) 【汤锅】(xy_tangguo)
######################################## ########################################
(汤锅转化关系.txt 六、煮豆腐组; 方块已由 禁用(xy_jinyong) 移回 汤锅(xy_tangguo) 分类, (汤锅转换 已整体实现于 xiangyemod/tangguo 2026-09-14, 见 全部功能做了什么.txt;
独立分组 tangguo_tofu 已建; 转换代码未实现) 原"汤锅·煮豆腐"未做项已随汤锅整体实现移除)
一、煮豆腐 (豆浆 -> 生 -> 熟 -> 取豆腐) 一、吃 (各碗装成品 / 汤面 右键食用)
- 汤锅(加水) + 手持豆浆(fruitjuice_7)右键 -> 汤锅(煮豆腐_生)(beancurdsoup_0), 消耗1个豆浆 - 碗装成品: 胡萝卜牛肉汤/胡萝卜羊肉汤/胡萝卜排骨汤/清汤羊肉/蔬菜牛肉汤/蔬菜瘦肉汤/
- 煮豆腐_生 计时约60秒 -> 煮豆腐_熟(beancurdsoup_1) 蔬菜乱炖/胡萝卜土豆牛骨汤/土豆胡萝卜炖羊肉/胡萝卜土豆羊排汤/胡萝卜鳕鱼汤/
- 煮豆腐_熟 + 手持刀(cleaver)右键 -> 获得 豆腐(beancurd) 16个, 锅恢复空汤锅 胡萝卜鲑鱼汤/蛋花鳕鱼汤/瘦肉蛋花汤/豆腐鲑鱼汤/蘑菇炖鸡/猪蹄汤/羊肉泡馍汤/
- 未做原因: 属汤锅分类, 汤锅代码整体尚未开发, 本次只做分类整理与转化文档 饺子_碗装/蔬菜鱼片汤/熟米饭(碗装)/饭团/水煮蛋/豆腐
- 汤面: 猪排蔬菜面/羊排蔬菜面/牛骨面/小鸡炖蘑菇面/胡萝卜蔬菜面/胡萝卜蔬菜牛肉面/
香菇面/蔬菜鱼片面/蔬菜面/蛋花面/蛋花面(加葱花)/鸡蛋面/猪排蔬菜面加水煮蛋
(均 空手右键直接吃)
- 未做原因: 食用部分由统一的"总食用功能"汇总实现, 本次不实现 (汤锅转化关系.txt 已标注)
######################################## ########################################
+511 -139
View File
@@ -2,178 +2,550 @@
【汤锅】(xy_tangguo) 转化关系 【汤锅】(xy_tangguo) 转化关系
======================================== ========================================
说明: 说明:
- 正文全部用中文方块名, 英文id见文末【方块清单】 - 正文全部用中文方块名, 英文id写在括号里
- 汤锅方块: 汤锅(空)、汤锅(加水)、锅盖; 工具: 木碗(厨具)、菜刀(厨具)、水桶(原版) - 汤锅方块: 汤锅(空)(stewedsoup)、汤锅(加水)(stewedsoupwater)
- 工具: 木碗(bowlasoup)、菜刀(cleaver)、水桶(原版)
- 核心流程: 加水【右键转换】 -> 下汤底料【右键转换】 -> 加肉/鱼【右键转换】 -> - 核心流程: 加水【右键转换】 -> 下汤底料【右键转换】 -> 加肉/鱼【右键转换】 ->
计时熬【计时】 -> 出锅【右键转换】 -> 碗装成品【吃】 计时熬【计时】 -> 出锅【右键转换】 -> 碗装成品
- 汤羹规律: 汤羹(生) -> 汤羹(四分熟) -> 汤羹(八分熟) -> 汤羹(熟), 计时约60秒一级 - 汤羹规律: 汤羹(生) -> 汤羹(四分熟) -> 汤羹(八分熟) -> 汤羹(熟), 计时约60秒一级
(部分汤羹为三分熟/七分熟形态, 以方块实际为准) (部分汤羹为三分熟/七分熟形态, 以方块实际为准)
- 出锅: 手持 木碗 右键 熟汤羹, 消耗1个木碗, 获得碗装成品 - 出锅: 手持 木碗(bowlasoup) 右键 熟汤羹, 消耗1个木碗, 获得 碗装成品
- 米饭流程(核心关联): 大米 -> 生米锅 -> 熟米饭 -> 空手捏饭团(供寿司) / 木碗盛出碗装米饭(供炒锅蛋炒饭) - 米饭流程: 大米 -> 生米锅 -> 熟米饭 -> 空手捏饭团(供寿司) / 木碗盛出碗装米饭(供炒锅蛋炒饭)
- 汤锅需放在 点燃的炉灶(stove_2) 上(下方判定)才计时熬制; 炉灶移走则暂停 - 汤锅需放在 点燃的炉灶(stove_2) 上(下方判定)才计时熬制; 炉灶移走则暂停
所有的获得 都以掉落物形式!
【操作类型图例】
【右键转换】= 手持指定物品右键方块触发
【计时】 = 方块自动计时转换(约60秒一级)
【吃】 = 成品可直接右键食用
【跨分类关联】 【跨分类关联】
- 水桶/空桶: 原版(加水, 水桶变空桶) - 水桶/空桶: 原版(加水, 水桶变空桶)
- 锅盖/木碗/菜刀: 厨具 - 锅盖/木碗/菜刀: 厨具
- 鸡蛋: 动物养殖 鸡窝取蛋 / 鸡蛋堆(乡野食材); 一蛋三用(蛋花汤/煮鸡蛋/炒锅煎蛋) - 鸡蛋: 动物养殖 鸡窝取蛋 / 鸡蛋堆(乡野食材); 一蛋三用(蛋花汤/煮鸡蛋/炒锅煎蛋)
- 大米: 乡野食材 谷物·米面; 竹筒饭用生大米, 寿司用熟米饭捏饭团(区分!) - 大米: 乡野食材 谷物·米面; 竹筒饭用生大米, 寿司用熟米饭捏饭团(区分!)
- 豆浆: 乡野饮料 榨汁机 黄豆 -> 豆浆 - 豆浆: 乡野饮料 榨汁机 黄豆 -> 豆浆
- 生面: 面食.甜食 面饼切开+菜刀(面食.甜食转化关系.txt) - 生面/生饺子/馍: 面食.甜食
- 生饺子: 面食.甜食 饺子组 捏合掉落物
- 馍: 面食.甜食 烙制(生面饼右键烤炉)
- 饭团: 供 寿司 干海带+饭团(寿司转化关系.txt) - 饭团: 供 寿司 干海带+饭团(寿司转化关系.txt)
- 碗装米饭: 供 炒锅 蛋炒饭(炒锅转化关系.txt 六) - 碗装米饭: 供 炒锅 蛋炒饭(炒锅转化关系.txt)
- 豆腐: 供 炒锅 麻婆豆腐 / 汤锅 豆腐汤 - 豆腐: 供 炒锅 麻婆豆腐 / 汤锅 豆腐汤
======================================== ========================================
一、基础工具 【汤锅(空) -> 汤锅(加水)】
======================================== ========================================
1. 汤锅(空) -> 汤锅(加水) 【右键转换】 步骤1:汤锅(空)(rtdd:stewedsoup) + 拿水桶(minecraft:water_bucket)右键, 消耗1个水桶
转换条件:[手持 水桶 右键, 消耗水桶, 返还空桶] → 变身 汤锅(加水)(rtdd:stewedsoupwater),水桶变回空桶(minecraft:bucket)
2. 盖/掀锅盖 双向 【右键转换】
转换条件:[手持 锅盖 右键] 汤锅(加水)->汤锅(空)
机制: 盖上(锅盖) / 掀开(汤锅(加水)) 循环切换 拿空桶(minecraft:bucket)右键, 消耗1个空桶
→ 变身 汤锅(空)(rtdd:stewedsoup) 掉落一个水桶
======================================== ========================================
二、汤底(汤锅(加水) + 食材) 【盖/掀锅盖】(双向)
======================================== ========================================
机制: 手持食材 右键 汤锅(加水)【右键转换】, 消耗1个, 变对应汤底 步骤1:汤锅(加水)(rtdd:stewedsoupwater) + 空手右键,
(食材均为切配后的碎食材: 胡萝卜碎/青菜碎/土豆块, 来自乡野食材·蔬菜切配) → 变身 汤锅(盖锅)
3. 汤锅(加水) + 胡萝卜碎 -> 胡萝卜汤 步骤2:汤锅(盖锅) + 空手右键,
4. 汤锅(加水) + 青菜碎 -> 蔬菜汤 → 变身 汤锅(加水)(rtdd:stewedsoupwater)
5. 汤锅(加水) + 鸡蛋 -> 蛋花汤
6. 汤锅(加水) + 土豆块 -> 土豆汤
7. 汤锅(加水) + 胡萝卜碎 + 土豆块 -> 胡萝卜土豆汤
8. 汤锅(加水) + 红蘑菇 -> 红蘑菇汤
9. 汤锅(加水) + 棕蘑菇 -> 棕蘑菇汤
10. 汤锅(加水) + 蘑菇 -> 蘑菇汤
11. 汤锅(加水) + 鳕鱼 -> 鳕鱼汤
12. 汤锅(加水) + 鲑鱼 -> 鲑鱼汤
13. 汤锅(加水) + 土豆块 + 鸡蛋 -> 土豆蛋花汤
======================================== ========================================
三、各汤羹(汤底 + 肉/鱼 -> 生 -> 计时 -> 熟) 菜谱 1 — 胡萝卜汤
======================================== ========================================
机制: 手持 肉/鱼 右键 对应汤底【右键转换】-> 汤羹(生); 步骤1:汤锅(加水)(rtdd:stewedsoupwater) + 拿胡萝卜碎(rtdd:crushed_carrots)右键, 消耗4个
【计时】60秒/级 -> 汤羹(四分熟) -> 汤羹(八分熟) -> 汤羹(熟) → 变身 胡萝卜汤(rtdd:carrotsoup)
(肉类/鱼 来自 乡野食材 或 原版; 加料消耗1个)
14. 胡萝卜汤 + 生牛肉 -> 胡萝卜牛肉汤 【右键转换+计时】
15. 胡萝卜汤 + 羊肉 -> 胡萝卜羊肉汤 【右键转换+计时】
16. 胡萝卜汤 + 猪排骨 -> 胡萝卜排骨汤 【右键转换+计时】
17. 蔬菜汤 + 生牛肉 -> 清汤羊肉 【右键转换+计时】
18. 蔬菜汤 + 羊肉 -> 蔬菜牛肉汤 【右键转换+计时】
19. 蔬菜汤 + 碎肉 -> 蔬菜瘦肉汤 【右键转换+计时】
20. 蔬菜汤 + 青菜碎(或胡萝卜碎/土豆块) -> 蔬菜乱炖 【右键转换+计时】
21. 胡萝卜土豆汤 + 牛腿 -> 胡萝卜土豆牛骨汤 【右键转换+计时】
(牛骨已放弃, 用牛腿替代, 菜名保留)
22. 胡萝卜土豆汤 + 羊肉 -> 土豆胡萝卜炖羊肉 【右键转换+计时】
23. 胡萝卜土豆汤 + 羊排 -> 胡萝卜土豆羊排汤 【右键转换+计时】
24. 胡萝卜汤 + 鳕鱼 -> 胡萝卜鳕鱼汤 【右键转换+计时】
25. 胡萝卜汤 + 鲑鱼 -> 胡萝卜鲑鱼汤 【右键转换+计时】
26. 鳕鱼汤 + 鸡蛋 -> 蛋花鳕鱼汤 【右键转换+计时】
27. 瘦肉蛋花汤底 + 鸡蛋 -> 瘦肉蛋花汤 【右键转换+计时】
(瘦肉已放弃, 用碎肉替代)
28. 豆腐汤 + 鲑鱼 -> 豆腐鲑鱼汤 【右键转换+计时】
(加葱花步骤见原文档; 豆腐来源: 本文件 六)
29. 汤锅(加水) + 豆腐 -> 豆腐汤 【右键转换】
30. 蘑菇汤 + 生鸡肉 -> 蘑菇炖鸡 【右键转换+计时】
31. 汤锅(加水) + 猪蹄 -> 猪蹄汤 【右键转换+计时】
32. 汤锅(加水) + 馍(面食.甜食) -> 羊肉泡馍汤 【右键转换+计时】
33. 汤锅(加水) + 生面(面食.甜食) -> 生面汤 -> 熟面汤 【右键转换+计时】
34. 汤锅(加水) + 生饺子(面食.甜食) -> 饺子汤 【右键转换+计时】
35. 汤锅(加水) + 鱿鱼 -> 鱿鱼汤 【右键转换+计时】
36. 蔬菜汤 + 生鱼片 -> 蔬菜鱼片汤 【右键转换+计时】
======================================== ========================================
四、米饭流程(核心关联) 菜谱 2 — 蔬菜汤
======================================== ========================================
37. 汤锅(加水) + 大米(乡野食材, 生) -> 生米锅 【右键转换】 步骤1:汤锅(加水)(rtdd:stewedsoupwater) + 拿青菜碎(rtdd:vegetable)右键, 消耗4个
转换条件:[手持 大米(生) 右键, 消耗1个] → 变身 蔬菜汤(rtdd:vegetablesoup)
38. 生米锅 -> 熟米饭(一级) -> 熟米饭(二级) -> 熟米饭(三级) 【计时】
转换条件:[计时约60秒一级, 共三级变熟]
39. 熟米饭(三级) 空手右键 -> 饭团 【右键转换】
机制: 熟米饭直接捏成饭团(不用碗), 供 寿司 干海带+饭团 -> 寿司【吃】(寿司转化关系.txt)
39a. 熟米饭(三级) + 木碗 -> 碗装米饭 【右键转换】
转换条件:[手持 木碗 右键, 消耗1个木碗]
机制: 木碗盛出熟米饭, 供 炒锅 蛋炒饭(炒锅转化关系.txt 六)
todo 饭团/碗装米饭 右键吃 (吃的操作后续由总食用功能实现)
======================================== ========================================
五、煮鸡蛋组(独立分组 itemGroup.name.tangguo_boiledeggs) 菜谱 3 — 蛋花汤
======================================== ========================================
方块: 煮鸡蛋(生)、煮鸡蛋(熟); 成品: 水煮蛋(归 tangguo_finished 成品组) 步骤1:汤锅(加水)(rtdd:stewedsoupwater) + 拿鸡蛋(minecraft:egg)右键, 消耗3个
- 本组由 禁用(xy_jinyong) 移回汤锅, 单独成组 → 变身 蛋花汤(rtdd:eggsoup)
40. 汤锅(加水) + 鸡蛋 -> 煮鸡蛋(生) 【右键转换】
转换条件:[手持 鸡蛋 右键, 消耗1个]
机制: 鸡蛋入锅, 变生煮鸡蛋
41. 煮鸡蛋(生) -> 煮鸡蛋(熟) 【计时】
转换条件:[计时约60秒变熟]
42. 煮鸡蛋(熟) + 木碗 -> 水煮蛋 【右键转换】
转换条件:[手持 木碗 右键, 消耗1个木碗]
机制: 捞出煮熟鸡蛋, 水煮蛋归成品菜组 -> 【吃】
======================================== ========================================
六、煮豆腐组(独立分组 itemGroup.name.tangguo_tofu) 菜谱 4 — 土豆汤
======================================== ========================================
方块: 煮豆腐(生)、煮豆腐(熟); 成品: 豆腐(物品, 归 tangguo_finished) 步骤1:汤锅(加水)(rtdd:stewedsoupwater) + 拿土豆块(rtdd:potato_wedges)右键, 消耗4个
- 本组由 禁用(xy_jinyong) 移回汤锅, 单独成组 → 变身 土豆汤(rtdd:potatosoup)
43. 汤锅(加水) + 豆浆 -> 煮豆腐(生) 【右键转换】
转换条件:[手持 豆浆 右键, 消耗1个]
机制: 豆浆入锅(豆浆来源: 乡野饮料 榨汁机 黄豆 -> 豆浆, 见 乡野饮料转化关系.txt)
44. 煮豆腐(生) -> 煮豆腐(熟) 【计时】
转换条件:[计时约60秒变熟]
45. 煮豆腐(熟) + 菜刀 -> 豆腐 16个 【右键转换】
转换条件:[手持 菜刀 右键, 不消耗刀]
机制: 锅中取出豆腐, 得16个豆腐; 锅恢复空汤锅
豆腐 供 汤锅 豆腐汤(第29条) / 炒锅 麻婆豆腐(炒锅转化关系.txt 37)
todo 豆腐 右键吃 (可生食? 后续确认)
======================================== ========================================
七、出锅(熟汤羹 + 木碗 -> 碗装成品) 菜谱 5 — 胡萝卜土豆汤
======================================== ========================================
机制: 手持 木碗(厨具) 右键 熟汤羹【右键转换】, 消耗1个木碗, 获得对应碗装成品 转换1:土豆汤(rtdd:potatosoup) + 拿胡萝卜碎(rtdd:crushed_carrots)右键, 消耗4个
- 各汤羹熟态出锅 -> 碗装XX 系列, 成品归 tangguo_finished 成品组 → 变身 胡萝卜土豆汤(rtdd:carrotandpotatosoup)
- 碗装成品 = 【吃】(右键食用); 水煮蛋/豆腐 亦归 tangguo_finished 转换2:胡萝卜汤(rtdd:carrotsoup) + 拿土豆块(rtdd:potato_wedges)右键, 消耗4个
- 鱿鱼汤熟态 方块当前为禁用分类 → 变身 胡萝卜土豆汤(rtdd:carrotandpotatosoup)
todo 各碗装成品 右键吃 (吃的操作后续由总食用功能实现) ========================================
菜谱 6 — 红蘑菇汤
========================================
步骤1:汤锅(加水)(rtdd:stewedsoupwater) + 拿红蘑菇(minecraft:red_mushroom)右键, 消耗5个
→ 变身 红蘑菇汤(rtdd:red_mushroomsoup)
======================================== ========================================
【方块清单】(中文 -> 英文id, 供实现对照) 菜谱 7 — 棕蘑菇汤
======================================== ========================================
- 汤锅(空): stewedsoup; 汤锅(加水): stewedsoupwater; 锅盖: coverthepot 步骤1:汤锅(加水)(rtdd:stewedsoupwater) + 拿棕蘑菇(minecraft:brown_mushroom)右键, 消耗5个
- 汤底: 胡萝卜汤(carrotsoup)、蔬菜汤(vegetablesoup)、蛋花汤(eggsoup)、 → 变身 棕蘑菇汤(rtdd:brownmushroomsoup)
土豆汤(potatosoup)、胡萝卜土豆汤(carrotandpotatosoup)、红蘑菇汤(red_mushroomsoup)、
棕蘑菇汤(brownmushroomsoup)、蘑菇汤(mushroomsoup)、鳕鱼汤(codsoup)、 ========================================
鲑鱼汤(salmonsoup)、土豆蛋花汤(potatoeggsoup) 菜谱 8 — 蘑菇汤
- 汤羹(生_0/四分熟_1/八分熟_2/熟_3, 部分为三分熟/七分熟): ========================================
胡萝卜牛肉汤(carrotbeefsoup)、胡萝卜羊肉汤(lambsoupwithturnips)、 转换1:红蘑菇汤(rtdd:red_mushroomsoup) + 拿棕蘑菇(minecraft:brown_mushroom)右键, 消耗5个
胡萝卜排骨汤(carrotribs)、清汤羊肉(vegetablebeefsoup)、蔬菜牛肉汤(vegetablelambsoup)、 → 变身 蘑菇汤(rtdd:mushroomsoup)
蔬菜瘦肉汤(vegetableleanbroth)、蔬菜乱炖(vegetablesstew)、 转换2:棕蘑菇汤(rtdd:brownmushroomsoup) + 拿红蘑菇(minecraft:red_mushroom)右键, 消耗5个
胡萝卜土豆牛骨汤(beefbonebroth)、土豆胡萝卜炖羊肉(lambstew)、 → 变身 蘑菇汤(rtdd:mushroomsoup)
胡萝卜土豆羊排汤(vegetablepotatoesandlambsteaksoup)、胡萝卜鳕鱼汤(carrotcodsoup)、
胡萝卜鲑鱼汤(carrotfishsoup)、蛋花鳕鱼汤(eggcodsoup)、瘦肉蛋花汤(norieggsoup)、 ========================================
豆腐汤(tufusoup)、豆腐鲑鱼汤(tufufishsoup)、蘑菇炖鸡(chickenstewwithmushrooms)、 菜谱 9 — 鳕鱼汤
猪蹄汤(rawpigfoodsoup)、羊肉泡馍汤(roujiamosoup)、生面汤(rawnoodlesoup)、 ========================================
熟面汤(cookednoodlessoup)、饺子汤(dumplingssoup)、鱿鱼汤(squidsoup)、 步骤1:汤锅(加水)(rtdd:stewedsoupwater) + 拿鳕鱼(minecraft:cod)右键, 消耗1个
蔬菜鱼片汤(vegetablefishsoup) → 变身 鳕鱼汤(rtdd:codsoup)
(部分熟态方块以 brown* 前缀命名: 如 brown_norieggsoup/browncarrotfishsoupsoup/
brownlambsoupwithturnipssoup/brownpigfootsoup/brownvegetablefishsoup) ========================================
- 米饭: 生米锅(rawricepot)、熟米饭(ricepot_1/2/3)、饭团(rice_balls, 物品)、 菜谱 10 — 鲑鱼汤
碗装米饭(bowlofrice) ========================================
- 煮鸡蛋: 煮鸡蛋(生)(raweggsoup)、煮鸡蛋(熟)(cookedeggsoup)、水煮蛋(boiled_egg, 物品) 步骤1:汤锅(加水)(rtdd:stewedsoupwater) + 拿鲑鱼(minecraft:salmon)右键, 消耗1个
- 煮豆腐: 煮豆腐(生)(beancurdsoup_0)、煮豆腐(熟)(beancurdsoup_1)、豆腐(beancurd, 物品) → 变身 鲑鱼汤(rtdd:salmonsoup)
- 碗装成品(归 tangguo_finished): 碗装胡萝卜牛肉汤(bowlacarrotbeefsoup)、
碗装胡萝卜排骨汤(bowlacarrotribs)、碗装胡萝卜鳕鱼汤(bowlacarrotcodsoup)、 ========================================
碗装牛骨汤(bowlabeefbonebroth)、碗装蛋花鳕鱼汤(bowlaeggcodsoup)、 菜谱 11 — 土豆蛋花汤
碗装炖羊肉(bowlalambstew)、碗装羊排汤(bowla_lambchopsoup)、 ========================================
碗装羊肉泡馍(bowla_roujiamo)、碗装豆腐鲑鱼汤(bowlatufufish)、 转换1:土豆汤(rtdd:potatosoup) + 拿鸡蛋(minecraft:egg)右键, 消耗3个
碗装清汤羊肉(bowlavegetablebeefsoup)、碗装蔬菜牛肉汤(bowlavegetablelambsoup)、 → 变身 土豆蛋花汤(rtdd:potatoeggsoup)
碗装蔬菜瘦肉汤(bowlavegetableleanbroth)、碗装蔬菜乱炖(bowlavegetablesstew)、 转换2:蛋花汤(rtdd:eggsoup) + 拿土豆块(rtdd:potato_wedges)右键, 消耗4个
碗装蘑菇汤(bowlofmushroomsoup) → 变身 土豆蛋花汤(rtdd:potatoeggsoup)
- 关联外部: 木碗(bowlasoup)/菜刀(cleaver)(厨具); 大米(brownrice)(乡野食材);
豆浆(fruitjuice_7)(乡野饮料); 生面(noodles)/生饺子(dumplings_4)/馍(roujiamo_0)(面食.甜食) ========================================
菜谱 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)
+530 -114
View File
@@ -2,150 +2,566 @@
【炒锅】(xy_chaoguo) 转化关系 【炒锅】(xy_chaoguo) 转化关系
======================================== ========================================
说明: 说明:
- 正文全部用中文方块名, 英文id见文末【方块清单】 - 正文全部用中文方块名, 英文id写在括号里
- 炒锅方块: 炒锅、锅盖、添油锅; 锅底: 胡萝卜锅底/蔬菜锅底/辣椒锅底 - 炒锅方块: 炒锅(wok)、锅盖(coverthepan)、添油锅(oilpan); 工具: 锅铲(spatula)、盘子(plate_0)
- 核心流程: 添油【右键转换】 -> 起锅底【右键转换】 -> 加料【右键转换】 -> - 核心流程: 添油【右键转换】 -> 起锅底【右键转换】 -> 加料【右键转换】 ->
翻炒【右键转换】(锅铲3次/级) -> 熟 -> 出锅【右键转换】 -> 盘装成品【吃】 翻炒【右键转换】(锅铲, 3次/级, 冷却1.5秒) -> 熟 -> 空手出锅【右键转换】 -> 盘装成品
- 全部菜式形态: 菜(生) -> 菜(熟), 用 锅铲 右键翻炒, 每3次升一级 - 翻炒: 手持 锅铲(spatula) 右键 菜(生), 每次右键=1次翻炒, 冷却1.5秒, 3次升一级
- 出锅: 手持 盘子 右键 熟菜, 消耗1个盘子, 获得成品菜 - 出锅: 空手右键 熟菜, 锅变回 空炒锅(wok), 获得 盘装成品(掉落物)
- 炒锅需放在 点燃的炉灶(stove_2) 上(下方判定)才可翻炒/计时; 炉灶移走则暂停 - 炒锅需放在 点燃的炉灶(stove_2) 上(下方判定)才可翻炒; 炉灶移走则暂停
【操作类型图例】
【右键转换】= 手持指定物品右键方块触发(翻炒用锅铲右键)
【计时】 = 方块自动计时转换(约60秒一级)
【吃】 = 成品可直接右键食用
【跨分类关联】 【跨分类关联】
- 锅铲/带油锅铲/盘子: 厨具; 带油锅铲用完变回锅铲(厨具转化关系.txt 七) - 锅铲/带油锅铲/盘子: 厨具; 带油锅铲用完变回锅铲(厨具转化关系.txt 七)
- 点燃的炉灶(stove_2): 厨具 炉灶加柴点燃 - 点燃的炉灶(stove_2): 厨具 炉灶加柴点燃
- 碗装米饭: 汤锅 大米煮饭木碗盛出(汤锅转化关系.txt 39a); 与寿司饭团同源不同用 - 碗装米饭: 汤锅 大米煮饭木碗盛出; 与寿司饭团同源不同用
- 煎蛋: 本分类 第19条; 鸡蛋一蛋三用(煎蛋/汤锅煮鸡蛋/蛋花汤) - 煎蛋: 鸡蛋一蛋三用(煎蛋/汤锅煮鸡蛋/蛋花汤)
- 生面/面团: 面食.甜食 - 生面/面团: 面食.甜食
- 豆腐: 汤锅 煮豆腐(汤锅转化关系.txt 45) - 豆腐: 汤锅 煮豆腐(汤锅转化关系.txt)
- 香菇: 原版蘑菇替代(已放弃独立香菇食材) - 香菇: 原版蘑菇替代(已放弃独立香菇食材)
- 食材: 乡野食材分类(切配碎食材: 胡萝卜碎/土豆块/青菜碎/葱花碎/蒜末 及 肉/鱼/辣椒等) - 食材: 乡野食材分类(切配碎食材: 胡萝卜碎/土豆块/青菜碎/葱花碎/蒜末 及 肉/鱼/辣椒等)
======================================== ========================================
一、基础工具 【炒锅 -> 添油锅】
======================================== ========================================
1. 炒锅 -> 添油锅 【右键转换】 步骤1:炒锅(rtdd:wok) + 拿带油锅铲(rtdd:spatula_oil)右键, 不消耗油铲
转换条件:[手持 带油锅铲 右键, 不消耗油铲] → 变身 添油锅(rtdd:oilpan),带油锅铲用完变回锅铲(rtdd:spatula)
机制: 带油锅铲右键空锅添油, 变添油锅; 带油锅铲用完变回锅铲(见 厨具转化关系.txt 七)
2. 炒锅 <-> 炒锅(盖锅) 盖/掀锅盖 双向 【右键转换】
转换条件:[右键 进行转换]
======================================== ========================================
二、锅底(添油锅 + 食材) 【炒锅 <-> 炒锅(盖锅)】(双向)
======================================== ========================================
机制: 手持食材 右键 添油锅【右键转换】, 消耗1个, 变对应锅底 步骤1:炒锅(rtdd:wok) + 空手右键, 不消耗
(食材均为切配后的碎食材: 胡萝卜碎/土豆块/青菜碎/葱花碎/蒜末) → 变身 炒锅(盖锅)
3. 添油锅 + 辣椒(乡野食材) -> 辣椒锅底 【右键转换】 步骤2:炒锅(盖锅) + 空手右键, 不消耗
4. 添油锅 + 胡萝卜碎 -> 胡萝卜锅底 【右键转换】 → 变身 炒锅(rtdd:wok)
机制: 胡萝卜锅底 = 炒菜主锅底, 后续加肉/鱼成菜
5. 添油锅 + 青菜碎/葱花碎 -> 蔬菜锅底 【右键转换】
机制: 原名"香菜锅底", 因无香菜改用葱花碎/青菜碎, 变蔬菜锅底
======================================== ========================================
三、食材炒锅(添油锅 + 食材 -> 生 -> 翻炒 -> 熟) 菜谱 1 — 辣椒锅底
======================================== ========================================
机制: 手持食材 右键 添油锅【右键转换】-> 生; 手持 锅铲 右键翻炒【右键转换】, 3次升一级 步骤1:添油锅(rtdd:oilpan) + 拿辣椒(rtdd:pepper)右键, 消耗1个
6. 添油锅 + 生猪肉 -> 炒猪肉(生) -> 翻炒3次 -> 熟 【右键转换】 → 变身 辣椒锅底(rtdd:cooking_pepper)
7. 添油锅 + 生鸡肉 -> 炒鸡肉(生) -> 熟 【右键转换】
8. 添油锅 + 面团(面食.甜食) -> 煎面饼(生) -> 熟 【右键转换】
9. 添油锅 + 土豆块 -> 炒土豆(生) -> 翻炒3次 -> 熟 【右键转换】
10. 添油锅 + 葱花碎 -> 炒菜加葱 【右键转换】
11. 添油锅 + 蒜末 -> 炒菜加大蒜 【右键转换】
12. 添油锅 + 胡萝卜碎 -> 炒胡萝卜(生) -> 翻炒3次半熟 -> 3次熟 【右键转换】
13. 添油锅 + 生面(面食.甜食) -> 意面(生) -> 翻炒3次 -> 意面(熟) 【右键转换】
(意面(熟) 为 意面系列 基础, 见 五)
14. 添油锅 + 碎肉 -> 炒碎肉(生) -> 熟 【右键转换】
15. 添油锅 + 鱿鱼须 -> 炒鱿鱼须(生) -> 熟 【右键转换】
16. 添油锅 + 螃蟹 -> 炒蟹(生) -> 熟 【右键转换】
17. 添油锅 + 鲑鱼 -> 煎鲑鱼(生) -> 熟 【右键转换】
18. 添油锅 + 鱿鱼 -> 炒鱿鱼(生) -> 半熟 -> 熟 【右键转换】
19. 添油锅 + 鸡蛋 -> 煎蛋 【右键转换】
(鸡蛋同源: 还用于 汤锅 煮鸡蛋/蛋花汤, 见 汤锅转化关系.txt; 煎蛋为蛋炒饭前置, 见 六)
======================================== ========================================
四、各菜谱(胡萝卜锅底/辣椒锅底 + 肉/鱼 -> 菜) 菜谱 2 — 胡萝卜锅底
======================================== ========================================
机制: 全部 菜(生) -> 菜(熟), 锅铲翻炒3次升一级【右键转换】 步骤1:添油锅(rtdd:oilpan) + 拿胡萝卜碎(rtdd:crushed_carrots)右键, 消耗1个
20. 胡萝卜锅底 + 生牛肉 -> 黑椒牛排 【右键转换】 → 变身 胡萝卜锅底(rtdd:carrotpotbase)
21. 胡萝卜锅底 + 牛肋 -> 胡萝卜牛排骨 【右键转换】
22. 胡萝卜锅底 + 牛腿 -> 黑椒牛腿 【右键转换】
23. 胡萝卜锅底 + 羊肉 -> 清炒羊肉 【右键转换】
24. 胡萝卜锅底 + 猪排 -> 清炒猪排 【右键转换】
25. 胡萝卜锅底 + 鲑鱼 -> 胡萝卜鲑鱼 【右键转换】
26. 胡萝卜锅底 + 羊腿 -> 胡萝卜羊腿 【右键转换】
27. 胡萝卜锅底 + 鳕鱼 -> 胡萝卜炒鳕鱼 【右键转换】
28. 胡萝卜锅底 + 牛里脊 -> 胡萝卜牛里脊 【右键转换】
29. 胡萝卜锅底 + 五花肉 -> 小炒五花肉 【右键转换】
30. 胡萝卜锅底 + 猪排骨 -> 胡萝卜炒猪排骨 【右键转换】
31. 胡萝卜锅底 + 羊里脊 -> 胡萝卜炒羊里脊 【右键转换】
32. 胡萝卜锅底 + 羊排 -> 胡萝卜炒羊排 【右键转换】
33. 辣椒锅底 + 鸡肉 -> 辣子鸡丁 【右键转换】
34. 辣椒锅底 + 兔肉 -> 辣炒兔肉 【右键转换】
35. 辣椒锅底 + 鲑鱼 -> 辣炒鲑鱼 【右键转换】
36. 辣椒锅底 + 牛肉 -> 辣椒炒牛肉 【右键转换】
37. 辣椒锅底 + 牛肉 + 豆腐(汤锅) -> 麻婆豆腐 【右键转换】
38. 香菇(原版蘑菇) + 鸡肉 -> 香菇滑鸡 【右键转换】
39. 炒猪肉 + 土豆块 -> 土豆炒猪肉 【右键转换】
40. 炒猪肉 + 胡萝卜碎 -> 胡萝卜炒猪肉 【右键转换】
41. 炒时蔬 + 胡萝卜碎 -> 炒时蔬(加胡萝卜碎) 【右键转换】
42. 添油锅 + 面团 -> 煎葱油饼 / 煎酱香饼 / 煎馍 / 煎饼 (各生->熟) 【右键转换】
43. 添油锅 + 鸡肉 -> 小炒鸡肉(生) -> 熟 【右键转换】
======================================== ========================================
五、意面系列(意面(熟) + 料) 菜谱 3 — 蔬菜锅底
======================================== ========================================
机制: 手持料 右键 熟意面【右键转换】-> 意面(生) -> 翻炒3次 -> 意面(熟) 转换1:添油锅(rtdd:oilpan) + 拿青菜碎(rtdd:vegetable)右键, 消耗1个
44. 意面(熟) + 牛肉 -> 牛肉意面(生) -> 翻炒 -> 熟 【右键转换】 → 变身 蔬菜锅底(rtdd:vegetablespotbase)
45. 意面(熟) + 香菇(蘑菇) -> 香菇意面(生) -> 翻炒 -> 熟 【右键转换】 转换2:添油锅(rtdd:oilpan) + 拿葱花碎(rtdd:crushed_scallions)右键, 消耗1个
46. 意面(熟) + 胡萝卜碎 -> 胡萝卜意面(生) -> 翻炒 -> 熟 【右键转换】 → 变身 蔬菜锅底(rtdd:vegetablespotbase)
47. 意面(熟) + 鸡肉 + 番茄(已放弃, 暂缺替代) -> 鸡肉番茄意面(生) -> 翻炒 -> 熟 【右键转换】 (原名"香菜锅底", 因无香菜改用青菜碎/葱花碎)
======================================== ========================================
六、蛋炒饭 菜谱 4 — 炒猪肉
======================================== ========================================
48. 煎蛋(第19条) + 碗装米饭(汤锅盛出) -> 蛋炒饭(生) 【右键转换】 步骤1:添油锅(rtdd:oilpan) + 拿生猪肉(minecraft:porkchop)右键, 消耗1个
-> 翻炒3次 -> 蛋炒饭(熟) -> + 碗装米饭 -> 蛋炒饭(加米饭熟) 【右键转换】 → 变身 炒猪肉_生(rtdd:fried_pork)
(碗装米饭来源: 汤锅 大米煮饭木碗盛出, 见 汤锅转化关系.txt 39a) 步骤2:炒猪肉_生(rtdd:fried_pork) + 拿锅铲(rtdd:spatula)右键翻炒 → 翻炒3次,冷却1.5秒
49. 蛋炒饭(加米饭熟) -> 碗装蛋炒饭 【右键转换】(出锅) -> 【吃】 → 变身 炒猪肉_熟(rtdd:fried_pork_1)
步骤3:炒猪肉_熟(rtdd:fried_pork_1) + 空手右键
→ 锅变回空炒锅(rtdd:wok),获得 炒猪肉
(炒猪肉_熟 也可继续加料, 见 菜谱37/38)
======================================== ========================================
七、出锅(熟菜 + 盘子 -> 成品) 菜谱 5 — 炒鸡肉
======================================== ========================================
机制: 手持 盘子(厨具) 右键 熟菜【右键转换】, 消耗1个盘子, 获得对应成品菜 步骤1:添油锅(rtdd:oilpan) + 拿生鸡肉(minecraft:chicken)右键, 消耗1个
- 各菜式出锅一一对应, 成品归 chaoguo_finished 成品组 → 变身 炒鸡肉_生(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 各盘装成品 右键吃 (吃的操作后续由总食用功能实现) todo 各盘装成品 右键吃 (吃的操作后续由总食用功能实现)
======================================== ========================================
【方块清单】(中文 -> 英文id, 供实现对照) 八、盖饭分组(itemGroup.name.food_11_rice_meal)
======================================== ========================================
- 炒锅: wok; 锅盖: coverthepan; 添油锅: oilpan 机制: 手持 成品菜 右键 碗装米饭(rtdd:bowlofrice)【右键转换】, 消耗1个成品菜 + 1个碗装米饭, 变 盖饭
- 锅底: 胡萝卜锅底(carrotpotbase)、蔬菜锅底(vegetablespotbase)、辣椒锅底(cooking_pepper) (碗装米饭来源: 汤锅 菜谱38; 盖饭归 food_11_rice_meal 分组, 均【吃】)
- 食材炒: 炒猪肉(fried_pork)、炒鸡肉(friedchicken)、煎面饼(cookingdought)、 - 辣子鸡丁盖饭: plate_48 = 辣子鸡丁(plate_47) + 碗装米饭
炒土豆(cookingpotato)、炒菜加葱(cookingscallions)、炒菜加大蒜(cookinggarlic)、 - 香菇滑鸡盖饭: plate_55 = 香菇滑鸡(plate_54) + 碗装米饭
炒胡萝卜(cookingcarrot)、意面(pastapot_0生/…/pastapot_1熟)、炒碎肉(cookingmeat)、 - 麻婆豆腐盖饭: plate_56 = 麻婆豆腐(plate_32) + 碗装米饭
炒鱿鱼须(squidwhiskersincooking)、炒蟹(cookingcrab)、煎鲑鱼(cookingfish)、 - 鳕鱼盖饭: plate_50 = 胡萝卜炒鳕鱼(plate_15) + 碗装米饭
炒鱿鱼(cookingsquid)、煎蛋(cookedegg)、煎葱油饼(cooking_scallion_pancake)、
煎酱香饼(cooking_pancake_1)、煎馍(cookingdough)、煎饼(cookingdought)、 ========================================
小炒鸡肉(cookinganymeat生/cookedanymeat熟) 九、成品菜清单(归 chaoguo_finished, 均为【吃】)
- 菜谱(胡萝卜锅底): 黑椒牛排(carrotandbeef)、胡萝卜牛排骨(carrotandbeefribs)、 ========================================
黑椒牛腿(carrotandlegcow)、清炒羊肉(carrotandmutton)、清炒猪排(carrotandporkchop)、 所有出锅产物 均以掉落物形式获得, 右键吃 后续由总食用功能实现:
胡萝卜鲑鱼(carrotandsalmon)、胡萝卜羊腿(carrotlegoflamb)、胡萝卜炒鳕鱼(cookingcod)、 - 黑椒牛排 (plate_2)
胡萝卜牛里脊(cookingbeeftenderloin)、小炒五花肉(cookingcookedporkloin)、 - 清炒猪排 (plate_1)
胡萝卜炒猪排骨(cookingcookedporkribs)、胡萝卜炒羊里脊(cookingsheeploin)、 - 清炒羊肉 (plate_3)
胡萝卜炒羊排(cookingsheeprack) - 熟鸡肉盘 (plate_4)
- 菜谱(辣椒锅底): 辣子鸡丁(cookingchilipepperandchicken)、辣炒兔肉(cookingrabbit)、 - 胡萝卜鲑鱼 (plate_5)
辣炒鲑鱼(spicy_fish)、辣椒炒牛肉(oilpanchilipepperbeef)、麻婆豆腐(oilpanchilipepperbeefbeancurd) - 胡萝卜牛排骨 (plate_6)
- 其他菜: 香菇滑鸡(mushroom_fried_chicken)、土豆炒猪肉(fried_porkwith_potatoes)、 - 黑椒牛腿 (plate_7)
胡萝卜炒猪肉(fried_porkwith_carrots) - 胡萝卜牛里脊 (plate_8)
- 意面系列: 牛肉意面(pastapot_2生/pastapot_3熟)、香菇意面(pastapot_4生/pastapot_5熟)、 - 胡萝卜羊腿 (plate_9)
胡萝卜意面(pastapot_6生/pastapot_7熟)、鸡肉番茄意面(pastapot_8生/pastapot_9熟) - 胡萝卜炒羊里脊 (plate_10)
- 蛋炒饭: 蛋炒饭(riceegg_1生/riceegg_2熟/riceegg_3加米饭熟)、 - 胡萝卜炒羊排 (plate_11)
碗装蛋炒饭(bowlofriceegg, 归 chaoguo_finished) - 小炒五花肉 (plate_12)
- 盘装成品: 各菜式出锅 -> plate_* 系列(归 chaoguo_finished 成品组, 实现时按顺序对应) - 胡萝卜炒猪排骨 (plate_13)
- 关联外部: 锅铲(spatula)/带油锅铲(spatula_oil)/盘子(plate_0)(厨具); - 炒土豆 (plate_14)
碗装米饭(bowlofrice)(汤锅); 豆腐(beancurd)(汤锅); 生面(noodles)/面团(dough_0)(面食.甜食) - 胡萝卜炒鳕鱼 (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)