add block data-fields to docs
This commit is contained in:
@@ -145,3 +145,32 @@
|
||||
### Размер блока - *size*
|
||||
|
||||
Массив из трех целых чисел. Значение по-умолчанию - `[1, 1, 1]`.
|
||||
|
||||
## Поля блока
|
||||
|
||||
Поля блоков позволяет записывать больше уникальных для конкретного блока данных, чем это позволяют пользовательские биты.
|
||||
|
||||
Поля блока объявляются в следующем формате:
|
||||
|
||||
```json
|
||||
"fields": {
|
||||
"имя": {"type": "тип_данных"},
|
||||
"имя_массива": {"type": "тип_данных", "length": "длина_массива"}
|
||||
}
|
||||
```
|
||||
|
||||
Доступные типы данных:
|
||||
|
||||
| Тип | Размер | Описание |
|
||||
| ----- | -------- | ----------------------------- |
|
||||
| i8 | 1 байт | целочисленный знаковый 8 бит |
|
||||
| i16 | 2 байта | целочисленный знаковый 16 бит |
|
||||
| i32 | 4 байта | целочисленный знаковый 32 бит |
|
||||
| i64 | 8 байт | целочисленный знаковый 64 бит |
|
||||
| f32 | 4 байта | вещественный 32 бит |
|
||||
| f64 | 8 байт | вещественный 64 бит |
|
||||
| char | 1 байт | символьный |
|
||||
|
||||
На данный момент общая сумма размеров полей не может превышать 240 байт.
|
||||
|
||||
Массив символьного типа может использоваться для хранения UTF-8 строк.
|
||||
|
||||
@@ -159,3 +159,27 @@ block.get_model(id: int) -> str
|
||||
-- возвращает массив из 6 текстур, назначенных на стороны блока
|
||||
block.get_textures(id: int) -> таблица строк
|
||||
```
|
||||
|
||||
## Поля данных
|
||||
|
||||
```lua
|
||||
-- записывает значение в указанное поле блока
|
||||
-- * бросает исключение при несовместимости типов
|
||||
-- * ничего не делает при отсутствии поля у блока
|
||||
block.set_field(
|
||||
x: int, y: int, z: int,
|
||||
name: str,
|
||||
value: bool|int|number|string,
|
||||
[опционально] index: int = 0
|
||||
)
|
||||
|
||||
-- возвращает значение записанное в поле блока
|
||||
-- * возвращает nil если:
|
||||
-- 1. поле не существует
|
||||
-- 2. ни в одно поле блока не было произведено записи
|
||||
block.get_field(
|
||||
x: int, y: int, z: int,
|
||||
name: str,
|
||||
[опционально] index: int = 0
|
||||
) -> хранимое значение или nil
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user