Убрать GUI при заходе в сундук — screenChangeHook
Убрать GUI при заходе в сундук — screenChangeHook
Сегодня мы разберем относительно новую функцию ModPE — ловушку screenChangeHook. Данная функция очень полезна присоздании и управлении игры или при управлении GamePlay’ем.
Как уже говорилось, данная функция — хук, и имеет она всего один аргумент — строку. Этот хук срабатывает при каждом изменении игрового экрана. Более простыми словами, эта функция показывает, в каком меню в игре игрок находится. Примеры — в игре, в стартовом меню, в GUI верстака и так далее. Таким образом, она более чем заменяет ловушки newLevel и leaveGame, имея существенно большие возможности.
Аргумент дает нам строковое название экрана, если честно — первое, попавшее в голову Zhuowei Zhang (ну, или создателям Minecraft’а, я точно не знаю ;-)). Вот список названий экранов (взят из Seesaa Wiki):
- add_external_server_screen
- anvil_screen
- brewing_stand_screen
- chat_screen
- confirm_screen
- crafting_screen
- create_world_screen
- creative_inventory_screen
- death_screen
- dispenser_screen
- dropper_screen
- enchanting_screen
- furnace_screen
- gamepad_layout_screen
- hopper_screen
- horse_screen
- hud_screen
- in_bed_screen
- in_game_play_screen
- keyboard_layout_screen
- language_choice_screen
- large_chest_screen
- leave_level_screen
- modal_screen-xblLogin.LoginMessageTitle-xblLogin.LoginMessage
- options_screen
- pause_screen
- play_screen-friends
- play_screen-realms
- play_screen-worlds
- progress_screen-local_world_load
- progress_screen-nether
- skin_picker_screen
- small_chest_screen
- start_screen
- store_screen
- survival_inventory_screen
- xbl_optional_signin_screen-gui.achievements
- xbl_optional_signin_screen-networkWorld.add_friend
Детальное описание я приводить не буду, знания английского должно быть достаточно, чтобы понять большинство этих экранов. Скажу, что все настройки полностью изменились и на данный момент страницы настроек начинаются с префикса screen_controls_and_settings-. Самые новые названия можно вывести с помощью скрипта:
1 2 3 | function screenChangeHook(screen){ print(screen); } |
Самые новые экраны можете заносить на страницу на Вики, в описание данной ловушки.
Еще одно — стоит заметить, что in_game_play_screen и hud_screen появляются по очереди при заходе в игру — по сути, если надо отловить то, что игрок в игре, а не в гуи блока или не в меню — используйте две этих функции вместе. Пример всего этого есть на Хабе, в нашем репозитории. Это небольшой модик UltraIndicators, который я скоро вам запрезентую)))
Comments