As a programmer, and player of this game, I have noticed some troubling issues with this mod that I'm not entirely sure if they have been noticed. I have investigated the source of the issue and I have come up with this.
I have noticed that a constant loop is being used to calculate the forcefield posts on the map, using a loop inside of that to check all the walls between two points, While this does work, it doesn't work well. Infact, it's causing extreme performance issues after only a few forcefields are placed. You can check this. The problem with doing things this way is it doesn't use any logic. You should try to refactor your code so that the same affect is achieved, but instead assume that the walls are unchanging when they have not taken any damage or the player has not moved them or destroyed anything. This should actually make it easier for you overall honestly. Once the walls are placed, it is unnecessary to constantly loop these walls to make sure they're still there, or whatever is happening, I only looked at this code for a few minutes but, this is what i gathered from it within those few minutes. How you fix it is really up to you but, I had to stop using the forcefields and take off moindustry as that is causing some weird cycle usage without anything even being used from it yet.
The idea that I think should be taken from what i'm saying is that to fix these problems, more assumptions need to be made about what is happening, what will happen, and what hasn't happened at all. Events for placing the walls, using queues, Events for regenerating single sections of walls, using queues, and Events for destroying walls, using queues, and do nothing when it is not needed. Without this, any large scale use of these objects, will cause extreme performance problems overtime and the way the game compensates for slow scripts is to slow the game down. I apologize if any of this seems pretentious or unfounded, but, I did not see any feedback discussions or anything, so I apologize once again, if this was out of line or in the wrong place, etc.