176 lines
11 KiB
Python
176 lines
11 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""
|
|
================================================================================
|
|
油锅(xy_youguo)转化规则数据
|
|
================================================================================
|
|
统一管理"油锅"分类下的转化规则常量。只被
|
|
YouguoService / YouguoTimerService 读取, FeatureDispatcher 通过
|
|
方块名路由到对应服务。
|
|
|
|
【实现范围(对应 油锅转化关系.txt 一~三)】
|
|
一、油锅基础: 倒油(油罐->玻璃罐)/取油(玻璃罐->油罐)
|
|
二、炸物 : 满油锅+裹粉半成品(右键) -> 炸物(生) -> 计时 -> 熟
|
|
三、出锅 : 熟炸物+盘子(右键) -> 掉落盘装成品(掉落物形式)
|
|
|
|
【计时(见 YouguoTimerService)】
|
|
炸物(生)->60秒->炸物(半熟)->30秒->炸物(熟); 天妇罗/炸饺子 生->60秒->熟
|
|
计时判定: 炸物方块正下方须是 点燃的炉灶(stove_2) 才开始计时,
|
|
计时数据在炸物方块本身(炸物方块 tick 判定下方); 炉灶移走/熄灭则暂停
|
|
|
|
【不实现】: 各盘装成品 右键吃 (吃的操作后续由总食用功能实现)
|
|
================================================================================
|
|
"""
|
|
|
|
# ============================================================================
|
|
# 一、方块/物品(常量)
|
|
# ============================================================================
|
|
OILPOT_0 = "rtdd:oilpot_0" # 油锅(空)
|
|
OILPOT_1 = "rtdd:oilpot_1" # 油锅(满油)
|
|
OILCAN = "rtdd:oilcan" # 油罐(厨具)
|
|
MEDICINE_TANK = "rtdd:medicinetank" # 玻璃罐(厨具)
|
|
PLATE = "rtdd:plate_0" # 盘子(厨具)
|
|
LIT_STOVE = "rtdd:stove_2" # 点燃的炉灶(厨具)
|
|
|
|
# 裹粉半成品(物品, 乡野食材)
|
|
BREADED_CHICKEN = "rtdd:oil_chickennuggets" # 裹粉鸡块
|
|
BREADED_PORK = "rtdd:oilpork" # 裹粉猪肉
|
|
BREADED_FRIES = "rtdd:oilfrenchfries" # 裹粉薯条
|
|
BREADED_FISH = "rtdd:oilfish_0" # 裹粉鱼
|
|
BREADED_TEMPURA = "rtdd:oiltempura" # 裹粉天妇罗
|
|
DUMPLINGS = "rtdd:dumplings_4" # 生饺子(面食.甜食)
|
|
|
|
# 炸物方块(生/半熟/熟)
|
|
CHICKEN_0 = "rtdd:oilchickennuggets_0" # 炸鸡块(生)
|
|
CHICKEN_1 = "rtdd:oilchickennuggets_1" # 炸鸡块(半熟)
|
|
CHICKEN_2 = "rtdd:oilchickennuggets_2" # 炸鸡块(熟)
|
|
PORK_0 = "rtdd:oilpotporkchop_0" # 炸猪排(生)
|
|
PORK_1 = "rtdd:oilpotporkchop_1" # 炸猪排(半熟)
|
|
PORK_2 = "rtdd:oilpotporkchop_2" # 炸猪排(熟)
|
|
FRIES_0 = "rtdd:oilfrenchfries_0" # 炸薯条(生)
|
|
FRIES_1 = "rtdd:oilfrenchfries_1" # 炸薯条(半熟)
|
|
FRIES_2 = "rtdd:oilfrenchfries_2" # 炸薯条(熟)
|
|
FISH_0 = "rtdd:oilpotfish_0" # 炸鱼块(生)
|
|
FISH_1 = "rtdd:oilpotfish_1" # 炸鱼块(半熟)
|
|
FISH_2 = "rtdd:oilpotfish_2" # 炸鱼块(熟)
|
|
TEMPURA_1 = "rtdd:oiltempura_1" # 炸天妇罗(生)
|
|
TEMPURA_2 = "rtdd:oiltempura_2" # 炸天妇罗(熟)
|
|
DUMPLING_1 = "rtdd:oil_frieddumplings_1" # 炸饺子(生, 油锅+饺子合体)
|
|
DUMPLING_2 = "rtdd:oil_frieddumplings_2" # 炸饺子(熟)
|
|
|
|
# 盘装成品(掉落物形式, 归 youguo_finished)
|
|
PLATE_CHICKEN = "rtdd:plate_38" # 盘装鸡块
|
|
PLATE_PORK = "rtdd:plate_36" # 炸猪排(盘装)
|
|
PLATE_FRIES = "rtdd:plate_37" # 炸薯条(盘装)
|
|
PLATE_FISH = "rtdd:plate_39" # 盘装炸鱼
|
|
PLATE_TEMPURA = "rtdd:plate_49" # 天妇罗炸虾
|
|
PLATE_DUMPLINGS = "rtdd:plate_51" # 炸饺子(盘装)
|
|
|
|
# ============================================================================
|
|
# 二、右键规则 (方块, 手持物品) -> 规则
|
|
# target=替换方块; consume=消耗手持; give=给背包; startTimer=转换后启动计时;
|
|
# action=take_out(出锅: 清方块+掉落盘装成品)
|
|
# ============================================================================
|
|
SWITCH_RULES = [
|
|
# ---- 一、油锅基础 ----
|
|
{"block": OILPOT_0, "item": OILCAN, "target": OILPOT_1,
|
|
"consume": 1, "give": MEDICINE_TANK,
|
|
"tip": "§a油罐倒入油锅, 油罐变回玻璃罐"},
|
|
{"block": OILPOT_1, "item": MEDICINE_TANK, "target": OILPOT_0,
|
|
"consume": 1, "give": OILCAN,
|
|
"tip": "§a从油锅取油, 装回油罐"},
|
|
|
|
# ---- 二、放料(满油锅 + 裹粉半成品 -> 炸物(生), 开始计时炸制) ----
|
|
# 油锅下须是 点燃的炉灶(stove_2) 才允许放料(否则不炸制)
|
|
{"block": OILPOT_1, "item": BREADED_CHICKEN, "target": CHICKEN_0,
|
|
"consume": 1, "startTimer": CHICKEN_0,
|
|
"needBelow": LIT_STOVE, "belowTip": "§c油锅需要放在点燃的炉灶上",
|
|
"tip": "§a放入裹粉鸡块, 开始炸制(共90秒: 先60秒半熟, 再30秒熟); 计时结束变成 炸鸡块(熟)"},
|
|
{"block": OILPOT_1, "item": BREADED_PORK, "target": PORK_0,
|
|
"consume": 1, "startTimer": PORK_0,
|
|
"needBelow": LIT_STOVE, "belowTip": "§c油锅需要放在点燃的炉灶上",
|
|
"tip": "§a放入裹粉猪肉, 开始炸制(共90秒: 先60秒半熟, 再30秒熟); 计时结束变成 炸猪排(熟)"},
|
|
{"block": OILPOT_1, "item": BREADED_FRIES, "target": FRIES_0,
|
|
"consume": 3, "startTimer": FRIES_0,
|
|
"needBelow": LIT_STOVE, "belowTip": "§c油锅需要放在点燃的炉灶上",
|
|
"tip": "§a放入裹粉薯条x3, 开始炸制(共90秒: 先60秒半熟, 再30秒熟); 计时结束变成 炸薯条(熟)"},
|
|
{"block": OILPOT_1, "item": BREADED_FISH, "target": FISH_0,
|
|
"consume": 1, "startTimer": FISH_0,
|
|
"needBelow": LIT_STOVE, "belowTip": "§c油锅需要放在点燃的炉灶上",
|
|
"tip": "§a放入裹粉鱼, 开始炸制(共90秒: 先60秒半熟, 再30秒熟); 计时结束变成 炸鱼块(熟)"},
|
|
{"block": OILPOT_1, "item": BREADED_TEMPURA, "target": TEMPURA_1,
|
|
"consume": 4, "startTimer": TEMPURA_1,
|
|
"needBelow": LIT_STOVE, "belowTip": "§c油锅需要放在点燃的炉灶上",
|
|
"tip": "§a放入裹粉天妇罗x4, 开始炸制(共60秒); 计时结束变成 炸天妇罗(熟)"},
|
|
{"block": OILPOT_1, "item": DUMPLINGS, "target": DUMPLING_1,
|
|
"consume": 3, "startTimer": DUMPLING_1,
|
|
"needBelow": LIT_STOVE, "belowTip": "§c油锅需要放在点燃的炉灶上",
|
|
"tip": "§a放入生饺子x3, 开始炸制(共60秒); 计时结束变成 炸饺子(熟)"},
|
|
|
|
# ---- 三、出锅(熟炸物 + 盘子 -> 掉落盘装成品) ----
|
|
{"block": CHICKEN_2, "item": PLATE, "action": "take_out",
|
|
"dropItem": PLATE_CHICKEN, "consume": 1, "tip": "§a取出盘装鸡块, 油锅恢复满油, 可继续放料"},
|
|
{"block": PORK_2, "item": PLATE, "action": "take_out",
|
|
"dropItem": PLATE_PORK, "consume": 1, "tip": "§a取出炸猪排(盘装), 油锅恢复满油, 可继续放料"},
|
|
{"block": FRIES_2, "item": PLATE, "action": "take_out",
|
|
"dropItem": PLATE_FRIES, "consume": 1, "tip": "§a取出炸薯条(盘装), 油锅恢复满油, 可继续放料"},
|
|
{"block": FISH_2, "item": PLATE, "action": "take_out",
|
|
"dropItem": PLATE_FISH, "consume": 1, "tip": "§a取出盘装炸鱼, 油锅恢复满油, 可继续放料"},
|
|
{"block": TEMPURA_2, "item": PLATE, "action": "take_out",
|
|
"dropItem": PLATE_TEMPURA, "consume": 1, "tip": "§a取出天妇罗炸虾, 油锅恢复满油, 可继续放料"},
|
|
{"block": DUMPLING_2, "item": PLATE, "action": "take_out",
|
|
"dropItem": PLATE_DUMPLINGS, "consume": 1, "tip": "§a取出炸饺子(盘装), 油锅恢复满油, 可继续放料"},
|
|
]
|
|
|
|
# ============================================================================
|
|
# 三、计时规则(供 YouguoTimerService)
|
|
# below: 炸物方块正下方须是 点燃的炉灶(stove_2) 才计时
|
|
# ============================================================================
|
|
TIMER_RULES = [
|
|
# 炸鸡块: 生->半熟60秒, 半熟->熟30秒
|
|
{"source": CHICKEN_0, "target": CHICKEN_1, "time": 60,
|
|
"below": [LIT_STOVE], "autoStart": True, "doneTip": "§e炸鸡块半熟了, 继续炸(30秒)"},
|
|
{"source": CHICKEN_1, "target": CHICKEN_2, "time": 30,
|
|
"below": [LIT_STOVE], "autoStart": True, "doneTip": "§e炸鸡块炸好了, 手持盘子右键取出"},
|
|
# 炸猪排
|
|
{"source": PORK_0, "target": PORK_1, "time": 60,
|
|
"below": [LIT_STOVE], "autoStart": True, "doneTip": "§e炸猪排半熟了, 继续炸(30秒)"},
|
|
{"source": PORK_1, "target": PORK_2, "time": 30,
|
|
"below": [LIT_STOVE], "autoStart": True, "doneTip": "§e炸猪排炸好了, 手持盘子右键取出"},
|
|
# 炸薯条
|
|
{"source": FRIES_0, "target": FRIES_1, "time": 60,
|
|
"below": [LIT_STOVE], "autoStart": True, "doneTip": "§e炸薯条半熟了, 继续炸(30秒)"},
|
|
{"source": FRIES_1, "target": FRIES_2, "time": 30,
|
|
"below": [LIT_STOVE], "autoStart": True, "doneTip": "§e炸薯条炸好了, 手持盘子右键取出"},
|
|
# 炸鱼块
|
|
{"source": FISH_0, "target": FISH_1, "time": 60,
|
|
"below": [LIT_STOVE], "autoStart": True, "doneTip": "§e炸鱼块半熟了, 继续炸(30秒)"},
|
|
{"source": FISH_1, "target": FISH_2, "time": 30,
|
|
"below": [LIT_STOVE], "autoStart": True, "doneTip": "§e炸鱼块炸好了, 手持盘子右键取出"},
|
|
# 炸天妇罗(单级: 生->熟60秒)
|
|
{"source": TEMPURA_1, "target": TEMPURA_2, "time": 60,
|
|
"below": [LIT_STOVE], "autoStart": True, "doneTip": "§e天妇罗炸好了, 手持盘子右键取出"},
|
|
# 炸饺子(单级: 生->熟60秒, 油锅+饺子合体)
|
|
{"source": DUMPLING_1, "target": DUMPLING_2, "time": 60,
|
|
"below": [LIT_STOVE], "autoStart": True, "doneTip": "§e炸饺子炸好了, 手持盘子右键取出"},
|
|
]
|
|
|
|
# ============================================================================
|
|
# 四、中文名映射(提示用)
|
|
# ============================================================================
|
|
NAME_MAP = {
|
|
OILPOT_0: "油锅(空)", OILPOT_1: "油锅(满油)", OILCAN: "油罐",
|
|
MEDICINE_TANK: "玻璃罐", PLATE: "盘子", LIT_STOVE: "点燃的炉灶",
|
|
BREADED_CHICKEN: "裹粉鸡块", BREADED_PORK: "裹粉猪肉",
|
|
BREADED_FRIES: "裹粉薯条", BREADED_FISH: "裹粉鱼",
|
|
BREADED_TEMPURA: "裹粉天妇罗", DUMPLINGS: "生饺子",
|
|
CHICKEN_0: "炸鸡块(生)", CHICKEN_1: "炸鸡块(半熟)", CHICKEN_2: "炸鸡块(熟)",
|
|
PORK_0: "炸猪排(生)", PORK_1: "炸猪排(半熟)", PORK_2: "炸猪排(熟)",
|
|
FRIES_0: "炸薯条(生)", FRIES_1: "炸薯条(半熟)", FRIES_2: "炸薯条(熟)",
|
|
FISH_0: "炸鱼块(生)", FISH_1: "炸鱼块(半熟)", FISH_2: "炸鱼块(熟)",
|
|
TEMPURA_1: "炸天妇罗(生)", TEMPURA_2: "炸天妇罗(熟)",
|
|
DUMPLING_1: "炸饺子(生)", DUMPLING_2: "炸饺子(熟)",
|
|
PLATE_CHICKEN: "盘装鸡块", PLATE_PORK: "炸猪排(盘装)",
|
|
PLATE_FRIES: "炸薯条(盘装)", PLATE_FISH: "盘装炸鱼",
|
|
PLATE_TEMPURA: "天妇罗炸虾", PLATE_DUMPLINGS: "炸饺子(盘装)",
|
|
}
|