@events.block_breakможно отменить2 методаКогда игрок ломает блок.
Даёт координаты блока и возможность не дать его сломать.
Отсюда растут скрипты-предохранители: не ломать чужие сундуки, не копать под собой, не трогать блоки в приваченной зоне.
| Метод | Возвращает | Зачем |
|---|---|---|
getBlockPos() | BlockPos | Позиция блока. Объект игры, методы зовутся сразу |
cancel() / isCancelled() | ничего / bool | Не ломать блок |
mod = Module("NoDigDown", "Player")
mod.setDesc("Не даёт копать блок под собой")
@events.block_break
def on_break(event):
if not mod.isEnabled() or not world.ingame():
return
pos = event.getBlockPos()
p = mc.player
# блок ровно под ногами
if pos.getY() < p.getY() and int(pos.getX()) == int(p.getX()) and int(pos.getZ()) == int(p.getZ()):
event.cancel()
client.warn("Под собой копать не будем")Общий список всех событий и правила подписки лежат на странице События.