guides/integrated dynamics/conditions filters
Conditions (условия) и Filters (фильтры) — это фундаментальные элементы логики Integrated Dynamics, которые позволяют управлять автоматизацией на основе данных. Они определяют, когда и какие действия должны выполняться, превращая систему из простой передачи данных в полноценную программируемую логику.
Введение
В Integrated Dynamics вся автоматизация строится вокруг анализа информации. Conditions отвечают за принятие решений (true/false), а Filters — за отбор конкретных объектов (например предметов или жидкостей).
Именно эти механики позволяют:
- Включать и выключать машины по условиям
- Фильтровать предметы в логических системах
- Управлять потоками ресурсов
- Строить адаптивную автоматизацию
Без Conditions и Filters система превращается в простую передачу данных без логики.
Как работает
Conditions и Filters работают через переменные и операторы, создавая логические правила.
Общая схема:
- Reader получает данные (предметы, энергию, состояние блока)
- Variable создаёт значение
- Condition проверяет условие
- Filter отбирает подходящие элементы
- Writer или система выполняет действие
Conditions всегда возвращают Boolean:
- true — условие выполнено
- false — условие не выполнено
Filters возвращают список или подмножество данных:
- Только подходящие элементы проходят дальше
Основные механики
Conditions и Filters основаны на разных типах логики.
Conditions:
- Сравнение чисел (>, <, ==)
- Проверка состояния (true/false)
- Логические операции (AND, OR, NOT)
Filters:
- Фильтрация предметов по типу
- Отбор по количеству
- Проверка тегов или свойств
- Работа со списками
Примеры Conditions:
- item_count > 64
- energy < 1000
- machine_active == true
Примеры Filters:
- только железные слитки
- только жидкости определённого типа
- только предметы с заданным тегом
Комбинирование:
- Filters могут использовать Conditions внутри
- Conditions могут зависеть от результатов Filter
Пошаговая инструкция
Пример настройки логики с Conditions и Filters.
Получение данных:
- Установить Reader
- Получить значение (например количество предметов)
Создание условия:
- Открыть Logic Programmer
- Создать Condition: count > 64
- Сохранить Variable Card
Настройка фильтра:
- Создать Filter для предметов
- Указать тип или тег
Применение логики:
- Подключить Writer
- Вставить Condition или Filter
- Настроить действие (включение/отключение)
Тестирование:
- Проверить true/false результат
- Убедиться в корректной фильтрации
Частые ошибки
Ошибки возникают из-за неправильного понимания различий между условиями и фильтрами.
- Использование Filter вместо Condition
- Попытка получить Boolean из Filter без преобразования
- Неправильный тип данных (ItemStack vs Integer)
- Условие всегда false из-за неверного значения
- Пустой список после фильтрации
Также распространённая ошибка — попытка использовать Conditions как прямой сигнал без проверки логики.
Советы для сервера GravityCraft
На сервере Conditions и Filters особенно важны для оптимизации.
- Используйте Conditions для контроля включения машин
- Используйте Filters для сортировки ресурсов
- Минимизируйте сложные вложенные проверки
- Разделяйте фильтрацию и логику
- Храните часто используемые условия в Variable Store
Грамотное использование снижает нагрузку и повышает стабильность системы.
Заключение
Conditions и Filters — это основа интеллектуальной автоматизации в Integrated Dynamics. Они позволяют системе принимать решения и обрабатывать данные, превращая простую сеть в полноценную логическую систему.
Conditions отвечают за “когда”, Filters — за “что”. Вместе они формируют основу всей логики мода.
Понимание этих механизмов — обязательный шаг для создания сложных и эффективных автоматизированных систем.