Найти в Дзене
Гайды от Рольфа

Minecraft. Гайд по созданию уникальных ресурспаков - часть 1.

Разбираемся в понятиях соединения текстур.
Оглавление

Приветствую, милсдари-читатели! В прологе моей серии статей мы остановились на папке ctm. Давайте же продолжим работать над этой интересной темой!

Итак, у нас есть папка ctm. Её содержимое будет полностью зависеть от вас - там нет чёткой структуры, необходимой для выполнения нужных нам вещей.

Теперь хотелось бы рассказать о том, что же такое CTM.

CTM - акроним (аббревиатура), обозначающий Connected Textures Mod.

Изначально это был мод, делающий стекло, книжные полки и прочие текстуры безрамочными. Спустя какое-то время его функционал был включён в MCPatcher, а функционал MCPatcher - в Optifine. Именно поэтому нам необходим установленный Optifine - это заставляет работать наш ресурспак.

Разберём теорию, то есть, что можно сделать с помощью ctm и как.

Посредством создания текстового файла .properties и набора текстур можно творить очень интересные вещи.

Структура файла .properties

Каждый файл .properties может называться как угодно, однако есть нюанс: если название файла имеет формат block<id>.properties, вам не нужно будет указывать один из компонентов. К слову о них - файл состоит из нескольких обязательных компонентов:

method=
matchBlocks=
matchTiles=
tiles=<список текстур>

Сейчас объясню, что значат все эти магические слова)

Для начала, поговорим про method.

Методы CTM

В CTM есть несколько видов методов, определяющих работу этой функции:

method=ctm
ИЛИ horizontal
vertical
horizontal+vertical
vertical+horizontal
top
random
repeat
fixed

Поговорим подробнее про каждый метод.

method=ctm - классическое соединение, характерное блокам, к примеру, стекла.

Демонстрация классического CTM
Демонстрация классического CTM

method=horizontal соединяет блоки, стоящие на одном уровне.

method=vertical соединяет блоки по вертикали.

Вертикальный CTM (Андезит) и горизонтальный CTM (Гранит)
Вертикальный CTM (Андезит) и горизонтальный CTM (Гранит)

method=horizontal+vertical (можно сократить до method=v+h), соответственно соединяет как по вертикали, так и по горизонтали, при этом имеет значение, какой из методов стоит первым - он получает приоритет.

method=top соединяет блоки таким образом, что верхнюю грань имеет только верхний блок, а остальные соединяются бесшовно.

method=random позволяет сделать множество разных текстур одному блоку, которые будут видны случайным образом.

Random CTM на примере блоков диорита
Random CTM на примере блоков диорита

method=repeat - один из моих любимых, он позволяет отобразить большую текстуру за счёт множества блоков. Прекрасный пример - мои породы камня в ресурспаке TerraFirmaCraft, который я так и не довёл до совершенства.

method=fixed просто заменяет текстуру блока (равносилен method=random с всего одной текстурой)

method=overlay накладывает текстуру поверх обычной текстуры блока, если выполняются указанные условия.

Overlay CTM
Overlay CTM

Теперь про остальные параметры.

Напомню вам вид нашего файла block<id>.properties:

method=
matchBlocks=
matchTiles=
tiles=<список текстур>

Важно: matchBlocks и matchTiles являются взаимоисключающими, а потому в один момент использоваться может только один из этих компонентов.

matchBlocks имеет вид

matchBlocks=<id> или <minecraft:буквенный_id>

Пример:

matchBlocks=1
ИЛИ
matchBlocks=minecraft:stone

Это заставит соединение применяться к обычному камню.

matchTiles же имеет вид:

matchTiles=<имя текстуры блока>

Я предпочитаю использовать matchBlocks в тех случаях, когда это возможно (matchTiles, тем не менее, может быть полезен, если необходимо, к примеру, заменить текстуру растущей моркови/пшеницы/любого другого растения - посмотреть id этого блока не представляется возможным)

Имя текстуры блока можно посмотреть в файлах игры.

В следующих гайдах мы подробно рассмотрим каждый из видов соединения!

Я буду очень признателен, если вы подпишетесь на канал, поставите лайк и оставите свой комментарий, будь то критика или дельное предложение.

До скорых встреч!

Навигационный модуль:

Пролог - ТЫК!

Следующая часть - ТЫК!