Перейти к основному содержанию

Где, что и кто

По этому принципу работает большинство событий, с которыми нам предстоит познакомиться. Начнем с того, что же принято понимать под событием? Помимо очевидных событий в игре, события могут зависить от других модов, быть вызваны случайно или с определенной периодичностью и даже приходить со стороны сервера. Мы будем рассматривать каждый из приведенных типов, но не сразу, и даже не в этой главе, а лишь когда они действительно понадобятся.

Какие события бывают

Внутреигровые события обрабатываются как сервером (хостом мира, самим игроком в одиночной игре), так и клиентами (подключенными к серверу игроками, сервер обычно тоже создает клиента для себя). Для начала давайте поверхностно рассмотрим различные виды событий и только потом создадим каждое из них. Если какая-то часть терминов остается непонятной, просто знайте, что мы обязательно затронем их в будущем.

Строительства и разрушения

Являются основными событиями блоков и тайлов. С их помощью мы можем заменять дроп, выпадаемый из блоков, разрушать инструменты вследствии этого, развивать навыки, следить за обновлениями блоков и не только.

Взаимодействия с миром

Сюда входят как использование предметов, так и взаимодействие с блоками, тайлами и существами. Сюда входят использование удочки, поедание чего-либо, броски снежков, открытие контейнеров, попадание стрелы в блок или существо и прочее.

Существ и игрока

Существа превносят свои собственные события, начиная от их добавления в мир, получением урона, поднятием предметов, изменением опыта в случае игрока и их последующим деспавном или убийством.

Измерений и мира

В том числе перемещение между измерениями, взрывы, использование редстоуна, генерации новых чанков, выбрасывания предметов из раздатчика и прочих событий, касающихся мира и его окружения.

Интерфейсные

Изменение окон с открытием и закрытием, открытие контейнеров, перенос предметов между слотами, выбор самих слотов, крафтинг, изменение иконок предметов и похожее.

Серверные и внутренние

Для обнаружения присоединения новых игроков, чтения и записи сохранений, нажатия клавиш устройства, выхода и выбора мира, команд, событий загрузки, тиков игроков и сервера, и многого другого.

Собственные

Сюда могут входить как события, которые вы реализуете сами, так и события, которые реализуют интеграции с другими модами, а также обычные и нативные библиотеки.

Принципы событий

События вызываются вследствии каких бы то ни было действий игры или модов.

  1. Где: обычно координаты того места, где произошло событие.
  2. Что: субъекты взаимодействия, по типу блока до которого коснулись и предмета который при этом был использован.
  3. Кто: объекты, которые действуют и над кем; последнее касается, например, атаки существ.
И порядок их работы

События могут происходить независимо от того, загружены ли какие-либо моды или нет. И не важно, будет ли зарегистрирован обработчик, событие будет вызвано.