diff --git a/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/modMain.py b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/modMain.py index 4cd3688..fd2b0e8 100644 --- a/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/modMain.py +++ b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/modMain.py @@ -26,6 +26,7 @@ from xiangyemod.tangguo.service.TangguoService import TangguoService from xiangyemod.tangguo.service.TangguoTimerService import TangguoTimerService from xiangyemod.chaoguo.service.ChaoguoService import ChaoguoService from xiangyemod.chaoguo.service.ChaoguoTimerService import ChaoguoTimerService +from xiangyemod.shiyongfood.service.ShiyongfoodService import ShiyongfoodService if not serverApi.IsInServer(): pass diff --git a/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/mianshi/MianshiData.py b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/mianshi/MianshiData.py index 791521c..4e17a9b 100644 --- a/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/mianshi/MianshiData.py +++ b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/mianshi/MianshiData.py @@ -173,7 +173,7 @@ SWITCH_RULES = [ {"block": "rtdd:dumplings_3", "item": None, "action": "drop_result", "dropItem": "rtdd:dumplings_4", "tip": "§a捏合成了生饺子"}, {"block": "rtdd:steamerdumplings_1", "item": PLATE, "action": "take_steamer", - "dropItem": "rtdd:plate_30", "consume": 1, "tip": "§a取出盘装水饺, 蒸笼归位"}, + "dropItem": "rtdd:plate_30a", "consume": 1, "tip": "§a取出美味饺子(全份)盘装, 蒸笼归位"}, # ---- 三、包子组 ---- {"block": "rtdd:dumplings_0", "item": None, "target": "rtdd:baozipi", diff --git a/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/service/FeatureDispatcher.py b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/service/FeatureDispatcher.py index ec1ecb4..78331d2 100644 --- a/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/service/FeatureDispatcher.py +++ b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/service/FeatureDispatcher.py @@ -65,6 +65,8 @@ class FeatureDispatcher(BlueFoxServerSystem): itemUseOnAll = {} # 物品名 -> [服务...]: 同一物品可被多个服务注册(按注册顺序), 逐个 fallback timerOwner = {} timerSet = set() + tryUseOwner = {} # 物品名 -> 服务: 手持"直接吃"物品(长按使用)路由 + tryUseSet = set() # ---- 拆方块掉落映射: 方块名 → 掉落对应的原版生食材 ---- # 玩家左键破坏这些"放置的半成品/死鱼"方块时, 取消默认掉落, 改为掉对应的原版生食材 @@ -109,6 +111,16 @@ class FeatureDispatcher(BlueFoxServerSystem): cls.timerOwner[block] = service cls.timerSet.add(block) + @classmethod + def registerTryUse(cls, service): + """ + 手持"直接吃"服务初始化时调用:把"手持右键直接吃(不放置)"的物品注册进 try-use + 路由表。ServerItemTryUseEvent(长按使用物品) 会按此表把事件路由到对应服务。 + """ + for item in service.getTryUseRules(): + cls.tryUseOwner[item] = service + cls.tryUseSet.add(item) + @classmethod def startTimerFor(cls, blockName, dim, pos, playerId=None): """ @@ -279,13 +291,19 @@ class FeatureDispatcher(BlueFoxServerSystem): def OnItemTryUse(self, args): """ 玩家尝试使用物品(喝药水、吃食物等)时触发。 - 如果该玩家刚被标记为"取消下一次物品使用"(_cancelItemUse), - 就取消这次默认行为,避免右键转换方块时误喝药水。 + 1. 如果该玩家刚被标记为"取消下一次物品使用"(_cancelItemUse), + 就取消这次默认行为,避免右键转换方块时误喝药水。 + 2. 否则按 tryUseOwner 路由:手持"直接吃"物品(饭团/水煮蛋/豆腐) -> 吃掉。 """ playerId = args.get("playerId") print "[FD-ItemTryUse]", args.get("itemName"), "player", playerId if self._cancelItemUse.pop(playerId, False): args['cancel'] = True + return + itemName = args.get("itemName") + service = self.tryUseOwner.get(itemName) + if service and service.handleItemTryUse(args): + args['cancel'] = True # ============================================================================ # 主入口4:计时方块 tick → 按 timerOwner 路由到计时服务(持久化计时) diff --git a/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/shiyongfood/ShiyongfoodData.py b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/shiyongfood/ShiyongfoodData.py new file mode 100644 index 0000000..ab6315c --- /dev/null +++ b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/shiyongfood/ShiyongfoodData.py @@ -0,0 +1,590 @@ +# -*- coding: utf-8 -*- +""" +================================================================================ +【总食用】(shiyongfood) 食用规则数据 +================================================================================ +唯一标准: lang(zh_CN.lang) 里的汉语方块/物品名, 不理会英文 id 的含义 +规范来源: tuilun/总食用转化关系.txt (2026-09-21, 用户最终稿) + +【操作方式】 + 1. 成品方块吃(绝大多数): 先放置成方块, 再【空手右键 已放置的方块】吃一级 + - 规则在 EAT_RULES: block(被吃的方块) -> target(转换成下一级, 缺省=消失) + - hunger = 回复饱食度(点, 1点=半个鸡腿); effects = 增益效果 + - drop = 吃完掉落的容器(脏盘子plate_0a/木碗bowlasoup/玻璃杯fruitjuice_0/支杆b_34) + 2. 手持物品直接吃(不放置, TRY_USE_RULES): 饭团/水煮蛋/豆腐 + - 手持该物品右键(长按/点方块表面), 消耗1个, 回复饱食度+效果, 无容器掉落 + +【effects 格式】("效果英文名", 时长秒, 等级) + 等级 1 = 效果I (AddEffectToEntity 的 amplifier = 等级-1; 夜视/缓降等无等级差也用1) + 例: ("strength", 60, 2) = 力量II(60秒) +================================================================================ +""" +import mod.server.extraServerApi as serverApi + +# ============================================================================ +# 一、容器/道具 id +# ============================================================================ +PLATE_DIRTY = "rtdd:plate_0a" # 脏盘子 +BOWL = "rtdd:bowlasoup" # 木碗 +GLASS = "rtdd:fruitjuice_0" # 玻璃杯 +ROD = "rtdd:b_34" # 支杆(烧烤烤鱼用) + +# ============================================================================ +# 二、增益效果中文名(提示用) +# ============================================================================ +EFFECT_CN = { + "speed": "速度", "haste": "急迫", "strength": "力量", + "instant_health": "瞬间治疗", "regeneration": "生命恢复", + "resistance": "抗性提升", "fire_resistance": "抗火", + "water_breathing": "水下呼吸", "night_vision": "夜视", + "saturation": "饱和", "absorption": "伤害吸收", + "health_boost": "生命提升", "luck": "幸运", + "jump_boost": "跳跃提升", "slow_falling": "缓降", + "conduit_power": "潮涌能量", +} + +# ============================================================================ +# 三、成品方块吃(EAT_RULES) +# 字段: block(必), target(可省=消失), hunger(必), effects(可省), +# drop(可省=无容器掉落) +# ============================================================================ +EAT_RULES = [ + # ------------------------------------------------------------------ + # 【炒锅】(xy_chaoguo) + # ------------------------------------------------------------------ + # 一、黑椒牛排 全份->半份 + {"block": "rtdd:plate_2", "target": "rtdd:plate_2a", "hunger": 4, + "effects": [("strength", 60, 2)]}, + {"block": "rtdd:plate_2a", "hunger": 4, "drop": PLATE_DIRTY}, + # 二、清炒猪排 全份->半份 + {"block": "rtdd:plate_1", "target": "rtdd:plate_1a", "hunger": 4, + "effects": [("haste", 30, 2), ("speed", 20, 1)]}, + {"block": "rtdd:plate_1a", "hunger": 3, "drop": PLATE_DIRTY}, + # 三、清炒羊肉 + {"block": "rtdd:plate_3", "hunger": 7, + "effects": [("health_boost", 45, 2), ("resistance", 60, 1), + ("regeneration", 15, 1)], "drop": PLATE_DIRTY}, + # 五、胡萝卜鲑鱼 全份->半份 + {"block": "rtdd:plate_5", "target": "rtdd:plate_5a", "hunger": 4, + "effects": [("luck", 40, 1), ("water_breathing", 50, 1)]}, + {"block": "rtdd:plate_5a", "hunger": 3, "drop": PLATE_DIRTY}, + # 六、胡萝卜牛排骨 + {"block": "rtdd:plate_6", "hunger": 7, + "effects": [("strength", 45, 1), ("resistance", 30, 1), + ("night_vision", 60, 1)], "drop": PLATE_DIRTY}, + # 七、黑椒牛腿 + {"block": "rtdd:plate_7", "hunger": 8, + "effects": [("strength", 45, 1), ("speed", 30, 2)], "drop": PLATE_DIRTY}, + # 八、胡萝卜牛里脊 + {"block": "rtdd:plate_8", "hunger": 7, + "effects": [("strength", 45, 1), ("night_vision", 60, 1)], + "drop": PLATE_DIRTY}, + # 九、胡萝卜羊腿 全份->半份 + {"block": "rtdd:plate_9", "target": "rtdd:plate_9a", "hunger": 4, + "effects": [("jump_boost", 50, 2), ("absorption", 15, 2)]}, + {"block": "rtdd:plate_9a", "hunger": 3, "drop": PLATE_DIRTY}, + # 十、胡萝卜炒羊里脊 全份->半份 + {"block": "rtdd:plate_10", "target": "rtdd:plate_10a", "hunger": 4, + "effects": [("health_boost", 60, 4), ("regeneration", 20, 2)]}, + {"block": "rtdd:plate_10a", "hunger": 3, "drop": PLATE_DIRTY}, + # 十一、胡萝卜炒羊排 + {"block": "rtdd:plate_11", "hunger": 6, + "effects": [("health_boost", 45, 2), ("regeneration", 15, 1), + ("night_vision", 40, 1)], "drop": PLATE_DIRTY}, + # 十二、小炒五花肉 全份->半份 + {"block": "rtdd:plate_12", "target": "rtdd:plate_12a", "hunger": 3, + "effects": [("speed", 45, 1), ("haste", 45, 1), ("strength", 45, 1)]}, + {"block": "rtdd:plate_12a", "hunger": 3, "drop": PLATE_DIRTY}, + # 十三、胡萝卜炒猪排骨 全份->半份 + {"block": "rtdd:plate_13", "target": "rtdd:plate_13a", "hunger": 4, + "effects": [("strength", 45, 1), ("jump_boost", 50, 1), + ("absorption", 30, 2)]}, + {"block": "rtdd:plate_13a", "hunger": 3, "drop": PLATE_DIRTY}, + # 十四、炒土豆 + {"block": "rtdd:plate_14", "hunger": 4, + "effects": [("saturation", 15, 1), ("regeneration", 30, 1)], + "drop": PLATE_DIRTY}, + # 十五、胡萝卜炒鳕鱼 + {"block": "rtdd:plate_15", "hunger": 6, + "effects": [("luck", 60, 1), ("water_breathing", 60, 1)], + "drop": PLATE_DIRTY}, + # 十六、辣炒兔肉 全份->半份 + {"block": "rtdd:plate_19", "target": "rtdd:plate_19a", "hunger": 4, + "effects": [("fire_resistance", 60, 1), ("resistance", 20, 1), + ("jump_boost", 50, 2)]}, + {"block": "rtdd:plate_19a", "hunger": 3, "drop": PLATE_DIRTY}, + # 十七、元气煎蛋 + {"block": "rtdd:plate_22", "hunger": 4, + "effects": [("regeneration", 30, 1), ("luck", 30, 2)], + "drop": PLATE_DIRTY}, + # 十八、炒时蔬 + {"block": "rtdd:plate_23", "hunger": 4, + "effects": [("speed", 30, 1), ("regeneration", 30, 1)], + "drop": PLATE_DIRTY}, + # 十九、炒碎肉 + {"block": "rtdd:plate_24", "hunger": 5, + "effects": [("strength", 30, 1), ("absorption", 30, 2)], + "drop": PLATE_DIRTY}, + # 二十、煎鲑鱼 + {"block": "rtdd:plate_25", "hunger": 6, + "effects": [("luck", 40, 1), ("water_breathing", 40, 1)], + "drop": PLATE_DIRTY}, + # 二十一、炒鱿鱼 全份->三分之二->三分之一 + {"block": "rtdd:plate_26", "target": "rtdd:plate_26a", "hunger": 4, + "effects": [("conduit_power", 30, 2), ("water_breathing", 60, 1), + ("night_vision", 30, 1), ("resistance", 50, 1)]}, + {"block": "rtdd:plate_26a", "target": "rtdd:plate_26b", "hunger": 4}, + {"block": "rtdd:plate_26b", "hunger": 2, "drop": PLATE_DIRTY}, + # 二十二、炒鱿鱼须 全份->半份 + {"block": "rtdd:plate_26d", "target": "rtdd:plate_26c", "hunger": 2, + "effects": [("speed", 30, 1), ("water_breathing", 30, 1)]}, + {"block": "rtdd:plate_26c", "hunger": 2, "drop": PLATE_DIRTY}, + # 二十三、小炒鸡肉 全份->半份 + {"block": "rtdd:plate_31", "target": "rtdd:plate_31a", "hunger": 4, + "effects": [("saturation", 30, 1), ("speed", 60, 2), ("haste", 30, 1)]}, + {"block": "rtdd:plate_31a", "hunger": 3, "drop": PLATE_DIRTY}, + # 二十四、麻婆豆腐 全份->半份 + {"block": "rtdd:plate_32", "target": "rtdd:plate_32a", "hunger": 4, + "effects": [("fire_resistance", 45, 1), ("regeneration", 20, 2), + ("health_boost", 60, 3)]}, + {"block": "rtdd:plate_32a", "hunger": 3, "drop": PLATE_DIRTY}, + # 二十五、炒蟹 全份->半份 + {"block": "rtdd:plate_33", "target": "rtdd:plate_33a", "hunger": 2, + "effects": [("luck", 60, 1)]}, + {"block": "rtdd:plate_33a", "hunger": 3, "drop": PLATE_DIRTY}, + # 二十六、辣炒鲑鱼 + {"block": "rtdd:plate_41", "hunger": 6, + "effects": [("fire_resistance", 30, 1), ("resistance", 20, 1), + ("speed", 50, 1)], "drop": PLATE_DIRTY}, + # 二十七、牛肉意面 全份->半份 + {"block": "rtdd:plate_43", "target": "rtdd:plate_43a", "hunger": 3, + "effects": [("saturation", 30, 1), ("strength", 30, 2), + ("regeneration", 30, 1)]}, + {"block": "rtdd:plate_43a", "hunger": 4, "drop": PLATE_DIRTY}, + # 二十八、香菇意面 全份->半份 + {"block": "rtdd:plate_44", "target": "rtdd:plate_44a", "hunger": 2, + "effects": [("saturation", 45, 1), ("jump_boost", 30, 1), + ("haste", 30, 1)]}, + {"block": "rtdd:plate_44a", "hunger": 3, "drop": PLATE_DIRTY}, + # 二十九、胡萝卜意面 全份->半份 + {"block": "rtdd:plate_45", "target": "rtdd:plate_45a", "hunger": 2, + "effects": [("saturation", 25, 1), ("night_vision", 30, 1), + ("absorption", 40, 2)]}, + {"block": "rtdd:plate_45a", "hunger": 3, "drop": PLATE_DIRTY}, + # 三十、鸡肉番茄意面 全份->半份 + {"block": "rtdd:plate_46", "target": "rtdd:plate_46a", "hunger": 4, + "effects": [("health_boost", 40, 3), ("regeneration", 15, 1), + ("resistance", 20, 1)]}, + {"block": "rtdd:plate_46a", "hunger": 3, "drop": PLATE_DIRTY}, + # 三十一、辣子鸡丁 + {"block": "rtdd:plate_47", "hunger": 6, + "effects": [("fire_resistance", 45, 1), ("strength", 45, 1), + ("speed", 30, 1)], "drop": PLATE_DIRTY}, + # 三十二、辣椒炒牛肉 + {"block": "rtdd:plate_47a", "hunger": 6, + "effects": [("strength", 40, 2), ("resistance", 30, 2)], + "drop": PLATE_DIRTY}, + # 三十三、土豆炒猪肉 + {"block": "rtdd:plate_52", "hunger": 6, + "effects": [("saturation", 20, 1), ("absorption", 40, 3), + ("regeneration", 20, 1)], "drop": PLATE_DIRTY}, + # 三十四、胡萝卜炒猪肉 + {"block": "rtdd:plate_53", "hunger": 6, + "effects": [("absorption", 40, 3), ("regeneration", 20, 1), + ("haste", 30, 1)], "drop": PLATE_DIRTY}, + # 三十五、香菇滑鸡 + {"block": "rtdd:plate_54", "hunger": 5, + "effects": [("speed", 50, 2), ("jump_boost", 30, 2), + ("slow_falling", 90, 1)], "drop": PLATE_DIRTY}, + # 三十六、蛋炒饭(碗装) + {"block": "rtdd:bowlofriceegg", "hunger": 7, + "effects": [("luck", 60, 2), ("saturation", 30, 1)], "drop": BOWL}, + # 三十七、葱油饼 + {"block": "rtdd:scallion_pancake_0", "hunger": 4, + "effects": [("absorption", 35, 2), ("slow_falling", 30, 1)]}, + # 三十八、酱香饼 + {"block": "rtdd:cookedpancake", "hunger": 5, + "effects": [("saturation", 30, 1), ("resistance", 30, 1)]}, + # 盖饭 + {"block": "rtdd:plate_48", "target": "rtdd:plate_48a", "hunger": 5, + "effects": [("regeneration", 20, 2), ("health_boost", 60, 4)]}, + {"block": "rtdd:plate_48a", "hunger": 4, "drop": PLATE_DIRTY}, + {"block": "rtdd:plate_55", "target": "rtdd:plate_55a", "hunger": 5, + "effects": [("jump_boost", 30, 2), ("strength", 60, 1), + ("slow_falling", 90, 1)]}, + {"block": "rtdd:plate_55a", "hunger": 4, "drop": PLATE_DIRTY}, + {"block": "rtdd:plate_56", "hunger": 7, + "effects": [("saturation", 30, 1), ("absorption", 90, 2), + ("resistance", 60, 1)], "drop": PLATE_DIRTY}, + {"block": "rtdd:plate_50", "hunger": 7, + "effects": [("saturation", 30, 1), ("luck", 90, 1), + ("night_vision", 60, 1)], "drop": PLATE_DIRTY}, + + # ------------------------------------------------------------------ + # 【油锅】(xy_youguo) + # ------------------------------------------------------------------ + {"block": "rtdd:plate_38", "hunger": 5, + "effects": [("regeneration", 30, 1), ("jump_boost", 30, 1)], + "drop": PLATE_DIRTY}, + {"block": "rtdd:plate_36", "hunger": 7, + "effects": [("strength", 45, 1), ("resistance", 45, 1), + ("fire_resistance", 45, 1)], "drop": PLATE_DIRTY}, + {"block": "rtdd:plate_37", "hunger": 4, + "effects": [("speed", 30, 1), ("absorption", 30, 1)], + "drop": PLATE_DIRTY}, + {"block": "rtdd:plate_39", "hunger": 5, + "effects": [("luck", 45, 2), ("conduit_power", 60, 1)], + "drop": PLATE_DIRTY}, + # 天妇罗炸虾 整份->半份 + {"block": "rtdd:plate_49", "target": "rtdd:plate_49a", "hunger": 3, + "effects": [("speed", 45, 1), ("night_vision", 60, 1), + ("resistance", 45, 1)]}, + {"block": "rtdd:plate_49a", "hunger": 3, "drop": PLATE_DIRTY}, + # 炸饺子 + {"block": "rtdd:plate_51", "hunger": 5, + "effects": [("absorption", 60, 2), ("regeneration", 20, 1)], + "drop": PLATE_DIRTY}, + + # ------------------------------------------------------------------ + # 【汤锅】(xy_tangguo) + # ------------------------------------------------------------------ + # 一、碗装汤品(单次吃完, 掉木碗) + {"block": "rtdd:bowlacarrotbeefsoup", "hunger": 6, "drop": BOWL, + "effects": [("strength", 45, 1), ("regeneration", 45, 1), + ("fire_resistance", 45, 1), ("night_vision", 45, 1)]}, + {"block": "rtdd:brownlambsoupwithturnipssoup", "hunger": 6, "drop": BOWL, + "effects": [("resistance", 45, 2), ("night_vision", 45, 1)]}, + {"block": "rtdd:bowlacarrotribs", "hunger": 6, "drop": BOWL, + "effects": [("night_vision", 45, 1), ("speed", 45, 1), + ("strength", 45, 1)]}, + {"block": "rtdd:bowlavegetablebeefsoup", "hunger": 6, "drop": BOWL, + "effects": [("regeneration", 30, 1), ("resistance", 30, 1), + ("absorption", 60, 2)]}, + {"block": "rtdd:bowlavegetablelambsoup", "hunger": 5, "drop": BOWL, + "effects": [("strength", 45, 1), ("regeneration", 20, 1), + ("absorption", 60, 2)]}, + {"block": "rtdd:bowlavegetableleanbroth", "hunger": 5, "drop": BOWL, + "effects": [("haste", 45, 1), ("health_boost", 45, 2), + ("regeneration", 20, 1)]}, + {"block": "rtdd:bowlavegetablesstew", "hunger": 6, "drop": BOWL, + "effects": [("saturation", 30, 1), ("speed", 45, 1)]}, + {"block": "rtdd:bowlabeefbonebroth", "hunger": 7, "drop": BOWL, + "effects": [("strength", 45, 2), ("night_vision", 45, 1), + ("speed", 45, 1), ("slow_falling", 45, 1)]}, + {"block": "rtdd:bowlalambstew", "hunger": 7, "drop": BOWL, + "effects": [("regeneration", 45, 1), ("absorption", 60, 3), + ("resistance", 45, 1)]}, + {"block": "rtdd:bowla_lambchopsoup", "hunger": 7, "drop": BOWL, + "effects": [("absorption", 60, 3), ("regeneration", 10, 1), + ("resistance", 45, 2)]}, + {"block": "rtdd:bowlacarrotcodsoup", "hunger": 6, "drop": BOWL, + "effects": [("luck", 45, 2), ("jump_boost", 45, 1)]}, + {"block": "rtdd:browncarrotfishsoupsoup", "hunger": 6, "drop": BOWL, + "effects": [("luck", 45, 2), ("speed", 45, 1)]}, + {"block": "rtdd:bowlaeggcodsoup", "hunger": 5, "drop": BOWL, + "effects": [("regeneration", 30, 1), ("luck", 45, 1), + ("health_boost", 45, 2)]}, + {"block": "rtdd:brown_norieggsoup", "hunger": 5, "drop": BOWL, + "effects": [("strength", 30, 1), ("absorption", 60, 2)]}, + {"block": "rtdd:bowlatufufish", "hunger": 5, "drop": BOWL, + "effects": [("luck", 45, 1), ("water_breathing", 60, 1), + ("night_vision", 60, 1)]}, + {"block": "rtdd:bowlofmushroomsoup", "hunger": 7, "drop": BOWL, + "effects": [("speed", 45, 1), ("regeneration", 60, 1), + ("fire_resistance", 45, 1), ("jump_boost", 45, 1)]}, + {"block": "rtdd:brownpigfootsoup", "hunger": 6, "drop": BOWL, + "effects": [("strength", 45, 1), ("resistance", 30, 1), + ("speed", 45, 1), ("haste", 45, 2)]}, + {"block": "rtdd:bowla_roujiamo", "hunger": 7, "drop": BOWL, + "effects": [("saturation", 45, 1), ("resistance", 45, 1)]}, + {"block": "rtdd:dumplingssoup", "hunger": 6, "drop": BOWL, + "effects": [("saturation", 30, 1), ("absorption", 60, 2), + ("regeneration", 20, 1)]}, + {"block": "rtdd:brownvegetablefishsoup", "hunger": 5, "drop": BOWL, + "effects": [("luck", 45, 1), ("water_breathing", 120, 1)]}, + # 二、美味饺子 全份->半份(盘装, 掉脏盘子) + {"block": "rtdd:plate_30a", "target": "rtdd:plate_30", "hunger": 4, + "effects": [("saturation", 45, 1), ("absorption", 60, 3), + ("regeneration", 20, 2)]}, + {"block": "rtdd:plate_30", "hunger": 3, "drop": PLATE_DIRTY}, + # 三、熟面条(碗装) + {"block": "rtdd:noodle_soup", "hunger": 4, "drop": BOWL, + "effects": [("saturation", 15, 1)]}, + # 四、熟米饭(碗装, 三形态) + {"block": "rtdd:bowlofrice", "hunger": 4, "drop": BOWL, + "effects": [("saturation", 30, 1)]}, + {"block": "rtdd:bowlofrice_2", "hunger": 4, "drop": BOWL, + "effects": [("saturation", 30, 1)]}, + {"block": "rtdd:bowlofrice_3", "hunger": 4, "drop": BOWL, + "effects": [("saturation", 30, 1)]}, + # 八、汤面(碗装, 单次吃完, 掉木碗) + {"block": "rtdd:noodlesoup_1", "hunger": 7, "drop": BOWL, + "effects": [("health_boost", 45, 2), ("regeneration", 10, 1)]}, + {"block": "rtdd:noodlesoup_2", "hunger": 7, "drop": BOWL, + "effects": [("health_boost", 45, 2), ("regeneration", 10, 1)]}, + {"block": "rtdd:noodlesoup_3", "hunger": 8, "drop": BOWL, + "effects": [("strength", 60, 2)]}, + {"block": "rtdd:noodlesoup_4", "hunger": 7, "drop": BOWL, + "effects": [("regeneration", 60, 1), ("jump_boost", 60, 1)]}, + {"block": "rtdd:assortedramen", "hunger": 6, "drop": BOWL, + "effects": [("saturation", 30, 1), ("night_vision", 30, 1)]}, + {"block": "rtdd:braisednoodles", "hunger": 7, "drop": BOWL, + "effects": [("strength", 45, 1), ("night_vision", 60, 1)]}, + {"block": "rtdd:mushroomnoodles", "hunger": 6, "drop": BOWL, + "effects": [("regeneration", 30, 1), ("haste", 30, 1), + ("slow_falling", 30, 1)]}, + {"block": "rtdd:yushengramen", "hunger": 6, "drop": BOWL, + "effects": [("luck", 45, 1), ("resistance", 30, 1), + ("regeneration", 30, 1)]}, + {"block": "rtdd:vegetable_noodles", "hunger": 5, "drop": BOWL, + "effects": [("saturation", 30, 1), ("resistance", 30, 1)]}, + {"block": "rtdd:noodles_1", "hunger": 5, "drop": BOWL, + "effects": [("regeneration", 30, 1)]}, + {"block": "rtdd:noodles_2", "hunger": 5, "drop": BOWL, + "effects": [("speed", 30, 1)]}, + {"block": "rtdd:egg_noodles", "hunger": 6, "drop": BOWL, + "effects": [("health_boost", 30, 1)]}, + {"block": "rtdd:tonkotsu_ramen", "hunger": 9, "drop": BOWL, + "effects": [("health_boost", 120, 4), ("regeneration", 30, 2), + ("speed", 30, 1)]}, + + # ------------------------------------------------------------------ + # 【面食.甜食】(xy_mianshi) + # ------------------------------------------------------------------ + # 熟肉包子 分食链: 整->半个->1/4个->消失 + {"block": "rtdd:shouroubao", "target": "rtdd:shoubaozi_2", "hunger": 1, + "effects": [("regeneration", 30, 1)]}, + {"block": "rtdd:shoubaozi_2", "target": "rtdd:shoubaozi_3", "hunger": 1}, + {"block": "rtdd:shoubaozi_3", "hunger": 1}, + # 肉夹馍 + {"block": "rtdd:roujiamo_2", "hunger": 6, + "effects": [("strength", 45, 1), ("absorption", 45, 2)]}, + # 煎饼卷牛肉 + {"block": "rtdd:cookeddought_6", "hunger": 6, + "effects": [("strength", 45, 1), ("absorption", 45, 2)]}, + # 煎饼卷鳕鱼 + {"block": "rtdd:cookedcoddought_6", "hunger": 6, + "effects": [("luck", 45, 1), ("strength", 45, 1)]}, + # 熟竹筒饭 + {"block": "rtdd:bamboo_5", "hunger": 4, + "effects": [("saturation", 45, 1), ("resistance", 45, 2)]}, + # 法棍(一份)/吐司(一份)/可颂(一份) + {"block": "rtdd:bread_1", "hunger": 3, + "effects": [("strength", 45, 1), ("speed", 45, 1), + ("jump_boost", 45, 1)]}, + {"block": "rtdd:bread_2", "hunger": 3, + "effects": [("strength", 45, 1), ("speed", 45, 1), + ("jump_boost", 45, 1)]}, + {"block": "rtdd:bread_3", "hunger": 3, + "effects": [("strength", 45, 1), ("speed", 45, 1), + ("jump_boost", 45, 1)]}, + # 甜甜圈(一份) + {"block": "rtdd:bread_4", "hunger": 3, + "effects": [("speed", 45, 1), ("resistance", 45, 1)]}, + # 蛋糕小块(蜂蜜cake_1d/浆果cake_2d/巧克力cake_3d) + 奶油蛋糕整块(cake_0) + {"block": "rtdd:cake_0", "hunger": 3, + "effects": [("saturation", 45, 1), ("haste", 45, 1), + ("absorption", 45, 1)]}, + {"block": "rtdd:cake_1d", "hunger": 3, + "effects": [("saturation", 45, 1), ("haste", 45, 1), + ("absorption", 45, 1)]}, + {"block": "rtdd:cake_2d", "hunger": 3, + "effects": [("saturation", 45, 1), ("haste", 45, 1), + ("absorption", 45, 1)]}, + {"block": "rtdd:cake_3d", "hunger": 3, + "effects": [("saturation", 45, 1), ("haste", 45, 1), + ("absorption", 45, 1)]}, + # 焦糖布丁 + {"block": "rtdd:cream_caramel", "hunger": 4, + "effects": [("saturation", 30, 1), ("luck", 30, 1)]}, + # 舒芙蕾 + {"block": "rtdd:souffle_0", "hunger": 4, + "effects": [("saturation", 30, 1), ("health_boost", 30, 1), + ("luck", 30, 1)]}, + # 馍 + {"block": "rtdd:roujiamo_0", "hunger": 2}, + # 煎饼 + {"block": "rtdd:cooked_dought", "hunger": 4, + "effects": [("regeneration", 10, 1)]}, + + # ------------------------------------------------------------------ + # 【寿司】(xy_sushi) + # ------------------------------------------------------------------ + # 鳕鱼寿司块 三->两->一->空 + {"block": "rtdd:codsushi_6", "target": "rtdd:codsushicubes_2", "hunger": 2, + "effects": [("luck", 30, 1), ("haste", 30, 1)]}, + {"block": "rtdd:codsushicubes_2", "target": "rtdd:codsushicubes_1", + "hunger": 2, "effects": [("luck", 30, 1), ("haste", 30, 1)]}, + {"block": "rtdd:codsushicubes_1", "hunger": 2, + "effects": [("luck", 30, 1), ("haste", 30, 1)]}, + # 鲑鱼寿司块 + {"block": "rtdd:salmonsushi_6", "target": "rtdd:salmonsushicubes_2", + "hunger": 2, "effects": [("luck", 120, 1), ("haste", 60, 1)]}, + {"block": "rtdd:salmonsushicubes_2", "target": "rtdd:salmonsushicubes_1", + "hunger": 2, "effects": [("luck", 120, 1), ("haste", 60, 1)]}, + {"block": "rtdd:salmonsushicubes_1", "hunger": 2, + "effects": [("luck", 120, 1), ("haste", 60, 1)]}, + # 热带鱼寿司块 + {"block": "rtdd:fishmonsushi_6", "target": "rtdd:fishsushicubes_2", + "hunger": 2, "effects": [("luck", 120, 1), ("haste", 60, 1)]}, + {"block": "rtdd:fishsushicubes_2", "target": "rtdd:fishsushicubes_1", + "hunger": 2, "effects": [("luck", 120, 1), ("haste", 60, 1)]}, + {"block": "rtdd:fishsushicubes_1", "hunger": 2, + "effects": [("luck", 120, 1), ("haste", 60, 1)]}, + # 手握鳕鱼寿司 + {"block": "rtdd:nigirisushicod_3", "target": "rtdd:nigirisushicod_2", + "hunger": 2, "effects": [("health_boost", 30, 1), + ("regeneration", 10, 1)]}, + {"block": "rtdd:nigirisushicod_2", "target": "rtdd:nigirisushifishcod", + "hunger": 2, "effects": [("health_boost", 30, 1), + ("regeneration", 10, 1)]}, + {"block": "rtdd:nigirisushifishcod", "hunger": 2, + "effects": [("health_boost", 30, 1), ("regeneration", 10, 1)]}, + # 手握鲑鱼寿司 + {"block": "rtdd:nigirisushisalnom_3", "target": "rtdd:nigirisushisalnom_2", + "hunger": 2, "effects": [("health_boost", 30, 1), + ("regeneration", 10, 1)]}, + {"block": "rtdd:nigirisushisalnom_2", "target": "rtdd:nigirisushifishsalmon_1", + "hunger": 2, "effects": [("health_boost", 30, 1), + ("regeneration", 10, 1)]}, + {"block": "rtdd:nigirisushifishsalmon_1", "hunger": 2, + "effects": [("health_boost", 30, 1), ("regeneration", 10, 1)]}, + # 手握热带鱼寿司 + {"block": "rtdd:nigirisushifish_3", "target": "rtdd:nigirisushifish_2", + "hunger": 2, "effects": [("health_boost", 30, 1), + ("regeneration", 10, 1)]}, + {"block": "rtdd:nigirisushifish_2", "target": "rtdd:nigirisushifish_1", + "hunger": 2, "effects": [("health_boost", 30, 1), + ("regeneration", 10, 1)]}, + {"block": "rtdd:nigirisushifish_1", "hunger": 2, + "effects": [("health_boost", 30, 1), ("regeneration", 10, 1)]}, + # 手握鱿鱼寿司 + {"block": "rtdd:squidsushi_3", "target": "rtdd:squidsushi_2", "hunger": 2, + "effects": [("health_boost", 30, 1), ("regeneration", 10, 1)]}, + {"block": "rtdd:squidsushi_2", "target": "rtdd:squid_sushi", "hunger": 2, + "effects": [("health_boost", 30, 1), ("regeneration", 10, 1)]}, + {"block": "rtdd:squid_sushi", "hunger": 2, + "effects": [("health_boost", 30, 1), ("regeneration", 10, 1)]}, + # 盘装寿司(单次吃完, 掉脏盘子) + {"block": "rtdd:plate_27", "hunger": 8, "drop": PLATE_DIRTY, + "effects": [("luck", 60, 2), ("health_boost", 60, 3), + ("regeneration", 20, 2), ("strength", 60, 1)]}, + {"block": "rtdd:plate_28", "hunger": 8, "drop": PLATE_DIRTY, + "effects": [("luck", 60, 2), ("health_boost", 60, 3), + ("regeneration", 20, 2), ("strength", 60, 1)]}, + {"block": "rtdd:plate_29", "hunger": 8, "drop": PLATE_DIRTY, + "effects": [("luck", 60, 2), ("health_boost", 60, 3), + ("regeneration", 20, 2), ("strength", 60, 1)]}, + {"block": "rtdd:plate_42", "hunger": 8, "drop": PLATE_DIRTY, + "effects": [("luck", 60, 2), ("health_boost", 60, 3), + ("regeneration", 20, 2), ("strength", 60, 1)]}, + + # ------------------------------------------------------------------ + # 【烧烤】(xy_shaokao) + # ------------------------------------------------------------------ + # 烤鸡 分食链(无容器) + {"block": "rtdd:roast_chickenplace_1", "target": "rtdd:roast_chickenplace_2", + "hunger": 3, "effects": [("health_boost", 30, 3), + ("regeneration", 30, 1)]}, + {"block": "rtdd:roast_chickenplace_2", "target": "rtdd:roast_chickenplace_3", + "hunger": 3}, + {"block": "rtdd:roast_chickenplace_3", "target": "rtdd:roast_chickenplace_4", + "hunger": 3}, + {"block": "rtdd:roast_chickenplace_4", "hunger": 3, + "effects": [("speed", 60, 1)]}, + # 烤乳猪 分食链(无容器) + {"block": "rtdd:roastpignew_1", "target": "rtdd:roastpignew_2", "hunger": 4, + "effects": [("health_boost", 30, 3), ("regeneration", 30, 1), + ("strength", 30, 1)]}, + {"block": "rtdd:roastpignew_2", "target": "rtdd:roastpignew_3", "hunger": 4}, + {"block": "rtdd:roastpignew_3", "target": "rtdd:roastpignew_4", "hunger": 4}, + {"block": "rtdd:roastpignew_4", "target": "rtdd:roastpignew_5", "hunger": 4}, + {"block": "rtdd:roastpignew_5", "target": "rtdd:roastpignew_6", "hunger": 4}, + {"block": "rtdd:roastpignew_6", "hunger": 4, + "effects": [("strength", 60, 2)]}, + # 烤鳕鱼(熟)/烤鲑鱼(熟): 吃完掉支杆 + {"block": "rtdd:grilledcod_1", "hunger": 5, "drop": ROD, + "effects": [("luck", 40, 1)]}, + {"block": "rtdd:grilled_salmon", "hunger": 5, "drop": ROD, + "effects": [("luck", 40, 1)]}, + # 烤串(熟, 无容器) + {"block": "rtdd:beefkebabs_3", "hunger": 5, + "effects": [("strength", 30, 1)]}, + {"block": "rtdd:lambkebabs_3", "hunger": 5, + "effects": [("strength", 30, 1)]}, + {"block": "rtdd:roasted_vegetables_3", "hunger": 4, + "effects": [("saturation", 15, 1)]}, + {"block": "rtdd:roastedmushrooms_3", "hunger": 4, + "effects": [("regeneration", 15, 1)]}, + + # ------------------------------------------------------------------ + # 【乡野食物】(xy_food) + # ------------------------------------------------------------------ + # 章鱼小丸子 完整->半份 + {"block": "rtdd:plate_40", "target": "rtdd:plate_40a", "hunger": 4, + "effects": [("regeneration", 60, 1), ("resistance", 60, 1)]}, + {"block": "rtdd:plate_40a", "hunger": 2, "drop": PLATE_DIRTY}, + # 原版食物-成品盘(单次吃完, 掉脏盘子) + {"block": "rtdd:plate_16", "hunger": 5, "drop": PLATE_DIRTY}, + {"block": "rtdd:plate_17", "hunger": 4, "drop": PLATE_DIRTY}, + {"block": "rtdd:plate_18", "hunger": 3, "drop": PLATE_DIRTY}, + {"block": "rtdd:plate_20", "hunger": 5, "drop": PLATE_DIRTY}, + {"block": "rtdd:plate_21", "hunger": 3, "drop": PLATE_DIRTY}, + {"block": "rtdd:plate_4", "hunger": 5, "drop": PLATE_DIRTY}, + + # ------------------------------------------------------------------ + # 【乡野饮料】(xy_drink) + # ------------------------------------------------------------------ + # 果汁/豆浆(喝完掉玻璃杯) + {"block": "rtdd:fruitjuice_1", "hunger": 2, "drop": GLASS, + "effects": [("speed", 30, 1)]}, + {"block": "rtdd:fruitjuice_2", "hunger": 2, "drop": GLASS, + "effects": [("speed", 30, 1)]}, + {"block": "rtdd:fruitjuice_3", "hunger": 2, "drop": GLASS, + "effects": [("regeneration", 15, 1)]}, + {"block": "rtdd:fruitjuice_4", "hunger": 2, "drop": GLASS, + "effects": [("regeneration", 15, 1)]}, + {"block": "rtdd:fruitjuice_6", "hunger": 2, "drop": GLASS, + "effects": [("regeneration", 15, 1)]}, + {"block": "rtdd:fruitjuice_7", "hunger": 4, "drop": GLASS, + "effects": [("health_boost", 30, 1)]}, + # 冰棍(无容器) + {"block": "rtdd:apple_popsicleplace", "hunger": 2, + "effects": [("speed", 15, 1)]}, + {"block": "rtdd:grape_popsicleplace", "hunger": 2, + "effects": [("speed", 15, 1)]}, + {"block": "rtdd:melon_popsicleplace", "hunger": 2, + "effects": [("speed", 15, 1)]}, + {"block": "rtdd:orange_popsicle_place", "hunger": 2, + "effects": [("speed", 15, 1)]}, + {"block": "rtdd:peach_popsicleplace", "hunger": 2, + "effects": [("speed", 15, 1)]}, + # 冰沙(无容器) + {"block": "rtdd:appleicecreamplace", "hunger": 3, + "effects": [("speed", 30, 1)]}, + {"block": "rtdd:grapeicecreamplace", "hunger": 3, + "effects": [("speed", 30, 1)]}, + {"block": "rtdd:orangeicecreamplace", "hunger": 3, + "effects": [("speed", 30, 1)]}, + {"block": "rtdd:peachicecreamplace", "hunger": 3, + "effects": [("speed", 30, 1)]}, + {"block": "rtdd:melonicecreamplace", "hunger": 3, + "effects": [("speed", 30, 1)]}, +] + +# ============================================================================ +# 四、手持物品右键直接吃(不放置) +# itemName -> {hunger, effects} 消耗1个, 无容器掉落 +# ============================================================================ +TRY_USE_RULES = { + "rtdd:rice_balls": {"hunger": 3, "effects": [("saturation", 15, 1)]}, + "rtdd:boiled_egg": {"hunger": 2, "effects": []}, + "rtdd:beancurd": {"hunger": 2, "effects": []}, +} + +# ============================================================================ +# 五、把规则表索引为字典: block -> rule +# ============================================================================ +EAT_RULE_MAP = {} +for _r in EAT_RULES: + EAT_RULE_MAP[_r["block"]] = _r diff --git a/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/shiyongfood/__init__.py b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/shiyongfood/__init__.py new file mode 100644 index 0000000..40a96af --- /dev/null +++ b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/shiyongfood/__init__.py @@ -0,0 +1 @@ +# -*- coding: utf-8 -*- diff --git a/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/shiyongfood/service/ShiyongfoodService.py b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/shiyongfood/service/ShiyongfoodService.py new file mode 100644 index 0000000..231b41b --- /dev/null +++ b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/shiyongfood/service/ShiyongfoodService.py @@ -0,0 +1,218 @@ +# -*- coding: utf-8 -*- +""" +================================================================================ +【总食用】(shiyongfood) 服务 —— 所有成品的"吃" +================================================================================ +【入口(由 FeatureDispatcher 统一转发)】 + 1. handleBlockUse 空手右键 已放置的成品方块 -> 吃一级 + - 有 target: 方块转换成下一级(半份/下一份) + - 无 target: 方块完全消耗(消失) + 掉落容器(脏盘子/木碗/玻璃杯/支杆) + 2. handleItemUseOn 手持 饭团/水煮蛋/豆腐 右键方块表面 -> 直接吃(消耗1个) + 3. handleItemTryUse 手持 饭团/水煮蛋/豆腐 长按右键(空中使用) -> 直接吃(消耗1个) + +【数值】 + - 饱食度: SetPlayerHunger(0~20), 1点 = 半个鸡腿(原版饥饿值) + - 效果: AddEffectToEntity(effectName, 时长秒, amplifier) + amplifier = 等级-1 (效果I=0, 效果II=1, ...) + - 冷却: 0.4 秒(防长按右键连吃刷屏) +================================================================================ +""" +import time +import mod.server.extraServerApi as serverApi + +ServerSystem = serverApi.GetServerSystemCls() # 服务端系统基类 +comp = serverApi.GetEngineCompFactory() # 组件工厂 + +from ...BlueFoxTools.SpecialFunciton.BlueFoxSystem import BlueFoxServerSystem +from ...BlueFoxTools.ToolsConfig import LevelId +from ..ShiyongfoodData import EAT_RULE_MAP, TRY_USE_RULES, EFFECT_CN + + +class ShiyongfoodService(BlueFoxServerSystem): + """总食用服务: 所有成品右键吃(方块吃 + 手持物品直接吃)""" + + def __init__(self, namespace, systemName): + BlueFoxServerSystem.__init__(self, namespace, systemName) + self.eatBlocks = set(EAT_RULE_MAP.keys()) # 可吃的成品方块 + self.tryUseItems = set(TRY_USE_RULES.keys()) # 手持直接吃的物品 + self.cooldown = {} # 右键冷却 + + # ---- 注册到统一分发器: 右键方块 + 手持右键表面 + 手持直接吃 ---- + from ...service.FeatureDispatcher import FeatureDispatcher + FeatureDispatcher.register(self) + FeatureDispatcher.registerTryUse(self) + + # ------------------------------------------------------------------ + # 分发器路由表(FeatureDispatcher 调用) + # ------------------------------------------------------------------ + def getFeatureBlocks(self): + """成品方块(空手右键吃)""" + return self.eatBlocks + + def getItemUseOnRules(self): + """手持吃物品也注册进"右键方块表面"路由(点方块表面直接吃)""" + return {item: True for item in self.tryUseItems} + + def getTryUseRules(self): + """手持直接吃(长按右键/空中使用)""" + return {item: True for item in self.tryUseItems} + + # ==================================================================== + # 入口1: 空手右键 已放置的成品方块 -> 吃一级 + # ==================================================================== + def handleBlockUse(self, args): + 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 and itemName != "minecraft:air": + return False + + rule = EAT_RULE_MAP.get(blockName) + if not rule: + return False + if not self.checkCooldown(key, 0.4): + return True + + self._applyFood(playerId, rule.get("hunger", 0), rule.get("effects", [])) + target = rule.get("target") + if target: + # 方块转换成下一级(半份/下一份) + self._replaceBlock(playerId, pos, dim, target) + else: + # 完全消耗消失 + 掉落容器 + self._clearBlock(playerId, pos, dim) + drop = rule.get("drop") + if drop: + self.dropItem(dim, pos, drop) + self._notify(playerId, rule) + return True + + # ==================================================================== + # 入口2: 手持 饭团/水煮蛋/豆腐 右键方块表面 -> 直接吃 + # ==================================================================== + def handleItemUseOn(self, args): + itemName = args.get("itemName") + rule = TRY_USE_RULES.get(itemName) + if not rule: + return False + playerId = args.get("playerId") or args.get("entityId") + return self._eatItemInHand(playerId, itemName, rule) + + # ==================================================================== + # 入口3: 手持 饭团/水煮蛋/豆腐 长按右键(空中使用) -> 直接吃 + # ==================================================================== + def handleItemTryUse(self, args): + itemName = args.get("itemName") + rule = TRY_USE_RULES.get(itemName) + if not rule: + return False + playerId = args.get("playerId") or args.get("entityId") + return self._eatItemInHand(playerId, itemName, rule) + + # ------------------------------------------------------------------ + # 手持吃公共: 消耗1个 + 回复饱食度 + 效果(无容器掉落) + # ------------------------------------------------------------------ + def _eatItemInHand(self, playerId, itemName, rule): + if not playerId: + return False + if not self.checkCooldown(("p", playerId), 0.4): + return True + itemDict = self.getCarriedItem(playerId) + if not itemDict or itemDict.get("newItemName") != itemName: + return False + count = itemDict.get("count", 1) + comp.CreateItem(playerId).SetEntityItem( + serverApi.GetMinecraftEnum().ItemPosType.CARRIED, + {"itemName": itemName, + "count": max(count - 1, 0), + "auxValue": itemDict.get("newAuxValue", 0), + "userData": itemDict.get("userData", {})}) + self._applyFood(playerId, rule.get("hunger", 0), rule.get("effects", [])) + self._notify(playerId, rule) + return True + + # ==================================================================== + # 工具: 回复饱食度 + 增益效果 + # ==================================================================== + def _applyFood(self, playerId, hunger, effects): + try: + # 饱食度【在现有值上累加】(不是覆盖): 当前值 + 回复值, 上限20点 + attrComp = comp.CreateAttr(playerId) + cur = attrComp.GetPlayerHunger() + if cur is None: + cur = 0 + newVal = max(0.0, min(float(cur) + float(hunger), 20.0)) + attrComp.SetPlayerHunger(newVal) + except Exception: + pass + if effects: + try: + effectComp = comp.CreateEffect(LevelId) + for name, dur, lvl in effects: + # 效果I -> amplifier 0, 效果II -> amplifier 1 ... + effectComp.AddEffectToEntity(playerId, name, dur, lvl - 1, False) + except Exception: + pass + + # ==================================================================== + # 工具: 替换/清除方块 + # ==================================================================== + def _replaceBlock(self, creator, pos, dim, blockName): + comp.CreateBlockInfo(creator).SetBlockNew( + pos, blockDict={"name": blockName, "aux": 0}, + oldBlockHandling=0, dimensionId=dim) + + def _clearBlock(self, creator, pos, dim): + comp.CreateBlockInfo(creator).SetBlockNew( + pos, blockDict={"name": "minecraft:air", "aux": 0}, + oldBlockHandling=0, dimensionId=dim) + + # ==================================================================== + # 工具: 以掉落物形式生成物品(出现在方块上方) + # ==================================================================== + 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 + + # ==================================================================== + # 工具: 食用提示 + # ==================================================================== + def _notify(self, playerId, rule): + try: + hunger = rule.get("hunger", 0) + msg = "\u00a7a回复 %d 点饱食度" % hunger + effects = rule.get("effects", []) + if effects: + parts = [] + for name, dur, lvl in effects: + cn = EFFECT_CN.get(name, name) + parts.append("%s%s(%d秒)" % (cn, self._roman(lvl), dur)) + msg += ", 获得 " + " ".join(parts) + comp.CreateMsg(playerId).NotifyOneMessage(playerId, msg) + except Exception: + pass + + @staticmethod + def _roman(lvl): + return {1: "I", 2: "II", 3: "III", 4: "IV", 5: "V"}.get(lvl, "") + + # ==================================================================== + # 工具: 冷却检查(0.4秒, 防长按右键连吃) + # ==================================================================== + 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 diff --git a/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/shiyongfood/service/__init__.py b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/shiyongfood/service/__init__.py new file mode 100644 index 0000000..40a96af --- /dev/null +++ b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/shiyongfood/service/__init__.py @@ -0,0 +1 @@ +# -*- coding: utf-8 -*- diff --git a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_boiled_egg.json b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_boiled_egg.json index cbf5798..767a72d 100644 --- a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_boiled_egg.json +++ b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_boiled_egg.json @@ -2,7 +2,13 @@ "format_version": "1.10", "minecraft:item": { "components": { - "minecraft:max_stack_size": 64 + "minecraft:max_stack_size": 64, + "minecraft:use_animation": "eat", + "minecraft:use_duration": 1.6, + "minecraft:food": { + "nutrition": 4, + "saturation_modifier": "normal" + } }, "description": { "category": "xy_tangguo", diff --git a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_rice_balls.json b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_rice_balls.json index 12a0cb0..1e309ef 100644 --- a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_rice_balls.json +++ b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_rice_balls.json @@ -2,7 +2,13 @@ "format_version": "1.10", "minecraft:item": { "components": { - "minecraft:max_stack_size": 64 + "minecraft:max_stack_size": 64, + "minecraft:use_animation": "eat", + "minecraft:use_duration": 1.6, + "minecraft:food": { + "nutrition": 6, + "saturation_modifier": "normal" + } }, "description": { "category": "xy_sushi", diff --git a/tuilun/全部功能做了什么.txt b/tuilun/全部功能做了什么.txt index b8aa512..90e1730 100644 --- a/tuilun/全部功能做了什么.txt +++ b/tuilun/全部功能做了什么.txt @@ -624,7 +624,7 @@ FurnitureData+FurnitureService 实现, 注册到 FeatureDispatcher) 二、饺子组 - 饺子皮 + 猪肉馅/青菜碎 双向组合 -> 饺子皮(猪肉馅加蔬菜); 捏合 -> 面团消失, 掉落1个生饺子(物品) [已实现] - 生饺子 手持右键蒸笼(消耗4个) -> 蒸笼(蒸饺子_生), 60秒 -> 熟 [已实现] -- 手持盘子(plate_0)右键熟 -> 掉落盘装水饺(plate_30) + 蒸笼归位 [已实现] +- 手持盘子(plate_0)右键熟 -> 掉落美味饺子(全份)盘装(plate_30a) + 蒸笼归位 [已实现] 三、包子组 - 饺子皮 空手 -> 包子皮; +猪/牛肉馅 -> 包子皮(加肉); 捏合/塑形 -> 面团消失, 掉落1个生肉包子(物品) [已实现] @@ -885,3 +885,55 @@ FurnitureData+FurnitureService 实现, 注册到 FeatureDispatcher) 手持方块物品右键炒锅类功能方块取消默认放置(全局) [已实现] 【留后】各盘装成品/盖饭 右键吃(总食用功能后续实现)、半份/部分份变体出锅(见 全部功能没做什么.txt) + +######################################## +【总食用】(shiyongfood) 2026-09-21 +######################################## +实现于 xiangyemod/shiyongfood (ShiyongfoodData + ShiyongfoodService, 注册到 FeatureDispatcher: +右键方块 blockOwner + 手持右键表面 itemUseOn + 手持直接吃 tryUse[新增路由]) +规范: tuilun/总食用转化关系.txt (用户最终稿); 所有数值/效果以该txt为准 +机制: 成品放置成方块后 空手右键方块 吃一级(方块转换下一级/完全消耗消失+容器掉落); + 例外: 饭团/水煮蛋/豆腐 手持右键直接吃(消耗1个, 无容器) + 饱食度: 在现有值上累加(当前+回复, 上限20点); 效果 AddEffectToEntity(amplifier=等级-1); 冷却0.4秒 + +一、炒锅成品吃 [已实现] +- 盘装菜(plate_1~54系列)全份->半份递减吃(黑椒牛排/清炒猪排/胡萝卜鲑鱼/胡萝卜羊腿/ + 胡萝卜炒羊里脊/小炒五花肉/胡萝卜炒猪排骨/辣炒兔肉/炒鱿鱼[三分之二/三分之一]/ + 炒鱿鱼须/小炒鸡肉/麻婆豆腐/炒蟹/牛肉意面/香菇意面/胡萝卜意面/鸡肉番茄意面); + 无半份的整盘吃完; 吃完掉落 脏盘子(plate_0a) +- 盖饭: 辣子鸡丁盖饭(全/半份)/香菇滑鸡盖饭(全/半份)/麻婆豆腐盖饭/鳕鱼盖饭 吃完掉 脏盘子 +- 蛋炒饭(bowlofriceegg)吃完掉 木碗(bowlasoup) +- 葱油饼/酱香饼 放置成方块吃, 无容器 [已实现] +二、油锅成品吃 [已实现] +- 盘装鸡块/炸猪排/炸薯条/盘装炸鱼/炸饺子 单次吃完掉 脏盘子 +- 天妇罗炸虾 整份->半份递减吃(归属油锅), 半份吃完掉 脏盘子 +三、汤锅成品吃 [已实现] +- 碗装汤品20种 + 熟面条 + 熟米饭(三形态) + 汤面13种 单次吃完掉 木碗 +- 美味饺子(全份plate_30a->半份plate_30)递减吃, 半份吃完掉 脏盘子 +四、面食.甜食吃 [已实现] +- 熟肉包子 分食链: 整->半个->1/4个->消失(每级回复1点, 整级带生命恢复I30秒) +- 肉夹馍/煎饼卷牛肉/煎饼卷鳕鱼/熟竹筒饭/馍/煎饼 放置成方块吃, 无容器 +- 法棍/吐司/可颂(一份)/甜甜圈(一份) 放置成方块吃, 无容器 +- 奶油蛋糕(整块, 无切分变体)/蜂蜜/浆果/巧克力蛋糕小块 放置成方块吃, 无容器 +- 焦糖布丁/舒芙蕾 放置成方块吃, 无容器 +五、寿司吃 [已实现] +- 鳕鱼/鲑鱼/热带鱼寿司块 + 手握(鳕鱼/鲑鱼/热带鱼/鱿鱼) 三->两->一->空 递减吃, 无容器 +- 盘装寿司(plate_27/28/29/42)单次吃完掉 脏盘子 +六、烧烤吃 [已实现] +- 烤鸡 整只->3/4->半只->1/4->消失; 烤乳猪 整只->5/6->4/6->3/6->2/6->1/6->消失; 无容器 +- 烤鳕鱼(熟)/烤鲑鱼(熟) 吃完掉落 支杆(b_34)1个 +- 熟牛肉串/熟羊肉串/熟蔬菜串/熟香菇串 单次吃完, 无容器 +七、乡野食物吃 [已实现] +- 章鱼小丸子 完整->半份递减吃, 半份吃完掉 脏盘子 +- 原版食物成品盘(plate_16/17/18/20/21/4) 单次吃完掉 脏盘子 +八、乡野饮料 [已实现] +- 西瓜汁/橙汁/苹果汁/桃子汁/葡萄汁/豆浆 喝完掉 玻璃杯(fruitjuice_0) +- 冰棍5口味/冰沙5口味 单次吃完, 无容器 +九、手持直接吃(不放置) [已实现] +- 饭团(rice_balls)/水煮蛋(boiled_egg)/豆腐(beancurd) 手持右键直接吃, 消耗1个, 无容器 + (已给 饭团/水煮蛋 补 use_animation:eat + food 组件, 使其长按右键可触发食用事件; + 豆腐原本就有 food 组件) + +【提示/体验】每次吃有提示"回复X点饱食度, 获得 XX效果(时长)"; 右键冷却0.4秒; +所有成品方块与手持吃物品经 FeatureDispatcher 统一路由(新增 tryUse 路由表) [已实现] + diff --git a/tuilun/全部功能没做什么.txt b/tuilun/全部功能没做什么.txt index 23820ce..2153005 100644 --- a/tuilun/全部功能没做什么.txt +++ b/tuilun/全部功能没做什么.txt @@ -277,9 +277,21 @@ todo 需要 对油罐 进行一个 打碎 后 在右键依然是多少的使用 ######################################## -【总食用】(全部吃) 2026-09-18 +【总食用】(全部吃) 2026-09-21 ######################################## -- 全部【吃】成品已提取并写好 全份->半份 递减链路 + 参考饱食度/增益效果, - 规范见新文档 tuilun/总食用转化关系.txt (数值均为草稿, 待用户修改确认后实现) -- 未做原因: 总食用功能尚未开发, 所有吃统一留待其实现, 避免重复 - (各分类的吃 见 全部功能没做什么.txt 对应分节 + 总食用转化关系.txt) +- 总食用功能已整体实现于 xiangyemod/shiyongfood (2026-09-21), + 规范: tuilun/总食用转化关系.txt (用户最终稿), 详见 全部功能做了什么.txt 【总食用】节 +- 实现方式: 成品放置成方块后 空手右键方块 吃一级(方块转换/消失+容器掉落); + 例外 饭团/水煮蛋/豆腐 手持右键直接吃(消耗1个, 无容器) + +【仍未做/待确认】 +一、动物养殖·粪便吃 (未做) +- 粪便(一坨/半坨/仅痕迹) 可食用: 未做, 若要做建议 回复0点, 无效果(或 中毒/饥饿 负面) + 负面效果不列入增益表; 是否实现待用户确认 +二、半份/部分份变体"出锅递减链路" (不再单做) +- 黑椒牛排(半份)等全部半份/部分份变体 均作为"吃"的递减链路实现(右键方块吃一级), + 不再单独做出锅路径 [已按用户确认, 2026-09-21] +三、食用相关细节(可后续调整) +- 烤鸡/烤乳猪"生命提升 10点"按 生命提升III(30秒) 实现(10点≈2.5级取III, 每级+4点血) +- 原版食物成品盘(plate_16/17/18/20/21/4)按 txt 无增益效果 +- 饭团/水煮蛋 已补 use_animation:eat+food 组件(长按右键可触发食用事件) diff --git a/tuilun/总食用转化关系.txt b/tuilun/总食用转化关系.txt index fb6cc1d..2dcb2c8 100644 --- a/tuilun/总食用转化关系.txt +++ b/tuilun/总食用转化关系.txt @@ -59,107 +59,105 @@ ######################################## (成品归 chaoguo_finished, 均【吃】; 操作统一: 放置成方块后 空手右键方块) 【容器】盘装菜与盖饭(plate_*)吃完掉落 脏盘子(plate_0a); 蛋炒饭(碗装, bowlofriceegg) -吃完掉落 木碗(bowlasoup); 葱油饼/酱香饼/煎饼/馍(放置成方块吃)无容器不掉落 +吃完掉落 木碗(bowlasoup); 葱油饼/酱香饼(放置成方块吃)无容器不掉落 +(注: 熟鸡肉盘(plate_4)归 乡野食物·成品盘; 煎饼(cooked_dought)/馍(roujiamo_0)归 面食.甜食, + 均不属炒锅, 见对应分类节) 一、黑椒牛排 (全份 plate_2 / 半份 plate_2a) 步骤1:空手右键 已放置的 黑椒牛排(全份)方块(plate_2) - -> 回复 8 点饱食度, 获得 力量I(60秒) -> 方块转换成 黑椒牛排(半份)(plate_2a) + -> 回复 4 点饱食度, 获得 力量II(60秒) -> 方块转换成 黑椒牛排(半份)(plate_2a) 步骤2:空手右键 已放置的 黑椒牛排(半份)方块(plate_2a) -> 回复 4 点饱食度 -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 二、清炒猪排 (全份 plate_1 / 半份 plate_1a) 步骤1:空手右键 已放置的 清炒猪排(全份)方块(plate_1) - -> 回复 7 点饱食度, 获得 力量I(45秒) -> 方块转换成 清炒猪排(半份)(plate_1a) + -> 回复 4 点饱食度, 获得 急迫II(30秒)速度I(20秒) -> 方块转换成 清炒猪排(半份)(plate_1a) 步骤2:空手右键 已放置的 清炒猪排(半份)方块(plate_1a) -> 回复 3 点饱食度 -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 三、清炒羊肉 (plate_3, 无半份) 步骤1:空手右键 已放置的 清炒羊肉 方块(plate_3) - -> 回复 7 点饱食度, 获得 生命提升I(45秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 - -四、熟鸡肉盘 (plate_4, 无半份) -步骤1:空手右键 已放置的 熟鸡肉盘 方块(plate_4) - -> 回复 5 点饱食度, 获得 生命恢复I(30秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 + -> 回复 7 点饱食度, 获得 生命提升II(45秒)抗性提升I(60秒)生命恢复I(15秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 五、胡萝卜鲑鱼 (全份 plate_5 / 半份 plate_5a) 步骤1:空手右键 已放置的 胡萝卜鲑鱼(全份)方块(plate_5) - -> 回复 7 点饱食度, 获得 幸运I(60秒) -> 方块转换成 胡萝卜鲑鱼(半份)(plate_5a) + -> 回复 4 点饱食度, 获得 幸运I(40秒)水下呼吸I(50秒) -> 方块转换成 胡萝卜鲑鱼(半份)(plate_5a) 步骤2:空手右键 已放置的 胡萝卜鲑鱼(半份)方块(plate_5a) -> 回复 3 点饱食度 -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 六、胡萝卜牛排骨 (plate_6, 无半份) 步骤1:空手右键 已放置的 胡萝卜牛排骨 方块(plate_6) - -> 回复 8 点饱食度, 获得 力量I(60秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 + -> 回复 7 点饱食度, 获得 力量I(45秒) 抗性提升I(30秒)夜视(60秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 七、黑椒牛腿 (plate_7, 无半份) 步骤1:空手右键 已放置的 黑椒牛腿 方块(plate_7) - -> 回复 8 点饱食度, 获得 力量I(60秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 + -> 回复 8 点饱食度, 获得 力量I(45秒)速度II(30秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 八、胡萝卜牛里脊 (plate_8, 无半份) 步骤1:空手右键 已放置的 胡萝卜牛里脊 方块(plate_8) - -> 回复 7 点饱食度, 获得 力量I(45秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 + -> 回复 7 点饱食度, 获得 力量I(45秒)夜视(60秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 九、胡萝卜羊腿 (全份 plate_9 / 半份 plate_9a) 步骤1:空手右键 已放置的 胡萝卜羊腿(全份)方块(plate_9) - -> 回复 7 点饱食度, 获得 生命提升I(60秒) -> 方块转换成 胡萝卜羊腿(半份)(plate_9a) + -> 回复 4 点饱食度, 获得 跳跃提升II(50秒)伤害吸收II(15秒) -> 方块转换成 胡萝卜羊腿(半份)(plate_9a) 步骤2:空手右键 已放置的 胡萝卜羊腿(半份)方块(plate_9a) -> 回复 3 点饱食度 -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 十、胡萝卜炒羊里脊 (全份 plate_10 / 半份 plate_10a) 步骤1:空手右键 已放置的 胡萝卜炒羊里脊(全份)方块(plate_10) - -> 回复 6 点饱食度, 获得 生命提升I(45秒) -> 方块转换成 胡萝卜炒羊里脊(半份)(plate_10a) + -> 回复 4 点饱食度, 获得 生命提升IV(60秒)生命恢复II(20秒) -> 方块转换成 胡萝卜炒羊里脊(半份)(plate_10a) 步骤2:空手右键 已放置的 胡萝卜炒羊里脊(半份)方块(plate_10a) -> 回复 3 点饱食度 -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 十一、胡萝卜炒羊排 (plate_11, 无半份) 步骤1:空手右键 已放置的 胡萝卜炒羊排 方块(plate_11) - -> 回复 6 点饱食度, 获得 生命提升I(45秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 + -> 回复 6 点饱食度, 获得 生命提升II(45秒)生命恢复I(15秒)夜视(40秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 十二、小炒五花肉 (全份 plate_12 / 半份 plate_12a) 步骤1:空手右键 已放置的 小炒五花肉(全份)方块(plate_12) - -> 回复 6 点饱食度, 获得 速度I(45秒) -> 方块转换成 小炒五花肉(半份)(plate_12a) + -> 回复 3 点饱食度, 获得 速度I(45秒)急迫I(45秒)力量I(45秒) -> 方块转换成 小炒五花肉(半份)(plate_12a) 步骤2:空手右键 已放置的 小炒五花肉(半份)方块(plate_12a) -> 回复 3 点饱食度 -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 十三、胡萝卜炒猪排骨 (全份 plate_13 / 半份 plate_13a) 步骤1:空手右键 已放置的 胡萝卜炒猪排骨(全份)方块(plate_13) - -> 回复 7 点饱食度, 获得 力量I(45秒) -> 方块转换成 胡萝卜炒猪排骨(半份)(plate_13a) + -> 回复 4 点饱食度, 获得 力量I(45秒) 跳跃提升I(50秒)伤害吸收II(30秒) -> 方块转换成 胡萝卜炒猪排骨(半份)(plate_13a) 步骤2:空手右键 已放置的 胡萝卜炒猪排骨(半份)方块(plate_13a) -> 回复 3 点饱食度 -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 十四、炒土豆 (plate_14, 无半份) 步骤1:空手右键 已放置的 炒土豆 方块(plate_14) - -> 回复 4 点饱食度, 获得 饱和I(15秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 + -> 回复 4 点饱食度, 获得 饱和I(15秒) 生命恢复I(30秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 十五、胡萝卜炒鳕鱼 (plate_15, 无半份) 步骤1:空手右键 已放置的 胡萝卜炒鳕鱼 方块(plate_15) - -> 回复 6 点饱食度, 获得 幸运I(60秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 + -> 回复 6 点饱食度, 获得 幸运I(60秒)水下呼吸(60秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 十六、辣炒兔肉 (全份 plate_19 / 半份 plate_19a) 步骤1:空手右键 已放置的 辣炒兔肉(全份)方块(plate_19) - -> 回复 6 点饱食度, 获得 抗火I(45秒) -> 方块转换成 辣炒兔肉(半份)(plate_19a) + -> 回复 4 点饱食度, 获得 抗火I(60秒)抗性提升I(20秒) 跳跃提升II(50秒) -> 方块转换成 辣炒兔肉(半份)(plate_19a) 步骤2:空手右键 已放置的 辣炒兔肉(半份)方块(plate_19a) -> 回复 3 点饱食度 -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 十七、元气煎蛋 (plate_22, 无半份) 步骤1:空手右键 已放置的 元气煎蛋 方块(plate_22) - -> 回复 4 点饱食度, 获得 生命恢复I(30秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 + -> 回复 4 点饱食度, 获得 生命恢复I(30秒) 幸运II(30秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 十八、炒时蔬 (plate_23, 无半份) 步骤1:空手右键 已放置的 炒时蔬 方块(plate_23) - -> 回复 4 点饱食度, 获得 速度I(30秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 + -> 回复 4 点饱食度, 获得 速度I(30秒) 生命恢复I(30秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 十九、炒碎肉 (plate_24, 无半份) 步骤1:空手右键 已放置的 炒碎肉 方块(plate_24) - -> 回复 5 点饱食度, 获得 力量I(30秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 + -> 回复 5 点饱食度, 获得 力量I(30秒) 伤害吸收II(30秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 二十、煎鲑鱼 (plate_25, 无半份) 步骤1:空手右键 已放置的 煎鲑鱼 方块(plate_25) - -> 回复 6 点饱食度, 获得 幸运I(45秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 + -> 回复 6 点饱食度, 获得 幸运I(40秒)水下呼吸(40秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 二十一、炒鱿鱼 (全份 plate_26 / 三分之二份 plate_26a / 三分之一份 plate_26b) 步骤1:空手右键 已放置的 炒鱿鱼(全份)方块(plate_26) - -> 回复 6 点饱食度, 获得 速度I(45秒) -> 方块转换成 炒鱿鱼(三分之二份)(plate_26a) + -> 回复 4 点饱食度, 获得 潮涌能量II(30秒)水下呼吸(60秒)夜视(30秒)抗性提升I(50秒) -> 方块转换成 炒鱿鱼(三分之二份)(plate_26a) 步骤2:空手右键 已放置的 炒鱿鱼(三分之二份)方块(plate_26a) -> 回复 4 点饱食度 -> 方块转换成 炒鱿鱼(三分之一份)(plate_26b) 步骤3:空手右键 已放置的 炒鱿鱼(三分之一份)方块(plate_26b) @@ -167,116 +165,108 @@ 二十二、炒鱿鱼须 (全份 plate_26d / 半份 plate_26c) 步骤1:空手右键 已放置的 炒鱿鱼须(全份)方块(plate_26d) - -> 回复 5 点饱食度, 获得 速度I(30秒) -> 方块转换成 炒鱿鱼须(半份)(plate_26c) + -> 回复 2 点饱食度, 获得 速度I(30秒)水下呼吸(30秒) -> 方块转换成 炒鱿鱼须(半份)(plate_26c) 步骤2:空手右键 已放置的 炒鱿鱼须(半份)方块(plate_26c) -> 回复 2 点饱食度 -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 二十三、小炒鸡肉 (全份 plate_31 / 半份 plate_31a) 步骤1:空手右键 已放置的 小炒鸡肉(全份)方块(plate_31) - -> 回复 6 点饱食度, 获得 生命提升I(45秒) -> 方块转换成 小炒鸡肉(半份)(plate_31a) + -> 回复 4 点饱食度, 获得 饱和I(30秒) 速度II(60秒)急迫I(30秒) -> 方块转换成 小炒鸡肉(半份)(plate_31a) 步骤2:空手右键 已放置的 小炒鸡肉(半份)方块(plate_31a) -> 回复 3 点饱食度 -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 二十四、麻婆豆腐 (全份 plate_32 / 半份 plate_32a) 步骤1:空手右键 已放置的 麻婆豆腐(全份)方块(plate_32) - -> 回复 6 点饱食度, 获得 抗火I(45秒) -> 方块转换成 麻婆豆腐(半份)(plate_32a) + -> 回复 4 点饱食度, 获得 抗火I(45秒) 生命恢复II(20秒)生命提升III(60秒) -> 方块转换成 麻婆豆腐(半份)(plate_32a) 步骤2:空手右键 已放置的 麻婆豆腐(半份)方块(plate_32a) -> 回复 3 点饱食度 -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 二十五、炒蟹 (全份 plate_33 / 半份 plate_33a) 步骤1:空手右键 已放置的 炒蟹(全份)方块(plate_33) - -> 回复 7 点饱食度, 获得 幸运I(60秒) -> 方块转换成 炒蟹(半份)(plate_33a) + -> 回复 2 点饱食度, 获得 幸运I(60秒) -> 方块转换成 炒蟹(半份)(plate_33a) 步骤2:空手右键 已放置的 炒蟹(半份)方块(plate_33a) -> 回复 3 点饱食度 -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 二十六、辣炒鲑鱼 (plate_41, 无半份) 步骤1:空手右键 已放置的 辣炒鲑鱼 方块(plate_41) - -> 回复 6 点饱食度, 获得 抗火I(30秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 + -> 回复 6 点饱食度, 获得 抗火I(30秒)抗性提升I(20秒) 速度I(50秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 二十七、牛肉意面 (全份 plate_43 / 半份 plate_43a) 步骤1:空手右键 已放置的 牛肉意面(全份)方块(plate_43) - -> 回复 7 点饱食度, 获得 饱和I(60秒) -> 方块转换成 牛肉意面(半份)(plate_43a) + -> 回复 3 点饱食度, 获得 饱和I(30秒)力量II(30秒)生命恢复I(30秒) -> 方块转换成 牛肉意面(半份)(plate_43a) 步骤2:空手右键 已放置的 牛肉意面(半份)方块(plate_43a) - -> 回复 3 点饱食度 -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 + -> 回复 4 点饱食度 -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 二十八、香菇意面 (全份 plate_44 / 半份 plate_44a) 步骤1:空手右键 已放置的 香菇意面(全份)方块(plate_44) - -> 回复 6 点饱食度, 获得 饱和I(45秒) -> 方块转换成 香菇意面(半份)(plate_44a) + -> 回复 2 点饱食度, 获得 饱和I(45秒)跳跃提升I(30秒)急迫I(30秒) -> 方块转换成 香菇意面(半份)(plate_44a) 步骤2:空手右键 已放置的 香菇意面(半份)方块(plate_44a) -> 回复 3 点饱食度 -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 二十九、胡萝卜意面 (全份 plate_45 / 半份 plate_45a) 步骤1:空手右键 已放置的 胡萝卜意面(全份)方块(plate_45) - -> 回复 6 点饱食度, 获得 饱和I(45秒) -> 方块转换成 胡萝卜意面(半份)(plate_45a) + -> 回复 2 点饱食度, 获得 饱和I(25秒)夜视(30秒)伤害吸收II(40秒) -> 方块转换成 胡萝卜意面(半份)(plate_45a) 步骤2:空手右键 已放置的 胡萝卜意面(半份)方块(plate_45a) -> 回复 3 点饱食度 -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 三十、鸡肉番茄意面 (全份 plate_46 / 半份 plate_46a) 步骤1:空手右键 已放置的 鸡肉番茄意面(全份)方块(plate_46) - -> 回复 6 点饱食度, 获得 生命提升I(45秒) -> 方块转换成 鸡肉番茄意面(半份)(plate_46a) + -> 回复 4 点饱食度, 获得 生命提升III(40秒)生命恢复I(15秒)抗性提升I(20秒) -> 方块转换成 鸡肉番茄意面(半份)(plate_46a) 步骤2:空手右键 已放置的 鸡肉番茄意面(半份)方块(plate_46a) -> 回复 3 点饱食度 -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 三十一、辣子鸡丁 (plate_47, 无半份) 步骤1:空手右键 已放置的 辣子鸡丁 方块(plate_47) - -> 回复 6 点饱食度, 获得 抗火I(45秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 + -> 回复 6 点饱食度, 获得 抗火I(45秒)力量I(45秒)速度I(30秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 三十二、辣椒炒牛肉 (plate_47a, 无半份) 步骤1:空手右键 已放置的 辣椒炒牛肉 方块(plate_47a) - -> 回复 6 点饱食度, 获得 力量I(45秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 + -> 回复 6 点饱食度, 获得 力量II(40秒)抗性提升II(30秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 三十三、土豆炒猪肉 (plate_52, 无半份) 步骤1:空手右键 已放置的 土豆炒猪肉 方块(plate_52) - -> 回复 6 点饱食度, 获得 饱和I(45秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 + -> 回复 6 点饱食度, 获得 饱和I(20秒)伤害吸收III(40秒)生命恢复I(20秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 三十四、胡萝卜炒猪肉 (plate_53, 无半份) 步骤1:空手右键 已放置的 胡萝卜炒猪肉 方块(plate_53) - -> 回复 6 点饱食度, 获得 饱和I(45秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 + -> 回复 6 点饱食度, 获得 伤害吸收III(40秒)生命恢复I(20秒) 急迫I(30秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 三十五、香菇滑鸡 (plate_54, 无半份) 步骤1:空手右键 已放置的 香菇滑鸡 方块(plate_54) - -> 回复 5 点饱食度, 获得 生命提升I(60秒) —— 【按用户示例】 -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 + -> 回复 5 点饱食度, 获得 速度II(50秒)跳跃提升II(30秒)缓降I(90秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 三十六、蛋炒饭 (bowlofriceegg, 无半份) 步骤1:空手右键 已放置的 蛋炒饭 方块(bowlofriceegg) - -> 回复 7 点饱食度, 获得 饱和I(60秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 + -> 回复 7 点饱食度, 获得 幸运II(60秒) 饱和I(30秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 三十七、葱油饼 (scallion_pancake_0, 放置成方块后吃, 无半份) 步骤1:空手右键 已放置的 葱油饼 方块 - -> 回复 4 点饱食度, 获得 饱和I(15秒) -> 方块完全消耗(消失) + -> 回复 4 点饱食度, 获得 伤害吸收II(35秒)缓降I(30秒) -> 方块完全消耗(消失) 三十八、酱香饼 (cookedpancake, 放置成方块后吃, 无半份) 步骤1:空手右键 已放置的 酱香饼 方块 - -> 回复 5 点饱食度, 获得 饱和I(30秒) -> 方块完全消耗(消失) - -三十九、煎饼 (cooked_dought, 放置成方块后吃, 无半份) -步骤1:空手右键 已放置的 煎饼 方块 - -> 回复 4 点饱食度, 获得 速度I(30秒) -> 方块完全消耗(消失) - -四十、馍 (roujiamo_0, 放置成方块后吃, 无半份; 分类归属 面食.甜食, 来源 炒锅煎馍) -步骤1:空手右键 已放置的 馍 方块 - -> 回复 4 点饱食度, 获得 饱和I(30秒) -> 方块完全消耗(消失) + -> 回复 5 点饱食度, 获得 饱和I(30秒)抗性提升I(30秒) -> 方块完全消耗(消失) 【盖饭】(归 food_11_rice_meal, 均【吃】) 四十一、辣子鸡丁盖饭 (全份 plate_48 / 半份 plate_48a) 步骤1:空手右键 已放置的 辣子鸡丁盖饭(全份)方块(plate_48) - -> 回复 9 点饱食度, 获得 饱和I(90秒) -> 方块转换成 辣子鸡丁盖饭(半份)(plate_48a) + -> 回复 5 点饱食度, 获得 生命恢复II(20秒)生命提升IV(60秒) -> 方块转换成 辣子鸡丁盖饭(半份)(plate_48a) 步骤2:空手右键 已放置的 辣子鸡丁盖饭(半份)方块(plate_48a) -> 回复 4 点饱食度 -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 四十二、香菇滑鸡盖饭 (全份 plate_55 / 半份 plate_55a) 步骤1:空手右键 已放置的 香菇滑鸡盖饭(全份)方块(plate_55) - -> 回复 9 点饱食度, 获得 生命提升I(90秒) -> 方块转换成 香菇滑鸡盖饭(半份)(plate_55a) + -> 回复 5 点饱食度, 获得 跳跃提升II(30秒)力量I(60秒)缓降I(90秒) -> 方块转换成 香菇滑鸡盖饭(半份)(plate_55a) 步骤2:空手右键 已放置的 香菇滑鸡盖饭(半份)方块(plate_55a) -> 回复 4 点饱食度 -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 四十三、麻婆豆腐盖饭 (plate_56, 无半份) 步骤1:空手右键 已放置的 麻婆豆腐盖饭 方块(plate_56) - -> 回复 9 点饱食度, 获得 饱和I(90秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 + -> 回复 7 点饱食度, 获得 饱和I(30秒)伤害吸收II(90秒)抗性提升I(60秒)-> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 四十四、鳕鱼盖饭 (plate_50, 无半份) 步骤1:空手右键 已放置的 鳕鱼盖饭 方块(plate_50) - -> 回复 9 点饱食度, 获得 幸运I(90秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 + -> 回复 7 点饱食度, 获得 饱和I(30秒)幸运I(90秒)夜视(60秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 ######################################## 【油锅】(xy_youguo) @@ -286,29 +276,29 @@ 一、盘装鸡块 (plate_38, 无半份) 步骤1:空手右键 已放置的 盘装鸡块 方块(plate_38) - -> 回复 5 点饱食度, 获得 生命恢复I(30秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 + -> 回复 5 点饱食度, 获得 生命恢复I(30秒) 跳跃提升I(30秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 二、炸猪排(盘装) (plate_36, 无半份) 步骤1:空手右键 已放置的 炸猪排(盘装) 方块(plate_36) - -> 回复 7 点饱食度, 获得 力量I(45秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 + -> 回复 7 点饱食度, 获得 力量I(45秒)抗性提升I(45秒)抗火I(45秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 三、炸薯条(盘装) (plate_37, 无半份) 步骤1:空手右键 已放置的 炸薯条(盘装) 方块(plate_37) - -> 回复 4 点饱食度, 获得 速度I(30秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 + -> 回复 4 点饱食度, 获得 速度I(30秒)伤害吸收I(30秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 四、盘装炸鱼 (plate_39, 无半份) 步骤1:空手右键 已放置的 盘装炸鱼 方块(plate_39) - -> 回复 5 点饱食度, 获得 幸运I(45秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 + -> 回复 5 点饱食度, 获得 幸运II(45秒) 潮涌能量(60秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 五、天妇罗炸虾 (整份 plate_49 / 半份 plate_49a) [分类归属油锅, 禁止挂炒锅/盖饭] 步骤1:空手右键 已放置的 天妇罗炸虾(整份)方块(plate_49) - -> 回复 6 点饱食度, 获得 速度I(45秒) -> 方块转换成 天妇罗炸虾(半份)(plate_49a) + -> 回复 3 点饱食度, 获得 速度I(45秒)夜视(60秒)抗性提升I(45秒) -> 方块转换成 天妇罗炸虾(半份)(plate_49a) 步骤2:空手右键 已放置的 天妇罗炸虾(半份)方块(plate_49a) -> 回复 3 点饱食度 -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 六、炸饺子(盘装) (plate_51, 无半份) 步骤1:空手右键 已放置的 炸饺子(盘装) 方块(plate_51) - -> 回复 5 点饱食度, 获得 饱和I(30秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 + -> 回复 5 点饱食度, 获得 伤害吸收II(60秒)生命恢复I(20秒)) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 ######################################## 【汤锅】(xy_tangguo) @@ -319,30 +309,33 @@ 饭团/水煮蛋/豆腐(放置成方块吃)无容器不掉落 一、碗装汤品 (单次吃完) -- 胡萝卜牛肉汤(bowlacarrotbeefsoup): 空手右键已放置方块 -> 回复 6 点, 生命恢复I(45秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 胡萝卜羊肉汤(brownlambsoupwithturnipssoup): 空手右键已放置方块 -> 回复 6 点, 生命恢复I(45秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 胡萝卜排骨汤(bowlacarrotribs): 空手右键已放置方块 -> 回复 6 点, 力量I(45秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 清汤羊肉(bowlavegetablebeefsoup): 空手右键已放置方块 -> 回复 6 点, 生命恢复I(30秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 蔬菜牛肉汤(bowlavegetablelambsoup): 空手右键已放置方块 -> 回复 5 点, 生命恢复I(30秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 蔬菜瘦肉汤(bowlavegetableleanbroth): 空手右键已放置方块 -> 回复 5 点, 力量I(30秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 蔬菜乱炖(bowlavegetablesstew): 空手右键已放置方块 -> 回复 6 点, 饱和I(30秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 胡萝卜土豆牛骨汤(bowlabeefbonebroth): 空手右键已放置方块 -> 回复 7 点, 力量I(45秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 土豆胡萝卜炖羊肉(bowlalambstew): 空手右键已放置方块 -> 回复 7 点, 生命恢复I(45秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 胡萝卜土豆羊排汤(bowla_lambchopsoup): 空手右键已放置方块 -> 回复 7 点, 生命提升I(45秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 胡萝卜鳕鱼汤(bowlacarrotcodsoup): 空手右键已放置方块 -> 回复 6 点, 幸运I(45秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 胡萝卜鲑鱼汤(browncarrotfishsoupsoup): 空手右键已放置方块 -> 回复 6 点, 幸运I(45秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 蛋花鳕鱼汤(bowlaeggcodsoup): 空手右键已放置方块 -> 回复 5 点, 生命恢复I(30秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 瘦肉蛋花汤(brown_norieggsoup): 空手右键已放置方块 -> 回复 5 点, 力量I(30秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 豆腐鲑鱼汤(bowlatufufish): 空手右键已放置方块 -> 回复 5 点, 生命恢复I(30秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 蘑菇炖鸡(bowlofmushroomsoup): 空手右键已放置方块 -> 回复 7 点, 生命恢复I(60秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 猪蹄汤(brownpigfootsoup): 空手右键已放置方块 -> 回复 6 点, 抗性I(30秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 羊肉泡馍汤(bowla_roujiamo): 空手右键已放置方块 -> 回复 7 点, 饱和I(45秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 饺子_碗装(dumplingssoup): 空手右键已放置方块 -> 回复 6 点, 饱和I(30秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 蔬菜鱼片汤(brownvegetablefishsoup): 空手右键已放置方块 -> 回复 5 点, 幸运I(45秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 胡萝卜牛肉汤(bowlacarrotbeefsoup): 空手右键已放置方块 -> 回复 6 点, 力量I(45秒)生命恢复I(45秒)抗火I(45秒) 夜视(45秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 胡萝卜羊肉汤(brownlambsoupwithturnipssoup): 空手右键已放置方块 -> 回复 6 点, 抗性提升II(45秒)夜视(45秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 胡萝卜排骨汤(bowlacarrotribs): 空手右键已放置方块 -> 回复 6 点, 夜视(45秒)速度I(45秒)力量I(45秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 清汤羊肉(bowlavegetablebeefsoup): 空手右键已放置方块 -> 回复 6 点, 生命恢复I(30秒) 抗性提升I(30秒) 伤害吸收II(60秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 蔬菜牛肉汤(bowlavegetablelambsoup): 空手右键已放置方块 -> 回复 5 点, 力量I(45秒)生命恢复I(20秒) 伤害吸收II(60秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 蔬菜瘦肉汤(bowlavegetableleanbroth): 空手右键已放置方块 -> 回复 5 点, 急迫I(45秒)生命提升II(45秒) 生命恢复I(20秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 蔬菜乱炖(bowlavegetablesstew): 空手右键已放置方块 -> 回复 6 点, 饱和I(30秒)速度I(45秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 胡萝卜土豆牛骨汤(bowlabeefbonebroth): 空手右键已放置方块 -> 回复 7 点, 力量II(45秒)夜视(45秒) 速度I(45秒)缓降(45秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 土豆胡萝卜炖羊肉(bowlalambstew): 空手右键已放置方块 -> 回复 7 点, 生命恢复I(45秒)伤害吸收III(60秒) 抗性提升I(45秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 胡萝卜土豆羊排汤(bowla_lambchopsoup): 空手右键已放置方块 -> 回复 7 点, 伤害吸收III(60秒) 生命恢复I(10秒)抗性提升II(45秒)-> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 胡萝卜鳕鱼汤(bowlacarrotcodsoup): 空手右键已放置方块 -> 回复 6 点, 幸运II(45秒)跳跃提升I(45秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 胡萝卜鲑鱼汤(browncarrotfishsoupsoup): 空手右键已放置方块 -> 回复 6 点, 幸运II(45秒) 速度I(45秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 蛋花鳕鱼汤(bowlaeggcodsoup): 空手右键已放置方块 -> 回复 5 点, 生命恢复I(30秒) 幸运I(45秒)生命提升II(45秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 瘦肉蛋花汤(brown_norieggsoup): 空手右键已放置方块 -> 回复 5 点, 力量I(30秒)伤害吸收II(60秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 豆腐鲑鱼汤(bowlatufufish): 空手右键已放置方块 -> 回复 5 点, 幸运I(45秒)水下呼吸(60秒)夜视(60秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 蘑菇炖鸡(bowlofmushroomsoup): 空手右键已放置方块 -> 回复 7 点, 速度I(45秒)生命恢复I(60秒)抗火I(45秒)跳跃提升I(45秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 猪蹄汤(brownpigfootsoup): 空手右键已放置方块 -> 回复 6 点, 力量I(45秒)抗性I(30秒) 速度I(45秒) 急迫II(45秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 羊肉泡馍汤(bowla_roujiamo): 空手右键已放置方块 -> 回复 7 点, 饱和I(45秒)抗性提升I(45秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 饺子_碗装(dumplingssoup): 空手右键已放置方块 -> 回复 6 点, 饱和I(30秒)伤害吸收II(60秒)生命恢复I(20秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 蔬菜鱼片汤(brownvegetablefishsoup): 空手右键已放置方块 -> 回复 5 点, 幸运I(45秒)水下呼吸(120秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -二、美味饺子(全份)盘装 (plate_30a, 无半份) +二、美味饺子 (全份 plate_30a -> 半份 plate_30) 步骤1:空手右键 已放置的 美味饺子(全份)盘装 方块(plate_30a) - -> 回复 7 点饱食度, 获得 饱和I(45秒) -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 + -> 回复 4 点饱食度, 获得 饱和I(45秒)伤害吸收III(60秒)生命恢复II(20秒) -> 方块转换成 美味饺子(半份)盘装(plate_30) +步骤2:空手右键 已放置的 美味饺子(半份)盘装 方块(plate_30) + -> 回复 3 点饱食度 -> 方块完全消耗(消失), 掉落 脏盘子(plate_0a)1个 +(全份(plate_30a) 也是 蒸笼水饺 出锅所得; 半份(plate_30) 仅由吃一级转换而来) 三、熟面条 (noodle_soup, 无半份) 步骤1:空手右键 已放置的 熟面条 方块(noodle_soup) @@ -352,39 +345,36 @@ 步骤1:空手右键 已放置的 熟米饭(碗装)方块(任一形态) -> 回复 4 点饱食度, 获得 饱和I(30秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -五、饭团 (rice_balls, 放置成方块后吃) -步骤1:空手右键 已放置的 饭团 方块 - -> 回复 3 点饱食度, 获得 饱和I(15秒) -> 方块完全消耗(消失) +五、饭团 (rice_balls,右键直接吃不放置) +步骤1:右键 -> 回复 3 点饱食度, 获得 饱和I(15秒) -六、水煮蛋 (boiled_egg, 右键直接吃) -步骤1:空手右键 已放置的 水煮蛋 方块 - -> 回复 2 点饱食度 -> 方块完全消耗(消失) +六、水煮蛋 (boiled_egg, 右键直接吃不放置) +步骤1:右键 -> 回复 2 点饱食度 -七、豆腐 (beancurd, 放置成方块后吃) -步骤1:空手右键 已放置的 豆腐 方块 - -> 回复 2 点饱食度 -> 方块完全消耗(消失) +七、豆腐 (beancurd, 右键直接吃不放置) +步骤1:右键 -> 回复 2 点饱食度 八、汤面 (归 food_02_rice_noodle, 均 空手右键方块 直接吃, 单次吃完) -- 猪排蔬菜面(noodlesoup_1): 空手右键已放置方块 -> 回复 7 点, 生命提升I(45秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 羊排蔬菜面(noodlesoup_2): 空手右键已放置方块 -> 回复 7 点, 生命提升I(45秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 牛骨面(noodlesoup_3): 空手右键已放置方块 -> 回复 8 点, 力量I(60秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 小鸡炖蘑菇面(noodlesoup_4): 空手右键已放置方块 -> 回复 7 点, 生命恢复I(60秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 胡萝卜蔬菜面(assortedramen): 空手右键已放置方块 -> 回复 6 点, 饱和I(30秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 胡萝卜蔬菜牛肉面(braisednoodles): 空手右键已放置方块 -> 回复 7 点, 力量I(45秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 香菇面(mushroomnoodles): 空手右键已放置方块 -> 回复 6 点, 生命恢复I(30秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 蔬菜鱼片面(yushengramen): 空手右键已放置方块 -> 回复 6 点, 幸运I(45秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 蔬菜面(vegetable_noodles): 空手右键已放置方块 -> 回复 5 点, 饱和I(30秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 猪排蔬菜面(noodlesoup_1): 空手右键已放置方块 -> 回复 7 点, 生命提升II(45秒)生命恢复I(10秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 羊排蔬菜面(noodlesoup_2): 空手右键已放置方块 -> 回复 7 点, 生命提升II(45秒)生命恢复I(10秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 牛骨面(noodlesoup_3): 空手右键已放置方块 -> 回复 8 点, 力量II(60秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 小鸡炖蘑菇面(noodlesoup_4): 空手右键已放置方块 -> 回复 7 点, 生命恢复I(60秒)跳跃提升I(60秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 胡萝卜蔬菜面(assortedramen): 空手右键已放置方块 -> 回复 6 点, 饱和I(30秒)夜视(30秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 胡萝卜蔬菜牛肉面(braisednoodles): 空手右键已放置方块 -> 回复 7 点, 力量I(45秒) 夜视(60秒)-> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 香菇面(mushroomnoodles): 空手右键已放置方块 -> 回复 6 点, 生命恢复I(30秒) 急迫I(30秒)缓降I(30秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 蔬菜鱼片面(yushengramen): 空手右键已放置方块 -> 回复 6 点, 幸运I(45秒)抗性提升I(30秒)生命恢复I(30秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 蔬菜面(vegetable_noodles): 空手右键已放置方块 -> 回复 5 点, 饱和I(30秒)抗性提升I(30秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 - 蛋花面(noodles_1): 空手右键已放置方块 -> 回复 5 点, 生命恢复I(30秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 - 蛋花面(加葱花)(noodles_2): 空手右键已放置方块 -> 回复 5 点, 速度I(30秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 - 鸡蛋面(egg_noodles): 空手右键已放置方块 -> 回复 6 点, 生命提升I(30秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 -- 猪排蔬菜面加水煮蛋(tonkotsu_ramen): 空手右键已放置方块 -> 回复 9 点, 生命提升I(60秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 +- 猪排蔬菜面加水煮蛋(tonkotsu_ramen): 空手右键已放置方块 -> 回复 9 点, 生命提升IV(120秒)生命恢复II(30秒)速度I(30秒) -> 方块完全消耗(消失), 掉落 木碗(bowlasoup)1个 ######################################## 【面食.甜食】(xy_mianshi) ######################################## (均【吃】; 操作统一: 放置成方块后 空手右键方块) -【容器】盘装水饺(plate_30)吃完掉落 脏盘子(plate_0a); 其余(包子/馍/煎饼卷/竹筒饭/ -面包/蛋糕/布丁/舒芙蕾)无容器不掉落 +【容器】其余(包子/馍/煎饼卷/竹筒饭/面包/蛋糕/布丁/舒芙蕾)无容器不掉落 +(注: 蒸笼水饺出锅得 美味饺子(全份)(plate_30a), 归属 汤锅·美味饺子链; 馍/煎饼 来源 炒锅出锅) 一、熟肉包子 (放置成方块后吃) 步骤1:空手右键 已放置的 熟肉包子(整)方块 @@ -398,7 +388,7 @@ 二、肉夹馍 (roujiamo_2, 无半份) 步骤1:空手右键 已放置的 肉夹馍 方块 -> 回复 6 点饱食度, 获得 力量I(45秒)伤害吸收II(45) -> 方块完全消耗(消失) -todo 补充:馍 空手右键 已放置的 馍 方块 回复 2点饱食度 -> 方块完全消耗(消失) + 三、煎饼卷牛肉 (cookeddought_6, 无半份) 步骤1:空手右键 已放置的 煎饼卷牛肉 方块 -> 回复 6 点饱食度, 获得 力量I(45秒)伤害吸收II(45) -> 方块完全消耗(消失) @@ -427,8 +417,8 @@ todo 补充:馍 空手右键 已放置的 馍 方块 回复 2点饱食度 -> 方 步骤:空手右键 已放置的 甜甜圈(一份)方块 -> 回复 3 点饱食度 速度I(45秒)抗性提升I(45秒) -> 方块完全消耗(消失) -十一、奶油蛋糕 -步骤:空手右键 已放置的 奶油蛋糕小块 方块 +十一、奶油蛋糕 (无切分变体, 整块吃) +步骤:空手右键 已放置的 奶油蛋糕(整块)方块 -> 回复 3 点饱食度, 获得 饱和I(45秒)急迫I(45秒)伤害吸收I(45) -> 方块完全消耗(消失) 十二、蜂蜜蛋糕 @@ -449,6 +439,14 @@ todo 补充:馍 空手右键 已放置的 馍 方块 回复 2点饱食度 -> 方 步骤1:空手右键 已放置的 舒芙蕾 方块 -> 回复 4 点饱食度, 获得 饱和I(30秒)生命提升I(30秒)幸运I(30秒) -> 方块完全消耗(消失) +十七、馍 (roujiamo_0, 放置成方块后吃; 来源: 炒锅煎馍出锅, 归面食分类) +步骤1:空手右键 已放置的 馍 方块 + -> 回复 2 点饱食度 -> 方块完全消耗(消失) + +十八、煎饼 (cooked_dought, 放置成方块后吃; +步骤1:空手右键 已放置的 煎饼 方块 + -> 回复 4 点饱食度, 获得 生命恢复I(10秒) -> 方块完全消耗(消失) + ######################################## 【寿司】(xy_sushi) ########################################