Add support for sided batteries

Close #1763.
And btw fix some requirements by @undergroundminer3 in #1762