右键 改5

This commit is contained in:
wenhe committed 2026-09-22 13:52:54 +08:00
1 parent 61f54b581d
commit 0f83720cb8
2 files changed
+27 -102

No files matched your search

@@ -241,9 +241,18 @@ class FeatureDispatcher(BlueFoxServerSystem):
取消"使用物品于方块"的字段是 ret(不是 cancel),官方要求双端设置才能
真正取消默认行为。本分发器已在服务端设 ret=True。
"""
playerId = args.get("playerId") or args.get("entityId")
# 【关键】同一右键动作会同时触发 ServerBlockUseEvent(盛出/转换, 已由 OnBlockUse
# 处理并设置 _cancelItemUse) 和 ServerItemUseOnEvent(手持方块物品的放置前摇)。
# 若前一帧 OnBlockUse 已成功处理(盛出掉落/方块转换), 这里必须消费标记并
# ret=True 取消放置, 否则"盛出了成品"却又"把手持的木碗/盘子放了出来"。
# (与 OnItemTryUse 消费标记取消"吃/喝"是同一模式。)
if self._cancelItemUse.pop(playerId, False):
args['ret'] = True
return
itemName = args.get("itemName")
services = self.itemUseOnAll.get(itemName)
playerId = args.get("playerId") or args.get("entityId")
# 被点方块(用于去重: 该方块归哪些右键服务管辖)
clickedName = None
try: