# Свойства блоков ## Вид ### Текстура - `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` блок не препятствует прохождению вертикального луча солнечного света. ## Физика ### Препятствие - `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]`.