@events.close_screenотменить нельзя1 методКогда игрок закрывает открытый экран: сундук, верстак, меню, любой другой интерфейс.
Удобное место для уборки: сбросить состояние, которое скрипт держал, пока окно было открыто, остановить перебор слотов, сохранить накопленное.
Какой именно экран закрылся, отдаёт getScreen(). Сравнивать экраны по имени класса нельзя, для проверки типа есть is_instance.
| Метод | Возвращает | Зачем |
|---|---|---|
getScreen() | Screen | Экран, который закрывают. Объект Minecraft, нужен wrap |
CHEST = "net.minecraft.client.gui.screen.ingame.GenericContainerScreen"
@events.close_screen
def on_close(event):
if is_instance(event.getScreen(), CHEST):
client.msg("Сундук закрыт")Общий список всех событий и правила подписки лежат на странице События.