From 1f329f8b4cb81c3d5aa76f967f6bfc2a32d12a59 Mon Sep 17 00:00:00 2001 From: wenhe <1046926120@qq.com> Date: Wed, 2 Sep 2026 19:42:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=90=AC=E8=BF=90=E4=BA=86=E5=8E=9F=E7=89=88?= =?UTF-8?q?=E9=A3=9F=E6=9D=90=20=E6=AD=BB=E4=BA=A1=E7=94=9F=E7=89=A9=20?= =?UTF-8?q?=E6=89=8B=E5=8A=9E=20=E5=8A=9F=E8=83=BD=E5=AE=9E=E7=8E=B0=20?= =?UTF-8?q?=E6=97=A0bug=20(=E5=8F=AF=E7=94=A8=E7=89=88=E6=9C=AC)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xiangyemod/siwangshengwu/DeadmobData.py | 8 +++++ .../siwangshengwu/service/DeadmobService.py | 29 +++++++++++++++++- .../service/DeadmobTimerService.py | 12 ++++++-- .../netease_items_res/rtdd_grape.json | 11 +++++++ .../netease_items_res/rtdd_orange.json | 11 +++++++ .../netease_items_res/rtdd_peach.json | 11 +++++++ .../textures/items/grape.png | Bin 0 -> 3285 bytes resource_pack_Are13Lvd/textures/items/ju.png | Bin 0 -> 2076 bytes .../textures/items/taozi1.png | Bin 0 -> 2322 bytes tuilun/{ => ok}/手办转化关系.txt | 0 10 files changed, 78 insertions(+), 4 deletions(-) create mode 100644 resource_pack_Are13Lvd/netease_items_res/rtdd_grape.json create mode 100644 resource_pack_Are13Lvd/netease_items_res/rtdd_orange.json create mode 100644 resource_pack_Are13Lvd/netease_items_res/rtdd_peach.json create mode 100644 resource_pack_Are13Lvd/textures/items/grape.png create mode 100644 resource_pack_Are13Lvd/textures/items/ju.png create mode 100644 resource_pack_Are13Lvd/textures/items/taozi1.png rename tuilun/{ => ok}/手办转化关系.txt (100%) diff --git a/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/siwangshengwu/DeadmobData.py b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/siwangshengwu/DeadmobData.py index 8e0f672..07e7079 100644 --- a/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/siwangshengwu/DeadmobData.py +++ b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/siwangshengwu/DeadmobData.py @@ -458,3 +458,11 @@ DEADMOB_SWITCHES = [ "giveItem": None, }, ] + +# 晾晒计时源方块(挂上鱼后变成这些方块, tick 自动开始晾干): +# 用于挂鱼时记录玩家, 晾干完成时把 doneTip 发给该玩家。 +DRY_SOURCE_BLOCKS = { + "rtdd:hang_meat_hooks_1", + "rtdd:hang_meat_hooks_2", + "rtdd:meathookcod_2", +} diff --git a/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/siwangshengwu/service/DeadmobService.py b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/siwangshengwu/service/DeadmobService.py index b9d1eb8..5aad921 100644 --- a/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/siwangshengwu/service/DeadmobService.py +++ b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/siwangshengwu/service/DeadmobService.py @@ -41,8 +41,11 @@ comp = serverApi.GetEngineCompFactory() # 组件工厂 from ....BlueFoxTools.SpecialFunciton.BlueFoxSystem import BlueFoxServerSystem from ....BlueFoxTools.ToolsConfig import LevelId +# ---- 方块实体数据组件(记录挂鱼玩家, 晾干完成时通知) ---- +blockEntityDataComp = comp.CreateBlockEntityData(LevelId) + # ---- 只导入死亡生物自己的数据库 ---- -from ..DeadmobData import DEADMOB_SWITCHES +from ..DeadmobData import DEADMOB_SWITCHES, DRY_SOURCE_BLOCKS # ---- 统一分发器 ---- from ...service.FeatureDispatcher import FeatureDispatcher @@ -173,11 +176,35 @@ class DeadmobService(BlueFoxServerSystem): # ---- 替换方块 ---- if recipe.get("target"): self.replaceBlock(pos, dim, recipe["target"], playerId) + # 挂鱼后目标变成"晾晒计时源" → 记录挂鱼玩家, 晾干完成时通知该玩家 + if recipe.get("target") in DRY_SOURCE_BLOCKS: + self.recordDryingPlayer(pos, dim, playerId) # ---- 转换成功提示 ---- if recipe.get("tip"): comp.CreateMsg(playerId).NotifyOneMessage(playerId, recipe["tip"]) + # ============================================================================ + # 四、工具方法:记录晾晒玩家(挂鱼时写入方块实体, 供计时完成通知) + # ============================================================================ + + def recordDryingPlayer(self, pos, dim, playerId): + """挂鱼后延迟0.1秒把玩家写入新方块实体数据, 晾干完成时通知该玩家。 + SetBlockNew 后新方块 block entity 需要初始化时间, 立即写可能失败。""" + try: + comp.CreateGame(LevelId).AddTimer(0.1, self._writeDryingPlayer, pos, dim, playerId) + except Exception: + pass + + def _writeDryingPlayer(self, pos, dim, playerId): + """延迟写回调:把玩家写入方块实体数据的 rtdd_tp 字段""" + try: + data = blockEntityDataComp.GetBlockEntityData(dim, pos) + if data is not None: + data["rtdd_tp"] = playerId + except Exception: + pass + # ============================================================================ # 四、工具方法:获取玩家主手物品 # ============================================================================ diff --git a/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/siwangshengwu/service/DeadmobTimerService.py b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/siwangshengwu/service/DeadmobTimerService.py index cc7f963..97626ef 100644 --- a/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/siwangshengwu/service/DeadmobTimerService.py +++ b/behavior_pack_v8jz0zSR/Script_NeteaseModousIY5aSF/xiangyemod/siwangshengwu/service/DeadmobTimerService.py @@ -147,7 +147,6 @@ class DeadmobTimerService(BlueFoxServerSystem): # 鱼晾干 autoStart=True:挂上后自动补写计时 if recipe.get("autoStart", True): self._writeTimerData(dim, pos, recipe, None) - print "[Deadmob-Tick-Start]", blockName, pos return tstart = blockData["rtdd_tstart"] @@ -172,7 +171,6 @@ class DeadmobTimerService(BlueFoxServerSystem): return # 替换方块 self.replaceBlock(pos, dim, recipe["target"], None) - print "[Deadmob-Tick-Finish]", recipe["source"], "->", recipe["target"], pos nextRecipe = self.deadmobTimers.get(recipe["target"]) if nextRecipe: # 下一级计时(换新的开始时间戳) @@ -200,7 +198,15 @@ class DeadmobTimerService(BlueFoxServerSystem): blockData["rtdd_tid"] = recipe["source"] blockData["rtdd_tstart"] = now blockData["rtdd_tdur"] = recipe.get("time", 300) - blockData["rtdd_tp"] = playerId if playerId else "" + # 挂鱼时 DeadmobService 已把玩家写进 rtdd_tp;这里没传玩家则保留, + # 保证晾干完成能通知到挂鱼的玩家(创造直接放没有玩家, 不提示) + if playerId: + blockData["rtdd_tp"] = playerId + else: + try: + _ = blockData["rtdd_tp"] + except Exception: + blockData["rtdd_tp"] = "" except Exception: pass diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_grape.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_grape.json new file mode 100644 index 0000000..075e548 --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_grape.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:grape" + }, + "components": { + "minecraft:icon": "grape" + } + } +} diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_orange.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_orange.json new file mode 100644 index 0000000..acfbe94 --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_orange.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:orange" + }, + "components": { + "minecraft:icon": "orange" + } + } +} diff --git a/resource_pack_Are13Lvd/netease_items_res/rtdd_peach.json b/resource_pack_Are13Lvd/netease_items_res/rtdd_peach.json new file mode 100644 index 0000000..1ed846e --- /dev/null +++ b/resource_pack_Are13Lvd/netease_items_res/rtdd_peach.json @@ -0,0 +1,11 @@ +{ + "format_version": "1.10", + "minecraft:item": { + "description": { + "identifier": "rtdd:peach" + }, + "components": { + "minecraft:icon": "peach" + } + } +} diff --git a/resource_pack_Are13Lvd/textures/items/grape.png b/resource_pack_Are13Lvd/textures/items/grape.png new file mode 100644 index 0000000000000000000000000000000000000000..88f0a08160d0c0a3e5bb2d1e0059c5daef2bfcf3 GIT binary patch literal 3285 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 TTbp9c00000NkvXXu0mjf=44FF literal 0 HcmV?d00001 diff --git a/resource_pack_Are13Lvd/textures/items/ju.png b/resource_pack_Are13Lvd/textures/items/ju.png new file mode 100644 index 0000000000000000000000000000000000000000..4afac11b4322422137e6c3ce6a78e47bbc5ef311 GIT binary patch literal 2076 zcmbVN4Q$j@9Ph>e9ZZ-b3>Jh^W?(?CANSe93Aek09qz_HE@MkvX0Ls>mEE7oXR3>$PxlF5!jTEC5i?UP@IS(^5yI8c8+gileVw#{oe2Y z`+vNDU(3x|n3R~7h#*LkE6b4&-($7=i4pKQ<;raizMc$b6)OlbDn+~Fko6lTAjt4O z(Nm-rxwBbb4(K>R_5xiv5QJz1nL95W=RhzWo>~3RY~1(M`I8c2F*6 z)rCMoU52|hO8u^?&-ep#_{ zRSmKPQBzZ+tI_M^P#Hln3`3AKLDM)y;7YBea$#IjrVTPUfWn8wpeo7|sxfk2xk|NS zQ0agRfnbbQQlepk0VBd(kf3y==28SG@G)GlD&&tC7kC2rK>$dq0{@JC>cXG00*Z6D+aTs$4LWDQ688z+RW1AEYiY~46M;~2Naf!z^U9L!2-|vI^U6P`55)WJsD+Yt36Ged)0ANVHk-`~< zv*09WFyda0(c?bKNArwrEmF<5^#LKxK5~7tu)ZupF-)3M>gQ##Dl~uT=m1HKVB*aG~FxxuB!b%(xYMF%Q>kGzz$1b znlpsfiw2TH+?}t;+K|3A2#3v38^*dY{D}2&AVKO7?9vySrd~ymxZ^H|&0|^JvUZM~ zVjI`E|DBSZ=1$Yb}i|~Gbc8`g1OVvHfOEcduUpI zeM85=c1v;F&L6%Qx2C7^(y=A$y@vit?=4{_Q|#k?%Wwa3o>qT8v1G@$ z+3_5ZEU_zYZP%{g$8T@>qyKpG_WA1% zZkqb_2y9qszj5QR($kYucYfHoGSjxKCHu;Pt)||dmO}l8ePchlp4wE1W}Zr^uNLFy z0`79d$mXZUoV!%;QDNK7N$JS&@V4`nm($y?_GGm0Hh=j~t33H<0jOQ*Y%%l cyLe+t>rbcC&K@XTsQtfP&K$>%%opqb1#R!n&;S4c literal 0 HcmV?d00001 diff --git a/resource_pack_Are13Lvd/textures/items/taozi1.png b/resource_pack_Are13Lvd/textures/items/taozi1.png new file mode 100644 index 0000000000000000000000000000000000000000..538e469add61e7b6f11ca12d19c1c32fb0fd4782 GIT binary patch literal 2322 zcmb_e4Nw$S9A8wxP(XxHD<`*gQWE#}<_@q(ab`}6V+bso#hUL7aM4pCR-^#e2nWn@+PIlf%fV29|Ed?uu;xdnkG!GtU{SaGZ0 zEV`w<8bvIrDYWx7@t4v6Umj&%$H-^9=h*oYwvV#HP zGOGgSI>Ja%G(8h0aT3Sybd11Jl4NlsYtX~t9|EE&f|D(_%n8Q= zPbS2zX?_;N0)c=opx4QY3nLhY!Eh2INfaPZwc4j~Rj5y$I>=xVRbG+&nk4(+AS36H zD>M@Vln$ie^+#xZYPd|GU|1FB#|RxBOeq8u_z2Elp?E^U1s)SUqF3~3D!>vEtluqb zvg(%aLLC{tEdVI3)f$O0tQM~~5<=B-DnT0If((mR?bUt}D;8C`LgB@nN+5G;FdIK> zRzyyd6}v2Z1{caUC>bV69S)~1lzf65P@fz!L9}q1XhOiM=~0|Q3BnFmjigwTOv7mw z#|NNRS&*F7cR(3Cj2HGq%Ltst-4`tItW#FJ97tI5axM|``&q;YV*MdmAl76{HC*bRcr1CD>>(E`aE^#%eZ zI0KGy4#36yis7tLALpd1U4k+8Oj<|B>+Z-rWi_ah-kWA??9b6Grf1y1&0GxACS50RIW=mT|9z$<5I>#arzin^I^$+pvVJL_A@ zONvsCX7xVtQ^$cFrFmD^&PkCjbULgbuc;l?X&alj_`TZFQPa=PD=h4vUJx6blyo&U zI(y{?TgrzGt+O^v^Ir3;mc}R7_rBV8VoiL$zgyS4?N8ICt{dA&>=GHsTmp^;$M%u>XUSCvdVoP^N{9|&%ioyk(pV<_Mu2;+IJ}axc**)Qi zdFsU?$Jz;?`{=oIZ2@KMNqBE!*NB(TH1_mgKDBhY?#6FR8rxrcG3gWqH?G*#@U-iC zE3&zAL8g6f|A^9GY!3BoYtypdqtMsWp@Z&8RJ_!5u$?=! z%y#VX7rUCzS0*05l>9K;w`5%R+goa1d8xIj=*Xnv@`mqF_rBPycbZeaO_-rfUhL^x z-&(ytx+9KGSUGS1L0fEH%t~!^j9-baocjW_H6iBov?E1dC4W>hxf5!6lKxNleLtRiv(Zv8aoM|jc2}O+exc^ewgD^Rc~(nf|{JZkr{^${jfLV SeeiJuLHRj_mff?Tul*ZvJ1X!1 literal 0 HcmV?d00001 diff --git a/tuilun/手办转化关系.txt b/tuilun/ok/手办转化关系.txt similarity index 100% rename from tuilun/手办转化关系.txt rename to tuilun/ok/手办转化关系.txt