Внутреигровые формы
Помимо стандартных "полноблочных" блоков, формы могут быть самыми разными. Игра предоставляет различные вариации базовых моделей, таких как ступеньки или полублоки. Обычно их реализации используются совместно со стандартными, полноблочными блоками. Здесь представлено большинство существующих форм, а также различные типы смешивания текстур атласа.
Определимся с форматом
Прежде всего, форма блока может быть изменена несколькими способами. Это дополнительные свойства посредством добавления внутреигрового типа, любая параллелепипедная форма (в виде коробки; или же шейп), рендеры с использованием коробок или создания разверток меж вершин, а также нативное изменение формы. Мы поверхност но рассмотрим все кроме последнего.
Для регистрации блока с такой формой воспользуемся дополнительными свойствами:
const BLOCK_TYPE_SOME_NAME = Block.createSpecialType({
rendertype: 0 // просто цельный блок, базовое значение
// некоторые свойства, которые будут изменены: если в примере
// подается лишь объект, его необходимо выделить именно сюда
});
И помимо этого, некоторым формам нужно будет добавить функционал.
Листва
Не учитывая различные интеграции вроде Better Foliage, листва это полноблочный блок лишь с измененными дополнительными свойствами. Общее определение сводится лишь к паре функций:
IDRegistry.genBlockID("oxidized_leaves");
Block.createBlock("oxidized_leaves", [{
name: "tile.oxidized_leaves.name",
texture: [["oxidized_leaves", 0]],
inCreative: true
}], BLOCK_TYPE_LEAVES);