石磨掉落

This commit is contained in:
wenhe committed 2026-09-22 16:49:55 +08:00
1 parent 5841e7eea3
commit 6caaf09632
5 files changed
+123 -90

No files matched your search

@@ -528,6 +528,32 @@ class ChujuService(BlueFoxServerSystem):
# 五、石磨(加黄豆 -> 研磨旋转 -> 玻璃罐取油罐)
# ============================================================================
def handleDestroy(self, args):
"""
石磨被左键打碎:
- 已放入黄豆(rtdd_mill>=0)的 → 额外掉落16个黄豆(石磨本体仍正常碎裂掉落)
- 空石磨 → 不掉黄豆,交还默认破坏
返回 False:不取消默认破坏(保证石磨方块本身正常掉落)。
"""
blockName = args.get("fullName") or args.get("blockName")
if blockName != "rtdd:stonemill":
return False
playerId = args.get("playerId")
x, y, z = args.get("x"), args.get("y"), args.get("z")
dim = comp.CreateDimension(playerId).GetEntityDimensionId()
# 读取研磨进度;None 或 <0(已清豆/-1) = 空石磨
prog = self._readMill((x, y, z), dim)
if prog is None or prog < 0:
return False
# 有黄豆:额外掉落16个(石磨本体由默认破坏掉落)
try:
self.CreateEngineItemEntity(
{"itemName": SOYBEAN_ITEM, "count": SOYBEAN_COUNT, "auxValue": 0},
dim, (x, y + 0.5, z))
except Exception:
pass
return False
def _handleStonemill(self, playerId, pos, dim, itemDict, itemName, key):
prog = self._readMill(pos, dim) # None=空, 0~3=研磨中, 4=完成