油锅 5 加入更好的提示
This commit is contained in:
1 parent
b69e487b10
commit
5627e040ce
7 files changed
+98
-138
No files matched your search
@@ -84,41 +84,41 @@ SWITCH_RULES = [
|
||||
{"block": OILPOT_1, "item": BREADED_CHICKEN, "target": CHICKEN_0,
|
||||
"consume": 1, "startTimer": CHICKEN_0,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c油锅需要放在点燃的炉灶上",
|
||||
"tip": "§a放入裹粉鸡块, 开始炸制(60秒半熟, 再30秒熟)"},
|
||||
"tip": "§a放入裹粉鸡块, 等计时(60秒)结束变成 炸鸡块(半熟), 再等(30秒)结束变成 炸鸡块(熟)"},
|
||||
{"block": OILPOT_1, "item": BREADED_PORK, "target": PORK_0,
|
||||
"consume": 1, "startTimer": PORK_0,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c油锅需要放在点燃的炉灶上",
|
||||
"tip": "§a放入裹粉猪肉, 开始炸制(60秒半熟, 再30秒熟)"},
|
||||
"tip": "§a放入裹粉猪肉, 等计时(60秒)结束变成 炸猪排(半熟), 再等(30秒)结束变成 炸猪排(熟)"},
|
||||
{"block": OILPOT_1, "item": BREADED_FRIES, "target": FRIES_0,
|
||||
"consume": 3, "startTimer": FRIES_0,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c油锅需要放在点燃的炉灶上",
|
||||
"tip": "§a放入裹粉薯条x3, 开始炸制(60秒半熟, 再30秒熟)"},
|
||||
"tip": "§a放入裹粉薯条x3, 等计时(60秒)结束变成 炸薯条(半熟), 再等(30秒)结束变成 炸薯条(熟)"},
|
||||
{"block": OILPOT_1, "item": BREADED_FISH, "target": FISH_0,
|
||||
"consume": 1, "startTimer": FISH_0,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c油锅需要放在点燃的炉灶上",
|
||||
"tip": "§a放入裹粉鱼, 开始炸制(60秒半熟, 再30秒熟)"},
|
||||
"tip": "§a放入裹粉鱼, 等计时(60秒)结束变成 炸鱼块(半熟), 再等(30秒)结束变成 炸鱼块(熟)"},
|
||||
{"block": OILPOT_1, "item": BREADED_TEMPURA, "target": TEMPURA_1,
|
||||
"consume": 4, "startTimer": TEMPURA_1,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c油锅需要放在点燃的炉灶上",
|
||||
"tip": "§a放入裹粉天妇罗x4, 开始炸制(60秒)"},
|
||||
"tip": "§a放入裹粉天妇罗x4, 等计时(60秒)结束变成 炸天妇罗(熟)"},
|
||||
{"block": OILPOT_1, "item": DUMPLINGS, "target": DUMPLING_1,
|
||||
"consume": 3, "startTimer": DUMPLING_1,
|
||||
"needBelow": LIT_STOVE, "belowTip": "§c油锅需要放在点燃的炉灶上",
|
||||
"tip": "§a放入生饺子x3, 开始炸制(60秒), 计时/取出都在炸饺子上"},
|
||||
"tip": "§a放入生饺子x3, 等计时(60秒)结束变成 炸饺子(熟)"},
|
||||
|
||||
# ---- 三、出锅(熟炸物 + 盘子 -> 掉落盘装成品) ----
|
||||
{"block": CHICKEN_2, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_CHICKEN, "consume": 1, "tip": "§a取出盘装鸡块"},
|
||||
"dropItem": PLATE_CHICKEN, "consume": 1, "tip": "§a取出盘装鸡块, 油锅恢复满油, 可继续放料"},
|
||||
{"block": PORK_2, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_PORK, "consume": 1, "tip": "§a取出炸猪排(盘装)"},
|
||||
"dropItem": PLATE_PORK, "consume": 1, "tip": "§a取出炸猪排(盘装), 油锅恢复满油, 可继续放料"},
|
||||
{"block": FRIES_2, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_FRIES, "consume": 1, "tip": "§a取出炸薯条(盘装)"},
|
||||
"dropItem": PLATE_FRIES, "consume": 1, "tip": "§a取出炸薯条(盘装), 油锅恢复满油, 可继续放料"},
|
||||
{"block": FISH_2, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_FISH, "consume": 1, "tip": "§a取出盘装炸鱼"},
|
||||
"dropItem": PLATE_FISH, "consume": 1, "tip": "§a取出盘装炸鱼, 油锅恢复满油, 可继续放料"},
|
||||
{"block": TEMPURA_2, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_TEMPURA, "consume": 1, "tip": "§a取出天妇罗炸虾"},
|
||||
"dropItem": PLATE_TEMPURA, "consume": 1, "tip": "§a取出天妇罗炸虾, 油锅恢复满油, 可继续放料"},
|
||||
{"block": DUMPLING_2, "item": PLATE, "action": "take_out",
|
||||
"dropItem": PLATE_DUMPLINGS, "consume": 1, "tip": "§a取出炸饺子(盘装)"},
|
||||
"dropItem": PLATE_DUMPLINGS, "consume": 1, "tip": "§a取出炸饺子(盘装), 油锅恢复满油, 可继续放料"},
|
||||
]
|
||||
|
||||
# ============================================================================
|
||||
|
||||
+3
-37
@@ -141,7 +141,7 @@ class YouguoTimerService(BlueFoxServerSystem):
|
||||
tdur = blockData["rtdd_tdur"]
|
||||
|
||||
if time.time() - tstart >= tdur:
|
||||
self._finishTimer(dim, pos, rule, blockData)
|
||||
self._finishTimer(dim, pos, rule)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
@@ -154,14 +154,9 @@ class YouguoTimerService(BlueFoxServerSystem):
|
||||
tp = ""
|
||||
self._notifyIfOnline(tp, "§c油锅下的炉灶移走了, 暂停炸制")
|
||||
|
||||
def _finishTimer(self, dim, pos, rule, data):
|
||||
def _finishTimer(self, dim, pos, rule):
|
||||
"""到点转换(计时结束提示已取消, 只保留放料时的开始提示; 炉灶移走提示走 _handleBelowBroken)"""
|
||||
try:
|
||||
# 先取出发起玩家(下方 replaceBlock/_clearTimerData 会把实体数据清掉, 必须提前读)
|
||||
tp = ""
|
||||
try:
|
||||
tp = data["rtdd_tp"] or ""
|
||||
except Exception:
|
||||
tp = ""
|
||||
cur = comp.CreateBlockInfo(LevelId).GetBlockNew(pos, dim)
|
||||
if cur and cur.get("name") != rule["source"]:
|
||||
self._clearTimerData(dim, pos)
|
||||
@@ -169,12 +164,6 @@ class YouguoTimerService(BlueFoxServerSystem):
|
||||
# 到点转换
|
||||
self.replaceBlock(pos, dim, rule["target"], None)
|
||||
self._clearTimerData(dim, pos)
|
||||
# 计时结束提示: 发给发起玩家; 发起者不在/未知则提示附近
|
||||
tip = rule.get("doneTip", "")
|
||||
if tip:
|
||||
self._notifyIfOnline(tp, tip)
|
||||
if not tp:
|
||||
self._notifyNearby(dim, pos, tip)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
@@ -221,29 +210,6 @@ class YouguoTimerService(BlueFoxServerSystem):
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
def _notifyNearby(self, dim, pos, tip, radius=6):
|
||||
"""完成提示兜底: 发起玩家不在/未知时, 提示该方块附近(三维距离)的在线玩家"""
|
||||
if not tip:
|
||||
return
|
||||
try:
|
||||
r2 = radius * radius
|
||||
for pid in comp.CreateGame(LevelId).GetAllPlayerIds():
|
||||
try:
|
||||
if comp.CreateDimension(pid).GetEntityDimensionId() != dim:
|
||||
continue
|
||||
fp = comp.CreatePos(pid).GetFootPos()
|
||||
if fp is None:
|
||||
continue
|
||||
dx = fp[0] - pos[0]
|
||||
dy = fp[1] - pos[1]
|
||||
dz = fp[2] - pos[2]
|
||||
if dx * dx + dy * dy + dz * dz <= r2:
|
||||
comp.CreateMsg(pid).NotifyOneMessage(pid, tip)
|
||||
except Exception:
|
||||
pass
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
# ============================================================================
|
||||
# 六、工具方法:替换方块
|
||||
# ============================================================================
|
||||
|
||||
Reference in new issue
Block a user