Перейти к содержимому

InexactCIT

Добавляет сопоставление по регулярным выражениям в стиле CIT в ванильную систему условных моделей.

Fabric
Загрузчики
Fabric
Скачиваний на Modrinth
436
Подписчиков на Modrinth
1
версий
5
Обновлён
15 апреля 202615 апр.
Опубликован
в 2025

Коротко о моде

Работает на Fabric
Для Minecraft 1.21.8–1.21.11
Ставится только в игру; на сервер ставить не нужно
Последняя версия — 1.0.0 от 15 апреля 2026
Лицензия BSD-3-Clause — бесплатно
Где нужен
В игреобязателенНа серверене нужен

Ставится только в игру; на сервер ставить не нужно

Версии игры1.21.8–1.21.11
Описание переведено автоматическиПоказать оригинал (EN)

Восстановление условных моделей предметов на основе шаблонов.

Назначение

Мод Custom Item Textures (CIT), изначально часть McPatcher, а затем Optifine, позволял заменять текстуры (и модели) предметов, метаданные которых совпадали с неточными шаблонами. Теперь у нас есть почти эквивалентная замена текстур предметов в стандартном Minecraft с помощью условных клиентских типов предметов, хотя неточное сопоставление больше невозможно. Этот мод добавляет замену CIT с регулярными выражениями в новую стандартную систему условных определений предметов.

Совместимость и зависимости

  • Minecraft: 1.21.8
  • Загрузчик: Fabric 0.136.1

Fabric API не требуется.

Установка

Добавьте JAR мода в папку mods Fabric.

Использование (игроки)

Этот мод добавляет функцию в определения моделей предметов, которой могут воспользоваться создатели ресурспаков. Она всегда активна, когда мод установлен.

Интеграция с ресурспаками (авторы паков)

JSON-файлы в assets/minecraft/item — это определения предметов. Это не обязательно файл модели, используемый для отрисовки предмета (то есть модель предмета), которые находятся в assets/minecraft/models/item.

В файле определения предмета JSON-объект в поле "model" определяет, какой файл модели используется для отрисовки предмета. Обычно один тип предмета всегда отрисовывается одной и той же моделью, поэтому у этого объекта "type" установлен в minecraft:model. Но для одного и того же предмета можно использовать разные модели в разных контекстах, применяя объекты "model" с другими типами, например minecraft:condition и minecraft:select.

Этот мод добавляет тип модели определения предмета inexactcit:match. Он похож на встроенный тип select тем, что содержит список моделей со связанными условиями, и когда одно условие совпадает, для отрисовки предмета используется связанная с ним модель. В отличие от Select, условия Match — это потенциально неточные регулярные выражения.

Модели определения предмета Match используют те же поля, что и Select, в частности "property", "component", "cases" и "fallback".

Структура полей с метками

{ "model": { "type": "inexactcit:match" , "property": ... # Вероятно, всегда minecraft:component , "component": ... # Имя компонента, к которому обращаемся , "cases": [ { "regex": ... # Регулярное выражение для этого случая , "model": { ... } # Модель опр. предмета, используемая при совпадении regexp } , ... # Ещё один случай, как выше , ... # Любое количество дополнительных случаев ] , "fallback": { ... } # Модель опр. предмета, используемая, когда ни один случай не совпал } }

Обязательные поля

Сопоставление по регулярным выражениям предназначено для текстовых метаданных, поэтому поле "property" будет minecraft:component. Поведение, когда "property" не minecraft:component, пока не проверено.

Поле "component" должно быть установлено в ID с пространством имён для компонента, который будет проверяться условием, например minecraft:lore, minecraft:custom_name.

Поле "cases" должно содержать список JSON-объектов. Каждый объект должен содержать поле "regex" и соответствующее поле "model". Это должны быть (в стиле Java) регулярное выражение и модель определения предмета соответственно. Когда регулярное выражение совпадает с содержимым компонента, указанного в поле "component", для этого предмета используется соответствующая модель.

Поле "fallback" задаёт модель, которая используется, когда ни один из объектов "case" не совпал, так же как в стандартном Select.

Пример

Ниже приведён пример определения предмета Match. Он заменяет все деревянные мотыги, в названиях которых есть слово "Quarterstaff", на модель по пути pixelatedvolume:item/quarterstaff.

{ "model": { "type": "inexactcit:match" , "property": "minecraft:component" , "component": "minecraft:custom_name" , "cases": [ { "model": { "model": "pixelatedvolume:item/quarterstaff" , "type": "minecraft:model" } , "regex": ".Quarterstaff." } ] , "fallback": { "model": "minecraft:item/wooden_hoe" , "type": "minecraft:model" } } , "oversized_in_gui": true }

Сравнение текста

Содержимое проверяемого поля сериализуется через toString. Возможности текстовых компонентов (JSON), форматирование кодами разделов и т. д. — всё это попадает в строку сравнения, поэтому невозможно определить, что может стоять до или после текста, видимого в игре, или что происходит между строками многострочных компонентов.

Ошибки регулярных выражений или моделей

Файл определения предмета с некорректным регулярным выражением не может быть прочитан, поэтому предмет будет отображаться с моделью по умолчанию (пурпурно-чёрный куб). Сбой (с указанием проблемного файла) записывается в лог как ошибка во время загрузки ресурспака.

Несколько целевых компонентов

Чтобы задать одному предмету несколько правил замены, использующих разные компоненты (например, один набор правил для lore и один для custom_name), установите модель по умолчанию на новую Match-модель предмета клиента, которая выбирает второй компонент.

Статус

Возможность сопоставления свойств, отличных от minecraft:component, будет добавлена в будущем. Сейчас такие сопоставления принимаются без ошибок, но не оказывают никакого эффекта.

Частые вопросы

Как установить InexactCIT?

Установите Fabric под свою версию Minecraft, скачайте InexactCIT под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.

Для каких версий Minecraft есть InexactCIT?

У InexactCIT есть сборки для Minecraft 1.21.8–1.21.11.

Нужен ли InexactCIT на сервере?

Ставится только в игру; на сервер ставить не нужно

Лицензия и источник
BSD 3-Clause "New" or "Revised" Licenseможно свободно использовать и распространять с указанием автора
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее