modsmith Войти Войти Рус / Eng

Variants-CIT

variants-cit · 1878462 загрузок · EUPL-1.2

клиент: required · сервер: unsupported (заявлено автором мода)

Альтернативный формат CIT для больших коллекций вариантов с повторяющимися шаблонами.

Описание

Варианты-CIT

Альтернативный формат CIT, предназначенный для обработки большого количества вариантов.

Этот мод превосходен в сценариях, где один элемент имеет множество вариантов, основанных на одних и тех же данных. Он обеспечивает более высокую производительность, когда доступно большое количество CIT, и использует менее избыточный формат ресурсов, требующий только одного короткого файла для одновременной настройки всех возможных вариантов элемента.

Назначение моделей в каждом конкретном случае (аналогично тому, как это делает Optifine-CIT) по-прежнему возможно, но оно не обеспечивает такой же производительности.

Формат пакета ресурсов

Это быстрая демонстрация. Подробное руководство можно найти в Вики.

Формат основан на том, что варианты элементов автоматически связываются с моделями или текстурами с соответствующими именами. Вместо определения отдельных условий для каждого варианта вы определяете единое правило, которое управляет всеми вариантами в коллекции (так называемые модули). Этот модуль определяет, какой элемент затрагивается, как определить его варианты и где расположены модели вариантов.

Полностью автоматическое сопоставление вариантов с моделями

Вот простой модуль, который изменит текстуру зачарованных книг:

{
	"items": "enchanted_book", // The affected item type(s)

	"modelPrefix": "book_cit/", // The folder containing the possible models/textures.
	"assetGen": "item_model/generated", // Auto-generate models from textures (if missing)
	
	"type": "stored_entchantment", // How to compute the item's "variant ID"
	"parameters": { // Extra options specific to the module's type
		"levelSeparator": "_lvl_" // Include enchantment level in the variant ID
	}
}

Здесь книга с чарами minecraft:unbreaking на уровне 2 будет иметь идентификатор варианта minecraft:unbreaking_lvl_2 и, таким образом, будет использовать текстуру, хранящуюся в /assets/minecraft/textures/item/book_cit/unbreaking_lvl_2.png. Этот единственный модуль будет работать со всеми возможными чарами, ванильными или модифицированными, при условии, что существует соответствующая текстура.

Автоматические варианты на основе пользовательских данных

Модуль выше имеет специальный тип для зачарованных книг. Если для конкретного варианта использования не существует типа, вы все равно можете использовать более общие модули, чтобы получить вариант из любого компонента:

{
	"items": "minecraft:suspicious_stew",
	"modelPrefix": "item/suspicious_stew_cit/",
	"assetGen": "item_model/generated",

	"type": "component_data",
	"parameters": {
		"componentType": "suspicious_stew_effects", // The component containing the variant ID
		"nbtPath": "[0].id" // The location of the variant ID in the component.
	}
}

Обработка данных, которые нельзя использовать как есть:

{
	"items": "diamond_sword",

	"modelPrefix": "item/named_swords/",
	"assetGen": "item_model/handheld",

	"type": "component_data",
	"parameters":
	{
		"componentType": "custom_name",
		"transform": [
			{
				"function": "regex",
				// Pattern matching,..
				"regex": "(?i)(.*'s )?(Great |Grand )?(?<var>.*(sword|dagger))( of doom)?",
				// ... and preserve only a portion of the name.
				"substitution": "$var"
				// (E.g: "steev18's great Steel Sword" => "Steel Sword")
			}
			{
				// Turns any text into a valid identifier
				"function": "sanitize"
				// (E.g: "Steel Sword" => "minecraft:steel_sword")
			}
		]
	}
}

Объединение нескольких фрагментов данных из разных источников:

{
	"items": "minecraft:diamond_sword",
	"modelPrefix": "item/trimmed_diamond_sword/",
	"assetGen": "item_model/handheld",

	"type": "component_format",
	"parameters":
	{
		// How to combine various pieces of data into a variant ID
		// (E.g: sentry_diamond)
		"format": "${pattern}_${material}",
		// Where to find those pieces of data.
		"variables": {
			"pattern": {
				"componentType": "trim",
				"nbtPath": ".pattern"
			},
			"material": {
				"componentType": "trim",
				"nbtPath": ".material",
				"transform": "discard_namespace"
			}
		}
	}
}

Варианты для каждого случая

Для систем, которые на самом деле не следуют никаким правилам (или если у вас слишком мало вариантов, чтобы заботиться об автоматизме), вы можете использовать формат, более близкий к парадигмам Optifine-CIT:

{
	"items": "trident",
	"modelPrefix": "item/godly_tridents/",
	"assetGen": "item_model/trident",

	"type": "predicates",
	"parameters": {
		"predicates":
		[
			{
				"variantId": "zeus_smite",
				"precondition": {
					"enchantments.channeling": { "greater_or_equals": 1 }
				}
			},
			{
				"variantId": "jupiter_syphon",
				"precondition": {
					"enchantments.riptide": { "greater_or_equals": 1 }
				}
			}
			// etc
		]
	}
}

