稻谷bug修复 提示删除
This commit is contained in:
1 parent
344fad19ac
commit
bd2ebfb154
43 files changed
+700
-846
No files matched your search
+45
-45
@@ -39,11 +39,11 @@ ARROWBARREL_RULES = [
|
||||
{"source": "rtdd:arrowbarrel_0", "item": "*arrow",
|
||||
"target": "rtdd:arrowbarrel_1", "arrowMode": "store",
|
||||
"record": "count", "maxCount": 32,
|
||||
"tip": "§a已存入箭"},
|
||||
"tip": None},
|
||||
{"source": "rtdd:arrowbarrel_1", "item": None,
|
||||
"target": "rtdd:arrowbarrel_0", "arrowMode": "retrieve",
|
||||
"record": "count",
|
||||
"tip": "§a取回了箭"},
|
||||
"tip": None},
|
||||
]
|
||||
|
||||
# ============================================================
|
||||
@@ -56,31 +56,31 @@ ARROWBARREL_RULES = [
|
||||
FLUME_RULES = [
|
||||
# 加水/取水
|
||||
{"source": "rtdd:flume_0", "item": None,
|
||||
"target": "rtdd:flume_1", "tip": "§a水槽加满了水"},
|
||||
"target": "rtdd:flume_1", "tip": None},
|
||||
{"source": "rtdd:flume_1", "item": "minecraft:bucket",
|
||||
"target": "rtdd:flume_0", "consume": 1,
|
||||
"giveItem": "minecraft:water_bucket", "tip": "§a取走了水, 水桶装满水"},
|
||||
"giveItem": "minecraft:water_bucket", "tip": None},
|
||||
# 满水空手右键 -> 直接放空(倒掉水)
|
||||
{"source": "rtdd:flume_1", "item": None,
|
||||
"target": "rtdd:flume_0", "tip": "§a水槽已放空"},
|
||||
"target": "rtdd:flume_0", "tip": None},
|
||||
# 放脏盘子(需满水)
|
||||
{"source": "rtdd:flume_1", "item": "rtdd:plate_0a",
|
||||
"target": "rtdd:flume_2", "consume": 1, "tip": "§a放入1个脏盘子"},
|
||||
"target": "rtdd:flume_2", "consume": 1, "tip": None},
|
||||
{"source": "rtdd:flume_2", "item": "rtdd:plate_0a",
|
||||
"target": "rtdd:flume_3", "consume": 1, "tip": "§a放入1个脏盘子"},
|
||||
"target": "rtdd:flume_3", "consume": 1, "tip": None},
|
||||
{"source": "rtdd:flume_3", "item": "rtdd:plate_0a",
|
||||
"target": "rtdd:flume_4", "consume": 1, "tip": "§a放入1个脏盘子"},
|
||||
"target": "rtdd:flume_4", "consume": 1, "tip": None},
|
||||
{"source": "rtdd:flume_4", "item": "rtdd:plate_0a",
|
||||
"target": "rtdd:flume_5", "consume": 1, "tip": "§a放入1个脏盘子"},
|
||||
"target": "rtdd:flume_5", "consume": 1, "tip": None},
|
||||
# 取脏盘子(洗好取出的是 盘子 rtdd:plate_0)
|
||||
{"source": "rtdd:flume_5", "item": None,
|
||||
"target": "rtdd:flume_4", "giveItem": "rtdd:plate_0", "tip": "§a取回1个盘子"},
|
||||
"target": "rtdd:flume_4", "giveItem": "rtdd:plate_0", "tip": None},
|
||||
{"source": "rtdd:flume_4", "item": None,
|
||||
"target": "rtdd:flume_3", "giveItem": "rtdd:plate_0", "tip": "§a取回1个盘子"},
|
||||
"target": "rtdd:flume_3", "giveItem": "rtdd:plate_0", "tip": None},
|
||||
{"source": "rtdd:flume_3", "item": None,
|
||||
"target": "rtdd:flume_2", "giveItem": "rtdd:plate_0", "tip": "§a取回1个盘子"},
|
||||
"target": "rtdd:flume_2", "giveItem": "rtdd:plate_0", "tip": None},
|
||||
{"source": "rtdd:flume_2", "item": None,
|
||||
"target": "rtdd:flume_0", "giveItem": "rtdd:plate_0", "tip": "§a取回最后1个盘子"},
|
||||
"target": "rtdd:flume_0", "giveItem": "rtdd:plate_0", "tip": None},
|
||||
]
|
||||
|
||||
# ============================================================
|
||||
@@ -90,25 +90,25 @@ FLUME_RULES = [
|
||||
# ============================================================
|
||||
TRAYRACKS_RULES = [
|
||||
{"source": "rtdd:trayracks_1", "item": "rtdd:plate_0",
|
||||
"target": "rtdd:trayracks_2", "consume": 1, "tip": "§a放上1个盘子"},
|
||||
"target": "rtdd:trayracks_2", "consume": 1, "tip": None},
|
||||
{"source": "rtdd:trayracks_2", "item": "rtdd:plate_0",
|
||||
"target": "rtdd:trayracks_3", "consume": 1, "tip": "§a放上1个盘子"},
|
||||
"target": "rtdd:trayracks_3", "consume": 1, "tip": None},
|
||||
{"source": "rtdd:trayracks_3", "item": "rtdd:plate_0",
|
||||
"target": "rtdd:trayracks_4", "consume": 1, "tip": "§a放上1个盘子"},
|
||||
"target": "rtdd:trayracks_4", "consume": 1, "tip": None},
|
||||
{"source": "rtdd:trayracks_4", "item": "rtdd:plate_0",
|
||||
"target": "rtdd:trayracks_5", "consume": 1, "tip": "§a放上1个盘子"},
|
||||
"target": "rtdd:trayracks_5", "consume": 1, "tip": None},
|
||||
{"source": "rtdd:trayracks_5", "item": "rtdd:plate_0",
|
||||
"target": "rtdd:trayracks_6", "consume": 1, "tip": "§a放上1个盘子"},
|
||||
"target": "rtdd:trayracks_6", "consume": 1, "tip": None},
|
||||
{"source": "rtdd:trayracks_6", "item": None,
|
||||
"target": "rtdd:trayracks_5", "giveItem": "rtdd:plate_0", "tip": "§a取回1个盘子"},
|
||||
"target": "rtdd:trayracks_5", "giveItem": "rtdd:plate_0", "tip": None},
|
||||
{"source": "rtdd:trayracks_5", "item": None,
|
||||
"target": "rtdd:trayracks_4", "giveItem": "rtdd:plate_0", "tip": "§a取回1个盘子"},
|
||||
"target": "rtdd:trayracks_4", "giveItem": "rtdd:plate_0", "tip": None},
|
||||
{"source": "rtdd:trayracks_4", "item": None,
|
||||
"target": "rtdd:trayracks_3", "giveItem": "rtdd:plate_0", "tip": "§a取回1个盘子"},
|
||||
"target": "rtdd:trayracks_3", "giveItem": "rtdd:plate_0", "tip": None},
|
||||
{"source": "rtdd:trayracks_3", "item": None,
|
||||
"target": "rtdd:trayracks_2", "giveItem": "rtdd:plate_0", "tip": "§a取回1个盘子"},
|
||||
"target": "rtdd:trayracks_2", "giveItem": "rtdd:plate_0", "tip": None},
|
||||
{"source": "rtdd:trayracks_2", "item": None,
|
||||
"target": "rtdd:trayracks_1", "giveItem": "rtdd:plate_0", "tip": "§a取回1个盘子"},
|
||||
"target": "rtdd:trayracks_1", "giveItem": "rtdd:plate_0", "tip": None},
|
||||
]
|
||||
|
||||
# ============================================================
|
||||
@@ -118,22 +118,22 @@ TRAYRACKS_RULES = [
|
||||
# ============================================================
|
||||
CUPBOARD_RULES = [
|
||||
{"source": "rtdd:cupboard_0", "item": "rtdd:bowlasoup",
|
||||
"target": "rtdd:cupboard_1", "consume": 1, "tip": "§a放入1个木碗"},
|
||||
"target": "rtdd:cupboard_1", "consume": 1, "tip": None},
|
||||
{"source": "rtdd:cupboard_1", "item": "rtdd:bowlasoup",
|
||||
"target": "rtdd:cupboard_2", "consume": 1, "tip": "§a放入1个木碗"},
|
||||
"target": "rtdd:cupboard_2", "consume": 1, "tip": None},
|
||||
{"source": "rtdd:cupboard_2", "item": "rtdd:bowlasoup",
|
||||
"target": "rtdd:cupboard_3", "consume": 1, "tip": "§a放入1个木碗"},
|
||||
"target": "rtdd:cupboard_3", "consume": 1, "tip": None},
|
||||
{"source": "rtdd:cupboard_3", "item": "rtdd:bowlasoup",
|
||||
"tip": "§c碗柜已满!"},
|
||||
{"source": "rtdd:cupboard_3", "item": None,
|
||||
"target": "rtdd:cupboard_2", "dropItem": [{"name": "rtdd:bowlasoup", "count": 1}],
|
||||
"tip": "§a取回1个木碗"},
|
||||
"tip": None},
|
||||
{"source": "rtdd:cupboard_2", "item": None,
|
||||
"target": "rtdd:cupboard_1", "dropItem": [{"name": "rtdd:bowlasoup", "count": 1}],
|
||||
"tip": "§a取回1个木碗"},
|
||||
"tip": None},
|
||||
{"source": "rtdd:cupboard_1", "item": None,
|
||||
"target": "rtdd:cupboard_0", "dropItem": [{"name": "rtdd:bowlasoup", "count": 1}],
|
||||
"tip": "§a取回最后1个木碗"},
|
||||
"tip": None},
|
||||
]
|
||||
|
||||
# ============================================================
|
||||
@@ -171,19 +171,19 @@ for _i in range(len(_BOOKCASE_CHAIN) - 1):
|
||||
BOOKCASE_RULES.append({
|
||||
"source": _src, "item": "minecraft:book", "target": _dst,
|
||||
"consume": 1, "record": "stack", "maxCount": 13,
|
||||
"tip": "§a放入1本书",
|
||||
"tip": None,
|
||||
})
|
||||
BOOKCASE_RULES.append({
|
||||
"source": _src, "item": "minecraft:enchanted_book", "target": _dst,
|
||||
"consume": 1, "record": "stack", "maxCount": 13,
|
||||
"tip": "§a放入1本附魔书",
|
||||
"tip": None,
|
||||
})
|
||||
# 取回: 第 i 级 -> 第 i-1 级, 空手, 后放先取
|
||||
for _i in range(len(_BOOKCASE_CHAIN) - 1, 0, -1):
|
||||
_src, _dst = _BOOKCASE_CHAIN[_i], _BOOKCASE_CHAIN[_i - 1]
|
||||
BOOKCASE_RULES.append({
|
||||
"source": _src, "item": None, "target": _dst,
|
||||
"record": "stack", "tip": "§a取回了书",
|
||||
"record": "stack", "tip": None,
|
||||
})
|
||||
|
||||
# ============================================================
|
||||
@@ -208,14 +208,14 @@ for _i in range(len(_POTIONRACK_CHAIN) - 1):
|
||||
POTIONRACK_RULES.append({
|
||||
"source": _src, "item": "*potion", "target": _dst,
|
||||
"consume": 1, "record": "stack", "maxCount": 3,
|
||||
"tip": "§a放入1瓶药水",
|
||||
"tip": None,
|
||||
})
|
||||
# 取回: 第 i 级 -> 第 i-1 级, 空手, 后放先取
|
||||
for _i in range(len(_POTIONRACK_CHAIN) - 1, 0, -1):
|
||||
_src, _dst = _POTIONRACK_CHAIN[_i], _POTIONRACK_CHAIN[_i - 1]
|
||||
POTIONRACK_RULES.append({
|
||||
"source": _src, "item": None, "target": _dst,
|
||||
"record": "stack", "tip": "§a取回了1瓶药水",
|
||||
"record": "stack", "tip": None,
|
||||
})
|
||||
# 满架: 手持药水右键三瓶满的药水架 -> 提示已满, 拦截默认行为(防止误喝药水)
|
||||
POTIONRACK_RULES.append({
|
||||
@@ -292,10 +292,10 @@ KITCHENRACK_BLOCK_ITEMS = {
|
||||
RECORDPLAYER_RULES = [
|
||||
{"source": "rtdd:b_108", "item": "*music_disc",
|
||||
"target": "rtdd:b_109", "consume": 1, "discPut": True,
|
||||
"tip": "§a放入了唱片"},
|
||||
"tip": None},
|
||||
{"source": "rtdd:b_109", "item": None,
|
||||
"target": "rtdd:b_108", "discGet": True,
|
||||
"tip": "§a取回了唱片"},
|
||||
"tip": None},
|
||||
]
|
||||
|
||||
# ============================================================
|
||||
@@ -306,17 +306,17 @@ RECORDPLAYER_RULES = [
|
||||
# ============================================================
|
||||
TRASHBIN_RULES = [
|
||||
{"source": "rtdd:storage_buckets", "item": None,
|
||||
"target": "rtdd:rubbish_bin_2", "tip": "§a垃圾桶已打开"},
|
||||
"target": "rtdd:rubbish_bin_2", "tip": None},
|
||||
{"source": "rtdd:storage_buckets", "item": "*any",
|
||||
"target": "rtdd:rubbish_bin_2", "tip": "§a垃圾桶已打开"},
|
||||
"target": "rtdd:rubbish_bin_2", "tip": None},
|
||||
{"source": "rtdd:rubbish_bin_2", "item": None,
|
||||
"target": "rtdd:storage_buckets", "tip": "§a垃圾桶已关闭"},
|
||||
"target": "rtdd:storage_buckets", "tip": None},
|
||||
{"source": "rtdd:rubbish_bin_2", "item": "*any",
|
||||
"target": "rtdd:b_160", "clearHand": True, "tip": "§a已丢入垃圾桶"},
|
||||
"target": "rtdd:b_160", "clearHand": True, "tip": None},
|
||||
{"source": "rtdd:b_160", "item": None,
|
||||
"target": "rtdd:storage_buckets", "tip": "§a垃圾桶已关闭"},
|
||||
"target": "rtdd:storage_buckets", "tip": None},
|
||||
{"source": "rtdd:b_160", "item": "*any",
|
||||
"target": "rtdd:storage_buckets", "tip": "§a垃圾桶已关闭"},
|
||||
"target": "rtdd:storage_buckets", "tip": None},
|
||||
]
|
||||
|
||||
# ============================================================
|
||||
@@ -326,11 +326,11 @@ TRASHBIN_RULES = [
|
||||
# ============================================================
|
||||
FIREPLACE_RULES = [
|
||||
{"source": "rtdd:b_88", "item": "rtdd:b_15",
|
||||
"target": "rtdd:b_89", "consume": 4, "tip": "§a壁炉加好了柴火"},
|
||||
"target": "rtdd:b_89", "consume": 4, "tip": None},
|
||||
{"source": "rtdd:b_89", "item": "minecraft:flint_and_steel",
|
||||
"target": "rtdd:b_90", "tip": "§a壁炉点燃了"},
|
||||
"target": "rtdd:b_90", "tip": None},
|
||||
{"source": "rtdd:b_89", "item": "minecraft:fire_charge",
|
||||
"target": "rtdd:b_90", "consume": 1, "tip": "§a壁炉点燃了"},
|
||||
"target": "rtdd:b_90", "consume": 1, "tip": None},
|
||||
]
|
||||
|
||||
# ============================================================
|
||||
|
||||
+13
-22
@@ -317,10 +317,6 @@ class FurnitureService(BlueFoxServerSystem):
|
||||
# 保存记录到新方块(延迟兜底)
|
||||
self._saveRecordDelayed(pos, dim, record)
|
||||
|
||||
if recipe.get("tip"):
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a存入了 %d 只箭 (共%d/32)" % (storeCount, record["count"]))
|
||||
|
||||
elif mode == "retrieve":
|
||||
# ---- 取箭 ----
|
||||
record = self._loadRecord(pos, dim)
|
||||
@@ -330,9 +326,11 @@ class FurnitureService(BlueFoxServerSystem):
|
||||
retCount = record["count"]
|
||||
retItemName = record["itemName"]
|
||||
retAux = record.get("aux", 0)
|
||||
retUserData = record.get("userData")
|
||||
|
||||
# 掉落物形式返回箭(根因C)
|
||||
self._dropItemDict(dim, pos, {"itemName": retItemName, "count": retCount, "auxValue": retAux})
|
||||
# 掉落物形式返回箭(根因C); 药水箭带 userData 还原药水效果
|
||||
self._dropItemDict(dim, pos, {"itemName": retItemName, "count": retCount,
|
||||
"aux": retAux, "userData": retUserData})
|
||||
|
||||
# 替换方块
|
||||
if recipe.get("target"):
|
||||
@@ -341,10 +339,6 @@ class FurnitureService(BlueFoxServerSystem):
|
||||
# 清空记录
|
||||
self._clearRecord(pos, dim)
|
||||
|
||||
if recipe.get("tip"):
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a取回了 %d 只箭" % retCount)
|
||||
|
||||
# ============================================================================
|
||||
# 四、厨具架通用逻辑(组合由 stack 记录计算, 与放入顺序无关, 取回后放先取)
|
||||
# ============================================================================
|
||||
@@ -382,7 +376,6 @@ class FurnitureService(BlueFoxServerSystem):
|
||||
self._saveRecordDelayed(pos, dim, {"stack": self._namesToObjs(stackNames)})
|
||||
else:
|
||||
self._clearRecord(pos, dim)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a取回了厨具")
|
||||
return
|
||||
|
||||
# ---- 放入: 手持厨具 ----
|
||||
@@ -402,7 +395,6 @@ class FurnitureService(BlueFoxServerSystem):
|
||||
stackNames.append(itemName)
|
||||
self.replaceBlock(pos, dim, target, playerId)
|
||||
self._saveRecordDelayed(pos, dim, {"stack": self._namesToObjs(stackNames)})
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a放上了厨具")
|
||||
|
||||
def _rackTarget(self, itemNames):
|
||||
"""根据厨具物品名列表计算厨具架目标方块(0件=空, 1件=单件, 2件=组合, 顺序无关)"""
|
||||
@@ -488,10 +480,6 @@ class FurnitureService(BlueFoxServerSystem):
|
||||
self._dropItemDict(dim, pos,
|
||||
{"itemName": _gItem, "count": recipe.get("giveCount", 1), "auxValue": 0})
|
||||
|
||||
# ---- 转换成功提示 ----
|
||||
if recipe.get("tip"):
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, recipe["tip"])
|
||||
|
||||
# ============================================================================
|
||||
# 五、方块记录:count/stack 读写(箭桶/书柜, 字段 rtdd_sw*)
|
||||
# ============================================================================
|
||||
@@ -669,13 +657,16 @@ class FurnitureService(BlueFoxServerSystem):
|
||||
pass
|
||||
|
||||
def _dropItemDict(self, dim, pos, itemDict):
|
||||
"""以掉落物形式生成一个物品(唱片取回)"""
|
||||
"""以掉落物形式生成一个物品(唱片取回 / 箭桶取回等)"""
|
||||
try:
|
||||
self.CreateEngineItemEntity(
|
||||
{"itemName": itemDict["itemName"],
|
||||
"count": 1,
|
||||
"auxValue": itemDict.get("aux", 0)},
|
||||
dim, (pos[0], pos[1] + 0.5, pos[2]))
|
||||
outDict = {"itemName": itemDict["itemName"],
|
||||
"count": itemDict.get("count", 1),
|
||||
# 兼容两种 key: 调用处既有用 aux 也有用 auxValue
|
||||
"auxValue": itemDict.get("aux", itemDict.get("auxValue", 0))}
|
||||
# 药水箭等带 userData(item额外数据, 如药水NBT)的物品: 一并重建到掉落物
|
||||
if itemDict.get("userData"):
|
||||
outDict["userData"] = itemDict["userData"]
|
||||
self.CreateEngineItemEntity(outDict, dim, (pos[0], pos[1] + 0.5, pos[2]))
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
|
||||
Reference in new issue
Block a user