144 lines
6.1 KiB
Markdown
144 lines
6.1 KiB
Markdown
# Свойства блоков
|
||
|
||
## Вид
|
||
|
||
### Текстура - *texture*
|
||
|
||
Название текстуры блока (указывается только имя, без расширения или пути к файлу)
|
||
|
||
Файл текстуры должен находиться в `res/textures/blocks/` и иметь формат **png**
|
||
|
||
### Текстурирование сторон - *texture-faces*
|
||
|
||
>[!IMPORTANT]
|
||
> Не может использоваться одновременно с *texture*
|
||
|
||
Массив из 6 названий текстур, позволяющих указать их для каждой из сторон отдельно.
|
||
|
||
Пример:
|
||
```json
|
||
"texture-faces": [
|
||
"grass_side",
|
||
"grass_side",
|
||
"dirt",
|
||
"grass_top",
|
||
"grass_side",
|
||
"grass_side"
|
||
]
|
||
```
|
||
|
||
### Модель - *model*
|
||
|
||
Модель блока из списка:
|
||
- "block" - используется по-умолчанию для всех обычных блоков
|
||
- "none" - невидимый блок (пример: воздух)
|
||
- "X" - модель травы (крест из двух спрайтов)
|
||
- "aabb" - модель, соответствующая хитбоксу блока (составной хитбокс будет объединен в один). Примеры: трубы, лампочки, панели.
|
||
|
||
### Группа отрисовки - *draw-group*
|
||
|
||
Целое число определяющее номер группы отрисовки данного блока.
|
||
Актуально для полупрозрачных блоков - решает проблемы невидимых сторон блоков за этим блоком.
|
||
|
||
### Вращение - *rotation*
|
||
|
||
Профиль вращения (набор положений, в которые можно установить блок) из списка:
|
||
|
||
- "none" - вращение блока отключено (по-умолчанию)
|
||
- "pipe" - профиль "труба". Примеры блоков: бревно, труба, лампочка
|
||
- "pane" - профиль "панель". Примеры блоков: панель, дверь, табличка
|
||
|
||
## Освещение
|
||
|
||
### Излучение - *emission*:
|
||
|
||
Массив из трех целых чисел - R, G, B освещения от 0 до 15.
|
||
|
||
Примеры:
|
||
|
||
- `[15, 15, 15]` - самый яркий белый свет
|
||
- `[7, 0, 0]` - слабый красный свет
|
||
- `[0, 0, 0]` - блок не излучает свет (по-умолчанию)
|
||
|
||
|
||
### Светопроводимость - *light-passing*
|
||
|
||
При значении `true` блок проводит свет от излучающих блоков.
|
||
|
||
### Солнечная светопроводимость - *sky-light-passing*
|
||
|
||
При значении `true` блок не препятствует прохождению вертикального луча солнечного света.
|
||
|
||
|
||
### Без освещения - *shadeless*
|
||
|
||
Выключает освещение на модели блока.
|
||
|
||
## Физика
|
||
|
||
### Препятствие - *obstacle*
|
||
|
||
Значение false отключает хитбокс у блока (позволяет игроку проходить сквозь блок)
|
||
|
||
### Хитбокс - *hitbox*
|
||
|
||
Массив из 6 чисел описывающих смещение и размер хитбокса блока.
|
||
|
||
Числа указываются в диапазоне [0.0, 1.0] - т.е в пределах блока.
|
||
|
||
Массив `[0.25, 0.0, 0.5, 0.75, 0.4, 0.3]` описывает хитбокс:
|
||
- шириной (с востока на запад) 0.75 м
|
||
- высотой 0.4 м
|
||
- длиной (с юга на север) 0.3 м
|
||
- смещен на 0.25 м на запад
|
||
- смещен на 0.0 м вверх
|
||
- смещен на 0.5 м на север
|
||
|
||
### Приземленность - *grounded*
|
||
|
||
Блок может быть установлен только на полный блок.
|
||
Разрушается при разрушении блока под ним.
|
||
|
||
### Выделяемость - *selectable*
|
||
|
||
При значении в `false` курсор будет игнорировать блок, выделяя тот, что находится за ним.
|
||
|
||
### Заменяемость - *replaceable*
|
||
|
||
При значении в `true` на месте блока можно установить любой другой блок. Пример: вода, трава, цветок.
|
||
|
||
### Разрушаемость - *breakable*
|
||
|
||
При значении в `false` блок нельзя сломать.
|
||
|
||
## Инвентарь
|
||
|
||
### Скрытый блок - *hidden*
|
||
|
||
При значении в `true` блок не появляется в инвентаре и для него не генерируется предмет, поэтому c 0.17 требуется указать свойство *picking-item*
|
||
|
||
### Подбираемый предмет - *picking-item*
|
||
|
||
Предмет, который будет выбран при нажатии средней кнопкой мыши на блок.
|
||
|
||
Пример: блок `door:door_open` скрыт (hidden) поэтому указывается `picking-item: "door:door.item"`
|
||
|
||
### Имя скрипта - *script-name*
|
||
|
||
Позволяет указать название скрипта блока. Свойство обеспечивает возможность использования одного скрипта для нескольких блоков.
|
||
Название указывается без `пак:scripts/` и расширения.
|
||
|
||
### Имя макета UI - *ui-layout*
|
||
|
||
Позволяет указать id XML-макета интерфейса блока. По-умолчанию используется строковый id блока.
|
||
|
||
### Размер инвентаря - *inventory-size*
|
||
|
||
Число слотов инвентаря блока. По-умолчанию - 0 (инвентарь отсутствует)
|
||
|
||
## Расширенные блоки
|
||
|
||
### Размер блока - *size*
|
||
|
||
Массив из трех целых чисел. Значение по-умолчанию - `[1, 1, 1]`.
|