Настройте простые и автоматические системы сортировки.
Больше не нужны лагающие и громоздкие редстоун-конструкции. Items Filter предлагает лучшую альтернативу для автоматической сортировки вашего хранилища!
Items Filter - это датапак для Майнкрафт, который позволяет фильтровать несколько типов предметов из контейнера, расположенного над ним, в другой контейнер под ним. Вы сами выбираете, какие предметы пропускать, задав их в соседнем контейнере-эталоне. Фильтры также могут сбрасывать отсортированные предметы прямо в блок жидкости (воздух, воду или лаву) под ними.
Если вы использовали версию V.2, то заметили, что датапак сменил название. Это связано с тем, что он больше не полагается исключительно на воронки: теперь можно напрямую перекладывать предметы из сундука или шалкера в другой сундук.
Items Filter крафтится из:
Рецепт следующий:
Когда вы устанавливаете блок фильтра, сторона, обращённая к вам, покажет маленькую серую кнопку. По ней можно кликнуть правой кнопкой мыши, чтобы переключить режим (об этом ниже). Противоположная сторона показывает маленькую иконку наблюдателя. Сюда нужно поместить совместимый контейнер (все контейнеры с прямым полем Items: сундуки, воронки, бочки, шалкеры, раздатчики, выбрасыватели и т.д.). Этот контейнер должен содержать все эталонные предметы - те, которые вы хотите пропускать через фильтр. Другие предметы останутся в контейнере сверху или продолжат путь по системе, если это воронка, подключённая к другому фильтру.
Для работы Items Filter необходимо:
У Items Filter есть два режима: Lax (свободный, по умолчанию) и Strict (строгий). Режим переключается правым кликом по серой кнопке на блоке.
Серый цвет кнопки. В этом режиме фильтр учитывает только id предмета, игнорируя все его NBT-теги. Например, если в эталонном контейнере зачарованный алмазный меч, то через фильтр пройдут все алмазные мечи, независимо от зачарований, прочности и прочих тегов, так как у них одинаковый id (minecraft:diamond_sword).
Жёлтый цвет кнопки. В этом режиме учитывается не только id, но и все (неигнорируемые) теги (до MC 1.20.5) или компоненты (после MC 1.20.5) предметов. В том же примере пропустятся только те алмазные мечи, у которых точь-в-точь такие же данные (зачарования, урон и т.д.). Это полезно для фильтрации зачарованных книг, кастомных голов игроков или предметов из других датапаков.
Strict режим также умеет игнорировать некоторые теги или компоненты по необходимости. См. раздел Настройки ниже.
Strict режим может игнорировать некоторые компоненты при проверке. По умолчанию ничего не игнорируется. Вы можете добавить, удалить или получить список игнорируемых компонентов следующими командами:
/function pk_it_fi:settings/mode/strict/ignored_components/add {id:"<id>"}
/function pk_it_fi:settings/mode/strict/ignored_components/remove {id:"<id>"}
/function pk_it_fi:settings/mode/strict/ignored_components/list
Пример - игнорирование компонента "minecraft:repair_cost":
/function pk_it_fi:settings/mode/strict/ignored_components/add {"id":"minecraft:repair_cost"}
Также есть готовый образец с наиболее часто игнорируемыми компонентами: "minecraft:custom_name", "minecraft:lore", "minecraft:enchantments", "minecraft:damage" и "minecraft:repair_cost". Активируйте его командой:
/function pk_it_fi:settings/mode/strict/ignored_components/add_default_sample
Похожая механика для старых версий через теги:
/function pk_it_fi:settings/mode/strict/ignored_tags/add {property:"<свойство>"}
/function pk_it_fi:settings/mode/strict/ignored_tags/remove {property:"<свойство>"}
/function pk_it_fi:settings/mode/strict/ignored_tags/list
Пример - игнорирование тега repairCost:
/function pk_it_fi:settings/mode/strict/ignored_tags/add {property:"repairCost"}
Готовый образец с тегами display, Enchantments, Damage и repairCost:
/function pk_it_fi:settings/mode/strict/ignored_tags/add_default_sample
Позволяет пропускать через фильтр в Lax режиме любой шалкера или связку независимо от цвета, если хотя бы один из них указан в эталонном контейнере. Команды:
/function pk_it_fi:settings/mode/lax/ignore_container_color/true
/function pk_it_fi:settings/mode/lax/ignore_container_color/false
/function pk_it_fi:settings/mode/lax/ignore_container_color/get
По умолчанию кулдаун фильтра - 4 тика (вдвое быстрее воронки). Рекомендуется оставить это значение, чтобы фильтр успевал работать с воронками, но вы можете изменить его:
/function pk_it_fi:settings/transfer_cooldown/get
/function pk_it_fi:settings/transfer_cooldown/set {value:<значение>}
Пример - установка кулдауна в 1 тик:
/function pk_it_fi:settings/transfer_cooldown/set {value:1}
Кулдаун не может быть меньше 1 тика.
Вы можете разрешить фильтру искать эталонные предметы в двойных сундуках. По умолчанию отключено, так как это почти не нужно, но расходует больше ресурсов на каждую проверку. Команды:
/function pk_it_fi:settings/reference/allow_double_chest/true
/function pk_it_fi:settings/reference/allow_double_chest/false
/function pk_it_fi:settings/reference/allow_double_chest/get
Если вы оператор на сервере или включены читы в одиночной игре, используйте команду:
(после V.3.1.0):
/function pk_it_fi:cmd/give/items_filter
(до V.3.1.0):
/function pk_it_fi:items/items_filter/give
Если фильтры сломались случайно (например, командой kill @e), выполните команду для пересоздания всех Items Filter из базы данных:
/function pk_it_fi:cmd/debug/recreate_all_items_filters
Процесс автоматически удалит остатки сломанных фильтров и установит новые. Все данные (id, владелец, режим и т.д.) сохранятся. Дождитесь сообщения об успешном завершении.
Вы можете преобразовать все старые Hopper Sorters (из V.2) в Items Filter. Для этого не удаляйте V.2 штатным способом - сохраните её базу данных. Просто удалите датапак V.2 из папки datapacks мира, обновите мир до нужной версии Майнкрафт (если нужно) и установите Items Filter V.3. Затем выполните команду для автоматического обновления:
(после V.3.1.1):
/function pk_it_fi:cmd/database/update_from_v2
(до V.3.1.1):
/function pk_it_fi:base/update/from_v2/start
Дождитесь завершения процесса. Обратите внимание: режим фильтрации (Lax/Strict) при обновлении не сохранится (эти данные не хранились в старой версии), но все остальные данные (id, владелец, местоположение) останутся.
В датапак встроен процесс автоматического удаления. Он:
Процесс может занять несколько секунд. Дождитесь сообщения о том, что датапак можно безопасно удалить из папки мира. Команда:
/function pk_it_fi:base/uninstall/start
Нужно ли устанавливать ресурспак? Нет, этот датапак не требует ресурспака. Он использует display entities для отрисовки кастомных текстур.
Почему блок показывает обычные головы игроков, а не свою текстуру?
При первом использовании нового типа блока Items Filter требуется подключение к интернету: текстуры голов игроков, из которых состоит внешний вид, загружаются и кэшируются на стороне клиента с серверов Mojang. Если вы использовали блок без интернета, текстуры могли не загрузиться. Чтобы исправить, удалите папку .minecraft/assets/skins/ или её подпапки, отсортированные по дате, и перезапустите игру. Для версии 1.20.2 есть редкий баг с отображением стандартных скинов Стива и Алекс - он исправлен в 1.20.3.