Belt Balancer 2


Adds Balancer Parts, that can be put together, to balance all adjusting lanes. Updated for better performance and 2.0

Utilities
a month ago
2.0
7.50K
Logistics
Owner:
IThundxr
Source:
https://github.com/IThundxr/belt-balancer-2
Homepage:
N/A
License:
MIT
Created:
2 months ago
Latest Version:
2.0.9 (a month ago)
Factorio version:
2.0
Downloaded by:
7.50K users

Changes from upstream

  • Updated to 2.0/Space Age
  • Removed collisions with players

Copy-pasted from the original mod:

A fork of the Belt Balancer mod with somewhat improved performance (up to 100%). I wouldn't recommend trying to make a megabase with either mod, but if your computer is tanking you can use this to get some UPS back whilst you stop using or remove your belt balancers.

Basic Functionality

Adds Balancer Parts, that can be placed into the world to balance all adjusting belts, underground-belts and splitters. Placing multiple Balancer Parts next to each other, will connect them and the belts from all Balancer Parts will be used.
Balancer Parts work in every direction. So every belt, underground-belt or splitter that is facing toward any Balancer Part is used as input. And every belt, undground-belt or splitter that is facing fromwards any Balancer Part is used as output.

It has two commands:
/belt-balancer-statistics: This command prints some statistics about the usage of belt-balancer.
/belt-balancer-test: This command, will remove entities from 0,0 and replaces it, with a few tests, to see if everything of this mod is working correctly. Please don't use this command on existing saves, only run it on new ones, to see, how this mod works. The mod Creative-Mod is needed for this command!!

Performance

  • I am using "entity-with-force" as base. This Entity (Balancer Part), will connect to the nearby Balancer Parts and create a complex structure. This complex structure also holds all input and output lanes. So no calculations for adjusting belts are needed in the tick.
  • The tick function is called once for every complex structure and not for every Balancer Part.
  • To save even more time, i don't run with on_tick(), but in on_nth_tick(). Everytime a belt/Balancer Part is added/removed, the nth_tick is newly calculated and the tick-handler is updated.
  • In conclusion Balt Balancer is even faster than factorissimo2. I had big scaling in mind while creating the mod and in my worlds it runs smooth.