Версии (60)

ВерсияMinecraftЗагрузчикиФайл
5.8.1+26.3 26.3 fabric скачать
5.8.1+26.1.2 26.2, 26.1.2, 26.1.1, 26.1 fabric скачать
5.8.1+1.21.11 1.21.11, 1.21.10, 1.21.9 fabric скачать
5.8.1+1.21.8 1.21.8, 1.21.7, 1.21.6 fabric скачать
5.8.1+1.21.5 1.21.5 fabric скачать
5.8.1+1.21.4 1.21.4 fabric скачать
5.7.1+26.3 26.3 fabric скачать
5.7.1+26.1.2 26.1, 26.1.1, 26.1.2, 26.2 fabric скачать
5.7.1+1.21.11 1.21.10, 1.21.11, 1.21.9 fabric скачать
5.7.1+1.21.8 1.21.6, 1.21.7, 1.21.8 fabric скачать
5.7.1+1.21.4 1.21.4 fabric скачать
5.7.1+1.21.5 1.21.5 fabric скачать
5.7.0+26.3 26.3 fabric скачать
5.7.0+26.1.2 26.1, 26.1.1, 26.1.2, 26.2 fabric скачать
5.7.0+1.21.11 1.21.10, 1.21.11, 1.21.9 fabric скачать
5.7.0+1.21.8 1.21.6, 1.21.7, 1.21.8 fabric скачать
5.7.0+1.21.5 1.21.5 fabric скачать
5.7.0+1.21.4 1.21.4 fabric скачать
5.5.0+26.1.2 26.1, 26.1.1, 26.1.2, 26.2 fabric скачать
5.5.0+1.21.9 1.21.10, 1.21.11, 1.21.9 fabric скачать
5.5.0+1.21.6 1.21.6, 1.21.7, 1.21.8 fabric скачать
5.5.0+1.21.5 1.21.5 fabric скачать
5.5.0+1.21.4 1.21.4 fabric скачать
2.18.0+1.21.1 1.21, 1.21.1 fabric скачать
2.17.2+1.21.1 1.21, 1.21.1 fabric скачать
4.11.2+1.21.9 1.21.10, 1.21.11, 1.21.9 fabric скачать
4.11.2+1.21.6 1.21.6, 1.21.7, 1.21.8 fabric скачать
4.11.2+1.21.5 1.21.5 fabric скачать
3.16.2+1.21.4 1.21.4 fabric скачать
2.17.1+1.21.1 1.21, 1.21.1 fabric скачать
2.17.0+1.21.1 1.21, 1.21.1 fabric скачать
4.8.2+1.21.9 1.21.10, 1.21.11, 1.21.9 fabric скачать
4.8.1+1.21.9 1.21.10, 1.21.9 fabric скачать
4.8.1+1.21.6 1.21.6, 1.21.7, 1.21.8 fabric скачать
4.8.1+1.21.5 1.21.5 fabric скачать
3.13.1+1.21.4 1.21.4 fabric скачать
4.8.0+1.21.9 1.21.10, 1.21.9 fabric скачать
4.8.0+1.21.6 1.21.6, 1.21.7, 1.21.8 fabric скачать
4.8.0+1.21.5 1.21.5 fabric скачать
3.13.0+1.21.4 1.21.4 fabric скачать
2.16.0+1.21.1 1.21, 1.21.1 fabric скачать
4.6.1+1.21.9 1.21.10, 1.21.9 fabric скачать
4.6.1+1.21.6 1.21.6, 1.21.7, 1.21.8 fabric скачать
4.6.1+1.21.5 1.21.5 fabric скачать
3.11.1+1.21.4 1.21.4 fabric скачать
2.15.0+1.21.3 1.21.2, 1.21.3 fabric скачать
2.15.0+1.21.1 1.21, 1.21.1 fabric скачать
4.5.0+1.21.6 1.21.6, 1.21.7, 1.21.8 fabric скачать
4.5.0+1.21.5 1.21.5 fabric скачать
3.10.0+1.21.4 1.21.4 fabric скачать
2.14.0+1.21.3 1.21.2, 1.21.3 fabric скачать
2.14.0+1.21.1 1.21, 1.21.1 fabric скачать
4.4.1+1.21.6 1.21.6, 1.21.7, 1.21.8 fabric скачать
4.4.1+1.21.5 1.21.5 fabric скачать
3.9.1+1.21.4 1.21.4 fabric скачать
2.13.1+1.21.3 1.21.2, 1.21.3 fabric скачать
2.13.1+1.21.1 1.21, 1.21.1 fabric скачать
2.13.0+1.21.3 1.21.2, 1.21.3 fabric скачать
2.13.0+1.21.1 1.21, 1.21.1 fabric скачать
4.2.0+1.21.6 1.21.6 fabric скачать

Страница на Modrinth →