update block library docs & add block.get_picking_item(...)
This commit is contained in:
parent
c94c2697e7
commit
277155e3d1
@ -383,41 +383,37 @@ block.defs_count() -> int
|
||||
|
||||
Возвращает количество id доступных в движке блоков
|
||||
|
||||
Следующие три функции используется для учёта вращения блока при обращении к соседним блокам или других целей, где направление блока имеет решающее значение.
|
||||
|
||||
|
||||
```python
|
||||
block.get_picking_item(id: int) -> int
|
||||
```
|
||||
|
||||
Возвращает числовой id предмета, указанного в свойстве *picking-item*.
|
||||
|
||||
### Вращение
|
||||
|
||||
Следующие функции используется для учёта вращения блока при обращении к соседним блокам или других целей, где направление блока имеет решающее значение.
|
||||
|
||||
|
||||
```lua
|
||||
-- Возвращает целочисленный единичный вектор X блока на указанных координатах с учётом его вращения (три целых числа).
|
||||
-- Если поворот отсутствует, возвращает 1, 0, 0
|
||||
block.get_X(x: int, y: int, z: int) -> int, int, int
|
||||
```
|
||||
|
||||
Возвращает целочисленный единичный вектор X блока на указанных координатах с учётом его вращения (три целых числа).
|
||||
Если поворот отсутствует, возвращает 1, 0, 0
|
||||
|
||||
```python
|
||||
-- То же, но для оси Y (по-умолчанию 0, 1, 0)
|
||||
block.get_Y(x: int, y: int, z: int) -> int, int, int
|
||||
```
|
||||
|
||||
Возвращает целочисленный единичный вектор Y блока на указанных координатах с учётом его вращения (три целых числа).
|
||||
Если поворот отсутствует, возвращает 0, 1, 0
|
||||
|
||||
```python
|
||||
-- То же, но для оси Z (по-умолчанию 0, 0, 1)
|
||||
block.get_Z(x: int, y: int, z: int) -> int, int, int
|
||||
```
|
||||
|
||||
Возвращает целочисленный единичный вектор Z блока на указанных координатах с учётом его вращения (три целых числа).
|
||||
Если поворот отсутствует, возвращает 0, 0, 1
|
||||
|
||||
```python
|
||||
-- Возвращает индекс поворота блока в его профиле вращения (не превышает 7).
|
||||
block.get_rotation(x: int, y: int, z: int) -> int
|
||||
```
|
||||
|
||||
Возвращает индекс поворота блока в его профиле вращения.
|
||||
|
||||
```python
|
||||
-- Устанавливает вращение блока по индексу в его профиле вращения.
|
||||
block.set_rotation(x: int, y: int, z: int, rotation: int)
|
||||
```
|
||||
|
||||
Устанавливает вращение блока по индексу в его профиле вращения.
|
||||
-- Возвращает имя профиля вращения (none/pane/pipe)
|
||||
block.get_rotation_profile(id: int) -> str
|
||||
```
|
||||
|
||||
### Расширенные блоки
|
||||
|
||||
@ -463,6 +459,30 @@ block.set_user_bits(x: int, y: int, z: int, offset: int, bits: int, value: int)
|
||||
```
|
||||
Записывает указанное число бит значения value в user bits по выбранному смещению
|
||||
|
||||
### Физика
|
||||
|
||||
Информация свойствах блока, используемых физическим движком.
|
||||
|
||||
```lua
|
||||
-- Возвращает массив из двух векторов (массивов из 3 чисел):
|
||||
-- 1. Минимальная точка хитбокса
|
||||
-- 2. Размер хитбокса
|
||||
-- rotation_index - индекс поворота блока
|
||||
block.get_hitbox(id: int, rotation_index: int) -> {vec3, vec3}
|
||||
```
|
||||
|
||||
### Модель
|
||||
|
||||
Информация о модели блока.
|
||||
|
||||
```lua
|
||||
-- возвращает тип модели блока (block/aabb/custom/...)
|
||||
block.get_model(id: int) -> str
|
||||
|
||||
-- возвращает массив из 6 текстур, назначенных на стороны блока
|
||||
block.get_textures(id: int) -> таблица строк
|
||||
```
|
||||
|
||||
## Библиотека item
|
||||
|
||||
```python
|
||||
|
||||
@ -300,6 +300,13 @@ static int l_get_rotation_profile(lua::State* L) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int l_get_picking_item(lua::State* L) {
|
||||
if (auto def = require_block(L)) {
|
||||
return lua::pushinteger(L, def->rt.pickingItem);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
const luaL_Reg blocklib [] = {
|
||||
{"index", lua::wrap<l_index>},
|
||||
{"name", lua::wrap<l_name>},
|
||||
@ -327,5 +334,6 @@ const luaL_Reg blocklib [] = {
|
||||
{"get_model", lua::wrap<l_get_model>},
|
||||
{"get_hitbox", lua::wrap<l_get_hitbox>},
|
||||
{"get_rotation_profile", lua::wrap<l_get_rotation_profile>},
|
||||
{"get_picking_item", lua::wrap<l_get_picking_item>},
|
||||
{NULL, NULL}
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user