diff --git a/doc/en/scripting/builtins/libblock.md b/doc/en/scripting/builtins/libblock.md index 2c2c0182..1d11417c 100644 --- a/doc/en/scripting/builtins/libblock.md +++ b/doc/en/scripting/builtins/libblock.md @@ -120,12 +120,17 @@ block.raycast(start: vec3, dir: vec3, max_distance: number, [optional] dest: tab endpoint: vec3, -- point of the ray hit point iendpoint: vec3, -- position of the block hit by the ray length: number, -- ray length - normal: vec3 -- normal vector of the surface hit by the ray + normal: vec3, -- normal vector of the surface hit by the ray + [optional] dest: table, -- table where result will be written to instead of function return + [optional] filter: table -- list of block names that are "transparent" for ray } or nil ``` Casts a ray from the start point in the direction of *dir*. Max_distance specifies the maximum ray length. +Argument `filter` can be used to tell ray what blocks can be skipped(passed through) during ray-casting. +To use filter `dest` argument must be filled with some value(can be nil), it's done for backwards compatability + The function returns a table with the results or nil if the ray does not hit any block. The result will use the destination table instead of creating a new one if the optional argument specified. diff --git a/doc/en/scripting/builtins/libentities.md b/doc/en/scripting/builtins/libentities.md index bd50c0e1..c0a5d260 100644 --- a/doc/en/scripting/builtins/libentities.md +++ b/doc/en/scripting/builtins/libentities.md @@ -51,7 +51,7 @@ entities.get_all_in_radius(center: vec3, radius: number) -> array ```lua entities.raycast(start: vec3, dir: vec3, max_distance: number, - ignore: int, [optional] destination: table) -> table or nil + ignore: int, [optional] destination: table, [optional] filter: table) -> table or nil ``` The function is an extended version of [block.raycast](libblock.md#raycast). Returns a table with the results if the ray touches a block or entity. diff --git a/doc/ru/scripting/builtins/libblock.md b/doc/ru/scripting/builtins/libblock.md index d4d28a28..77633c17 100644 --- a/doc/ru/scripting/builtins/libblock.md +++ b/doc/ru/scripting/builtins/libblock.md @@ -65,12 +65,17 @@ block.raycast(start: vec3, dir: vec3, max_distance: number, [опциональ endpoint: vec3, -- точка касания луча iendpoint: vec3, -- позиция блока, которого касается луч length: number, -- длина луча - normal: vec3 -- вектор нормали поверхности, которой касается луч + normal: vec3, -- вектор нормали поверхности, которой касается луч + [optional] dest: table, -- таблица куда будет записан результат вместо возврата из функции + [optional] filter: table -- массив имён блоков которые "прозрачны" для луча } или nil ``` Бросает луч из точки start в направлении dir. Max_distance указывает максимальную длину луча. +Аргумент `filter` позволяет указать какие блоки являются "прозрачными" для луча, прим.: {"base:glass","base:water"}. +Для использования агрумент `dest` нужно чем-то заполнить(можно nil), это сделано для обратной совместимости + Функция возвращает таблицу с результатами или nil, если луч не касается блока. Для результата будет использоваться целевая (dest) таблица вместо создания новой, если указан опциональный аргумент. diff --git a/doc/ru/scripting/builtins/libentities.md b/doc/ru/scripting/builtins/libentities.md index ebb23497..93275e5b 100644 --- a/doc/ru/scripting/builtins/libentities.md +++ b/doc/ru/scripting/builtins/libentities.md @@ -51,7 +51,7 @@ entities.get_all_in_radius(center: vec3, radius: number) -> array ```lua entities.raycast(start: vec3, dir: vec3, max_distance: number, - ignore: int, [optional] destination: table) -> table или nil + ignore: int, [optional] destination: table, [optional] filter: table) -> table или nil ``` Функция является расширенным вариантом [block.raycast](libblock.md#raycast). Возвращает таблицу с результатами если луч касается блока, либо сущности.