1. Вики
  2. /Блоки
  3. /Текстуры, звуки и названия блоков

Текстуры, звуки и названия блоков

Часть своего блока в пакете ресурсов: terrain_texture.json, material_instances, звуки в blocks.json и название в en_US.lang.

Свой блок, как и предмет, живёт в двух пакетах. Пакет поведения говорит, как он себя ведёт. Пакет ресурсов хранит его текстуры, звук и название.

Файлы

Пакет ресурсов
RP/
  blocks.json
  textures/
    terrain_texture.json
    blocks/
      ruby_block.png
  texts/
    en_US.lang

Шаг 1: текстура

Сохраните PNG размером 16x16 в RP/textures/blocks/. Затем дайте ему короткое имя в terrain_texture.json:

RP/textures/terrain_texture.json
{
  "resource_pack_name": "My Ruby Add-on",
  "texture_name": "atlas.terrain",
  "padding": 8,
  "num_mip_levels": 4,
  "texture_data": {
    "ruby_block": {
      "textures": "textures/blocks/ruby_block"
    }
  }
}

Шаг 2: наденьте её на блок

Блок в пакете поведения выбирает текстуры через minecraft:material_instances. * означает все грани.

BP/blocks/ruby_block.json
"minecraft:material_instances": {
  "*": {
    "texture": "ruby_block",
    "render_method": "opaque"
  }
}

Чтобы задать разные грани, назовите их. Грани, которые вы не указали, берут *:

BP/blocks/ruby_block.json
"minecraft:material_instances": {
  "*": { "texture": "ruby_block_side" },
  "up": { "texture": "ruby_block_top" },
  "down": { "texture": "ruby_block_bottom" }
}
render_methodДля чего
opaqueСплошные блоки. По умолчанию.
alpha_testВырезанные пиксели, как у листвы или стеклянных панелей. Рисуются обе стороны.
alpha_test_single_sidedВырезанные пиксели, только лицевая сторона.
blendПолупрозрачный цвет, как у окрашенного стекла.
double_sidedСплошной, но рисуется с обеих сторон.

Шаг 3: звук

blocks.json лежит в корне пакета ресурсов. Он задаёт звук разрушения, установки и ходьбы:

RP/blocks.json
{
  "format_version": "1.21.40",
  "wiki:ruby_block": {
    "sound": "stone"
  }
}

Частые звуки: stone, wood, gravel, grass, glass, metal, sand, cloth, amethyst_block.

Шаг 4: название

RP/texts/en_US.lang
tile.wiki:ruby_block.name=Ruby Block

У блоков ключ начинается с tile. и заканчивается на .name. Ещё можно задать minecraft:display_name в файле блока.

Свои формы

Для формы, которая не является полным кубом, сделайте модель, сохраните её как RP/models/blocks/<name>.geo.json и укажите в minecraft:geometry её geometry.<name>. Тогда имена граней в material_instances совпадают с именами граней костей вашей модели.

Фиолетово-чёрная шахматка

Короткого имени текстуры нет в terrain_texture.json, или её путь неверный. Не пишите .png в пути и помните, что файл кэшируется: после изменения перезапустите мир.

We use cookies to improve your experience and analyse site traffic. Learn more