炒菜工具数据库
This commit is contained in:
1 parent
42c118dfd3
commit
cd9abda48b
2 files changed
+273
-1
No files matched your search
@@ -17,4 +17,4 @@ def SetItemOil(itemDict, oiled):
|
||||
|
||||
def GetItemOil(itemDict):
|
||||
"""获取物品是否含油"""
|
||||
return NbtTranslator(GetItemUserData(itemDict, 'rtdd')).get('oil', False)
|
||||
return NbtTranslator(GetItemUserData(itemDict, 'rtdd')).get('oil', False)
|
||||
@@ -0,0 +1,272 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
工具配置数据库(ToolData.py)
|
||||
============================
|
||||
独立于 RecipeData.py,专门管理烹饪工具的配置信息:
|
||||
- 每个工具的激活方式(用什么物品右键激活)
|
||||
- 底座要求(下面必须放什么方块才能工作)
|
||||
- 哪些工具本身可以作为底座(发热源)
|
||||
- 工具的状态切换链
|
||||
|
||||
与 RecipeData.py 的关系:
|
||||
RecipeData.py = 食材配方(什么食材+什么锅 = 什么菜)
|
||||
ToolData.py = 工具配置(锅怎么激活、需要什么底座)
|
||||
|
||||
CookingService 会同时加载这两个数据库,做菜时先检查工具配置,再查配方。
|
||||
"""
|
||||
|
||||
# ============================================================
|
||||
# 一、工具激活/底座配置
|
||||
# ============================================================
|
||||
# 格式:工具源方块 -> {激活物品, 底座列表, 激活后目标, 其他配置}
|
||||
# 当玩家用指定物品右键工具时,工具从"源方块"变成"目标方块"
|
||||
# 如果底座列表不为空,工具下面必须有一个底座方块才能激活
|
||||
|
||||
TOOL_CONFIG = {
|
||||
# ==================== 炒锅 ====================
|
||||
"rtdd:wok": {
|
||||
"name": "炒锅",
|
||||
"activate_item": "rtdd:spatula_oil", # 用带油锅铲激活
|
||||
"check_oil": True, # 需要检查物品含油标签
|
||||
"base_blocks": [ # 下面必须放这些方块之一
|
||||
"minecraft:campfire", # 营火
|
||||
"rtdd:barbecuegrill_1", # 点火的烧烤炉
|
||||
"minecraft:soul_campfire", # 灵魂营火
|
||||
],
|
||||
"target": "rtdd:oilpan", # 激活后变成煎锅
|
||||
"need_fire": True, # 需要火源
|
||||
"is_heat_source": False, # 不是发热源
|
||||
},
|
||||
|
||||
# ==================== 煎锅 ====================
|
||||
"rtdd:oilpan": {
|
||||
"name": "煎锅",
|
||||
"activate_item": "rtdd:spatula_oil", # 用带油锅铲激活
|
||||
"check_oil": True,
|
||||
"base_blocks": [
|
||||
"minecraft:campfire",
|
||||
"rtdd:barbecuegrill_1",
|
||||
"minecraft:soul_campfire",
|
||||
],
|
||||
"target": "rtdd:oilpan", # 激活后不变(只是上油标记)
|
||||
"need_fire": True,
|
||||
"is_heat_source": False,
|
||||
},
|
||||
|
||||
# ==================== 油锅 ====================
|
||||
"rtdd:oilpot_0": {
|
||||
"name": "油锅",
|
||||
"activate_item": "rtdd:oilcan", # 用油罐直接激活
|
||||
"check_oil": False, # 不需要检查物品含油
|
||||
"base_blocks": [
|
||||
"minecraft:campfire",
|
||||
"rtdd:barbecuegrill_1",
|
||||
"minecraft:soul_campfire",
|
||||
"minecraft:magma", # 岩浆块也可以
|
||||
],
|
||||
"target": "rtdd:oilpot_1", # 激活后变成倒了油的油锅
|
||||
"need_fire": True,
|
||||
"is_heat_source": False,
|
||||
},
|
||||
|
||||
# ==================== 汤锅 ====================
|
||||
"rtdd:potsimmering_0": {
|
||||
"name": "汤锅",
|
||||
"activate_item": "minecraft:water_bucket", # 用水桶加水
|
||||
"check_oil": False,
|
||||
"base_blocks": [
|
||||
"minecraft:campfire",
|
||||
"rtdd:barbecuegrill_1",
|
||||
"minecraft:soul_campfire",
|
||||
"minecraft:magma",
|
||||
],
|
||||
"target": "rtdd:potsimmeringwater", # 激活后变成加了水的汤锅
|
||||
"need_fire": True,
|
||||
"is_heat_source": False,
|
||||
},
|
||||
|
||||
# ==================== 蒸笼 ====================
|
||||
"rtdd:steamer": {
|
||||
"name": "蒸笼",
|
||||
"activate_item": "rtdd:steamercover", # 用蒸笼盖盖盖
|
||||
"check_oil": False,
|
||||
"base_blocks": [
|
||||
"minecraft:campfire",
|
||||
"rtdd:barbecuegrill_1",
|
||||
],
|
||||
"target": "rtdd:steamer", # 盖盖后不变(只是标记已盖盖)
|
||||
"need_fire": True,
|
||||
"is_heat_source": False,
|
||||
},
|
||||
|
||||
# ==================== 烧烤炉 ====================
|
||||
"rtdd:barbecuegrill_0": {
|
||||
"name": "烧烤炉",
|
||||
"activate_item": "minecraft:flint_and_steel", # 打火石点火
|
||||
"check_oil": False,
|
||||
"base_blocks": [], # 不需要底座(自己就是发热源)
|
||||
"target": "rtdd:barbecuegrill_1", # 点火后变成烧烤炉_1
|
||||
"need_fire": False,
|
||||
"is_heat_source": False, # 0状态还没点火,不是发热源
|
||||
},
|
||||
|
||||
# ==================== 搅拌器 ====================
|
||||
"rtdd:beater": {
|
||||
"name": "搅拌器",
|
||||
"activate_item": None, # 不需要激活,直接放食材
|
||||
"check_oil": False,
|
||||
"base_blocks": [], # 手工工具,不需要底座
|
||||
"target": None,
|
||||
"need_fire": False,
|
||||
"is_heat_source": False,
|
||||
},
|
||||
|
||||
# ==================== 榨汁机 ====================
|
||||
"rtdd:juicer_0": {
|
||||
"name": "榨汁机",
|
||||
"activate_item": None,
|
||||
"check_oil": False,
|
||||
"base_blocks": [],
|
||||
"target": None,
|
||||
"need_fire": False,
|
||||
"is_heat_source": False,
|
||||
},
|
||||
|
||||
# ==================== 丸子机 ====================
|
||||
"rtdd:meatballmaker_0": {
|
||||
"name": "丸子机",
|
||||
"activate_item": None,
|
||||
"check_oil": False,
|
||||
"base_blocks": [],
|
||||
"target": None,
|
||||
"need_fire": False,
|
||||
"is_heat_source": False,
|
||||
},
|
||||
|
||||
# ==================== 酒桶 ====================
|
||||
"rtdd:wine_barrel": {
|
||||
"name": "酒桶",
|
||||
"activate_item": None,
|
||||
"check_oil": False,
|
||||
"base_blocks": [],
|
||||
"target": None,
|
||||
"need_fire": False,
|
||||
"is_heat_source": False,
|
||||
},
|
||||
|
||||
# ==================== 面粉方块 ====================
|
||||
"rtdd:farineblock": {
|
||||
"name": "面粉方块",
|
||||
"activate_item": None,
|
||||
"check_oil": False,
|
||||
"base_blocks": [],
|
||||
"target": None,
|
||||
"need_fire": False,
|
||||
"is_heat_source": False,
|
||||
},
|
||||
}
|
||||
|
||||
# ============================================================
|
||||
# 二、发热源配置(哪些方块可以作为底座)
|
||||
# ============================================================
|
||||
# 这些方块放在锅下面,锅就能工作
|
||||
|
||||
HEAT_SOURCES = {
|
||||
# 原版方块
|
||||
"minecraft:campfire": {
|
||||
"name": "营火",
|
||||
"heat_level": 1, # 热度等级(1=普通)
|
||||
"supports": [ # 能支撑哪些厨具
|
||||
"炒锅", "煎锅", "油锅", "汤锅", "蒸笼"
|
||||
],
|
||||
},
|
||||
"minecraft:soul_campfire": {
|
||||
"name": "灵魂营火",
|
||||
"heat_level": 2, # 热度等级(2=较强)
|
||||
"supports": [
|
||||
"炒锅", "煎锅", "油锅", "汤锅", "蒸笼"
|
||||
],
|
||||
},
|
||||
"minecraft:magma": {
|
||||
"name": "岩浆块",
|
||||
"heat_level": 1,
|
||||
"supports": [
|
||||
"油锅", "汤锅"
|
||||
],
|
||||
},
|
||||
|
||||
# 模组工具方块(激活后可以发热)
|
||||
"rtdd:barbecuegrill_1": {
|
||||
"name": "烧烤炉(点火)",
|
||||
"heat_level": 2,
|
||||
"supports": [
|
||||
"炒锅", "煎锅", "油锅", "汤锅", "蒸笼"
|
||||
],
|
||||
},
|
||||
"rtdd:oven": {
|
||||
"name": "烤炉",
|
||||
"heat_level": 3, # 最高热度
|
||||
"supports": [
|
||||
"炒锅", "煎锅", "油锅", "汤锅", "蒸笼", "烤制"
|
||||
],
|
||||
},
|
||||
}
|
||||
|
||||
# ============================================================
|
||||
# 三、工具状态切换链(完整的状态流转)
|
||||
# ============================================================
|
||||
# 格式:工具名 -> 状态列表(从初始到结束)
|
||||
|
||||
TOOL_STATE_CHAINS = {
|
||||
"炒锅": {
|
||||
"chain": ["rtdd:wok", "rtdd:oilpan", "rtdd:wok"],
|
||||
"description": "空炒锅 -> 上油(煎锅) -> 做完菜 -> 空炒锅",
|
||||
},
|
||||
"油锅": {
|
||||
"chain": ["rtdd:oilpot_0", "rtdd:oilpot_1", "rtdd:oilpot_0"],
|
||||
"description": "空油锅 -> 倒油 -> 炸食材 -> 空油锅",
|
||||
},
|
||||
"汤锅": {
|
||||
"chain": ["rtdd:potsimmering_0", "rtdd:potsimmeringwater", "rtdd:potsimmering_0"],
|
||||
"description": "空汤锅 -> 加水 -> 炖食材 -> 空汤锅",
|
||||
},
|
||||
"蒸笼": {
|
||||
"chain": ["rtdd:steamer", "rtdd:steamer", "rtdd:steamer"],
|
||||
"description": "蒸笼 -> 盖盖 -> 蒸食材 -> 蒸笼(状态不变,通过标记控制)",
|
||||
},
|
||||
"烧烤炉": {
|
||||
"chain": ["rtdd:barbecuegrill_0", "rtdd:barbecuegrill_1", "rtdd:barbecuegrill_0"],
|
||||
"description": "烧烤炉 -> 点火 -> 烤食材 -> 烧烤炉",
|
||||
},
|
||||
"榨汁机": {
|
||||
"chain": ["rtdd:juicer_0", "rtdd:juicer_1", "rtdd:juicer_2",
|
||||
"rtdd:juicer_3", "rtdd:juicer_4", "rtdd:juicer_0"],
|
||||
"description": "空榨汁机 -> 放水果 -> 摇1 -> 摇2 -> 摇3 -> 取果汁 -> 空榨汁机",
|
||||
},
|
||||
"丸子机": {
|
||||
"chain": ["rtdd:meatballmaker_0", "rtdd:meatballmaker_1", "rtdd:meatballmaker_2",
|
||||
"rtdd:meatballmaker_3", "rtdd:meatballmaker_4", "rtdd:meatballmaker_5",
|
||||
"rtdd:meatballmaker_0"],
|
||||
"description": "空丸子机 -> 放碎肉 -> 摇1 -> 摇2 -> 摇3 -> 摇4 -> 取肉丸 -> 空丸子机",
|
||||
},
|
||||
"酒桶": {
|
||||
"chain": ["rtdd:wine_barrel", "b_81", "b_238", "rtdd:wine_barrel"],
|
||||
"description": "酒桶 -> 放原料 -> 发酵 -> 取酒 -> 酒桶",
|
||||
},
|
||||
}
|
||||
|
||||
# ============================================================
|
||||
# 四、工具分类(快速查询)
|
||||
# ============================================================
|
||||
|
||||
# 需要火源的厨具(必须放在发热底座上)
|
||||
NEED_FIRE_TOOLS = [k for k, v in TOOL_CONFIG.items() if v.get("need_fire")]
|
||||
|
||||
# 手工工具(不需要底座,放哪里都能用)
|
||||
MANUAL_TOOLS = [k for k, v in TOOL_CONFIG.items() if not v.get("need_fire") and not v.get("is_heat_source")]
|
||||
|
||||
# 发热源工具(激活后可以作为底座)
|
||||
HEAT_SOURCE_TOOLS = [k for k, v in TOOL_CONFIG.items() if v.get("is_heat_source")]
|
||||
|
||||
# 所有合法底座方块(原版+模组)
|
||||
ALL_BASE_BLOCKS = list(HEAT_SOURCES.keys())
|
||||
Reference in new issue
Block a user