Files
rtdd/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/shicai/ShicaiData.py
T
2026-09-29 16:25:50 +08:00

120 lines
4.7 KiB
Python

# -*- coding: utf-8 -*-
"""
================================================================================
乡野食材(xy_ingredients)·切配与裹粉 规则数据
================================================================================
统一管理"食材切配"(菜刀切分 / 蒜末) 与 "裹粉半成品" 的规则常量。
只被 ShicaiService 读取,FeatureDispatcher 通过方块名 O(1) 路由到服务。
【一、菜刀切分】(CHOP_CHAINS)
手持 菜刀(rtdd:cleaver) 右键"摆放地上"的切配方块, 逐级切分;
切到最后一级再切 -> 掉落对应"碎"(数量见 drop) 并把方块变空气。
【二、蒜末】(GARLIC)
手持 菜刀 右键 大蒜(rtdd:cutgarlic) 三次 -> 掉落 16 个蒜末并消失。
【三、裹粉】(COATING_RULES)
手持生食材右键 面粉块(rtdd:farineblock_3) -> 消耗若干生食材 + 面粉块(变空气),
掉落对应的裹粉半成品物品(供油锅炸物)。
================================================================================
"""
# 菜刀
CLEAVER_ITEM = "rtdd:cleaver"
# 切分链: blocks 为逐级方块序列, 切到最后一级继续切 -> 掉 drop 并变空气
CHOP_CHAINS = [
{
"blocks": [
"rtdd:cutcarrot_0", "rtdd:cutcarrot_1", "rtdd:cutcarrot_2",
"rtdd:cutcarrot_3", "rtdd:cutcarrot_4",
],
"drop": {"name": "rtdd:crushed_carrots", "count": 3},
"tip": None,
},
{
"blocks": [
"rtdd:cutpotato_0", "rtdd:cutpotato_1", "rtdd:cutpotato_2",
"rtdd:cutpotato_3", "rtdd:cutpotato_4",
],
"drop": {"name": "rtdd:potato_wedges", "count": 3},
"tip": None,
},
{
"blocks": [
"rtdd:cutvegetable_0", "rtdd:cutvegetable_1",
"rtdd:cutvegetable_2", "rtdd:cutvegetable_3",
],
"drop": {"name": "rtdd:vegetable", "count": 3},
"tip": None,
},
{
"blocks": [
"rtdd:cutscallions_1", "rtdd:cutscallions_2",
"rtdd:cutscallions_3", "rtdd:cutscallions_4",
],
"drop": {"name": "rtdd:crushed_scallions", "count": 3},
"tip": None,
},
]
# ---- 蒜末: 大蒜 + 菜刀右键 GARLIC_CHOP_COUNT 次 -> 掉落 GARLIC_DROP ----
GARLIC_BLOCK = "rtdd:cutgarlic"
GARLIC_CHOP_COUNT = 3
GARLIC_DROP = {"name": "rtdd:crushedgarlic", "count": 16}
# ---- 裹粉: 面粉块(farineblock_3) + 生食材 -> 掉落裹粉半成品 ----
# 只支持"面粉块"这一个方块(用户指定 tile.rtdd:farineblock_3.name=面粉块)
FLOUR_BLOCK = "rtdd:farineblock_3"
COATING_RULES = [
{"item": "rtdd:sashimi", "count": 6,
"drop": {"name": "rtdd:oilfish_0", "count": 1}},
{"item": "rtdd:lobster", "count": 2,
"drop": {"name": "rtdd:oiltempura", "count": 1}},
{"item": "minecraft:porkchop", "count": 1,
"drop": {"name": "rtdd:oilpork", "count": 1}},
{"item": "minecraft:chicken", "count": 1,
"drop": {"name": "rtdd:oil_chickennuggets", "count": 6}},
{"item": "minecraft:potato", "count": 1,
"drop": {"name": "rtdd:oilfrenchfries", "count": 10}},
]
# ---- 肉馅按压: 空手右键 生猪肉馅/生牛肉馅 -> 按压成型 ----
MEAT_PRESS_RULES = [
{"source": "rtdd:rawmeatball_0", "target": "rtdd:rawmeatball_2",
"tip": None},
{"source": "rtdd:rawmeatball_1", "target": "rtdd:rawmeatball_3",
"tip": None},
]
# ---- 左键破坏掉落: 摆在地上的切配方块 -> 原版食材(相对"切配态"的原版不切物品) ----
DESTROY_DROP = {
"rtdd:cutcarrot_0": "minecraft:carrot",
"rtdd:cutcarrot_1": "minecraft:carrot",
"rtdd:cutcarrot_2": "minecraft:carrot",
"rtdd:cutcarrot_3": "minecraft:carrot",
"rtdd:cutcarrot_4": "minecraft:carrot",
"rtdd:cutpotato_0": "minecraft:potato",
"rtdd:cutpotato_1": "minecraft:potato",
"rtdd:cutpotato_2": "minecraft:potato",
"rtdd:cutpotato_3": "minecraft:potato",
"rtdd:cutpotato_4": "minecraft:potato",
"rtdd:cutvegetable_0": "rtdd:qingcai",
"rtdd:cutvegetable_1": "rtdd:qingcai",
"rtdd:cutvegetable_2": "rtdd:qingcai",
"rtdd:cutvegetable_3": "rtdd:qingcai",
"rtdd:cutscallions_1": "rtdd:scallions",
"rtdd:cutscallions_2": "rtdd:scallions",
"rtdd:cutscallions_3": "rtdd:scallions",
"rtdd:cutscallions_4": "rtdd:scallions",
}
# ---- 打碎草/杂草 概率获得黄豆(和黄原版打草掉小麦种子一样, ~14%) ----
# 黄豆物品与石磨(CHUJU)共用同一物品 rtndd:soybean
SOYBEAN_ITEM = "rtdd:soybean" # 黄豆(与石磨同物品, 见 ChujuData)
GRASS_DROP_CHANCE = 0.15 # 打草掉黄豆概率(参照原版小麦种子)
GRASS_BLOCKS = { # 草/杂草方块(网易 tallgrass 含 aux 变体)
"minecraft:tallgrass",
"minecraft:short_grass",
"minecraft:double_plant",
}