稻谷bug修复 提示删除
This commit is contained in:
1 parent
344fad19ac
commit
bd2ebfb154
43 files changed
+700
-846
No files matched your search
@@ -34,11 +34,11 @@ ChujuService / ChujuTimerService 读取,FeatureDispatcher 通过方块名/物
|
||||
# ============================================================================
|
||||
STOVE_RULES = [
|
||||
{"source": "rtdd:stove", "item": "rtdd:b_15",
|
||||
"target": "rtdd:stove_1", "consume": 4, "tip": "§a炉灶加好了木条"},
|
||||
"target": "rtdd:stove_1", "consume": 4, "tip": None},
|
||||
{"source": "rtdd:stove_1", "item": "minecraft:flint_and_steel",
|
||||
"target": "rtdd:stove_2", "tip": "§a炉灶点燃了"},
|
||||
"target": "rtdd:stove_2", "tip": None},
|
||||
{"source": "rtdd:stove_1", "item": "minecraft:fire_charge",
|
||||
"target": "rtdd:stove_2", "consume": 1, "tip": "§a炉灶点燃了"},
|
||||
"target": "rtdd:stove_2", "consume": 1, "tip": None},
|
||||
]
|
||||
|
||||
# ============================================================================
|
||||
@@ -48,16 +48,16 @@ STOVE_RULES = [
|
||||
# ============================================================================
|
||||
MEATBALLMAKER_RULES = [
|
||||
{"source": "rtdd:meatballmaker_0", "item": "rtdd:dough_0",
|
||||
"target": "rtdd:meatballmaker_1", "consume": 1, "tip": "§a加入面团"},
|
||||
"target": "rtdd:meatballmaker_1", "consume": 1, "tip": None},
|
||||
{"source": "rtdd:meatballmaker_1", "item": "rtdd:rawsquidwhiskersr",
|
||||
"target": "rtdd:meatballmaker_2", "consume": 4, "tip": "§a加入鱿鱼须"},
|
||||
"target": "rtdd:meatballmaker_2", "consume": 4, "tip": None},
|
||||
{"source": "rtdd:meatballmaker_2", "item": "*any",
|
||||
"target": "rtdd:meatballmaker_3", "consume": 1,
|
||||
"below": ["rtdd:stove_2"], "tip": "§a加入配料,开始烹制丸子"},
|
||||
"below": ["rtdd:stove_2"], "tip": None},
|
||||
{"source": "rtdd:meatballmaker_5", "item": "rtdd:plate_0",
|
||||
"target": "rtdd:meatballmaker_0", "consume": 1,
|
||||
"dropItem": [{"name": "rtdd:plate_40", "count": 1}],
|
||||
"tip": "§a取出了章鱼小丸子"},
|
||||
"tip": None},
|
||||
]
|
||||
|
||||
# 丸子机计时: _3(加料完成) -> 30s -> _4(半熟) -> 30s -> _5(熟)
|
||||
@@ -144,7 +144,7 @@ OIL_CAN_USES = 16 # 油罐方块初始可用次数(用完变玻
|
||||
# ============================================================================
|
||||
STEAMER_RULES = [
|
||||
{"source": "rtdd:steamer", "item": None,
|
||||
"target": "rtdd:steamercover", "tip": "§a蒸笼盖上了盖子"},
|
||||
"target": "rtdd:steamercover", "tip": None},
|
||||
{"source": "rtdd:steamercover", "item": None,
|
||||
"target": "rtdd:steamer", "tip": "§a蒸笼掀开了盖子"},
|
||||
"target": "rtdd:steamer", "tip": None},
|
||||
]
|
||||
+5
-57
@@ -97,12 +97,12 @@ class ChujuService(BlueFoxServerSystem):
|
||||
self.featureBlocks.add(src)
|
||||
if src not in self.startTimerTips:
|
||||
if src == "rtdd:meatballmaker_3":
|
||||
self.startTimerTips[src] = "§a开始烹制(第1级/共2级): 还需60秒(每级30秒), 手持盘子出锅"
|
||||
self.timingTips[src] = "§e正在烹制中(第1级/共2级): 还需60秒(每级30秒), 等待出锅"
|
||||
self.startTimerTips[src] = None
|
||||
self.timingTips[src] = None
|
||||
else:
|
||||
sec = r.get("time", 60)
|
||||
self.startTimerTips[src] = "§a开始烹制(第2级/共2级): 还需%d秒, 手持盘子出锅" % sec
|
||||
self.timingTips[src] = "§e正在烹制中(第2级/共2级): 还需%d秒, 等待出锅" % sec
|
||||
self.startTimerTips[src] = None
|
||||
self.timingTips[src] = None
|
||||
|
||||
# ---- 右键冷却表 ----
|
||||
self.cooldown = {}
|
||||
@@ -210,12 +210,8 @@ class ChujuService(BlueFoxServerSystem):
|
||||
if uses <= 0:
|
||||
self._clearOilUses(dim, pos)
|
||||
self.replaceBlock(pos, dim, GLASS_TANK_ITEM, playerId) # 油罐用完变玻璃罐
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a锅铲蘸了油, 变成带油锅铲; 油罐用完了, 变成了玻璃罐")
|
||||
else:
|
||||
self._writeOilUses(dim, pos, uses)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a锅铲蘸了油, 变成带油锅铲; 油罐剩余 " + str(uses) + " 次")
|
||||
return True
|
||||
|
||||
def _returnOil(self, playerId, key, dim, pos):
|
||||
@@ -224,13 +220,10 @@ class ChujuService(BlueFoxServerSystem):
|
||||
return True
|
||||
uses = self._readOilUses(dim, pos)
|
||||
if uses >= OIL_CAN_USES:
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§e油罐是满的, 不用还油")
|
||||
return True
|
||||
self._setCarriedItem(playerId, SPATULA, False) # 替换手持为锅铲(去附魔)
|
||||
uses += 1
|
||||
self._writeOilUses(dim, pos, uses)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a油还回油罐, 变回锅铲; 油罐剩余 " + str(uses) + " 次")
|
||||
return True
|
||||
|
||||
def _oilWok(self, playerId, key, dim, pos):
|
||||
@@ -239,8 +232,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
return True
|
||||
self._setCarriedItem(playerId, SPATULA, False) # 替换手持为锅铲
|
||||
self.replaceBlock(pos, dim, OIL_PAN, playerId)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a炒锅添了油, 变成 炒锅(添油); 带油锅铲变回锅铲")
|
||||
return True
|
||||
|
||||
def _setCarriedItem(self, playerId, itemName, enchanted):
|
||||
@@ -290,16 +281,11 @@ class ChujuService(BlueFoxServerSystem):
|
||||
try:
|
||||
data = blockEntityDataComp.GetBlockEntityData(dim, pos)
|
||||
if data and data["rtdd_tid"] == blockName:
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, self.timingTips.get(blockName, "§e已经在计时中"))
|
||||
return
|
||||
except Exception:
|
||||
pass
|
||||
started = FeatureDispatcher.startTimerFor(blockName, dim, pos, playerId)
|
||||
if started:
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, self.startTimerTips.get(blockName, "§a已启动计时"))
|
||||
else:
|
||||
if not started:
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§c丸子机需要放在点燃的炉灶上才能开始烹制")
|
||||
|
||||
@@ -360,10 +346,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
if recipe.get("giveItem"):
|
||||
self.giveItem(playerId, recipe["giveItem"])
|
||||
|
||||
# 提示
|
||||
if recipe.get("tip"):
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, recipe["tip"])
|
||||
|
||||
# ============================================================================
|
||||
# 四、搅拌器(肉/牛奶/蛋/鸡蛋牛奶/奶油/蛋液)
|
||||
# ============================================================================
|
||||
@@ -380,8 +362,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
self.consumeItem(playerId, itemDict, 2)
|
||||
self.replaceBlock(pos, dim, "rtdd:beatermeat_0", playerId)
|
||||
self._writeMeat(dim, pos, itemName)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a放入肉,空手右键搅打")
|
||||
return True
|
||||
if itemName == MILK_ITEM:
|
||||
if not self.checkCooldown(key, 0.5):
|
||||
@@ -389,7 +369,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
self.consumeItem(playerId, itemDict, 1)
|
||||
self.giveItem(playerId, BUCKET_ITEM)
|
||||
self.replaceBlock(pos, dim, "rtdd:beatermike_0", playerId)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a放入牛奶")
|
||||
return True
|
||||
if itemName == EGG_ITEM:
|
||||
if (itemDict.get("count") or 0) < 3:
|
||||
@@ -399,8 +378,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
return True
|
||||
self.consumeItem(playerId, itemDict, 3)
|
||||
self.replaceBlock(pos, dim, "rtdd:beater_custard_0", playerId)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a放入鸡蛋,空手右键搅打")
|
||||
return True
|
||||
return False
|
||||
|
||||
@@ -412,8 +389,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
meat = self._readMeat(pos, dim)
|
||||
self.replaceBlock(pos, dim, "rtdd:beatermeat_1", playerId)
|
||||
self._writeMeat(dim, pos, meat)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a搅打完成,空手取出肉馅")
|
||||
return True
|
||||
return False
|
||||
|
||||
@@ -426,7 +401,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
if meatball:
|
||||
self.dropItems(dim, pos, [{"name": meatball, "count": 1}])
|
||||
self.replaceBlock(pos, dim, "rtdd:beater", playerId)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a取出了肉馅")
|
||||
return True
|
||||
return False
|
||||
|
||||
@@ -438,9 +412,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
target = "rtdd:beatermike_1" if blockName == "rtdd:beatermike_0" \
|
||||
else "rtdd:beatermike_2"
|
||||
self.replaceBlock(pos, dim, target, playerId)
|
||||
if target == "rtdd:beatermike_2":
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a牛奶搅打完成,加入鸡蛋做鸡蛋牛奶")
|
||||
return True
|
||||
return False
|
||||
|
||||
@@ -451,8 +422,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
return True
|
||||
self.consumeItem(playerId, itemDict, 1)
|
||||
self.replaceBlock(pos, dim, "rtdd:beater_eggsandmilk_0", playerId)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a加入鸡蛋,空手搅打做鸡蛋牛奶")
|
||||
return True
|
||||
return False
|
||||
|
||||
@@ -464,9 +433,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
target = "rtdd:beater_custard_1" if blockName == "rtdd:beater_custard_0" \
|
||||
else "rtdd:beater_custard_2"
|
||||
self.replaceBlock(pos, dim, target, playerId)
|
||||
if target == "rtdd:beater_custard_2":
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a蛋搅打完成,可加木碗取奶油或加牛奶做鸡蛋牛奶")
|
||||
return True
|
||||
return False
|
||||
|
||||
@@ -478,7 +444,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
self.consumeItem(playerId, itemDict, 1)
|
||||
self.dropItems(dim, pos, [{"name": CREAM_ITEM, "count": 1}])
|
||||
self.replaceBlock(pos, dim, "rtdd:beater", playerId)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a取出了奶油")
|
||||
return True
|
||||
if itemName == MILK_ITEM:
|
||||
if not self.checkCooldown(key, 0.5):
|
||||
@@ -486,8 +451,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
self.consumeItem(playerId, itemDict, 1)
|
||||
self.giveItem(playerId, BUCKET_ITEM)
|
||||
self.replaceBlock(pos, dim, "rtdd:beater_eggsandmilk_0", playerId)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a加入牛奶,空手搅打做鸡蛋牛奶")
|
||||
return True
|
||||
return False
|
||||
|
||||
@@ -499,9 +462,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
target = "rtdd:beater_eggsandmilk_1" \
|
||||
if blockName == "rtdd:beater_eggsandmilk_0" else "rtdd:beater_eggsandmilk_2"
|
||||
self.replaceBlock(pos, dim, target, playerId)
|
||||
if target == "rtdd:beater_eggsandmilk_2":
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a鸡蛋牛奶完成,可加盘子取蛋液")
|
||||
return True
|
||||
return False
|
||||
|
||||
@@ -513,7 +473,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
self.consumeItem(playerId, itemDict, 1)
|
||||
self.dropItems(dim, pos, [{"name": EGG_CUSTARD_ITEM, "count": 1}])
|
||||
self.replaceBlock(pos, dim, "rtdd:beater", playerId)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a取出了蛋液半成品")
|
||||
return True
|
||||
return False
|
||||
|
||||
@@ -575,8 +534,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
self.consumeItem(playerId, itemDict, WHEAT_COUNT)
|
||||
self._writeMillMat(dim, pos, "wheat")
|
||||
self._writeMill(dim, pos, 0)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a加入小麦,空手右键研磨")
|
||||
return True
|
||||
if itemName == SOYBEAN_ITEM:
|
||||
if (itemDict.get("count") or 0) < SOYBEAN_COUNT:
|
||||
@@ -588,8 +545,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
self.consumeItem(playerId, itemDict, SOYBEAN_COUNT)
|
||||
self._writeMillMat(dim, pos, "soybean")
|
||||
self._writeMill(dim, pos, 0)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a加入黄豆,空手右键研磨")
|
||||
return True
|
||||
# 空磨 + 空手: 无操作(交还默认); 完成态 + 手持非材料(玻璃罐/空手取粉) 不在此拦住
|
||||
if isEmpty and (not itemName or itemName == "minecraft:air"):
|
||||
@@ -604,10 +559,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
newProg = prog + 1
|
||||
self._rotateMill(pos, dim)
|
||||
self._writeMill(dim, pos, newProg)
|
||||
if newProg >= STONEMILL_GRIND_COUNT:
|
||||
tip = "§a研磨完成,可空手取出 面粉" if mat == "wheat" \
|
||||
else "§a研磨完成,可加玻璃罐取油"
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, tip)
|
||||
return True
|
||||
|
||||
# ---- 完成: 取成品 ----
|
||||
@@ -620,8 +571,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
return True
|
||||
self.dropItems(dim, pos, [{"name": FLOUR_ITEM, "count": 1}])
|
||||
self._clearMill(dim, pos)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(
|
||||
playerId, "§a取出了面粉")
|
||||
return True
|
||||
# 黄豆: + 玻璃罐 -> 油罐
|
||||
if itemName == GLASS_TANK_ITEM:
|
||||
@@ -630,7 +579,6 @@ class ChujuService(BlueFoxServerSystem):
|
||||
self.consumeItem(playerId, itemDict, 1)
|
||||
self.dropItems(dim, pos, [{"name": OIL_CAN_ITEM, "count": 1}])
|
||||
self._clearMill(dim, pos)
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, "§a取出了油罐")
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
+1
-2
@@ -144,8 +144,6 @@ class ChujuTimerService(BlueFoxServerSystem):
|
||||
return
|
||||
self.replaceBlock(pos, dim, recipe["target"], None)
|
||||
self._clearTimerData(dim, pos)
|
||||
if recipe.get("doneTip"):
|
||||
self._notifyIfOnline(data["rtdd_tp"], recipe["doneTip"])
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
@@ -201,6 +199,7 @@ class ChujuTimerService(BlueFoxServerSystem):
|
||||
ids = comp.CreateGame(LevelId).GetAllPlayerIds()
|
||||
if playerId in ids:
|
||||
comp.CreateMsg(playerId).NotifyOneMessage(playerId, tip)
|
||||
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
|
||||
Reference in new issue
Block a user