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

События

📄️ Где, что и кто

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

📄️ Калбеки

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

📄️ Обновляемые объекты

Представляют из себя объекты, построенные вокруг функции обновления. Обновления вызываются каждый тик (1/20 секунды), которые как угодно могут взаимодействовать с миром и выполнять долгосрочные операции. Неотъемлемая часть движка, на которой основана большая часть жизненного цикла.

📄️ Структура потоков

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