烧烤 动物养殖 分类 转换功能 计时转换 退出重新判断tick (可用版本)

This commit is contained in:
wenhe committed 2026-09-02 00:43:16 +08:00
1 parent 6686e80d22
commit f359008ac3
6 files changed
+136 -87

No files matched your search

@@ -58,6 +58,22 @@ blockEntityDataComp = comp.CreateBlockEntityData(LevelId)
# RECIPES 是一个列表,每条配方是一个 dict,格式见 RecipeData.py 顶部注释
from ..RecipeData import RECIPES, inferBaseBlock, BELOW_CAMPFIRE
# ---- 已由 FeatureDispatcher/BarbecueService 接管的烧烤方块 ----
# 这些方块属于"烧烤"(xy_barbecue) 分类,由新系统处理(支杆+营火机制),
# 做菜系统必须跳过,否则右键烤乳猪(熟)等会被当成菜谱去查灶台底座,弹出错误提示。
_BARBECUE_OWNED = set([
"rtdd:barbecuegrill_0", "rtdd:barbecuegrill_1",
"rtdd:roastpig_0", "rtdd:roastpig_1",
"rtdd:roastchicken_0", "rtdd:roastchicken_1",
"rtdd:roastchickenplace_0",
"rtdd:grilledcod_0", "rtdd:grilledcod_1",
"rtdd:grilled_fish", "rtdd:grilled_salmon",
"rtdd:roasted_vegetables_0", "rtdd:roasted_vegetables_1", "rtdd:roasted_vegetables_3",
"rtdd:roastedmushrooms_0", "rtdd:roastedmushrooms_1", "rtdd:roastedmushrooms_3",
"rtdd:beefkebabs_0", "rtdd:beefkebabs_1", "rtdd:beefkebabs_3",
"rtdd:lambkebabs_0", "rtdd:lambkebabs_1", "rtdd:lambkebabs_3",
])
# ================================================================================
# 工具函数:读取物品 userData 里的嵌套字段
# ================================================================================
@@ -141,8 +157,11 @@ class CookingService(BlueFoxServerSystem):
# ---- 构建做菜方块名集合(O(1) 快速拦截,第一道过滤) ----
# 事件进来先判断方块名在不在这个集合里,不在直接 return,
# 这样工具方块的右键事件根本不会进到本系统的字典查找
# 注意:跳过已由 BarbecueService 接管的烧烤方块,避免做菜系统抢事件
self.cookBlockSet = set()
for recipe in RECIPES:
if recipe["source"] in _BARBECUE_OWNED:
continue
self.cookBlockSet.add(recipe["source"])
def Destroy(self):