diff --git a/Скриптинг.md b/Скриптинг.md index 6181510..bac8a83 100644 --- a/Скриптинг.md +++ b/Скриптинг.md @@ -73,4 +73,34 @@ function on_update(x, y, z) -- вызывается при обновлении ```lua function on_random_update(x, y, z) -- вызывается в случайные моменты времени (рост травы на блоках земли) -``` \ No newline at end of file +``` + +## Функции, доступные в версии 0.17 (будущая версия) + +Следующие три функции используется для учёта вращения блока при обращении к соседним блокам или других целей, где направление блока имеет решающее значение. + +```lua +get_block_X(x, y, z) -- возвращает целочисленный единичный вектор X блока на указанных координатах с учётом его вращения (три целых числа) +-- если поворот отсутствует, возвращает 1, 0, 0 +``` + +```lua +get_block_Y(x, y, z) -- возвращает целочисленный единичный вектор Y блока на указанных координатах с учётом его вращения (три целых числа) +-- если поворот отсутствует, возвращает 0, 1, 0 +``` + +```lua +get_block_Z(x, y, z) -- возвращает целочисленный единичный вектор Z блока на указанных координатах с учётом его вращения (три целых числа) +-- если поворот отсутствует, возвращает 0, 0, 1 +``` + +Пользовательские биты - выделенная под использования в скриптах часть поля `voxel.states` хранящего доп-информацию о вокселе, такую как вращение блока. На данный момент выделенная часть составляет 8 бит. + +```lua +get_block_user_bits(x, y, z, offset, bits) -- возвращает выбранное число бит с указанного смещения в виде целого беззнакового числа +``` + +```lua +set_block_user_bits(x, y, z, offset, bits, value) -- записывает указанное число бит значения value в user bits по выбранному смещению +``` +