# Свойства предметов ## Вид ### Тип иконки - `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 "префикс:имя_тега" = [ "рандомный_пак:предмет", "ещё_один_пак:какой_то_блок", ] "другой_префикс:другое_имя_тега" = [ # ... ] ```