VoxelEngine/doc/ru/block-properties.md
2024-06-13 18:41:38 +03:00

5.9 KiB
Raw Blame History

Вид

Текстура - texture

Название текстуры блока (указывается только имя, без расширения или пути к файлу)

Файл текстуры должен находиться в res/textures/blocks/ и иметь формат png

Текстурирование сторон - texture-faces

Important

Не может использоваться одновременно с texture

Массив из 6 названий текстур, позволяющих указать их для каждой из сторон отдельно.

Пример:

"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].