Где, что и кто
По этому принципу работает большинство событий, с которыми нам предстоит познакомиться. Начнем с того, что же принято понимать под событием? Помимо очевидных событий в игре, события могут зависить от других модов, быть вызваны случайно или с определенной периодичностью и даже приходить со стороны сервера. Мы будем рассматривать каждый из приведенных типов, но не сразу, и даже не в этой главе, а лишь когда они действительно понадобятся.
Какие события бывают
Внутреигровые события обрабатываются как сервером (хостом мира, самим игроком в одиночной игре), так и клиентами (подключенными к серверу игроками, сервер обычно тоже создает клиента для себя). Для начала давайте поверхностно рассмотрим различные виды событий и только потом создадим каждое из них. Если какая-то часть терминов остается непонятной, просто знайте, что мы обязательно затронем их в будущем.
Строительства и разрушения
Являются основными событиями блоков и тайлов. С их помощью мы можем заменять дроп, выпадаемый из блоков, разрушать инструменты вследствии этого, развивать навыки, сл едить за обновлениями блоков и не только.
Взаимодействия с миром
Сюда входят как использование предметов, так и взаимодействие с блоками, тайлами и существами. Сюда входят использование удочки, поедание чего-либо, броски снежков, открытие контейнеров, попадание стрелы в блок или существо и прочее.
Существ и игрока
Существа превносят свои собственные события, начиная от их добавления в мир, получением урона, поднятием предметов, изменением опыта в случае игрока и их последующим деспавном или убийством.
Измерений и мира
В том числе перемещение между измерениями, взрывы, использование редстоуна, генерации новых чанков, выбрасывания предметов из раздатчика и прочих событий, касающихся мира и его окружения.
Интерфейсные
Изменение окон с открытием и закрытием, открытие контейнеров, перенос предметов между слотами, выбор самих слотов, крафтинг, изменение иконок предметов и похожее.
Серверные и внутренние
Для обнаружения присоединения новых игроков, чтения и записи сохранений, нажатия клавиш устройства, выхода и выбора мира, команд, событий загрузки, тиков игроков и сервера, и многого другого.
Собственные
Сюда могут входить как события, которые вы реализуете сами, так и события, которые реализуют интеграции с другими модами, а также обычные и нативные библиотеки.
Принципы событий
События вызываются вследствии каких бы то ни было действий игры или модов.
- Где: обычно координаты того места, где произошло событие.
- Что: субъекты взаимодействия, по типу блока до которого коснулись и предмета который при этом был использован.
- Кто: объекты, которые действуют и над кем; последнее касается, например, атаки существ.
События могут происходить независимо от того, загружены ли какие-либо моды или нет. И не важно, будет ли зарегистрирован обработчик, событие будет вызвано.