Split dependency logic on the BuildCraft modules.
Config needs to be reset, if BuildCraft was disabled actively,
because now there are 3 BC modules to be taken account of
Conflicts:
gradle.properties
src/main/java/appeng/facade/FacadeContainer.java
src/main/java/appeng/facade/FacadePart.java
src/main/java/appeng/integration/abstraction/IBC.java
src/main/java/appeng/integration/modules/BC.java
src/main/java/appeng/integration/modules/BCHelpers/BCPipeHandler.java
src/main/java/appeng/integration/modules/BCHelpers/BCPipeInventory.java
src/main/java/appeng/items/tools/ToolNetworkTool.java
src/main/java/appeng/items/tools/quartz/ToolQuartzWrench.java
src/main/java/appeng/parts/CableBusStorage.java
src/main/java/appeng/parts/layers/LayerIPipeConnection.java
src/main/java/appeng/parts/misc/PartStorageBus.java
src/main/java/appeng/parts/p2p/PartP2PItems.java
src/main/java/appeng/util/inv/AdaptorBCPipe.java
src/main/java/appeng/util/inv/WrapperBCPipe.java
Removes the improper way to set itself into a public static non-final variable.
Removes the direct access to the IntegrationRegistry from AppEng. Will be added at some later point somewhere else for non-singleton access.
Constructor is set to package private to enable possible construction from unit tests. Are current not runnable sind it is currently tied to the FML Loader instance.
Many exceptions got an improvement due to changed class or description or details it is providing.
Is not complete, needs to be done in patches in the regions, where it is needed, since some are just
swallowed.
Removed total usage of pure RuntimeExceptions to 0.
Deprecates the old usage of the AEItemDefinitions via the direct method access of
* blocks()
* parts()
* items()
* materials()
and thus use the new re-direct via definitions().
All definitions are now initialized, no matter what. But SubItems, Items and Blocks are not registered, if by chance are disabled.