📄️ Где, что и кто
По этому принципу работает большинство событий, с которыми нам предстоит познакомиться. Начнем с того, что же принято понимать под событием? Помимо очевидных событий в игре, события могут зависить от других модов, быть вызваны случайно или с определенной периодичностью и даже приходить со стороны сервера. Мы будем рассматривать каждый из приведенных типов, но не сразу, и даже не в этой главе, а лишь когда они действительно понадобятся.
📄️ Калбеки
От словосочетания вызов + обратно, именно с помощью них мы и будем осуществлять регистрацию обработчиков событий. Как и следует из названия, мы получим вызов, а после сможем отменить дальнейшее действие. Впрочем, не все действия можно отменить, а те которые можно могут быть отменены как другим модом, так и движком. Но остановимся на обработке калбеков.
📄️ Обновляемые объекты
Представляют из себя объекты, построенные вокруг функции обновления. Обновления вызываются каждый тик (1/20 секунды), которые как угодно могут взаимодействовать с миром и выполнять долгосрочные операции. Неотъемлемая часть движка, на которой основана большая часть жизненного цикла.
📄️ Структура потоков
Мультипоточность для любой современной системы, среды, приложения, да и просто для скрипта, имеет первостепенное значение. Но не в случае Майнкрафта. Эта игра использует один поток фактически на все: отображение интерфейсов, генерацию мира, отображение существ и прочего. Пока это идентично работает на всех изданиях игры, создавая проблемы с производительностью и повышая системные требования. Но все ли так плохо и когда можно задействовать несколько потоков, а также, для чего вообще это нужно. Давайте разбираться.
📄️ Использование синхронизации
Обработка клиентов