А сложность заключается в том, что просто так "отрубить" не получится, так как интерфейс API не позволяет менять лимит на вход энергии. А ещё, если щит не заряжен полностью или энергия батарей не полная, то тогда щиты "требуют внимания" без остановки, повышая script update. А что бы добавить логику в оптимизатор что бы он "понимал" выключенные щиты это придётся ещё усложнить и так довольно сложное дерево решений отсечения щитов, которые не требуют внимания. И все бы было проще, если бы у меня была возможность написать все в форме ООП классов, только вот оно и так уже лагучее (по меркам Factorio), а ещё больше нагрузки создавать (ради абстракций в коде чтоб он не выглядел как ассемблер и голый Сишный код) как то не охото