Files
VoxelEngine/doc/ru/item-properties.md
T

95 lines
4.7 KiB
Markdown

# Свойства предметов
## Вид
### Тип иконки - `icon-type` и сама иконка - `icon`
В последней версии движка существуют следующие типы иконок предметов, определяющих то, как предмет будет отображаться в инвентаре:
- `none` - невидимый тип, используется только для `core:empty` (пустой предмет). Не влияет на появление предмета на панель доступа к контенту. Тип может быть удалён в будущем
- `sprite` - 2D изображение. Требуется указание свойства icon, состоящее из имени атласа и имени текстуры в этом атласе, разделённые `:`. Пример: `blocks:notfound`. На данный момент в движке существует два текстурных атласа:
- blocks (генерируется из png файлов в `res/textures/blocks/`)
- items (генерируется из png файлов в `res/textures/items/`)
- `block` - отображает предпросмотр блока. В icon указывается строковый id блока который нужно отображать. Пример `base:wood`
### Модель предмета - `model-name`
Имя модели предмета. Модель будет загружена автоматически.
Значение по-умолчанию - `packid:itemname.model`.
Если модель не указана, будет сгенерирована автоматическию
### Имя и Описание
`caption` - имя предмета в инвентаре
`description` - описание предмета в инвентаре
Можно использовать `md`
*см. [Text Styles](/doc/en/text-styles.md)*
## Поведение
### Устанавливаемый блок - `placing-block`
При указании строкового id блока предмет устанавливает его при нажатии ПКМ. Именно это свойство используется у всех сгенерированных для блоков предметов.
Пример: предмет ставит блоки базальта:
```json
"placing-block": "base:bazalt"
```
### Излучение - `emission`
Влияет на свет излучаемый предметом, когда он находится в руке игрока.
Массив из трех целых чисел - R, G, B освещения от 0 до 15.
Примеры:
- `[15, 15, 15]` - самый яркий белый свет
- `[7, 0, 0]` - слабый красный свет
- `[0, 0, 0]` - предмет не излучает свет (по-умолчанию)
### Размер стопки (стека) - `stack-size`
Определяет максимальное количество предмета в одном слоте. Значение по-умолчанию - 64.
### Число использований (прочность) - `uses`
Свойство, используемое через [inventory.use](scripting/builtins/libinventory.md).
Статус свойства отображается в интерфейсе инвентаря. Способ отображения определяется через `uses-display`.
### Отображение использований - `uses-display`
- `none` - отображение отключено
- `number` - число
- `relation` - отношение текущего значения к изначальному (x/y)
- `vbar` - вертикальная шкала (используется по-умолчанию)
## Теги - *tags*
Теги позволяют обозначать обобщённые свойства предметов. Названия следует формировать как `префикс:имя_тега`.
Префикс не является обязательным, но позволяет избегать нежелательных логических коллизий. Пример:
```json
{
"tags": [
"core:fuel",
"base_survival:poison",
]
}
```
Теги предметам можно добавлять и из других паков, с помощью файла `ваш_пак:tags.toml`. Пример
```toml
"префикс:имя_тега" = [
"рандомный_пак:предмет",
"ещё_один_пак:какой_то_блок",
]
"другой_префикс:другое_имя_тега" = [
# ...
]
```