加入榨汁机 冰棍盒,炒冰盒 厨具架小bug

This commit is contained in:
wenhe committed 2026-09-29 17:14:43 +08:00
1 parent a7b56aec7d
commit 9d12baf1b2
25 files changed
+354 -227

No files matched your search

@@ -52,6 +52,9 @@ from ..siwangshengwu.service.DeadmobGeneratorService import DeadmobGeneratorServ
# ---- 钓鱼掉落: 螃蟹/龙虾(普通逻辑类, 由本分发器转发 PlayerFishingServerEvent) ----
from ..yuanbanfangzhi.service.YuanbanFishing import YuanbanFishingService
# ---- 右键摆动动画(任务二): 服务器广播给该玩家客户端 -> Swing() ----
from ...ModUtil.ServerUtil import PlayAttackToClient
# ---- 乡野自然·水稻: 踩踏耕地等下方方块变化时 清理作物+掉稻谷 ----
from ..ziran.NaturalData import RICE_BLOCKS, RICE_SEED_ITEM, RICE_CROP_ITEM
@@ -358,6 +361,7 @@ class FeatureDispatcher(BlueFoxServerSystem):
args['cancel'] = True
# 记录时间戳(带窗口), 只取消同一右键配套的放置/吃; 过期残留自动放行
self._cancelItemUse[playerId] = time.time()
PlayAttackToClient(playerId) # 任务二: 右键动作播放摆动
print "[FD-BlockUse-DONE]", "player:", playerId, "hand:", _handItem, "block:", blockName, "svc:", service.__class__.__name__, "-> cancel=True, _cancelItemUse=ts"
return
print "[FD-BlockUse-NOMATCH]", "player:", playerId, "hand:", _handItem, "block:", blockName, "-> 无匹配规则, 放行"
@@ -437,6 +441,7 @@ class FeatureDispatcher(BlueFoxServerSystem):
args['ret'] = True
# 时间戳(带窗口): itemUseOn 转换成功后, 同右手的后续 TryUse/放置也取消
self._cancelItemUse[playerId] = time.time()
PlayAttackToClient(playerId) # 任务二: 右键动作播放摆动
return
# ============================================================================
@@ -516,6 +521,7 @@ class FeatureDispatcher(BlueFoxServerSystem):
# 在客户端吞掉, 服务端不再设 _cancelItemUse(否则标记残留会吞掉玩家
# 下一次真实的 ServerItemUseOnEvent, 影响其它操作)。
service.handleTakeoutRequest(playerId, blockName, itemName, dim, (x, y, z))
PlayAttackToClient(playerId) # 任务二: 右键动作播放摆动
return
print "[FD-TakeoutRequest-NO-HANDLER]", blockName
@@ -549,6 +555,7 @@ class FeatureDispatcher(BlueFoxServerSystem):
# 因此不设 _cancelItemUse —— 否则标记残留会吞掉玩家下一次真实的 itemUseOn.
handled = service.handleItemUseOn(useOnArgs)
if handled:
PlayAttackToClient(playerId) # 任务二: 右键动作播放摆动
return
print "[FD-GaifanRequest-NO-HANDLER]", itemName
@@ -585,6 +592,7 @@ class FeatureDispatcher(BlueFoxServerSystem):
if hasattr(service, "handleItemUseOn"):
handled = service.handleItemUseOn(useOnArgs)
if handled:
PlayAttackToClient(playerId) # 任务二: 右键动作播放摆动
return
print "[FD-ItemUseOnRequest-NO-HANDLER]", itemName
@@ -618,6 +626,7 @@ class FeatureDispatcher(BlueFoxServerSystem):
if hasattr(service, "handleBlockUse"):
handled = service.handleBlockUse(useArgs)
if handled:
PlayAttackToClient(playerId) # 任务二: 右键动作播放摆动
return
print "[FD-BlockUseRequest-NO-HANDLER]", blockName
@@ -644,6 +653,7 @@ class FeatureDispatcher(BlueFoxServerSystem):
service = self.tryUseOwner.get(itemName)
if service and service.handleItemTryUse(args):
args['cancel'] = True
PlayAttackToClient(playerId) # 任务二: 手持右键动作播放摆动
# ============================================================================
# 主入口4:计时方块 tick → 按 timerOwner 路由到计时服务(持久化计时)