EnderIO provide own power system (IPowerInterface).
Also they have a bridge that uses a old api (PowerInterfaceBC).
So I add a new rule for energy helper:
```java
  public static IPowerInterface create(Object o) {
    if(o instanceof IEnergyHandler) {
      return new PowerInterfaceRF((IEnergyHandler) o);
    } else if(o instanceof IPowerReceptor) {
      return new PowerInterfaceBC((IPowerReceptor) o);
    }
    // my additions here:
    try {
      MjAPI.BatteryObject battery = MjAPI.getMjBattery(o);
      if(battery != null) {
        return new PowerInterfaceBC(MjAPILegacy.from(getWorld, battery, Type.MACHINE);
      }
    } catch(Exception ignored) {
    }
    return null;
  }
```

So yes, we cannot provide a full backward-compability without modifying small part of api usage.
For this all machine's tiles should implement IPowerReceptor (again), and we lose profit from the new api.