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 доступных в движке блоков
|
Возвращает количество id доступных в движке блоков
|
||||||
|
|
||||||
Следующие три функции используется для учёта вращения блока при обращении к соседним блокам или других целей, где направление блока имеет решающее значение.
|
|
||||||
|
|
||||||
|
|
||||||
```python
|
```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
|
block.get_X(x: int, y: int, z: int) -> int, int, int
|
||||||
```
|
|
||||||
|
|
||||||
Возвращает целочисленный единичный вектор X блока на указанных координатах с учётом его вращения (три целых числа).
|
-- То же, но для оси Y (по-умолчанию 0, 1, 0)
|
||||||
Если поворот отсутствует, возвращает 1, 0, 0
|
|
||||||
|
|
||||||
```python
|
|
||||||
block.get_Y(x: int, y: int, z: int) -> int, int, int
|
block.get_Y(x: int, y: int, z: int) -> int, int, int
|
||||||
```
|
|
||||||
|
|
||||||
Возвращает целочисленный единичный вектор Y блока на указанных координатах с учётом его вращения (три целых числа).
|
-- То же, но для оси Z (по-умолчанию 0, 0, 1)
|
||||||
Если поворот отсутствует, возвращает 0, 1, 0
|
|
||||||
|
|
||||||
```python
|
|
||||||
block.get_Z(x: int, y: int, z: int) -> int, int, int
|
block.get_Z(x: int, y: int, z: int) -> int, int, int
|
||||||
```
|
|
||||||
|
|
||||||
Возвращает целочисленный единичный вектор Z блока на указанных координатах с учётом его вращения (три целых числа).
|
-- Возвращает индекс поворота блока в его профиле вращения (не превышает 7).
|
||||||
Если поворот отсутствует, возвращает 0, 0, 1
|
|
||||||
|
|
||||||
```python
|
|
||||||
block.get_rotation(x: int, y: int, z: int) -> int
|
block.get_rotation(x: int, y: int, z: int) -> int
|
||||||
```
|
|
||||||
|
|
||||||
Возвращает индекс поворота блока в его профиле вращения.
|
-- Устанавливает вращение блока по индексу в его профиле вращения.
|
||||||
|
|
||||||
```python
|
|
||||||
block.set_rotation(x: int, y: int, z: int, rotation: int)
|
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 по выбранному смещению
|
Записывает указанное число бит значения 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
|
## Библиотека item
|
||||||
|
|
||||||
```python
|
```python
|
||||||
|
|||||||
@ -300,6 +300,13 @@ static int l_get_rotation_profile(lua::State* L) {
|
|||||||
return 0;
|
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 [] = {
|
const luaL_Reg blocklib [] = {
|
||||||
{"index", lua::wrap<l_index>},
|
{"index", lua::wrap<l_index>},
|
||||||
{"name", lua::wrap<l_name>},
|
{"name", lua::wrap<l_name>},
|
||||||
@ -327,5 +334,6 @@ const luaL_Reg blocklib [] = {
|
|||||||
{"get_model", lua::wrap<l_get_model>},
|
{"get_model", lua::wrap<l_get_model>},
|
||||||
{"get_hitbox", lua::wrap<l_get_hitbox>},
|
{"get_hitbox", lua::wrap<l_get_hitbox>},
|
||||||
{"get_rotation_profile", lua::wrap<l_get_rotation_profile>},
|
{"get_rotation_profile", lua::wrap<l_get_rotation_profile>},
|
||||||
|
{"get_picking_item", lua::wrap<l_get_picking_item>},
|
||||||
{NULL, NULL}
|
{NULL, NULL}
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user