Tag Exclusion
Библиотека и утилита для удаления записей из тегов
- Загрузчики
- Fabric
- Скачиваний на Modrinth
- 381
- Подписчиков на Modrinth
- 1
- версии
- 3
- Обновлён
- 26 марта 202626 мар.
- Опубликован
- в 2026
Коротко о моде
Ставится только на сервер; игрокам ставить не нужно
Эта библиотека устарела на 26.1+, так как Fabric API и Neoforge теперь оба содержат способы удаления записей из файлов тегов.
Библиотека и утилита, позволяющая удалять записи из тегов, чтобы не приходилось использовать "replace": true в датапаках.
Синтаксис
Теперь есть сокращённый синтаксис для записей тегов. Можно добавить ? в конце записи, чтобы пометить её как опциональную, и ! в начале записи, чтобы пометить её как исключающую.
Исключающие записи будут удалены из тега, в том числе из предыдущих записей в том же файле тега и из записей в нижних паках.
Пример:
{
"values": [
"#minecraft:doors",
// Добавить все двери
"!minecraft:spruce_door",
// Кроме еловой двери
"#minecraft:logs",
// Добавить все брёвна
"!#minecraft:logs_that_burn",
// Но не те, что горят
"create:brass_casing?",
// Добавить латунный корпус из create, если он установлен
"!#enderscape:veiled_logs?"
// Удалить enderscape veiled logs, если он установлен
]
}Стандартный расширенный формат тоже расширен.
{
"values": [
"#minecraft:logs",
{
"id": "#minecraft:logs_that_burn",
"tagex:exclude": true
}
]
}Зависимость от Tag Exclusion
Сейчас рекомендуется использовать JitPack, чтобы добавить мод в Gradle и включить его через jar-in-jar.
repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
modImplementation include("com.github.ThePotatoArchivist:TagExclusion:${project.tagex_version}")
}Примечание: по какой-то причине JitPack не может содержать + в именах версий, поэтому при указании версии в Gradle нужно использовать - вместо него, например 1.0.0-mc1.21.11. В метаданных мода версия по-прежнему использует +, только maven-версия использует -.
Генерация данных
Чтобы добавить исключения тегов при генерации данных, используйте методы-расширения для TagAppender.
valueLookupBuilder(ItemTags.ANVIL)
.tagex_exclude(Items.CHIPPED_ANVIL);
valueLookupBuilder(ItemTags.LOGS_THAT_BURN)
.tagex_forceExcludeTag(ItemTags.DARK_OAK_LOGS);Если вы используете Kotlin, там тоже есть функции-расширения без tagex_ в названии.
with (valueLookupBuilder(ItemTags.ANVIL)) {
exclude(Items.CHIPPED_ANVIL)
}Чтобы не возиться с datagen, когда это не нужно, datagen будет создавать записи тегов в сокращённой форме только если генерирующий мод указал свой mod id для datagen и объявил жёсткую зависимость от tagex.
В build.gradle:
fabricApi {
configureDataGeneration {
// ...
modId = "testmod"
}
}Возможно, вам придётся перегенерировать конфигурации запуска в IDE.
В fabric.mod.json:
{
// ...
"depends": {
// ...
"tagex": "^1.0.0"
}
}Частые вопросы
Как установить Tag Exclusion?
Установите Fabric под свою версию Minecraft, скачайте Tag Exclusion под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть Tag Exclusion?
У Tag Exclusion есть сборки для Minecraft 1.21–1.21.1, 1.21.11–26.1.2.
Нужен ли Tag Exclusion на сервере?
Ставится только на сервер; игрокам ставить не нужно