
ObserverLib
Активный0.0
Установок
Последнее обновление
ObserverLib - библиотека для наблюдения за изменениями блоков
ObserverLib представляет собой библиотечный мод, который обеспечивает надежное отслеживание изменений блоков на обширных территориях с минимальным влиянием на производительность игры.
Эта библиотека доступна для общего использования и в первую очередь разрабатывалась для интеграции с модом Astral Sorcery начиная с версии 1.13.
Основной функционал позволяет регистрировать наблюдателя для конкретной области. Реализация определяет, какие именно изменения будут отслеживаться. При возникновении изменений в наблюдаемой зоне они передаются наблюдателю, который самостоятельно анализирует их значимость и определяет, нарушают ли они текущее состояние или подтверждают его корректность. Например, можно отслеживать завершение строительства определенной структуры.
Для проверки актуальности состояния необходимо запросить подписчика изменений в соответствующей позиции и определить, является ли текущее состояние валидным.
Ключевое преимущество ObserverLib перед обычной периодической проверкой больших областей проявляется при работе с территориями, превышающими размер чанка. Если необходимый для проверки чанк выгружен, стандартный подход потребовал бы его загрузки для проверки блоков, что может вызвать проблемы с частой загрузкой и выгрузкой чанков. ObserverLib решает эту проблему, передавая всю необходимую информацию об изменениях напрямую в вашу реализацию, позволяя точно определить сохранение валидности наблюдаемого объекта.
Пример реализации для проверки корректности построенной структуры демонстрирует эффективный подход: вместо постоянной проверки всех компонентов структуры система отслеживает только позиции с несоответствиями и работает исключительно с отклонениями от ожидаемого состояния.