diff --git a/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/dongwuyangzhi/service/AnimalTimerService.py b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/dongwuyangzhi/service/AnimalTimerService.py new file mode 100644 index 0000000..a8a4c42 --- /dev/null +++ b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/dongwuyangzhi/service/AnimalTimerService.py @@ -0,0 +1,266 @@ +# -*- coding: utf-8 -*- +""" +================================================================================ +动物养殖·计时转换引擎(服务端) +================================================================================ +只处理"动物养殖"(xy_animal) 分类下的【计时自动转换】: + 饲料盆/饲料槽装满后,随时间逐级变空(如 满→半量→空)。 + +【与右键转换解耦】 + 同分类的"右键切换"(放蛋/取蛋/填充饲料/清理粪便)在 AnimalService。 + 本类只负责计时,两者通过 FeatureDispatcher 协作: + - AnimalService 填充完饲料发现计时源方块 → 调 FeatureDispatcher.startTimerFor + 转发到本类的 startTimer 启动计时 + - 服务器 tick(ServerBlockEntityTickEvent)由 FeatureDispatcher 按 timerOwner + 路由到本类的 handleBlockEntityTick,到点即转换 + +【计时怎么做到"退出游戏继续计时"】 + 不做倒计时,只记"开始时刻": + - 启动时把 开始时间戳(rtdd_tstart)+总时长(rtdd_tdur) 写进方块实体数据 + - 每帧 tick 判断 当前时间-开始时刻 >= 总时长 → 到点转换 + - 时间戳是绝对时间(time.time()),服务器重启/玩家离线,真实时间仍在流逝, + 回来后 tick 直接算差值,剩余时间自然准确(如烤了40秒退出,回来只剩20秒) + +【事件监听在哪?】 + 本类【不】监听任何事件! + ServerBlockEntityTickEvent 由 FeatureDispatcher 统一监听,再按 timerOwner + 路由到本类的 handleBlockEntityTick。 + +【本类怎么做(自上而下的方法系列)】 + handleBlockEntityTick ← 入口:分发器转发 tick 事件 + └─ _tickProcess ← 判断是否到点 / 放置自动补写计时(autoStart) + └─ _finishTimer ← 到点执行转换,链式续计时或结束提示 + └─ _notifyIfOnline ← 完成提示(启动者在线才发) + startTimer ← 入口:AnimalService 转发过来启动计时 + └─ _writeTimerData ← 写 开始时刻+时长+启动者 到方块实体 + _clearTimerData ← 清理方块上的计时数据 +================================================================================ +""" +import time +import mod.server.extraServerApi as serverApi + +# ---- 网易API基础对象 ---- +ServerSystem = serverApi.GetServerSystemCls() # 服务端系统基类 +comp = serverApi.GetEngineCompFactory() # 组件工厂 + +# ---- 继承 BlueFox 框架的系统基类 ---- +from ....BlueFoxTools.SpecialFunciton.BlueFoxSystem import BlueFoxServerSystem +from ....BlueFoxTools.ToolsConfig import LevelId + +# ---- 方块实体数据组件(计时持久化:把开始时间戳+时长写进方块,重启后继续计时) ---- +blockEntityDataComp = comp.CreateBlockEntityData(LevelId) + +# ---- 只导入动物养殖自己的数据库 ---- +from ..AnimalData import ANIMAL_SWITCHES + +# ---- 统一分发器(本类把自己注册进计时路由表,让分发器把 tick 事件转发过来) ---- +from ...service.FeatureDispatcher import FeatureDispatcher + + +class AnimalTimerService(BlueFoxServerSystem): + """ + 动物养殖·计时转换引擎 + + 【核心数据结构】 + animalTimers = {计时源方块名: 规则dict} # 只收 type=="timer" 的规则 + """ + + def __init__(self, namespace, systemName): + """ + 初始化:收集计时型规则,并注册到统一分发器的计时路由表。 + """ + super(AnimalTimerService, self).__init__(namespace, systemName) + print "===== AnimalTimerService init =====" + + # ---- 只收集计时型规则(source → 规则) ---- + self.animalTimers = {} + for sw in ANIMAL_SWITCHES: + if sw.get("type") == "timer": + self.animalTimers[sw["source"]] = sw + + # ---- 注册到分发器的计时路由表(tick 事件按方块名路由到这里) ---- + FeatureDispatcher.registerTimer(self) + + # ============================================================================ + # 一、给 FeatureDispatcher 的接口 + # ============================================================================ + + def getTimerBlocks(self): + """ + 返回本功能的所有"计时源方块"集合。 + FeatureDispatcher 靠它构建 方块名→本实例 的计时路由表(timerOwner)。 + """ + return set(self.animalTimers.keys()) + + def handleBlockEntityTick(self, args): + """ + 由 FeatureDispatcher 转发的计时方块 tick 入口。 + 只有 blockName 在计时路由表里才会被调用。 + """ + dim = args.get("dimension") + pos = (args.get("posX"), args.get("posY"), args.get("posZ")) + blockName = args.get("blockName", "") + self._tickProcess(dim, pos, blockName) + + # ============================================================================ + # 二、计时启动(AnimalService 填充完饲料后转发调用 / 右键计时源方块) + # ============================================================================ + + def startTimer(self, dim, pos, blockName, playerId=None): + """ + 启动计时:把 计时标识+开始时间戳+时长 写入方块实体数据。 + - 已处于本规则计时中的方块不会重复重置时间(保持原剩余时间) + - 动物计时 autoStart 默认 True:放置/填充后自动开始(tick 也会自动补写) + """ + recipe = self.animalTimers.get(blockName) + if not recipe: + return + # 去重:如果该方块已经在本规则计时中,不重置(保持原剩余时间) + try: + data = blockEntityDataComp.GetBlockEntityData(dim, pos) + if data and data["rtdd_tid"] == blockName: + return + except Exception: + pass + self._writeTimerData(dim, pos, recipe, playerId) + # 计时开始提示 + if playerId and recipe.get("startTip"): + comp.CreateMsg(playerId).NotifyOneMessage(playerId, recipe["startTip"]) + + # ============================================================================ + # 三、tick 检查与到点转换 + # ============================================================================ + + def _tickProcess(self, dim, pos, blockName): + """ + tick 主逻辑: + 1) 按事件自带的当前方块名判断是否计时源(创造直接放置也会进来) + 2) 是计时源但没有计时数据 → 自动补写计时(放置即开始计时) + 3) 有计时数据 → 到点执行转换(重启后时间戳照常生效) + 方块被拆掉后 tick 停止、数据随方块消失,不会在原位置继续计时转换。 + 注意:GetBlockEntityData 返回的对象不支持 .get(),这里统一用 [] 读取。 + """ + try: + recipe = self.animalTimers.get(blockName) + if not recipe: + return # 当前方块不是计时源(tick 只对计时源方块开启) + + blockData = blockEntityDataComp.GetBlockEntityData(dim, pos) + if blockData is None: + return + + # 读取计时标识;没有或与当前方块不符 + try: + tid = blockData["rtdd_tid"] + except Exception: + tid = "" + if tid != blockName: + # 放置即自动计时:默认开启(动物饲料盆/饲料槽) + # 若某条规则 autoStart=False 则必须右键激活,这里不补写 + if recipe.get("autoStart", True): + self._writeTimerData(dim, pos, recipe, None) + return + + tstart = blockData["rtdd_tstart"] + tdur = blockData["rtdd_tdur"] + + if time.time() - tstart >= tdur: + self._finishTimer(dim, pos, recipe, blockData) + except Exception: + pass + + def _finishTimer(self, dim, pos, recipe, data): + """ + 计时到点:确认方块仍是计时源后替换方块。 + - 若新方块是下一级计时源 → 写入新计时数据继续(如 满→半量→空) + - 若整条链结束 → 清除计时数据,并给启动者发送完成提示 + """ + try: + cur = comp.CreateBlockInfo(LevelId).GetBlockNew(pos, dim) + if cur and cur.get("name") != recipe["source"]: + # 方块已被玩家改变 → 清掉过期计时 + self._clearTimerData(dim, pos) + return + # 替换方块 + self.replaceBlock(pos, dim, recipe["target"], None) + nextRecipe = self.animalTimers.get(recipe["target"]) + if nextRecipe: + # 下一级计时(换新的开始时间戳) + self._writeTimerData(dim, pos, nextRecipe, data["rtdd_tp"]) + else: + # 整条链结束:清数据 + 完成提示 + self._clearTimerData(dim, pos) + doneTip = recipe.get("doneTip") + if doneTip: + self._notifyIfOnline(data["rtdd_tp"], doneTip) + except Exception: + pass + + # ============================================================================ + # 四、计时数据读写(存在方块实体数据里,重启不丢) + # ============================================================================ + + def _writeTimerData(self, dim, pos, recipe, playerId=None): + """把 计时标识+开始时刻+时长+启动者 写进方块实体数据""" + try: + blockData = blockEntityDataComp.GetBlockEntityData(dim, pos) + if blockData is None: + return + now = time.time() + blockData["rtdd_tid"] = recipe["source"] + blockData["rtdd_tstart"] = now + blockData["rtdd_tdur"] = recipe.get("time", 60) + blockData["rtdd_tp"] = playerId if playerId else "" + except Exception: + pass + + def _clearTimerData(self, dim, pos): + """清除方块上的计时数据""" + try: + blockData = blockEntityDataComp.GetBlockEntityData(dim, pos) + if blockData is None: + return + blockData["rtdd_tid"] = "" + blockData["rtdd_tstart"] = 0 + blockData["rtdd_tdur"] = 0 + blockData["rtdd_tp"] = "" + except Exception: + pass + + # ============================================================================ + # 五、工具方法:完成提示 + # ============================================================================ + + def _notifyIfOnline(self, playerId, tip): + """若启动者在线,发送完成提示(离线则跳过)""" + if not tip or not playerId: + return + try: + ids = comp.CreateGame(LevelId).GetAllPlayerIds() + if playerId in ids: + comp.CreateMsg(playerId).NotifyOneMessage(playerId, tip) + except Exception: + pass + + # ============================================================================ + # 六、工具方法:替换方块 + # ============================================================================ + + def replaceBlock(self, pos, dim, newBlockName, playerId, aux=None): + """ + 替换指定位置的方块。 + newBlockName="minecraft:air" 表示清除该方块。 + playerId 可为 None(计时回调时没有玩家),用 LevelId 创建组件。 + """ + creator = playerId if playerId is not None else LevelId + if aux is None: + try: + oldBlock = comp.CreateBlockInfo(creator).GetBlockNew(pos, dim) + aux = oldBlock.get("aux", 0) + except Exception: + aux = 0 + comp.CreateBlockInfo(creator).SetBlockNew( + pos, + blockDict={"name": newBlockName, "aux": aux}, + oldBlockHandling=0, + dimensionId=dim) diff --git a/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/shaokao/service/BarbecueTimerService.py b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/shaokao/service/BarbecueTimerService.py new file mode 100644 index 0000000..5700cb1 --- /dev/null +++ b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/shaokao/service/BarbecueTimerService.py @@ -0,0 +1,301 @@ +# -*- coding: utf-8 -*- +""" +================================================================================ +烧烤·计时转换引擎(服务端) +================================================================================ +只处理"烧烤"(xy_barbecue) 分类下的【计时自动转换】: + 烤鸡/烤乳猪/烤鳕鱼/烤鲑鱼 上杆后,下方放篝火,计时自动烤熟。 + +【与右键转换解耦】 + 同分类的"右键切换"(烧烤架点火/灭火、烤串翻烤、上杆、取下)在 BarbecueService。 + 本类只负责计时,两者通过 FeatureDispatcher 协作: + - BarbecueService 右键"计时源方块"(如烤鸡(生))→ 调 FeatureDispatcher.startTimerFor + 转发到本类的 startTimer 启动烤制(下方篝火检查也在这里做) + - 服务器 tick(ServerBlockEntityTickEvent)由 FeatureDispatcher 按 timerOwner + 路由到本类的 handleBlockEntityTick,到点即烤熟 + +【烤制规则】 + - autoStart=False:上杆/放置后【不会】自动开始烤制,必须右键激活(startTimer) + - 启动前检查下方是否为篝火(minecraft:campfire),不是则拒绝并提示 + - 烤制中若下方篝火被拿走 → 暂停(到点时不转换);篝火放回后继续 + - 完成后清除计时数据,并给"启动烤制的玩家"发送"烤熟了"提示 + +【计时怎么做到"退出游戏继续计时"】 + 不做倒计时,只记"开始时刻": + - 启动时把 开始时间戳(rtdd_tstart)+总时长(rtdd_tdur) 写进方块实体数据 + - 每帧 tick 判断 当前时间-开始时刻 >= 总时长 → 到点转换 + - 时间戳是绝对时间(time.time()),服务器重启/玩家离线,真实时间仍在流逝, + 回来后 tick 直接算差值,剩余时间自然准确(如烤了40秒退出,回来只剩20秒) + +【事件监听在哪?】 + 本类【不】监听任何事件! + ServerBlockEntityTickEvent 由 FeatureDispatcher 统一监听,再按 timerOwner + 路由到本类的 handleBlockEntityTick。 + +【本类怎么做(自上而下的方法系列)】 + handleBlockEntityTick ← 入口:分发器转发 tick 事件 + └─ _tickProcess ← 判断是否到点 / autoStart=False 不自动补写 + └─ _finishTimer ← 到点执行转换(重新检查篝火,否则暂停) + └─ _notifyIfOnline ← 完成提示(启动者在线才发) + startTimer ← 入口:BarbecueService 转发过来启动烤制 + ├─ checkBelow ← 下方篝火检查(失败拒绝并提示) + └─ _writeTimerData ← 写 开始时刻+时长+启动者 到方块实体 + _clearTimerData ← 清理方块上的计时数据 +================================================================================ +""" +import time +import mod.server.extraServerApi as serverApi + +# ---- 网易API基础对象 ---- +ServerSystem = serverApi.GetServerSystemCls() # 服务端系统基类 +comp = serverApi.GetEngineCompFactory() # 组件工厂 + +# ---- 继承 BlueFox 框架的系统基类 ---- +from ....BlueFoxTools.SpecialFunciton.BlueFoxSystem import BlueFoxServerSystem +from ....BlueFoxTools.ToolsConfig import LevelId + +# ---- 方块实体数据组件(计时持久化:把开始时间戳+时长写进方块,重启后继续计时) ---- +blockEntityDataComp = comp.CreateBlockEntityData(LevelId) + +# ---- 只导入烧烤自己的数据库 ---- +from ..BarbecueData import BARBECUE_SWITCHES + +# ---- 统一分发器(本类把自己注册进计时路由表,让分发器把 tick 事件转发过来) ---- +from ...service.FeatureDispatcher import FeatureDispatcher + + +class BarbecueTimerService(BlueFoxServerSystem): + """ + 烧烤·计时转换引擎 + + 【核心数据结构】 + barbecueTimers = {计时源方块名: 规则dict} # 只收 type=="timer" 的规则 + """ + + def __init__(self, namespace, systemName): + """ + 初始化:收集计时型规则,并注册到统一分发器的计时路由表。 + """ + super(BarbecueTimerService, self).__init__(namespace, systemName) + print "===== BarbecueTimerService init =====" + + # ---- 只收集计时型规则(source → 规则) ---- + self.barbecueTimers = {} + for sw in BARBECUE_SWITCHES: + if sw.get("type") == "timer": + self.barbecueTimers[sw["source"]] = sw + + # ---- 注册到分发器的计时路由表(tick 事件按方块名路由到这里) ---- + FeatureDispatcher.registerTimer(self) + + # ============================================================================ + # 一、给 FeatureDispatcher 的接口 + # ============================================================================ + + def getTimerBlocks(self): + """ + 返回本功能的所有"计时源方块"集合。 + FeatureDispatcher 靠它构建 方块名→本实例 的计时路由表(timerOwner)。 + """ + return set(self.barbecueTimers.keys()) + + def handleBlockEntityTick(self, args): + """ + 由 FeatureDispatcher 转发的计时方块 tick 入口。 + 只有 blockName 在计时路由表里才会被调用。 + """ + dim = args.get("dimension") + pos = (args.get("posX"), args.get("posY"), args.get("posZ")) + blockName = args.get("blockName", "") + self._tickProcess(dim, pos, blockName) + + # ============================================================================ + # 二、烤制启动(BarbecueService 右键"计时源方块"后转发调用) + # ============================================================================ + + def startTimer(self, dim, pos, blockName, playerId=None): + """ + 启动烤制计时:先检查下方篝火,通过后写 开始时间戳+时长 到方块实体数据。 + - 启动前检查:下方不是篝火 → 拒绝并提示(烧烤必须右键激活,不会自动烤) + - 已在本规则计时中的方块不会重复重置时间(保持原剩余时间) + """ + recipe = self.barbecueTimers.get(blockName) + if not recipe: + return + + # 启动前检查下方篝火(烧烤必须下方是篝火才能开始烤制) + if not self.checkBelow(recipe, dim, pos): + if playerId: + comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§c支杆下方需要放一个篝火(营火)才能烤制!") + return + + # 去重:如果该方块已经在本规则计时中,不重置(保持原剩余时间) + try: + data = blockEntityDataComp.GetBlockEntityData(dim, pos) + if data and data["rtdd_tid"] == blockName: + return + except Exception: + pass + self._writeTimerData(dim, pos, recipe, playerId) + # 烤制开始提示 + if playerId and recipe.get("startTip"): + comp.CreateMsg(playerId).NotifyOneMessage(playerId, recipe["startTip"]) + + # ============================================================================ + # 三、tick 检查与到点转换 + # ============================================================================ + + def _tickProcess(self, dim, pos, blockName): + """ + tick 主逻辑: + 1) 按事件自带的当前方块名判断是否计时源(创造直接放置也会进来) + 2) 是计时源但没有计时数据 → 只有 autoStart=True 才自动补写。 + 烧烤 autoStart=False:上杆后不会自动烤,必须右键激活,这里不补写 + 3) 有计时数据 → 到点执行转换(重启后时间戳照常生效) + 方块被拆掉后 tick 停止、数据随方块消失,不会在原位置继续计时转换。 + 注意:GetBlockEntityData 返回的对象不支持 .get(),这里统一用 [] 读取。 + """ + try: + recipe = self.barbecueTimers.get(blockName) + if not recipe: + return # 当前方块不是计时源(tick 只对计时源方块开启) + + blockData = blockEntityDataComp.GetBlockEntityData(dim, pos) + if blockData is None: + return + + # 读取计时标识;没有或与当前方块不符 + try: + tid = blockData["rtdd_tid"] + except Exception: + tid = "" + if tid != blockName: + # 烧烤必须右键激活烤制:autoStart=False 时不自动补写计时 + if recipe.get("autoStart", True): + self._writeTimerData(dim, pos, recipe, None) + return + + tstart = blockData["rtdd_tstart"] + tdur = blockData["rtdd_tdur"] + + if time.time() - tstart >= tdur: + self._finishTimer(dim, pos, recipe, blockData) + except Exception: + pass + + def _finishTimer(self, dim, pos, recipe, data): + """ + 计时到点:确认方块仍是计时源、下方仍有篝火,才执行转换。 + - 篝火被拿走 → 暂停烤制(不转换),等篝火回来继续 + - 烤熟后清除计时数据,并给启动者发送"烤熟了"提示 + """ + try: + cur = comp.CreateBlockInfo(LevelId).GetBlockNew(pos, dim) + if cur and cur.get("name") != recipe["source"]: + # 方块已被玩家改变 → 清掉过期计时 + self._clearTimerData(dim, pos) + return + if not self.checkBelow(recipe, dim, pos): + return # 篝火被拿走了,暂停烤制,等篝火回来继续 + # 替换方块 + self.replaceBlock(pos, dim, recipe["target"], None) + nextRecipe = self.barbecueTimers.get(recipe["target"]) + if nextRecipe: + # 下一级计时(换新的开始时间戳) + self._writeTimerData(dim, pos, nextRecipe, data["rtdd_tp"]) + else: + # 整条链结束:清数据 + 完成提示 + self._clearTimerData(dim, pos) + doneTip = recipe.get("doneTip") + if doneTip: + self._notifyIfOnline(data["rtdd_tp"], doneTip) + except Exception: + pass + + # ============================================================================ + # 四、下方方块检查(计时烤制专用:下方必须是篝火) + # ============================================================================ + + def checkBelow(self, recipe, dim, pos): + """ + 检查方块下方是否为 recipe["below"] 中指定的方块(如 minecraft:campfire)。 + 没写 below 字段 → 视为满足。 + """ + below = recipe.get("below") + if not below: + return True + belowPos = (pos[0], pos[1] - 1, pos[2]) + try: + b = comp.CreateBlockInfo(LevelId).GetBlockNew(belowPos, dim) + return b.get("name") in below + except Exception: + return False + + # ============================================================================ + # 五、计时数据读写(存在方块实体数据里,重启不丢) + # ============================================================================ + + def _writeTimerData(self, dim, pos, recipe, playerId=None): + """把 计时标识+开始时刻+时长+启动者 写进方块实体数据""" + try: + blockData = blockEntityDataComp.GetBlockEntityData(dim, pos) + if blockData is None: + return + now = time.time() + blockData["rtdd_tid"] = recipe["source"] + blockData["rtdd_tstart"] = now + blockData["rtdd_tdur"] = recipe.get("time", 60) + blockData["rtdd_tp"] = playerId if playerId else "" + except Exception: + pass + + def _clearTimerData(self, dim, pos): + """清除方块上的计时数据""" + try: + blockData = blockEntityDataComp.GetBlockEntityData(dim, pos) + if blockData is None: + return + blockData["rtdd_tid"] = "" + blockData["rtdd_tstart"] = 0 + blockData["rtdd_tdur"] = 0 + blockData["rtdd_tp"] = "" + except Exception: + pass + + # ============================================================================ + # 六、工具方法:完成提示 + # ============================================================================ + + def _notifyIfOnline(self, playerId, tip): + """若启动者在线,发送完成提示(离线则跳过)""" + if not tip or not playerId: + return + try: + ids = comp.CreateGame(LevelId).GetAllPlayerIds() + if playerId in ids: + comp.CreateMsg(playerId).NotifyOneMessage(playerId, tip) + except Exception: + pass + + # ============================================================================ + # 七、工具方法:替换方块 + # ============================================================================ + + def replaceBlock(self, pos, dim, newBlockName, playerId, aux=None): + """ + 替换指定位置的方块。 + newBlockName="minecraft:air" 表示清除该方块。 + playerId 可为 None(计时回调时没有玩家),用 LevelId 创建组件。 + """ + creator = playerId if playerId is not None else LevelId + if aux is None: + try: + oldBlock = comp.CreateBlockInfo(creator).GetBlockNew(pos, dim) + aux = oldBlock.get("aux", 0) + except Exception: + aux = 0 + comp.CreateBlockInfo(creator).SetBlockNew( + pos, + blockDict={"name": newBlockName, "aux": aux}, + oldBlockHandling=0, + dimensionId=dim) diff --git a/behavior_pack_v8jz0zSR/netease_blocks/potandspoon.json b/behavior_pack_v8jz0zSR/netease_blocks/potandspoon.json deleted file mode 100644 index 582f590..0000000 --- a/behavior_pack_v8jz0zSR/netease_blocks/potandspoon.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "format_version": "1.10.0", - "minecraft:block": { - "components": { - "minecraft:block_light_absorption": { - "value": 0 - }, - "netease:aabb": { - "clip": { - "max": [ - 1, - 0.25, - 0.8 - ], - "min": [ - 0, - 0, - 0 - ] - }, - "collision": { - "max": [ - 1, - 0.25, - 0.8 - ], - "min": [ - 0, - 0, - 0 - ] - } - }, - "netease:block_entity": { - "client_tick": false, - "movable": false, - "tick": false - }, - "netease:face_directional": { - "type": "direction" - }, - "netease:render_layer": { - "value": "alpha" - }, - "netease:solid": { - "value": false - } - }, - "description": { - "category": "xy_kitchenware", - "identifier": "rtdd:potandspoon", - "register_to_creative_menu": true - } - } -} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_blocks/spatula.json b/behavior_pack_v8jz0zSR/netease_blocks/spatula.json deleted file mode 100644 index bf0406e..0000000 --- a/behavior_pack_v8jz0zSR/netease_blocks/spatula.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "format_version": "1.10.0", - "minecraft:block": { - "description": { - "identifier": "rtdd:spatula", - "register_to_creative_menu": true, - "category": "xy_kitchenware" - }, - "components": { - "netease:aabb": { - "collision": { - "min": [ - 0, - 0, - 0 - ], - "max": [ - 1, - 0.1, - 0.9 - ] - }, - "clip": { - "min": [ - 0, - 0, - 0 - ], - "max": [ - 1, - 0.1, - 0.9 - ] - } - }, - "minecraft:block_light_absorption": { - "value": 0 - }, - "netease:render_layer": { - "value": "alpha" - }, - "netease:solid": { - "value": false - }, - "netease:face_directional": { - "type": "direction" - }, - "netease:block_entity": { - "client_tick": false, - "movable": false, - "tick": false - } - } - } -} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_group/ingredients_groups.json b/behavior_pack_v8jz0zSR/netease_group/ingredients_groups.json index 2fd522e..1721662 100644 --- a/behavior_pack_v8jz0zSR/netease_group/ingredients_groups.json +++ b/behavior_pack_v8jz0zSR/netease_group/ingredients_groups.json @@ -26,14 +26,34 @@ }, { "group_name": "itemGroup.name.ingr_03_meat", - "icon": "rtdd:rawmeatball_0", + "icon": "rtdd:legsleep", "list": [ + "rtdd:legsleep", + "rtdd:sheeploins", + "rtdd:sheepracks", + "rtdd:beef_tenderloin", + "rtdd:legcow", + "rtdd:porkloins", + "rtdd:porkrib", + "rtdd:ham", + "rtdd:crushedmeat", "rtdd:rawmeatball_0", "rtdd:rawmeatball_1", "rtdd:rawmeatball_2", - "rtdd:rawmeatball_3", + "rtdd:rawmeatball_3" + ] + }, + { + "group_name": "itemGroup.name.ingr_05_fish", + "icon": "rtdd:crab", + "list": [ "rtdd:salmon_pile", - "rtdd:cod_pile" + "rtdd:cod_pile", + "rtdd:rawsquidwhiskersr", + "rtdd:crab", + "rtdd:lobster", + "rtdd:sashimi", + "rtdd:thedriedfish" ] }, { @@ -46,12 +66,31 @@ "rtdd:peachpile_0", "rtdd:orangepile_0", "rtdd:apple_pile", - "rtdd:cutgarlic", "rtdd:bread_pile", - "rtdd:egg_pile", + "rtdd:egg_pile" + ] + }, + { + "group_name": "itemGroup.name.ingr_06_seasoning", + "icon": "rtdd:cutgarlic", + "list": [ + "rtdd:cutgarlic", + "rtdd:crushedgarlic", "rtdd:garlicskewers", - "rtdd:chiliskewer" + "rtdd:chiliskewer", + "rtdd:beancurd" + ] + }, + { + "group_name": "itemGroup.name.ingr_07_coated", + "icon": "rtdd:oiltempura", + "list": [ + "rtdd:oiltempura", + "rtdd:oilfish_0", + "rtdd:oilpork", + "rtdd:oil_chickennuggets", + "rtdd:oilfrenchfries" ] } ] -} +} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_beancurd.json b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_beancurd.json new file mode 100644 index 0000000..469164a --- /dev/null +++ b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_beancurd.json @@ -0,0 +1,18 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:beancurd", + "category": "xy_ingredients" + }, + "components": { + "minecraft:max_stack_size": 64, + "minecraft:use_animation": "eat", + "minecraft:use_duration": 1.6, + "minecraft:food": { + "nutrition": 4, + "saturation_modifier": "normal" + } + } + } +} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_beef_tenderloin.json b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_beef_tenderloin.json new file mode 100644 index 0000000..006d6a0 --- /dev/null +++ b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_beef_tenderloin.json @@ -0,0 +1,18 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:beef_tenderloin", + "category": "xy_ingredients" + }, + "components": { + "minecraft:max_stack_size": 64, + "minecraft:use_animation": "eat", + "minecraft:use_duration": 1.6, + "minecraft:food": { + "nutrition": 6, + "saturation_modifier": "normal" + } + } + } +} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_cleaver.json b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_cleaver.json new file mode 100644 index 0000000..438b381 --- /dev/null +++ b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_cleaver.json @@ -0,0 +1,17 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:cleaver", + "category": "xy_kitchenware" + }, + "components": { + "minecraft:max_stack_size": 1, + "minecraft:hand_equipped": true, + "minecraft:damage": 4, + "minecraft:durability": { + "max_durability": 200 + } + } + } +} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_crab.json b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_crab.json new file mode 100644 index 0000000..2f92682 --- /dev/null +++ b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_crab.json @@ -0,0 +1,18 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:crab", + "category": "xy_ingredients" + }, + "components": { + "minecraft:max_stack_size": 64, + "minecraft:use_animation": "eat", + "minecraft:use_duration": 1.6, + "minecraft:food": { + "nutrition": 5, + "saturation_modifier": "normal" + } + } + } +} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_crushedgarlic.json b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_crushedgarlic.json new file mode 100644 index 0000000..3a922e3 --- /dev/null +++ b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_crushedgarlic.json @@ -0,0 +1,12 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:crushedgarlic", + "category": "xy_ingredients" + }, + "components": { + "minecraft:max_stack_size": 64 + } + } +} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_crushedmeat.json b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_crushedmeat.json new file mode 100644 index 0000000..0c5fc8b --- /dev/null +++ b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_crushedmeat.json @@ -0,0 +1,18 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:crushedmeat", + "category": "xy_ingredients" + }, + "components": { + "minecraft:max_stack_size": 64, + "minecraft:use_animation": "eat", + "minecraft:use_duration": 1.6, + "minecraft:food": { + "nutrition": 4, + "saturation_modifier": "normal" + } + } + } +} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_ham.json b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_ham.json new file mode 100644 index 0000000..38f09d5 --- /dev/null +++ b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_ham.json @@ -0,0 +1,18 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:ham", + "category": "xy_ingredients" + }, + "components": { + "minecraft:max_stack_size": 64, + "minecraft:use_animation": "eat", + "minecraft:use_duration": 1.6, + "minecraft:food": { + "nutrition": 6, + "saturation_modifier": "normal" + } + } + } +} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_legcow.json b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_legcow.json new file mode 100644 index 0000000..04b6fed --- /dev/null +++ b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_legcow.json @@ -0,0 +1,18 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:legcow", + "category": "xy_ingredients" + }, + "components": { + "minecraft:max_stack_size": 64, + "minecraft:use_animation": "eat", + "minecraft:use_duration": 1.6, + "minecraft:food": { + "nutrition": 6, + "saturation_modifier": "normal" + } + } + } +} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_legsleep.json b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_legsleep.json new file mode 100644 index 0000000..488417a --- /dev/null +++ b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_legsleep.json @@ -0,0 +1,18 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:legsleep", + "category": "xy_ingredients" + }, + "components": { + "minecraft:max_stack_size": 64, + "minecraft:use_animation": "eat", + "minecraft:use_duration": 1.6, + "minecraft:food": { + "nutrition": 6, + "saturation_modifier": "normal" + } + } + } +} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_lobster.json b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_lobster.json new file mode 100644 index 0000000..8d3100a --- /dev/null +++ b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_lobster.json @@ -0,0 +1,18 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:lobster", + "category": "xy_ingredients" + }, + "components": { + "minecraft:max_stack_size": 64, + "minecraft:use_animation": "eat", + "minecraft:use_duration": 1.6, + "minecraft:food": { + "nutrition": 6, + "saturation_modifier": "normal" + } + } + } +} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_oil_chickennuggets.json b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_oil_chickennuggets.json new file mode 100644 index 0000000..7b8fc5c --- /dev/null +++ b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_oil_chickennuggets.json @@ -0,0 +1,18 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:oil_chickennuggets", + "category": "xy_ingredients" + }, + "components": { + "minecraft:max_stack_size": 64, + "minecraft:use_animation": "eat", + "minecraft:use_duration": 1.6, + "minecraft:food": { + "nutrition": 5, + "saturation_modifier": "normal" + } + } + } +} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_oilfish_0.json b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_oilfish_0.json new file mode 100644 index 0000000..edca4f2 --- /dev/null +++ b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_oilfish_0.json @@ -0,0 +1,18 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:oilfish_0", + "category": "xy_ingredients" + }, + "components": { + "minecraft:max_stack_size": 64, + "minecraft:use_animation": "eat", + "minecraft:use_duration": 1.6, + "minecraft:food": { + "nutrition": 5, + "saturation_modifier": "normal" + } + } + } +} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_oilfrenchfries.json b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_oilfrenchfries.json new file mode 100644 index 0000000..f95ae14 --- /dev/null +++ b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_oilfrenchfries.json @@ -0,0 +1,18 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:oilfrenchfries", + "category": "xy_ingredients" + }, + "components": { + "minecraft:max_stack_size": 64, + "minecraft:use_animation": "eat", + "minecraft:use_duration": 1.6, + "minecraft:food": { + "nutrition": 5, + "saturation_modifier": "normal" + } + } + } +} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_oilpork.json b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_oilpork.json new file mode 100644 index 0000000..c6fb33b --- /dev/null +++ b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_oilpork.json @@ -0,0 +1,18 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:oilpork", + "category": "xy_ingredients" + }, + "components": { + "minecraft:max_stack_size": 64, + "minecraft:use_animation": "eat", + "minecraft:use_duration": 1.6, + "minecraft:food": { + "nutrition": 5, + "saturation_modifier": "normal" + } + } + } +} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_oiltempura.json b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_oiltempura.json new file mode 100644 index 0000000..d718b57 --- /dev/null +++ b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_oiltempura.json @@ -0,0 +1,18 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:oiltempura", + "category": "xy_ingredients" + }, + "components": { + "minecraft:max_stack_size": 64, + "minecraft:use_animation": "eat", + "minecraft:use_duration": 1.6, + "minecraft:food": { + "nutrition": 5, + "saturation_modifier": "normal" + } + } + } +} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_porkloins.json b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_porkloins.json new file mode 100644 index 0000000..ab5a522 --- /dev/null +++ b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_porkloins.json @@ -0,0 +1,18 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:porkloins", + "category": "xy_ingredients" + }, + "components": { + "minecraft:max_stack_size": 64, + "minecraft:use_animation": "eat", + "minecraft:use_duration": 1.6, + "minecraft:food": { + "nutrition": 6, + "saturation_modifier": "normal" + } + } + } +} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_porkrib.json b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_porkrib.json new file mode 100644 index 0000000..4937ede --- /dev/null +++ b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_porkrib.json @@ -0,0 +1,18 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:porkrib", + "category": "xy_ingredients" + }, + "components": { + "minecraft:max_stack_size": 64, + "minecraft:use_animation": "eat", + "minecraft:use_duration": 1.6, + "minecraft:food": { + "nutrition": 6, + "saturation_modifier": "normal" + } + } + } +} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_potandspoon.json b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_potandspoon.json new file mode 100644 index 0000000..2d8b650 --- /dev/null +++ b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_potandspoon.json @@ -0,0 +1,13 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:potandspoon", + "category": "xy_kitchenware" + }, + "components": { + "minecraft:max_stack_size": 1, + "minecraft:hand_equipped": true + } + } +} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_rawsquidwhiskersr.json b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_rawsquidwhiskersr.json new file mode 100644 index 0000000..34af45d --- /dev/null +++ b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_rawsquidwhiskersr.json @@ -0,0 +1,18 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:rawsquidwhiskersr", + "category": "xy_ingredients" + }, + "components": { + "minecraft:max_stack_size": 64, + "minecraft:use_animation": "eat", + "minecraft:use_duration": 1.6, + "minecraft:food": { + "nutrition": 4, + "saturation_modifier": "normal" + } + } + } +} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_sashimi.json b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_sashimi.json new file mode 100644 index 0000000..4ca9235 --- /dev/null +++ b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_sashimi.json @@ -0,0 +1,18 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:sashimi", + "category": "xy_ingredients" + }, + "components": { + "minecraft:max_stack_size": 64, + "minecraft:use_animation": "eat", + "minecraft:use_duration": 1.6, + "minecraft:food": { + "nutrition": 4, + "saturation_modifier": "normal" + } + } + } +} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_sheeploins.json b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_sheeploins.json new file mode 100644 index 0000000..63dc6d8 --- /dev/null +++ b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_sheeploins.json @@ -0,0 +1,18 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:sheeploins", + "category": "xy_ingredients" + }, + "components": { + "minecraft:max_stack_size": 64, + "minecraft:use_animation": "eat", + "minecraft:use_duration": 1.6, + "minecraft:food": { + "nutrition": 5, + "saturation_modifier": "normal" + } + } + } +} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_sheepracks.json b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_sheepracks.json new file mode 100644 index 0000000..a1e4ddd --- /dev/null +++ b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_sheepracks.json @@ -0,0 +1,18 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:sheepracks", + "category": "xy_ingredients" + }, + "components": { + "minecraft:max_stack_size": 64, + "minecraft:use_animation": "eat", + "minecraft:use_duration": 1.6, + "minecraft:food": { + "nutrition": 5, + "saturation_modifier": "normal" + } + } + } +} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_spatula.json b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_spatula.json new file mode 100644 index 0000000..0341b06 --- /dev/null +++ b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_spatula.json @@ -0,0 +1,13 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:spatula", + "category": "xy_kitchenware" + }, + "components": { + "minecraft:max_stack_size": 1, + "minecraft:hand_equipped": true + } + } +} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_spatula_oil.json b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_spatula_oil.json new file mode 100644 index 0000000..5c71c3c --- /dev/null +++ b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_spatula_oil.json @@ -0,0 +1,14 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:spatula_oil", + "category": "xy_kitchenware" + }, + "components": { + "minecraft:max_stack_size": 1, + "minecraft:hand_equipped": true, + "minecraft:foil": true + } + } +} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_thedriedfish.json b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_thedriedfish.json new file mode 100644 index 0000000..9b26f24 --- /dev/null +++ b/behavior_pack_v8jz0zSR/netease_items_beh/rtdd_thedriedfish.json @@ -0,0 +1,18 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:thedriedfish", + "category": "xy_ingredients" + }, + "components": { + "minecraft:max_stack_size": 64, + "minecraft:use_animation": "eat", + "minecraft:use_duration": 1.6, + "minecraft:food": { + "nutrition": 5, + "saturation_modifier": "normal" + } + } + } +} \ No newline at end of file diff --git a/behavior_pack_v8jz0zSR/netease_tab/xy_Ingredients.json b/behavior_pack_v8jz0zSR/netease_tab/xy_Ingredients.json index 979ed0f..8ece49f 100644 --- a/behavior_pack_v8jz0zSR/netease_tab/xy_Ingredients.json +++ b/behavior_pack_v8jz0zSR/netease_tab/xy_Ingredients.json @@ -8,7 +8,10 @@ "groups": [ "itemGroup.name.ingr_02_veg", "itemGroup.name.ingr_03_meat", - "itemGroup.name.ingr_04_crop" + "itemGroup.name.ingr_05_fish", + "itemGroup.name.ingr_04_crop", + "itemGroup.name.ingr_06_seasoning", + "itemGroup.name.ingr_07_coated" ] } ] diff --git a/resource_pack_Are13Lvd/blocks.json b/resource_pack_Are13Lvd/blocks.json index 62bd619..27af945 100644 --- a/resource_pack_Are13Lvd/blocks.json +++ b/resource_pack_Are13Lvd/blocks.json @@ -4064,17 +4064,6 @@ "sound": "wood", "textures": "rtdd_blocks_fruit_juice3" }, - "rtdd:potandspoon": { - "client_entity": { - "block_icon": "CXpdileX", - "destoryed_textures": "CXpdileX", - "hand_model_use_client_entity": false, - "identifier": "" - }, - "netease_model": "rtdd:potandspoon", - "sound": "wood", - "textures": "rtdd_blocks_spoon_and_knife" - }, "rtdd:potato_pile": { "netease_model": "rtdd:potato_pile", "sound": "wood", @@ -4660,11 +4649,6 @@ "sound": "wood", "textures": "rtdd_blocks_souffle" }, - "rtdd:spatula": { - "netease_model": "rtdd:spatula", - "sound": "wood", - "textures": "rtdd_blocks_spoon_and_knife" - }, "rtdd:spicy_fish_0": { "netease_model": "rtdd:spicy_fish_0", "sound": "wood", diff --git a/resource_pack_Are13Lvd/models/netease_block/potandspoon.json b/resource_pack_Are13Lvd/models/netease_block/potandspoon.json deleted file mode 100644 index b357dd5..0000000 --- a/resource_pack_Are13Lvd/models/netease_block/potandspoon.json +++ /dev/null @@ -1,594 +0,0 @@ -{ - "format_version": "1.13.0", - "netease:block_geometry": { - "description": { - "identifier": "rtdd:potandspoon", - "textures": [ - "rtdd_blocks_spoon_and_knife" - ], - "textures_descriptions": [ - { - "width": 16, - "length": 16 - } - ], - "use_ao": true - }, - "bones": [ - { - "name": "root", - "pivot": [ - 0, - 0, - 0 - ], - "cubes": [ - { - "origin": [ - -9, - 0, - 12 - ], - "size": [ - 2, - 3, - 1 - ], - "uv": { - "north": { - "uv": [ - 3, - 6 - ], - "uv_size": [ - -2, - 3 - ], - "texture": 0, - "rot": 180 - }, - "east": { - "uv": [ - 12, - 2 - ], - "uv_size": [ - -4, - 1 - ], - "texture": 0, - "rot": 90 - }, - "south": { - "uv": [ - 3, - 5 - ], - "uv_size": [ - -2, - 3 - ], - "texture": 0 - }, - "west": { - "uv": [ - 8, - 8 - ], - "uv_size": [ - -4, - 1 - ], - "texture": 0, - "rot": 270 - }, - "up": { - "uv": [ - 12, - 3 - ], - "uv_size": [ - -4, - 1 - ], - "texture": 0 - }, - "down": { - "uv": [ - 4, - 8 - ], - "uv_size": [ - -4, - 1 - ], - "texture": 0, - "rot": 180 - } - } - }, - { - "origin": [ - -9, - 0, - 0 - ], - "size": [ - 2, - 1, - 4 - ], - "uv": { - "north": { - "uv": [ - 10, - 6 - ], - "uv_size": [ - -2, - 1 - ], - "texture": 0 - }, - "east": { - "uv": [ - 12, - 4 - ], - "uv_size": [ - -4, - 1 - ], - "texture": 0 - }, - "south": { - "uv": [ - 10, - 7 - ], - "uv_size": [ - -2, - 1 - ], - "texture": 0 - }, - "west": { - "uv": [ - 12, - 5 - ], - "uv_size": [ - -4, - 1 - ], - "texture": 0 - }, - "up": { - "uv": [ - 4, - 4 - ], - "uv_size": [ - 2, - -4 - ], - "texture": 0 - }, - "down": { - "uv": [ - 4, - 4 - ], - "uv_size": [ - 2, - 4 - ], - "texture": 0 - } - } - }, - { - "origin": [ - -8.5, - 0, - 4 - ], - "size": [ - 1.0, - 1, - 6 - ], - "uv": { - "north": { - "uv": [ - 9, - 8 - ], - "uv_size": [ - -1, - 1 - ], - "texture": 0 - }, - "east": { - "uv": [ - 12, - 0 - ], - "uv_size": [ - -6, - 1 - ], - "texture": 0 - }, - "south": { - "uv": [ - 1, - 9 - ], - "uv_size": [ - -1, - 1 - ], - "texture": 0 - }, - "west": { - "uv": [ - 12, - 1 - ], - "uv_size": [ - -6, - 1 - ], - "texture": 0 - }, - "up": { - "uv": [ - 6, - 8 - ], - "uv_size": [ - 1, - -6 - ], - "texture": 0 - }, - "down": { - "uv": [ - 7, - 2 - ], - "uv_size": [ - 1, - 6 - ], - "texture": 0 - } - } - }, - { - "origin": [ - -7, - 0, - 10 - ], - "size": [ - 1, - 4, - 2 - ], - "uv": { - "north": { - "uv": [ - 1, - 0 - ], - "uv_size": [ - -1, - 4 - ], - "texture": 0 - }, - "east": { - "uv": [ - 2, - 0 - ], - "uv_size": [ - -2, - 4 - ], - "texture": 0 - }, - "south": { - "uv": [ - 1, - 0 - ], - "uv_size": [ - -1, - 4 - ], - "texture": 0 - }, - "west": { - "uv": [ - 2, - 0 - ], - "uv_size": [ - -2, - 4 - ], - "texture": 0 - }, - "up": { - "uv": [ - 1, - 0 - ], - "uv_size": [ - -1, - 2 - ], - "texture": 0 - }, - "down": { - "uv": [ - 1, - 0 - ], - "uv_size": [ - -1, - 2 - ], - "texture": 0 - } - } - }, - { - "origin": [ - -9, - 3, - 10 - ], - "size": [ - 2, - 1, - 2 - ], - "uv": { - "north": { - "uv": [ - 2, - 0 - ], - "uv_size": [ - -2, - 1 - ], - "texture": 0 - }, - "east": { - "uv": [ - 2, - 0 - ], - "uv_size": [ - -2, - 1 - ], - "texture": 0 - }, - "south": { - "uv": [ - 2, - 0 - ], - "uv_size": [ - -2, - 1 - ], - "texture": 0 - }, - "west": { - "uv": [ - 2, - 0 - ], - "uv_size": [ - -2, - 1 - ], - "texture": 0 - }, - "up": { - "uv": [ - 2, - 0 - ], - "uv_size": [ - -2, - 2 - ], - "texture": 0 - }, - "down": { - "uv": [ - 2, - 0 - ], - "uv_size": [ - -2, - 2 - ], - "texture": 0 - } - } - }, - { - "origin": [ - -10, - 0, - 10 - ], - "size": [ - 1, - 4, - 2 - ], - "uv": { - "north": { - "uv": [ - 1, - 0 - ], - "uv_size": [ - -1, - 4 - ], - "texture": 0 - }, - "east": { - "uv": [ - 2, - 0 - ], - "uv_size": [ - -2, - 4 - ], - "texture": 0 - }, - "south": { - "uv": [ - 1, - 0 - ], - "uv_size": [ - -1, - 4 - ], - "texture": 0 - }, - "west": { - "uv": [ - 2, - 0 - ], - "uv_size": [ - -2, - 4 - ], - "texture": 0 - }, - "up": { - "uv": [ - 1, - 0 - ], - "uv_size": [ - -1, - 2 - ], - "texture": 0 - }, - "down": { - "uv": [ - 1, - 0 - ], - "uv_size": [ - -1, - 2 - ], - "texture": 0 - } - } - }, - { - "origin": [ - -9, - 0, - 10 - ], - "size": [ - 2, - 1, - 2 - ], - "uv": { - "north": { - "uv": [ - 2, - 0 - ], - "uv_size": [ - -2, - 1 - ], - "texture": 0 - }, - "east": { - "uv": [ - 2, - 0 - ], - "uv_size": [ - -2, - 1 - ], - "texture": 0 - }, - "south": { - "uv": [ - 2, - 0 - ], - "uv_size": [ - -2, - 1 - ], - "texture": 0 - }, - "west": { - "uv": [ - 2, - 0 - ], - "uv_size": [ - -2, - 1 - ], - "texture": 0 - }, - "up": { - "uv": [ - 2, - 0 - ], - "uv_size": [ - -2, - 2 - ], - "texture": 0 - }, - "down": { - "uv": [ - 2, - 0 - ], - "uv_size": [ - -2, - 2 - ], - "texture": 0 - } - } - } - ] - } - ] - } -} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/models/netease_block/spatula.json b/resource_pack_Are13Lvd/models/netease_block/spatula.json deleted file mode 100644 index 9d6f6ab..0000000 --- a/resource_pack_Are13Lvd/models/netease_block/spatula.json +++ /dev/null @@ -1,270 +0,0 @@ -{ - "format_version": "1.13.0", - "netease:block_geometry": { - "description": { - "identifier": "rtdd:spatula", - "textures": [ - "rtdd_blocks_spoon_and_knife" - ], - "textures_descriptions": [ - { - "width": 16, - "length": 16 - } - ], - "use_ao": true - }, - "bones": [ - { - "name": "root", - "pivot": [ - 0, - 0, - 0 - ], - "cubes": [ - { - "origin": [ - -10, - 0, - 10 - ], - "size": [ - 4, - 1, - 4 - ], - "uv": { - "north": { - "uv": [ - 4, - 8 - ], - "uv_size": [ - -4, - 1 - ], - "texture": 0 - }, - "east": { - "uv": [ - 12, - 2 - ], - "uv_size": [ - -4, - 1 - ], - "texture": 0 - }, - "south": { - "uv": [ - 12, - 3 - ], - "uv_size": [ - -4, - 1 - ], - "texture": 0 - }, - "west": { - "uv": [ - 8, - 8 - ], - "uv_size": [ - -4, - 1 - ], - "texture": 0 - }, - "up": { - "uv": [ - 0, - 4 - ], - "uv_size": [ - 4, - -4 - ], - "texture": 0 - }, - "down": { - "uv": [ - 0, - 4 - ], - "uv_size": [ - 4, - 4 - ], - "texture": 0 - } - } - }, - { - "origin": [ - -9, - 0, - 0 - ], - "size": [ - 2, - 1, - 4 - ], - "uv": { - "north": { - "uv": [ - 10, - 6 - ], - "uv_size": [ - -2, - 1 - ], - "texture": 0 - }, - "east": { - "uv": [ - 12, - 4 - ], - "uv_size": [ - -4, - 1 - ], - "texture": 0 - }, - "south": { - "uv": [ - 10, - 7 - ], - "uv_size": [ - -2, - 1 - ], - "texture": 0 - }, - "west": { - "uv": [ - 12, - 5 - ], - "uv_size": [ - -4, - 1 - ], - "texture": 0 - }, - "up": { - "uv": [ - 4, - 4 - ], - "uv_size": [ - 2, - -4 - ], - "texture": 0 - }, - "down": { - "uv": [ - 4, - 4 - ], - "uv_size": [ - 2, - 4 - ], - "texture": 0 - } - } - }, - { - "origin": [ - -8.5, - 0, - 4 - ], - "size": [ - 1.0, - 1, - 6 - ], - "uv": { - "north": { - "uv": [ - 9, - 8 - ], - "uv_size": [ - -1, - 1 - ], - "texture": 0 - }, - "east": { - "uv": [ - 12, - 0 - ], - "uv_size": [ - -6, - 1 - ], - "texture": 0 - }, - "south": { - "uv": [ - 1, - 9 - ], - "uv_size": [ - -1, - 1 - ], - "texture": 0 - }, - "west": { - "uv": [ - 12, - 1 - ], - "uv_size": [ - -6, - 1 - ], - "texture": 0 - }, - "up": { - "uv": [ - 6, - 8 - ], - "uv_size": [ - 1, - -6 - ], - "texture": 0 - }, - "down": { - "uv": [ - 7, - 2 - ], - "uv_size": [ - 1, - 6 - ], - "texture": 0 - } - } - } - ] - } - ] - } -} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_beancurd.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_beancurd.json new file mode 100644 index 0000000..a48182b --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_beancurd.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:beancurd" + }, + "components": { + "minecraft:icon": "beancurd" + } + } +} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_beef_tenderloin.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_beef_tenderloin.json new file mode 100644 index 0000000..cacd6b8 --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_beef_tenderloin.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:beef_tenderloin" + }, + "components": { + "minecraft:icon": "beef_tenderloin" + } + } +} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_cleaver.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_cleaver.json new file mode 100644 index 0000000..660a158 --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_cleaver.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:cleaver" + }, + "components": { + "minecraft:icon": "cleaver" + } + } +} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_crab.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_crab.json new file mode 100644 index 0000000..a1610cb --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_crab.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:crab" + }, + "components": { + "minecraft:icon": "crab" + } + } +} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_crushedgarlic.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_crushedgarlic.json new file mode 100644 index 0000000..fc940ca --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_crushedgarlic.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:crushedgarlic" + }, + "components": { + "minecraft:icon": "crushedgarlic" + } + } +} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_crushedmeat.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_crushedmeat.json new file mode 100644 index 0000000..cbff532 --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_crushedmeat.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:crushedmeat" + }, + "components": { + "minecraft:icon": "crushedmeat" + } + } +} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_ham.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_ham.json new file mode 100644 index 0000000..0c6f16b --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_ham.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:ham" + }, + "components": { + "minecraft:icon": "ham" + } + } +} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_legcow.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_legcow.json new file mode 100644 index 0000000..ce5900a --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_legcow.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:legcow" + }, + "components": { + "minecraft:icon": "legcow" + } + } +} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_legsleep.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_legsleep.json new file mode 100644 index 0000000..c305576 --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_legsleep.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:legsleep" + }, + "components": { + "minecraft:icon": "legsleep" + } + } +} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_lobster.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_lobster.json new file mode 100644 index 0000000..612c6ef --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_lobster.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:lobster" + }, + "components": { + "minecraft:icon": "lobster" + } + } +} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_oil_chickennuggets.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_oil_chickennuggets.json new file mode 100644 index 0000000..a4bdf00 --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_oil_chickennuggets.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:oil_chickennuggets" + }, + "components": { + "minecraft:icon": "oil_chickennuggets" + } + } +} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_oilfish_0.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_oilfish_0.json new file mode 100644 index 0000000..feb208b --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_oilfish_0.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:oilfish_0" + }, + "components": { + "minecraft:icon": "oilfish_0" + } + } +} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_oilfrenchfries.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_oilfrenchfries.json new file mode 100644 index 0000000..9fd25b4 --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_oilfrenchfries.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:oilfrenchfries" + }, + "components": { + "minecraft:icon": "oilfrenchfries" + } + } +} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_oilpork.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_oilpork.json new file mode 100644 index 0000000..1f66789 --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_oilpork.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:oilpork" + }, + "components": { + "minecraft:icon": "oilpork" + } + } +} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_oiltempura.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_oiltempura.json new file mode 100644 index 0000000..b3c6ff9 --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_oiltempura.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:oiltempura" + }, + "components": { + "minecraft:icon": "oiltempura" + } + } +} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_porkloins.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_porkloins.json new file mode 100644 index 0000000..7ef3931 --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_porkloins.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:porkloins" + }, + "components": { + "minecraft:icon": "porkloins" + } + } +} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_porkrib.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_porkrib.json new file mode 100644 index 0000000..64f3477 --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_porkrib.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:porkrib" + }, + "components": { + "minecraft:icon": "porkrib" + } + } +} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_potandspoon.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_potandspoon.json new file mode 100644 index 0000000..c143d2b --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_potandspoon.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:potandspoon" + }, + "components": { + "minecraft:icon": "potandspoon" + } + } +} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_rawsquidwhiskersr.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_rawsquidwhiskersr.json new file mode 100644 index 0000000..6eac0bd --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_rawsquidwhiskersr.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:rawsquidwhiskersr" + }, + "components": { + "minecraft:icon": "rawsquidwhiskersr" + } + } +} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_sashimi.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_sashimi.json new file mode 100644 index 0000000..2d80ea1 --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_sashimi.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:sashimi" + }, + "components": { + "minecraft:icon": "sashimi" + } + } +} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_sheeploins.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_sheeploins.json new file mode 100644 index 0000000..5c7601d --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_sheeploins.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:sheeploins" + }, + "components": { + "minecraft:icon": "sheeploins" + } + } +} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_sheepracks.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_sheepracks.json new file mode 100644 index 0000000..7c7c442 --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_sheepracks.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:sheepracks" + }, + "components": { + "minecraft:icon": "sheepracks" + } + } +} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_spatula.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_spatula.json new file mode 100644 index 0000000..d81bcb3 --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_spatula.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:spatula" + }, + "components": { + "minecraft:icon": "spatula" + } + } +} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_spatula_oil.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_spatula_oil.json new file mode 100644 index 0000000..4bbaebf --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_spatula_oil.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:spatula_oil" + }, + "components": { + "minecraft:icon": "spatula_oil" + } + } +} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_thedriedfish.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_thedriedfish.json new file mode 100644 index 0000000..83d4f5c --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_thedriedfish.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:thedriedfish" + }, + "components": { + "minecraft:icon": "thedriedfish" + } + } +} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/texts/zh_CN.lang b/resource_pack_Are13Lvd/texts/zh_CN.lang index 292ab3a..e7f1112 100644 --- a/resource_pack_Are13Lvd/texts/zh_CN.lang +++ b/resource_pack_Are13Lvd/texts/zh_CN.lang @@ -152,7 +152,7 @@ tile.rtdd:sushipile_4.name=寿司堆(鲑鱼寿司_两个) tile.rtdd:cookingrabbit.name=炒锅_49(辣炒兔肉_生) tile.rtdd:sushipile_5.name=寿司堆(鲑鱼寿司_三个) tile.rtdd:sushipile_2.name=寿司堆(鳕鱼_两个) -tile.rtdd:spatula.name=锅铲 +item.rtdd:spatula.name=锅铲 tile.rtdd:sushipile_3.name=寿司堆(鳕鱼_三个) tile.rtdd:copperingotpile.name=铜锭堆_禁用 tile.rtdd:beefkebabs_0.name=牛肉串(半熟) @@ -366,7 +366,7 @@ tile.rtdd:plate_33a.name=炒蟹(半份) tile.rtdd:vegetableleanbroth_3.name=汤锅_105(蔬菜瘦肉汤_熟) tile.rtdd:vegetableleanbroth_2.name=汤锅_104(蔬菜瘦肉汤_八分熟) tile.rtdd:vegetableleanbroth_1.name=汤锅_103(蔬菜瘦肉汤_四分熟) -tile.rtdd:potandspoon.name=锅勺 +item.rtdd:potandspoon.name=锅勺 tile.rtdd:dryingrack_2.name=晾干架_3(晾干架3)禁用 tile.rtdd:b_111.name=吧台 tile.rtdd:b_110.name=纺纱机_1(制作)_禁用 @@ -1169,8 +1169,11 @@ itemGroup.name.drink_02_glass=酒杯 itemGroup.name.drink_03_popsicle=冰棍 itemGroup.name.drink_04_icebox=冰棍盒·炒冰盒 itemGroup.name.ingr_02_veg=蔬菜·切配 -itemGroup.name.ingr_03_meat=肉·鱼·海鲜 +itemGroup.name.ingr_03_meat=肉类·肉馅 +itemGroup.name.ingr_05_fish=鱼·海鲜 itemGroup.name.ingr_04_crop=蔬果·堆类 +itemGroup.name.ingr_06_seasoning=调味·佐料 +itemGroup.name.ingr_07_coated=裹粉半成品 itemGroup.name.mar_03_box=条箱 itemGroup.name.mar_04_barrel=货桶 itemGroup.name.mar_01_salesbox=售卖盒 @@ -1199,4 +1202,27 @@ itemGroup.name.sushi_03_salmon=鲑鱼寿司 itemGroup.name.sushi_04_tropical=热带鱼寿司 itemGroup.name.sushi_05_nigiri=手握寿司 itemGroup.name.sushi_06_pile=寿司堆 -itemGroup.name.sushi_07_plate=盘装寿司 \ No newline at end of file +itemGroup.name.sushi_07_plate=盘装寿司 +item.rtdd:cleaver.name=刀 +item.rtdd:legsleep.name=羊腿 +item.rtdd:sheeploins.name=羊里脊 +item.rtdd:sheepracks.name=羊小排 +item.rtdd:beef_tenderloin.name=牛里脊 +item.rtdd:legcow.name=牛腿肉 +item.rtdd:porkloins.name=五花肉 +item.rtdd:porkrib.name=猪肋排 +item.rtdd:ham.name=猪蹄 +item.rtdd:crushedmeat.name=碎肉 +item.rtdd:rawsquidwhiskersr.name=鱿鱼须 +item.rtdd:crab.name=螃蟹 +item.rtdd:lobster.name=龙虾 +item.rtdd:sashimi.name=生鱼片 +item.rtdd:thedriedfish.name=鱼干 +item.rtdd:beancurd.name=豆腐 +item.rtdd:crushedgarlic.name=蒜末 +item.rtdd:oiltempura.name=裹粉的天妇罗 +item.rtdd:oilfish_0.name=裹粉的鱼 +item.rtdd:oilpork.name=裹粉的猪肉 +item.rtdd:oil_chickennuggets.name=裹粉的鸡块 +item.rtdd:oilfrenchfries.name=裹粉的薯条 +item.rtdd:spatula_oil.name=带油锅铲 \ No newline at end of file diff --git a/resource_pack_Are13Lvd/textures/item_texture.json b/resource_pack_Are13Lvd/textures/item_texture.json new file mode 100644 index 0000000..918c87a --- /dev/null +++ b/resource_pack_Are13Lvd/textures/item_texture.json @@ -0,0 +1,80 @@ +{ + "resource_pack_name": "rtdd", + "texture_data": { + "cleaver": { + "textures": "textures/items/cleaver" + }, + "legsleep": { + "textures": "textures/items/legsleep" + }, + "sheeploins": { + "textures": "textures/items/sheeploins" + }, + "sheepracks": { + "textures": "textures/items/sheepracks" + }, + "beef_tenderloin": { + "textures": "textures/items/beef_tenderloin" + }, + "legcow": { + "textures": "textures/items/legcow" + }, + "porkloins": { + "textures": "textures/items/porkloins" + }, + "porkrib": { + "textures": "textures/items/porkrib" + }, + "ham": { + "textures": "textures/items/ham" + }, + "crushedmeat": { + "textures": "textures/items/crushedmeat" + }, + "rawsquidwhiskersr": { + "textures": "textures/items/rawsquidwhiskersr" + }, + "crab": { + "textures": "textures/items/crab" + }, + "lobster": { + "textures": "textures/items/lobster" + }, + "sashimi": { + "textures": "textures/items/sashimi" + }, + "thedriedfish": { + "textures": "textures/items/thedriedfish" + }, + "beancurd": { + "textures": "textures/items/beancurd" + }, + "crushedgarlic": { + "textures": "textures/items/crushedgarlic" + }, + "oiltempura": { + "textures": "textures/items/oiltempura" + }, + "oilfish_0": { + "textures": "textures/items/oilfish_0" + }, + "oilpork": { + "textures": "textures/items/oilpork" + }, + "oil_chickennuggets": { + "textures": "textures/items/oil_chickennuggets" + }, + "oilfrenchfries": { + "textures": "textures/items/oilfrenchfries" + }, + "spatula": { + "textures": "textures/items/guo_chan_" + }, + "spatula_oil": { + "textures": "textures/items/guo_chan_" + }, + "potandspoon": { + "textures": "textures/items/pot_and_spoon" + } + } +} \ No newline at end of file diff --git a/resource_pack_Are13Lvd/textures/items/beancurd.png b/resource_pack_Are13Lvd/textures/items/beancurd.png new file mode 100644 index 0000000..b039810 Binary files /dev/null and b/resource_pack_Are13Lvd/textures/items/beancurd.png differ diff --git a/resource_pack_Are13Lvd/textures/items/beef_tenderloin.png b/resource_pack_Are13Lvd/textures/items/beef_tenderloin.png new file mode 100644 index 0000000..4ff0afb Binary files /dev/null and b/resource_pack_Are13Lvd/textures/items/beef_tenderloin.png differ diff --git a/resource_pack_Are13Lvd/textures/items/cleaver.png b/resource_pack_Are13Lvd/textures/items/cleaver.png new file mode 100644 index 0000000..5c69399 Binary files /dev/null and b/resource_pack_Are13Lvd/textures/items/cleaver.png differ diff --git a/resource_pack_Are13Lvd/textures/items/crab.png b/resource_pack_Are13Lvd/textures/items/crab.png new file mode 100644 index 0000000..ebc936f Binary files /dev/null and b/resource_pack_Are13Lvd/textures/items/crab.png differ diff --git a/resource_pack_Are13Lvd/textures/items/crushedgarlic.png b/resource_pack_Are13Lvd/textures/items/crushedgarlic.png new file mode 100644 index 0000000..21bef38 Binary files /dev/null and b/resource_pack_Are13Lvd/textures/items/crushedgarlic.png differ diff --git a/resource_pack_Are13Lvd/textures/items/crushedmeat.png b/resource_pack_Are13Lvd/textures/items/crushedmeat.png new file mode 100644 index 0000000..b2be292 Binary files /dev/null and b/resource_pack_Are13Lvd/textures/items/crushedmeat.png differ diff --git a/resource_pack_Are13Lvd/textures/items/ham.png b/resource_pack_Are13Lvd/textures/items/ham.png new file mode 100644 index 0000000..6bc766c Binary files /dev/null and b/resource_pack_Are13Lvd/textures/items/ham.png differ diff --git a/resource_pack_Are13Lvd/textures/items/legcow.png b/resource_pack_Are13Lvd/textures/items/legcow.png new file mode 100644 index 0000000..878a7d1 Binary files /dev/null and b/resource_pack_Are13Lvd/textures/items/legcow.png differ diff --git a/resource_pack_Are13Lvd/textures/items/legsleep.png b/resource_pack_Are13Lvd/textures/items/legsleep.png new file mode 100644 index 0000000..07bcf6c Binary files /dev/null and b/resource_pack_Are13Lvd/textures/items/legsleep.png differ diff --git a/resource_pack_Are13Lvd/textures/items/lobster.png b/resource_pack_Are13Lvd/textures/items/lobster.png new file mode 100644 index 0000000..74bde59 Binary files /dev/null and b/resource_pack_Are13Lvd/textures/items/lobster.png differ diff --git a/resource_pack_Are13Lvd/textures/items/oil_chickennuggets.png b/resource_pack_Are13Lvd/textures/items/oil_chickennuggets.png new file mode 100644 index 0000000..9182379 Binary files /dev/null and b/resource_pack_Are13Lvd/textures/items/oil_chickennuggets.png differ diff --git a/resource_pack_Are13Lvd/textures/items/oilfish_0.png b/resource_pack_Are13Lvd/textures/items/oilfish_0.png new file mode 100644 index 0000000..5f9c3b6 Binary files /dev/null and b/resource_pack_Are13Lvd/textures/items/oilfish_0.png differ diff --git a/resource_pack_Are13Lvd/textures/items/oilfrenchfries.png b/resource_pack_Are13Lvd/textures/items/oilfrenchfries.png new file mode 100644 index 0000000..1dd5313 Binary files /dev/null and b/resource_pack_Are13Lvd/textures/items/oilfrenchfries.png differ diff --git a/resource_pack_Are13Lvd/textures/items/oilpork.png b/resource_pack_Are13Lvd/textures/items/oilpork.png new file mode 100644 index 0000000..1037ac6 Binary files /dev/null and b/resource_pack_Are13Lvd/textures/items/oilpork.png differ diff --git a/resource_pack_Are13Lvd/textures/items/oiltempura.png b/resource_pack_Are13Lvd/textures/items/oiltempura.png new file mode 100644 index 0000000..b36bcff Binary files /dev/null and b/resource_pack_Are13Lvd/textures/items/oiltempura.png differ diff --git a/resource_pack_Are13Lvd/textures/items/porkloins.png b/resource_pack_Are13Lvd/textures/items/porkloins.png new file mode 100644 index 0000000..d91c807 Binary files /dev/null and b/resource_pack_Are13Lvd/textures/items/porkloins.png differ diff --git a/resource_pack_Are13Lvd/textures/items/porkrib.png b/resource_pack_Are13Lvd/textures/items/porkrib.png new file mode 100644 index 0000000..449d6ec Binary files /dev/null and b/resource_pack_Are13Lvd/textures/items/porkrib.png differ diff --git a/resource_pack_Are13Lvd/textures/items/rawsquidwhiskersr.png b/resource_pack_Are13Lvd/textures/items/rawsquidwhiskersr.png new file mode 100644 index 0000000..f37b532 Binary files /dev/null and b/resource_pack_Are13Lvd/textures/items/rawsquidwhiskersr.png differ diff --git a/resource_pack_Are13Lvd/textures/items/sashimi.png b/resource_pack_Are13Lvd/textures/items/sashimi.png new file mode 100644 index 0000000..4d5b64a Binary files /dev/null and b/resource_pack_Are13Lvd/textures/items/sashimi.png differ diff --git a/resource_pack_Are13Lvd/textures/items/sheeploins.png b/resource_pack_Are13Lvd/textures/items/sheeploins.png new file mode 100644 index 0000000..8cb6ca1 Binary files /dev/null and b/resource_pack_Are13Lvd/textures/items/sheeploins.png differ diff --git a/resource_pack_Are13Lvd/textures/items/sheepracks.png b/resource_pack_Are13Lvd/textures/items/sheepracks.png new file mode 100644 index 0000000..84355a9 Binary files /dev/null and b/resource_pack_Are13Lvd/textures/items/sheepracks.png differ diff --git a/resource_pack_Are13Lvd/textures/items/thedriedfish.png b/resource_pack_Are13Lvd/textures/items/thedriedfish.png new file mode 100644 index 0000000..18d00e6 Binary files /dev/null and b/resource_pack_Are13Lvd/textures/items/thedriedfish.png differ diff --git a/tuilun/乡野食材转化关系.txt b/tuilun/乡野食材转化关系.txt index 29342a5..a627f09 100644 --- a/tuilun/乡野食材转化关系.txt +++ b/tuilun/乡野食材转化关系.txt @@ -2,8 +2,9 @@ 【乡野食材】(xy_ingredients) 转化关系 ======================================== 说明: -- 分为3个分组: 蔬菜·切配 / 肉·鱼·海鲜 / 蔬果·堆类 +- 分为6个分组: 蔬菜·切配 / 肉类·肉馅 / 鱼·海鲜 / 蔬果·堆类 / 调味·佐料 / 裹粉半成品 - 切配类食材可用菜刀切分,肉馅可按压 +- 油锅炸物需先裹面粉: 生食材裹粉后成为"裹粉半成品"(见第六节),再下油锅 - 【待确认】表示该步骤所需的具体操作尚未最终确定 ======================================== @@ -26,7 +27,7 @@ 机制: 手持菜刀右键切葱,逐级切分 ======================================== -二、肉·鱼·海鲜 +二、肉类·肉馅 ======================================== 5. 生猪肉馅 -> 生猪肉馅(按压) 转换条件:[右键 进行转换(按压成型)] @@ -36,25 +37,79 @@ 转换条件:[右键 进行转换(按压成型)] 机制: 空手右键,按压成型 -7. 鲑鱼堆 / 鳕鱼堆 +7. 羊腿/羊里脊/羊小排/牛里脊/牛腿肉/五花肉/猪肋排/猪蹄/碎肉(静态食材) +转换条件:[静态食材,无独立转换](本次由Java版迁入) + +======================================== +三、鱼·海鲜 +======================================== +8. 鲑鱼堆 / 鳕鱼堆 +转换条件:[静态堆叠食材,无独立转换] + +9. 鱿鱼须/螃蟹/龙虾/生鱼片/鱼干(静态食材) +转换条件:[静态食材,无独立转换](本次由Java版迁入) + +======================================== +四、蔬果·堆类 +======================================== +10. 土豆堆 / 胡萝卜堆(b_40) / 桃子堆 / 橙子堆 / 苹果堆 / 面包堆 / 鸡蛋堆 转换条件:[静态堆叠食材,无独立转换] ======================================== -三、蔬果·堆类 +五、调味·佐料 ======================================== -8. 土豆堆 / 胡萝卜堆(b_40) / 桃子堆 / 橙子堆 / 苹果堆 / 面包堆 / 鸡蛋堆 -转换条件:[静态堆叠食材,无独立转换] - -9. 大蒜(cutgarlic) +11. 大蒜(cutgarlic) 转换条件:[静态切配食材,无独立转换] -10. 大蒜串 / 辣椒串 +12. 蒜末(crushedgarlic) +转换条件:[静态切配食材,无独立转换](本次由Java版迁入) + +13. 大蒜串 / 辣椒串 转换条件:[静态串类食材,无独立转换](注:辣椒串原属烧烤分类,已迁至此分组) +14. 豆腐(beancurd) +转换条件:[静态食材,无独立转换](本次由Java版迁入) + ======================================== -四、方块清单 +六、裹粉半成品(油锅炸物前置,由生食材裹面粉而来) ======================================== -cutcarrot_0~4(切胡萝卜)、cutpotato_0~4(切土豆)、cutvegetable_0~3(切青菜)、cutscallions_1~4(葱花)、 -rawmeatball_0~3(生肉馅)、salmon_pile(鲑鱼堆)、cod_pile(鳕鱼堆)、potato_pile(土豆堆)、carrot_pile(胡萝卜堆)、 -b_40(胡萝卜堆)、peachpile_0(桃子堆)、orangepile_0(橙子堆)、apple_pile(苹果堆)、cutgarlic(大蒜)、 -bread_pile(面包堆)、egg_pile(鸡蛋堆)、garlicskewers(大蒜串)、chiliskewer(辣椒串) +15. 生鱼片 -> 裹粉的鱼 +转换条件:[手持 面粉 右键 进行裹粉](【待确认】) +机制: 生鱼片裹面粉,变为裹粉的鱼,供油锅炸鱼块 + +16. 龙虾 -> 裹粉的天妇罗 +转换条件:[手持 面粉 右键 进行裹粉](【待确认】) +机制: 龙虾裹面粉,变为裹粉的天妇罗,供油锅炸天妇罗(天妇罗炸虾成品即由此而来) + +17. 猪肉 -> 裹粉的猪肉 +转换条件:[手持 面粉 右键 进行裹粉](【待确认】) +机制: 猪肉裹面粉,变为裹粉的猪肉,供油锅炸猪排 + +18. 鸡块 -> 裹粉的鸡块 +转换条件:[手持 面粉 右键 进行裹粉](【待确认】) +机制: 鸡块裹面粉,变为裹粉的鸡块,供油锅炸鸡块 + +19. 土豆条 -> 裹粉的薯条 +转换条件:[手持 面粉 右键 进行裹粉](【待确认】) +机制: 土豆条裹面粉,变为裹粉的薯条,供油锅炸薯条 + +======================================== +七、方块/物品清单(按6分组) +======================================== +【蔬菜·切配】cutcarrot_0~4(切胡萝卜)、cutpotato_0~4(切土豆)、cutvegetable_0~3(切青菜)、cutscallions_1~4(葱花) + +【肉类·肉馅】rawmeatball_0~3(生肉馅)、legsleep(羊腿)、sheeploins(羊里脊)、sheepracks(羊小排)、 +beef_tenderloin(牛里脊)、legcow(牛腿肉)、porkloins(五花肉)、porkrib(猪肋排)、ham(猪蹄)、crushedmeat(碎肉) + +【鱼·海鲜】salmon_pile(鲑鱼堆)、cod_pile(鳕鱼堆)、rawsquidwhiskersr(鱿鱼须)、crab(螃蟹)、 +lobster(龙虾)、sashimi(生鱼片)、thedriedfish(鱼干) + +【蔬果·堆类】potato_pile(土豆堆)、carrot_pile(胡萝卜堆)、b_40(胡萝卜堆)、peachpile_0(桃子堆)、 +orangepile_0(橙子堆)、apple_pile(苹果堆)、bread_pile(面包堆)、egg_pile(鸡蛋堆) + +【调味·佐料】cutgarlic(大蒜)、crushedgarlic(蒜末)、garlicskewers(大蒜串)、chiliskewer(辣椒串)、beancurd(豆腐) + +【裹粉半成品】oiltempura(裹粉的天妇罗)、oilfish_0(裹粉的鱼)、oilpork(裹粉的猪肉)、 +oil_chickennuggets(裹粉的鸡块)、oilfrenchfries(裹粉的薯条) + +注: 菜刀(cleaver)属厨具分类,不在此清单 diff --git a/tuilun/全部功能做了什么.txt b/tuilun/全部功能做了什么.txt new file mode 100644 index 0000000..69a59b0 --- /dev/null +++ b/tuilun/全部功能做了什么.txt @@ -0,0 +1,90 @@ +======================================== +全部功能 - 已实现功能记录 +(汇总所有功能分类的"做了什么",按分类分节) +======================================== +说明: +- 本文件汇总全部功能分类的已实现内容 +- 每节对应一个功能分类(如 动物养殖 / 烧烤),后续新分类在此追加 +- 各分类的详细转换流程见 tuilun 下对应的《XX转化关系.txt》 + + +######################################## +【动物养殖】(xy_animal) +######################################## + +一、鸡窝(产蛋) —— 低级机制 +- 放蛋: 手持鸡蛋右键鸡窝逐级放置递增 (0蛋→1蛋→…→5蛋), 每次消耗1个鸡蛋, + 提示 "鸡蛋已放入鸡窝 (N/5)" [已实现] +- 取蛋: 空手右键取走对应数量鸡蛋, 以掉落物形式获得, 回到0蛋形态, + 提示 "取走了 N 个鸡蛋" (5/4/3/2/1蛋均可取) [已实现] + +二、鸡饲料盆 (chickenmanger_0/1) +- 填充: 手持种子右键, 消耗16个种子 → 满, 提示 "鸡饲料已加满" [已实现] +- 计时变空: 满盆计时60秒 → 自动变空, 开始提示 "鸡饲料已加满,鸡正在进食…", + 完成提示 "鸡饲料已吃完" [已实现] + +三、饲料槽-小麦 (manger_0/3/2/1) +- 填充: 手持小麦右键, 消耗32个小麦 → 满, 提示 "小麦饲料已加满" [已实现] +- 计时逐级变空: 满→半量→少量→空, 每级计时60秒, 吃完提示 "小麦饲料已吃完" [已实现] + +四、饲料槽-水 (manger_0/mangerwater) +- 加水: 手持水桶右键 → 水槽, 消耗水桶返还空桶, 提示 "已给饲料槽加水" [已实现] + +五、饲料槽-胡萝卜 (manger_0/pigmanger_1/2) +- 填充: 手持胡萝卜右键, 消耗32个胡萝卜 → 满, 提示 "胡萝卜饲料已加满" [已实现] +- 计时逐级变空: 满→半量→空, 每级计时60秒, 吃完提示 "胡萝卜饲料已吃完" [已实现] + +六、粪便 (feces_3/2/1) +- 清理: 空手右键逐级清理 (一坨→半坨→仅痕迹→消失), 提示 "清理了粪便" [已实现] + + +######################################## +【烧烤】(xy_barbecue) +######################################## + +一、烧烤架 (barbecuegrill_0/1) +- 点火: 无火烧烤架_1 + 打火石 → 点燃烧烤架_2 (打火石不消耗) [已实现] +- 点火: 无火烧烤架_1 + 烈焰弹 → 点燃烧烤架_2 (消耗1个烈焰弹) [已实现] +- 灭火: 点燃烧烤架_2 + 水桶 → 无火烧烤架_1 (消耗水桶,返还空桶) [已实现] + +二、烤串 (放烧烤架上,右键2次转换,不计时,需下方点燃烧烤炉) +- 牛肉串: beefkebabs_1(生) → beefkebabs_0(半熟) → beefkebabs_3(熟) [已实现] +- 羊肉串: lambkebabs_1(生) → lambkebabs_0(半熟) → lambkebabs_3(熟) [已实现] +- 烤蔬菜串: roasted_vegetables_0(生) → _1(半熟) → _3(熟) [已实现] +- 烤香菇串: roastedmushrooms_0(生) → _1(半熟) → _3(熟) [已实现] +- 失败提示: 下方不是点燃的烧烤炉 → "§c下方不是点燃的烧烤炉,无法翻烤!" [已实现] + +三、上杆 (手持生食材右键 支杆b_34) +- 生鸡肉(放置后) roastchickenplace_0 → 烤鸡(上烤架_生) roastchicken_0 [已实现] +- 死猪 dead_pig → 烤乳猪(生) roastpig_0 [已实现] +- 鳕鱼 minecraft:cod → 烤鳕鱼(生) grilledcod_0 [已实现] +- 鲑鱼 minecraft:salmon → 烤鲑鱼(生) grilled_fish [已实现] + +四、计时烤制 (支杆下方篝火 campfire,约60秒,右键激活 autoStart=False) +- 烤鸡: roastchicken_0(生) → roastchicken_1(熟) [已实现] +- 烤乳猪: roastpig_0(生) → roastpig_1(熟) [已实现] +- 烤鳕鱼: grilledcod_0(生) → grilledcod_1(熟) [已实现] +- 烤鲑鱼: grilled_fish(生) → grilled_salmon(熟) [已实现] +- 开始提示 "§e开始烤制烤X,约60秒…" / 完成提示 "§e烤X烤熟了!" [已实现] +- 下方无篝火: 拒绝开始 "§c支杆下方需要放一个篝火(营火)才能烤制!" [已实现] +- 烤制中拿走篝火: 暂停,篝火放回继续 (保持原时间戳) [已实现] +- 退出/重启游戏: 继续计时 (绝对时间戳写入方块实体数据持久化) [已实现] + +五、取下 (空手右键烤熟方块,以掉落物形式获得整只) +- 烤鸡(熟) roastchicken_1 → b_34 + 掉落 烤鸡整只 roast_chickenplace_1, + 提示 "§a取下了烤鸡(整只)" [已实现] +- 烤乳猪(熟) roastpig_1 → b_34 + 掉落 烤乳猪整只 roastpignew_1, + 提示 "§a取下了烤乳猪(整只)" [已实现] + +六、手持物品右键方块表面 (ServerItemUseOnEvent) +- 手持原版生鸡肉 minecraft:chicken 右键任意方块表面 → 生成 生鸡肉(放置后) + roastchickenplace_0, 消耗1个, 提示 "已放置生鸡肉,可右键支杆上杆烤制" [已实现] + + +######################################## +【通用架构】 +######################################## +- 右键转换与计时转换已拆分为两个独立类 (XxxService / XxxTimerService), 解耦 [已实现] +- 事件由 FeatureDispatcher 统一监听路由 (blockOwner/itemUseOnOwner/timerOwner) [已实现] +- 右键服务通过 FeatureDispatcher.startTimerFor 把计时启动转发给计时服务 [已实现] +- 计时用绝对时间戳写入方块实体数据, 支持退出/重启后继续计时 [已实现] diff --git a/tuilun/全部功能没做什么.txt b/tuilun/全部功能没做什么.txt new file mode 100644 index 0000000..b4b7ef0 --- /dev/null +++ b/tuilun/全部功能没做什么.txt @@ -0,0 +1,50 @@ +======================================== +全部功能 - 未实现功能记录 (含原因) +(汇总所有功能分类的"没做什么",按分类分节) +======================================== +说明: +- 本文件汇总全部功能分类中"未实现/暂缓"的内容, 每条注明原因 +- 各分类的详细转换流程见 tuilun 下对应的《XX转化关系.txt》 +- 统一的"总食用功能"尚未开发: 所有"吃"相关转换统一留待其实现, 避免重复 + + +######################################## +【动物养殖】(xy_animal) +######################################## + +一、鸡窝-高级机制(范围内鸡自动产蛋) +- 设想: 鸡窝5x5范围内有鸡下蛋 → 鸡窝自动改变形态逐级到5蛋, 同时地上的鸡蛋消失 +- 未做原因: 转化文档标注【待定】, 当前仅实现"低级机制"——手持鸡蛋右键放置递增。 + 高级机制等机制确定后再做 (转化文档 todo 已注明"先实现这个") + +二、粪便-食用 +- 设想: 粪便(一坨/半坨/仅痕迹) 可食用 +- 未做原因: 食用部分由统一的"总食用功能"汇总实现, 本次不实现 (转化文档已用 todo 标注) + + +######################################## +【烧烤】(xy_barbecue) +######################################## + +一、烤鸡分食 (吃东西逐级分食) +- 方块: roast_chickenplace_1(整只) → roast_chickenplace_2(3/4只) → + roast_chickenplace_3(半只) → roast_chickenplace_4(1/4只) → 吃完消失 +- 未做原因: 食用部分由统一的"总食用功能"汇总实现, 本次不实现 (转化文档已用 todo 标注) + +二、烤乳猪分食 (剩余份数递减) +- 方块: roastpignew_1(整只) → roastpignew_2(5/6) → … → roastpignew_6(1/6) → 吃完消失 +- 未做原因: 食用部分由统一的"总食用功能"汇总实现, 本次不实现 (转化文档已用 todo 标注) + +三、烤鳕鱼(熟) 直接右键食用 +- 方块: grilledcod_1(烤鳕鱼熟) +- 未做原因: 设计为"直接右键食用", 食用部分由统一的"总食用功能"实现 +- 说明: 因设计为直接食用, 故【不设"取下"规则】→ 空手右键烤熟的烤鳕鱼 + 不会出现"取下"成功提示。这是设计如此, 不是遗漏。 + 烤熟时已有完成提示 "§e烤鳕鱼烤熟了!" + +四、烤鲑鱼(熟) 直接右键食用 +- 方块: grilled_salmon(烤鲑鱼熟) +- 未做原因: 设计为"直接右键食用", 食用部分由统一的"总食用功能"实现 +- 说明: 因设计为直接食用, 故【不设"取下"规则】→ 空手右键烤熟的烤鲑鱼 + 不会出现"取下"成功提示。这是设计如此, 不是遗漏。 + 烤熟时已有完成提示 "§e烤鲑鱼烤熟了!" diff --git a/tuilun/厨具转化关系.txt b/tuilun/厨具转化关系.txt index d2cd80b..2fe0afa 100644 --- a/tuilun/厨具转化关系.txt +++ b/tuilun/厨具转化关系.txt @@ -3,6 +3,7 @@ ======================================== 说明: - 厨具分类无分组,按标识自动排序 +- 锅铲/锅勺/带油锅铲为手持物品(由原方块版改为物品,原方块已删除) - 部分厨具有交互转换(炉灶/丸子机/搅拌器/蒸笼/盘子) - 其余为静态工具方块 - 【待确认】表示该步骤所需的具体操作或食材尚未最终确定 @@ -88,8 +89,23 @@ 机制: 用盘子吃完食物后,盘子变为脏盘子 ======================================== -六、静态工具方块(无转换) +六、手持厨具物品(由原方块版改为物品) ======================================== -spatula(锅铲)、potandspoon(锅勺)、oilcan(油罐)、rollingpin(擀面杖)、stonemill(石磨)、 -oven(烤炉)、b_34(支杆)、bowlasoup(木碗)、platepile(盘子堆) +19. 锅铲(rtdd:spatula) +转换条件:[手持 右键 进行翻炒] +机制: 手持锅铲右键炒锅食材,每3次升一级(配合炒锅烹饪) + +20. 带油锅铲(rtdd:spatula_oil,附魔光效) +转换条件:[手持 右键 炒锅 进行上油] +机制: 手持带油锅铲右键炒锅,炒锅+带油锅铲→炒锅(添油)(rtdd:oilpan),不消耗 + +21. 锅勺(rtdd:potandspoon) +转换条件:[静态手持物品] +机制: 手持物品,无独立转换 + +======================================== +七、静态工具方块(无转换) +======================================== +oilcan(油罐)、rollingpin(擀面杖)、stonemill(石磨)、oven(烤炉)、b_34(支杆)、 +bowlasoup(木碗)、platepile(盘子堆) 以上为工具/器皿方块,用于配合各食物分类的烹饪流程,无独立转换 diff --git a/tuilun/方块工具转化关系.txt b/tuilun/方块工具转化关系.txt index 5e92604..e8fff7c 100644 --- a/tuilun/方块工具转化关系.txt +++ b/tuilun/方块工具转化关系.txt @@ -9,3 +9,6 @@ 方块清单(均无转化关系) ======================================== balance(天平)、fishingnet(网(渔网))、magnifyingglass(放大镜) + +todo 渔网 + 高级机制: 放在水中 一段时间后自动捕鱼 鱼以凋落物的形式 出现在 渔网上方 (后续实现) diff --git a/tuilun/死亡生物转化关系.txt b/tuilun/死亡生物转化关系.txt index 8d00099..f69f4c5 100644 --- a/tuilun/死亡生物转化关系.txt +++ b/tuilun/死亡生物转化关系.txt @@ -19,20 +19,20 @@ 机制: 未开始切割时,空手右键可取下退回死牛(切后不可逆) 3. 挂肉钩(整只牛) -> 挂肉钩(牛_去头去皮) -转换条件:[手持 剑 右键 进行转换,掉落牛肉] -机制: 手持剑右键,掉落1份牛肉 +转换条件:[手持 菜刀 右键 进行转换,掉落牛肉] +机制: 手持菜刀右键,掉落1份牛肉 4. 挂肉钩(牛_去头去皮) -> 挂肉钩(牛_去四肢) -转换条件:[手持 剑 右键 进行转换,掉落牛肉] -机制: 手持剑右键,掉落1份牛肉 +转换条件:[手持 菜刀 右键 进行转换,掉落牛肉] +机制: 手持菜刀右键,掉落1份牛肉 5. 挂肉钩(牛_去四肢) -> 挂肉钩(牛_去肉) -转换条件:[手持 剑 右键 进行转换,掉落牛肉] -机制: 手持剑右键,掉落1份牛肉 +转换条件:[手持 菜刀 右键 进行转换,掉落牛肉] +机制: 手持菜刀右键,掉落1份牛肉 6. 挂肉钩(牛_去肉) -> 挂肉钩(空钩) -转换条件:[手持 剑 右键 进行转换,掉落牛肉] -机制: 手持剑右键,掉落1份牛肉,钩子清空 +转换条件:[手持 菜刀 右键 进行转换,掉落牛肉] +机制: 手持菜刀右键,掉落1份牛肉,钩子清空 ======================================== 二、挂肉钩 - 猪 @@ -46,20 +46,20 @@ 机制: 未开始切割时,空手右键可取下退回死猪(切后不可逆) 9. 挂肉钩(整只猪) -> 挂肉钩(猪_去皮) -转换条件:[手持 剑 右键 进行转换,掉落生猪排] -机制: 手持剑右键,掉落1份生猪排 +转换条件:[手持 菜刀 右键 进行转换,掉落生猪排] +机制: 手持菜刀右键,掉落1份生猪排 10. 挂肉钩(猪_去皮) -> 挂肉钩(猪_去四肢) -转换条件:[手持 剑 右键 进行转换,掉落生猪排] -机制: 手持剑右键,掉落1份生猪排 +转换条件:[手持 菜刀 右键 进行转换,掉落生猪排] +机制: 手持菜刀右键,掉落1份生猪排 11. 挂肉钩(猪_去四肢) -> 挂肉钩(猪_去肉) -转换条件:[手持 剑 右键 进行转换,掉落生猪排] -机制: 手持剑右键,掉落1份生猪排 +转换条件:[手持 菜刀 右键 进行转换,掉落生猪排] +机制: 手持菜刀右键,掉落1份生猪排 12. 挂肉钩(猪_去肉) -> 挂肉钩(空钩) -转换条件:[手持 剑 右键 进行转换,掉落生猪排] -机制: 手持剑右键,掉落1份生猪排,钩子清空 +转换条件:[手持 菜刀 右键 进行转换,掉落生猪排] +机制: 手持菜刀右键,掉落1份生猪排,钩子清空 ======================================== 三、挂肉钩 - 羊 @@ -73,20 +73,20 @@ 机制: 未开始切割时,空手右键可取下退回死羊(切后不可逆) 15. 挂肉钩(整只羊) -> 挂肉钩(羊_去皮) -转换条件:[手持 剑 右键 进行转换,掉落生羊肉] -机制: 手持剑右键,掉落1份生羊肉 +转换条件:[手持 菜刀 右键 进行转换,掉落生羊肉] +机制: 手持菜刀右键,掉落1份生羊肉 16. 挂肉钩(羊_去皮) -> 挂肉钩(羊_去四肢) -转换条件:[手持 剑 右键 进行转换,掉落生羊肉] -机制: 手持剑右键,掉落1份生羊肉 +转换条件:[手持 菜刀 右键 进行转换,掉落生羊肉] +机制: 手持菜刀右键,掉落1份生羊肉 17. 挂肉钩(羊_去四肢) -> 挂肉钩(羊_去肉) -转换条件:[手持 剑 右键 进行转换,掉落生羊肉] -机制: 手持剑右键,掉落1份生羊肉 +转换条件:[手持 菜刀 右键 进行转换,掉落生羊肉] +机制: 手持菜刀右键,掉落1份生羊肉 18. 挂肉钩(羊_去肉) -> 挂肉钩(空钩) -转换条件:[手持 剑 右键 进行转换,掉落生羊肉] -机制: 手持剑右键,掉落1份生羊肉,钩子清空 +转换条件:[手持 菜刀 右键 进行转换,掉落生羊肉] +机制: 手持菜刀右键,掉落1份生羊肉,钩子清空 ======================================== 四、挂肉钩 - 鲑鱼晾晒(单向) @@ -108,12 +108,12 @@ 机制: 计时晾干,约300秒自动变为干鲑鱼 23. 鲑鱼干挂肉钩(一条) -> 挂肉钩(空钩) -转换条件:[右键 进行转换,获得鲑鱼干] -机制: 空手右键,获得1份鲑鱼干,钩子清空 +转换条件:[右键 进行转换,获得鱼干] +机制: 空手右键,获得1份鱼干,钩子清空 24. 鲑鱼干挂肉钩(两条) -> 鲑鱼干挂肉钩(一条) -转换条件:[右键 进行转换,获得鲑鱼干] -机制: 空手右键,获得1份鲑鱼干,剩一条 +转换条件:[右键 进行转换,获得鱼干] +机制: 空手右键,获得1份鱼干,剩一条 ======================================== 五、挂肉钩 - 鳕鱼晾晒(单向) @@ -131,8 +131,8 @@ 机制: 计时晾干,约300秒自动变为干鳕鱼 28. 鳕鱼干挂肉钩(两条) -> 挂肉钩(空钩) -转换条件:[右键 进行转换,获得熟鳕鱼] -机制: 空手右键,获得1份熟鳕鱼,钩子清空 +转换条件:[右键 进行转换,获得鱼干] +机制: 空手右键,获得1份鱼干,钩子清空 ======================================== 六、挂肉钩 - 生鱼(挂肉钩_5/6,当前禁用)(单向) @@ -153,14 +153,14 @@ ======================================== 七、死鱼/死鱿鱼 处理 ======================================== -32. 死鲑鱼 -> 死鲑鱼(切一刀) -> 死鲑鱼(切两刀) -> 死鲑鱼(切三刀) +32. 死鲑鱼 -> 死鲑鱼(切一刀) -> 死鲑鱼(切两刀) -> 死鲑鱼(切三刀)->空 +转换条件:[手持 菜刀 右键 依次切割] +机制: 手持菜刀右键,每刀切一级,共四刀 +todo : 每刀切一级,共四刀,获得4份生鱼片 +33. 死鳕鱼 -> 死鳕鱼(切一刀) -> 死鳕鱼(切两刀)->空 转换条件:[手持 菜刀 右键 依次切割] 机制: 手持菜刀右键,每刀切一级,共三刀 - -33. 死鳕鱼 -> 死鳕鱼(切一刀) -> 死鳕鱼(切两刀) -转换条件:[手持 菜刀 右键 依次切割] -机制: 手持菜刀右键,每刀切一级,共两刀 - +todo : 每刀切一级,共三刀,获得3份生鱼片 34. 死鱿鱼 -> 死鱿鱼(切掉鱿鱼须) 转换条件:[手持 菜刀 右键 进行转换] 机制: 手持菜刀右键,切掉鱿鱼须,获得鱿鱼须 diff --git a/tuilun/汤锅转化关系.txt b/tuilun/汤锅转化关系.txt index 263764b..a18a7c2 100644 --- a/tuilun/汤锅转化关系.txt +++ b/tuilun/汤锅转化关系.txt @@ -108,9 +108,9 @@ 转换条件:[计时自动转换] 机制: 计时约60秒升一级,共三级变熟 -24. 蔬菜汤 + 瘦肉 -> 蔬菜瘦肉汤_生 -转换条件:[手持 瘦肉 右键 进行转换,消耗1个] -机制: 手持瘦肉右键,消耗1个,变为蔬菜瘦肉汤_生 +24. 蔬菜汤 + 碎肉 -> 蔬菜瘦肉汤_生 +转换条件:[手持 碎肉 右键 进行转换,消耗1个] +机制: 手持碎肉右键,消耗1个,变为蔬菜瘦肉汤_生(菜名保留,食材用碎肉替代瘦肉) 25. 蔬菜瘦肉汤_生 -> 蔬菜瘦肉汤_四分熟 -> 蔬菜瘦肉汤_八分熟 -> 蔬菜瘦肉汤_熟 转换条件:[计时自动转换] @@ -124,9 +124,9 @@ 转换条件:[计时自动转换] 机制: 计时约60秒升一级,共三级变熟 -28. 胡萝卜土豆汤 + 牛骨 -> 胡萝卜土豆牛骨汤_生 -转换条件:[手持 牛骨(食材分类) 右键 进行转换,消耗1个] -机制: 手持牛骨右键,消耗1个,变为胡萝卜土豆牛骨汤_生 +28. 胡萝卜土豆汤 + 牛腿 -> 胡萝卜土豆牛骨汤_生 +转换条件:[手持 牛腿(食材分类) 右键 进行转换,消耗1个] +机制: 手持牛腿右键,消耗1个,变为胡萝卜土豆牛骨汤_生(菜名保留,食材用牛腿替代牛骨) 29. 胡萝卜土豆牛骨汤_生 -> 胡萝卜土豆牛骨汤_四分熟 -> 胡萝卜土豆牛骨汤_八分熟 -> 胡萝卜土豆牛骨汤_熟 转换条件:[计时自动转换] @@ -142,7 +142,7 @@ 32. 胡萝卜土豆汤 + 羊排 -> 胡萝卜土豆羊排汤_生 转换条件:[手持 羊排 右键 进行转换,消耗1个] -机制: 手持羊排右键,消耗1个,变为胡萝卜土豆羊排汤_生(羊排食材后续补充) +机制: 手持羊排右键,消耗1个,变为胡萝卜土豆羊排汤_生 33. 胡萝卜土豆羊排汤_生 -> 胡萝卜土豆羊排汤_三分熟 -> 胡萝卜土豆羊排汤_七分熟 -> 胡萝卜土豆羊排汤_熟 转换条件:[计时自动转换] @@ -174,7 +174,7 @@ 40. 瘦肉蛋花汤底 + 鸡蛋 -> 瘦肉蛋花汤_生 转换条件:[手持 鸡蛋 右键 进行转换,消耗1个] -机制: 手持鸡蛋右键,消耗1个,变为瘦肉蛋花汤_生(汤底来源后续确认) +机制: 手持鸡蛋右键,消耗1个,变为瘦肉蛋花汤_生(瘦肉蛋花汤底由碎肉制成,菜名保留) 41. 瘦肉蛋花汤_生 -> 瘦肉蛋花汤_三分熟 -> 瘦肉蛋花汤_七分熟 -> 瘦肉蛋花汤_全熟 -> 瘦肉蛋花汤_熟 转换条件:[计时自动转换] @@ -210,7 +210,7 @@ 49. 汤锅(加水) + 猪蹄 -> 猪蹄汤_生 转换条件:[手持 猪蹄 右键 进行转换,消耗1个] -机制: 手持猪蹄右键,消耗1个,变为猪蹄汤_生(猪蹄食材后续补充) +机制: 手持猪蹄右键,消耗1个,变为猪蹄汤_生 50. 猪蹄汤_生 -> 猪蹄汤_三分熟 -> 猪蹄汤_七分熟 -> 猪蹄汤_全熟 -> 猪蹄汤_熟 转换条件:[计时自动转换] diff --git a/tuilun/油锅转化关系.txt b/tuilun/油锅转化关系.txt index 4c18128..db856d4 100644 --- a/tuilun/油锅转化关系.txt +++ b/tuilun/油锅转化关系.txt @@ -2,7 +2,8 @@ 【油锅】(xy_youguo) 转化关系 ======================================== 说明: -- 油锅烹饪规律: 空锅 -> 满油 -> 加食材(生) -> 半熟 -> 熟 -> 出锅成品 +- 油锅烹饪规律: 空锅 -> 满油 -> 加裹粉半成品(生) -> 半熟 -> 熟 -> 出锅成品 +- 油锅炸物需先裹面粉: 生食材 -> 裹粉半成品(乡野食材分类) -> 下油锅 - 阶段转换统一为: 计时自动转换,每级约60秒(可右键提前,具体待定) - 出锅统一为: 手持盘子右键,消耗1个,获得成品 @@ -13,41 +14,41 @@ 转换条件:[手持 食用油(油罐) 右键 进行转换,消耗1个] 机制: 手持油罐右键空锅,消耗1罐油,变为满油锅 -2. 油锅(满油) + 鸡块 -> 炸鸡块_生 -转换条件:[手持 鸡块(食材分类) 右键 进行转换,消耗1个] -机制: 手持鸡块右键,消耗1个,变为炸鸡块_生 +2. 油锅(满油) + 裹粉的鸡块 -> 炸鸡块_生 +转换条件:[手持 裹粉的鸡块(食材分类) 右键 进行转换,消耗1个] +机制: 手持裹粉的鸡块右键,消耗1个,变为炸鸡块_生 3. 炸鸡块_生 -> 炸鸡块_半熟 -> 炸鸡块_熟 转换条件:[计时自动转换] 机制: 计时约60秒升一级,共两级变熟 -4. 油锅(满油) + 猪排 -> 炸猪排_生 -转换条件:[手持 猪排 右键 进行转换,消耗1个] -机制: 手持猪排右键,消耗1个,变为炸猪排_生 +4. 油锅(满油) + 裹粉的猪肉 -> 炸猪排_生 +转换条件:[手持 裹粉的猪肉(食材分类) 右键 进行转换,消耗1个] +机制: 手持裹粉的猪肉右键,消耗1个,变为炸猪排_生 5. 炸猪排_生 -> 炸猪排_半熟 -> 炸猪排_熟 转换条件:[计时自动转换] 机制: 计时约60秒升一级,共两级变熟 -6. 油锅(满油) + 土豆 -> 炸薯条_生 -转换条件:[手持 土豆(食材分类) 右键 进行转换,消耗1个] -机制: 手持土豆右键,消耗1个,变为炸薯条_生 +6. 油锅(满油) + 裹粉的薯条 -> 炸薯条_生 +转换条件:[手持 裹粉的薯条(食材分类) 右键 进行转换,消耗1个] +机制: 手持裹粉的薯条右键,消耗1个,变为炸薯条_生 7. 炸薯条_生 -> 炸薯条_半熟 -> 炸薯条_熟 转换条件:[计时自动转换] 机制: 计时约60秒升一级,共两级变熟 -8. 油锅(满油) + 鱼块 -> 炸鱼块_生 -转换条件:[手持 鱼(食材分类) 右键 进行转换,消耗1个] -机制: 手持鱼块右键,消耗1个,变为炸鱼块_生 +8. 油锅(满油) + 裹粉的鱼 -> 炸鱼块_生 +转换条件:[手持 裹粉的鱼(食材分类) 右键 进行转换,消耗1个] +机制: 手持裹粉的鱼右键,消耗1个,变为炸鱼块_生(裹粉的鱼由生鱼片裹粉而来) 9. 炸鱼块_生 -> 炸鱼块_半熟 -> 炸鱼块_熟 转换条件:[计时自动转换] 机制: 计时约60秒升一级,共两级变熟 -10. 油锅(满油) + 天妇罗食材 -> 炸天妇罗_生 -转换条件:[手持 天妇罗食材(虾等) 右键 进行转换,消耗1个] -机制: 手持天妇罗食材右键,消耗1个,变为炸天妇罗_生 +10. 油锅(满油) + 裹粉的天妇罗 -> 炸天妇罗_生 +转换条件:[手持 裹粉的天妇罗(食材分类) 右键 进行转换,消耗1个] +机制: 手持裹粉的天妇罗右键,消耗1个,变为炸天妇罗_生(裹粉的天妇罗由龙虾裹粉而来) 11. 炸天妇罗_生 -> 炸天妇罗_熟 转换条件:[计时自动转换] diff --git a/tuilun/炒锅转化关系.txt b/tuilun/炒锅转化关系.txt index dee4bab..f2f99c1 100644 --- a/tuilun/炒锅转化关系.txt +++ b/tuilun/炒锅转化关系.txt @@ -3,7 +3,7 @@ ======================================== 说明: - 炒锅烹饪基本都需要"灶台"底座(灶台基础款/炉灶点燃态) -- 菜名即食材: 即使当前缺少某食材方块(如羊腿),转换依然按菜名写该食材,缺失的后续补充 +- 菜名即食材: 转换按菜名写该食材; 羊腿/羊里脊/羊排/牛里脊/牛腿/五花肉/猪排骨/猪蹄等肉类食材已迁入乡野食材分类 - 翻炒统一为: 手持锅铲右键,每3次升一级,冷却约1.5秒 - 出锅统一为: 手持盘子/碗右键,消耗1个,获得成品菜 @@ -130,7 +130,7 @@ 29. 炒胡萝卜_熟 + 羊腿 -> 胡萝卜羊腿_生 转换条件:[手持 羊腿 右键 进行转换,消耗1个] -机制: 手持羊腿右键,消耗1个,变为胡萝卜羊腿_生(羊腿食材后续补充) +机制: 手持羊腿右键,消耗1个,变为胡萝卜羊腿_生 30. 胡萝卜羊腿_生 -> 胡萝卜羊腿_熟 转换条件:[手持 锅铲 翻炒3次,进行转换] @@ -234,7 +234,7 @@ 55. 炒胡萝卜_熟 + 羊里脊 -> 胡萝卜炒羊里脊_生 转换条件:[手持 羊里脊 右键 进行转换,消耗1个] -机制: 手持羊里脊右键,消耗1个,变为胡萝卜炒羊里脊_生(羊里脊食材后续补充) +机制: 手持羊里脊右键,消耗1个,变为胡萝卜炒羊里脊_生 56. 胡萝卜炒羊里脊_生 -> 胡萝卜炒羊里脊_熟 转换条件:[手持 锅铲 翻炒3次,进行转换] @@ -242,7 +242,7 @@ 57. 炒胡萝卜_熟 + 羊排 -> 胡萝卜炒羊排_生 转换条件:[手持 羊排 右键 进行转换,消耗1个] -机制: 手持羊排右键,消耗1个,变为胡萝卜炒羊排_生(羊排食材后续补充) +机制: 手持羊排右键,消耗1个,变为胡萝卜炒羊排_生 58. 胡萝卜炒羊排_生 -> 胡萝卜炒羊排_熟 转换条件:[手持 锅铲 翻炒3次,进行转换] @@ -278,7 +278,7 @@ 66. 炒胡萝卜_熟 + 牛里脊 -> 胡萝卜牛里脊_生 转换条件:[手持 牛里脊 右键 进行转换,消耗1个] -机制: 手持牛里脊右键,消耗1个,变为胡萝卜牛里脊_生(牛里脊食材后续补充) +机制: 手持牛里脊右键,消耗1个,变为胡萝卜牛里脊_生 67. 胡萝卜牛里脊_生 -> 胡萝卜牛里脊_熟 转换条件:[手持 锅铲 翻炒3次,进行转换] diff --git a/tuilun/跨分类食材汇总.txt b/tuilun/跨分类食材汇总.txt index 1579961..64eb281 100644 --- a/tuilun/跨分类食材汇总.txt +++ b/tuilun/跨分类食材汇总.txt @@ -1,95 +1,66 @@ ======================================== -【跨分类食材汇总】(待补充部分) +【跨分类食材汇总】(按实现进度记录) ======================================== 说明: -- 本文汇总各分类转换关系中"用到其他分类方块/物品"的情况 -- 跨分类引用按"被引用的食材/物品 -> 来源分类 -> 在哪个分类被使用"整理 -- 具体消耗数量、投放顺序等细节在各分类txt的机制中已尽量写明,剩余待确认项见第六节 +- 本文汇总各功能分类"实际实现功能时"用到的其他分类方块/物品 +- 做到哪写到哪: 只记录【已实现】分类的跨分类引用, 新分类实现后再追加 +- 当前已实现分类: 动物养殖、烧烤 +- 2026-09-02: 从Java版乡野mod迁移一批食材/工具到基岩版(见第三节), 原"缺失食材"清单已结清 + ======================================== -一、食材类(乡野食材 xy_ingredients) +一、动物养殖 (xy_animal) ======================================== -胡萝卜: 用于 炒锅(炒胡萝卜/各菜式)、汤锅(各汤底/汤羹)、动物养殖(猪饲料) -土豆: 用于 炒锅(炒土豆/土豆炒猪肉)、汤锅(土豆汤/炖菜)、油锅(炸薯条) -辣椒: 用于 炒锅(辣椒锅底/辣子鸡丁/辣炒鲑鱼/辣椒炒牛肉)、烧烤(辣椒串) -大蒜: 用于 炒锅(加大蒜) -香菜: 用于 炒锅(香菜锅底) -碎肉/肉馅: 用于 炒锅(炒碎肉)、面食(饺子馅/包子馅)、厨具(丸子机) -蔬菜: 用于 炒锅(炒时蔬)、汤锅(蔬菜汤)、烧烤(烤蔬菜串)、面食(饺子馅/煎饼) -大米: 用于 汤锅(煮米饭)、寿司(海带加米)、面食(竹筒饭)、炒锅(蛋炒饭) -鸡蛋: 用于 炒锅(煎蛋/蛋炒饭)、汤锅(蛋花汤)、面包甜点(蛋液/蛋糕)、厨具(搅拌器)、面食(和面) -葱: 用于 炒锅(加葱)、汤锅(豆腐汤加葱花) -各类水果: 用于 乡野饮料(榨汁/冰棍/炒冰)、酒水酿造(酿造原料) +- 鸡蛋(minecraft:egg) : 鸡窝放蛋(消耗1)/取蛋(掉落对应数量) +- 小麦种子(minecraft:wheat_seeds) : 鸡饲料盆填充(消耗16个) +- 小麦(minecraft:wheat) : 饲料槽填充(消耗32个) +- 胡萝卜(minecraft:carrot) : 饲料槽填充(消耗32个) +- 水桶(minecraft:water_bucket) : 饲料槽加水(消耗水桶, 返还空桶) + → 空桶(minecraft:bucket) + ======================================== -二、肉类/鱼类(部分属死亡生物 xy_deadmob / 食材分类) +二、烧烤 (xy_barbecue) ======================================== -死牛/死猪/死羊: 用于 死亡生物(挂肉钩挂放切肉)、厨具/食材(加工) -生牛肉: 用于 炒锅(黑椒牛排等)、汤锅(牛肉汤)、烧烤(牛肉串) -生猪肉/猪排:用于 炒锅(清炒猪排等)、汤锅(猪杂汤)、油锅(炸猪排)、烧烤(烤乳猪) -羊肉: 用于 炒锅(清炒羊肉等)、汤锅(羊肉汤)、烧烤(羊肉串) -牛排骨/猪排骨:用于 炒锅(胡萝卜牛排骨/猪排骨)、汤锅(胡萝卜排骨汤) -牛腿/牛里脊/羊腿/羊里脊/羊排: 用于 炒锅(各菜式)(注:羊腿/羊里脊/羊排/牛里脊等食材方块缺失,后续补充) -牛骨: 用于 汤锅(胡萝卜土豆牛骨汤) -鸡/鸡肉: 用于 炒锅(小炒鸡肉/辣子鸡丁等)、汤锅(蘑菇炖鸡)、油锅(炸鸡块)、烧烤(烤鸡) -兔肉: 用于 炒锅(辣炒兔肉) -鳕鱼: 用于 炒锅(胡萝卜炒鳕鱼)、汤锅(鳕鱼汤/胡萝卜鳕鱼汤)、油锅(炸鱼块)、烧烤(烤鳕鱼)、死亡生物(挂鳕鱼)、寿司(鳕鱼寿司) -鲑鱼: 用于 炒锅(煎鲑鱼/胡萝卜鲑鱼等)、汤锅(鲑鱼汤等)、烧烤(烤鲑鱼)、市场(售卖盒换鲑鱼箱)、死亡生物(鲑鱼晾晒)、寿司(鲑鱼寿司) -鱿鱼: 用于 炒锅(炒鱿鱼/炒鱿鱼须)、汤锅(鱿鱼汤)、厨具(丸子机)、寿司(手握鱿鱼寿司) -螃蟹: 用于 炒锅(炒蟹) -热带鱼: 用于 寿司(热带鱼寿司) -鱼肉: 用于 汤锅(蔬菜鱼片汤)、油锅(炸鱼块) +- 打火石(minecraft:flint_and_steel): 烧烤架点火(不消耗) +- 烈焰弹(minecraft:fire_charge) : 烧烤架点火(消耗1个) +- 水桶(minecraft:water_bucket) : 烧烤架灭火(消耗水桶, 返还空桶) + → 空桶(minecraft:bucket) +- 生鸡肉(minecraft:chicken) : 手持右键方块表面 → 生成"生鸡肉(放置后)" + roastchickenplace_0(消耗1个) +- 生鸡肉(放置后)(rtdd:roastchickenplace_0): 上杆烤鸡(消耗1个) +- 死猪(rtdd:dead_pig) : 上杆烤乳猪(消耗1个) +- 鳕鱼(minecraft:cod) : 上杆烤鳕鱼(消耗1个) +- 鲑鱼(minecraft:salmon) : 上杆烤鲑鱼(消耗1个) +- 篝火(minecraft:campfire) : 支杆下方烤制底座(烤鸡/烤乳猪/烤鱼计时烤制需在下方) + ======================================== -三、面食类(面食 xy_mianshi) +三、本次新迁移食材/工具(来自Java版 乡野1.20.1-8.2) ======================================== -面团: 用于 炒锅(煎面饼/煎馍/煎饼/煎葱油饼/煎酱香饼)、厨具(丸子机)、面包甜点(胚料) -面条: 用于 炒锅(意面)、汤锅(煮面汤) -饺子: 用于 汤锅(饺子汤)、油锅(炸饺子)、面食(蒸饺子) -馍: 用于 汤锅(羊肉泡馍汤) -包子: 用于 汤锅/面包甜点(蒸笼系列) -竹筒: 用于 面食(竹筒饭) +说明: 从Java版找到并迁移到基岩版, 均已落到具体分类 + +- 工具: 菜刀(rtdd:cleaver) → 厨具分类(xy_kitchenware), 用于切肉/切鱼/切寿司等 +- 肉类(→乡野食材): 羊腿(legsleep)、羊里脊(sheeploins)、羊小排(sheepracks)、 + 牛里脊(beef_tenderloin)、牛腿肉(legcow)、五花肉(porkloins)、猪肋排(porkrib)、 + 猪蹄(ham)、碎肉(crushedmeat) +- 鱼/海鲜(→乡野食材): 鱿鱼须(rawsquidwhiskersr)、螃蟹(crab)、龙虾(lobster)、 + 生鱼片(sashimi)、鱼干(thedriedfish) +- 蔬菜/调料(→乡野食材): 豆腐(beancurd)、蒜末(crushedgarlic) +- 裹粉半成品(→乡野食材, 油锅炸物前置): 裹粉的天妇罗(oiltempura)、裹粉的鱼(oilfish)、 + 裹粉的猪肉(oilpork)、裹粉的鸡块(oil_chickennuggets)、裹粉的薯条(oilfrenchfries) + ======================================== -四、厨具类(厨具 xy_kitchenware) +四、已放弃食材(不迁移, 采用替代方案) ======================================== -盘子: 用于 炒锅(出锅装盘)、油锅(出锅)、家具(盘子架) -木碗: 用于 汤锅(盛汤) -蒸笼: 用于 面食(蒸饺子/蒸包子/竹筒饭)、面包甜点(蒸牛奶鸡蛋) -锅铲: 用于 炒锅(翻炒) -擀面杖: 用于 面食(擀面) -带油锅铲: 用于 炒锅(上油) -食用油: 用于 油锅(加油) -菜刀: 用于 死亡生物(切肉)、乡野食材(切菜)、面包甜点(切蛋糕)、面食(切面饼)、烧烤(切烤物)、寿司(切寿司) +说明: 以下食材放弃单独制作, 配方中使用替代品(菜名均保留) -======================================== -五、其他跨分类引用 -======================================== -书/附魔书(原版): 用于 家具(书柜) -唱片(原版): 用于 家具(古式唱片机) -水桶/桶(原版): 用于 家具(水槽取水)、吊锅(加水)、烧烤(灭火)、动物养殖(饲料槽水槽)、汤锅(加水)、面食(和面加水) -打火石/烈焰弹(原版):用于 厨具(炉灶点火)、烧烤(烧烤架点火)、家具(壁炉) -小麦(原版): 用于 动物养殖(饲料槽) -箭(原版): 用于 家具(箭桶) -药水(原版): 用于 药物系统(药水架) -药材: 用于 药物系统(药罐)、面包甜点(蛋糕口味) -豆腐/香菇/番茄等: 用于 炒锅(麻婆豆腐/意面)、汤锅(豆腐汤/蘑菇汤) -竹帘: 用于 寿司(卷制) - -======================================== -六、后续待确认清单(汇总) -======================================== -1. 炒锅各菜式"生->熟"翻炒次数(默认3次,部分可调整) -2. 汤锅各汤羹"生->熟"触发方式(默认计时约60秒一级) -3. 油锅"生->半熟->熟"触发方式(默认计时约60秒一级) -4. 蒸笼蒸制(饺子/包子/竹筒饭/牛奶鸡蛋)触发方式(默认计时约60秒) -5. 蛋糕/面包/布丁/舒芙蕾烘焙方式与时间(默认烤炉计时约60秒) -6. 酒水酿造酒桶升级顺序与原料(待确认) -7. 吊锅炖煮配方(后续补充) -8. 寿司卷制/切块的竹帘与菜刀操作方式(待确认) -9. 条箱/货桶放入物品机制(静态或可交互,待确认) -10. 鸡窝产蛋、饲料槽进食、粪便产生计时机制(动物养殖已给出:鸡窝低级手持鸡蛋放置/高级5x5范围产蛋,饲料消耗种子16/小麦32/胡萝卜32,计时3分钟) -11. 果树结果、水稻生长计时机制(默认计时约60秒一级,可调整) -12. 搅拌器各阶段搅打完成后的用途(待确认) -13. 药罐制药药材与配方(待确认) -14. 缺失食材方块: 羊腿/羊里脊/羊排/牛里脊/猪蹄 等按菜名写入转换,后续需补充对应食材方块 +- 牛骨 → 用牛腿替代(如"胡萝卜土豆牛骨汤"仍叫此名, 食材放牛腿) +- 瘦肉 → 用碎肉替代(如"蔬菜瘦肉汤/瘦肉蛋花汤"食材用碎肉) +- 鳕鱼块/鲑鱼块/鱼肉/鱼块 → 统一用生鱼片替代(死鱼切割产物=生鱼片) +- 虾 → 用龙虾做裹粉天妇罗的原料 +- 番茄 → 放弃(无独立番茄食材) +- 香菇 → 用原版蘑菇替代 +- 裹粉的南瓜卷 / 裹粉的鸡米花 → 放弃 +- 铁锯 → 放弃(仅保留菜刀作为刀具)