MCreator 2020.4 adds support for the energy system. Default Forge generator uses the FE/RF energy system for this and is compatible with any other mod using this system and following common conventions.
This page explains some basic principles of this system.
The following terms are used with the energy system:
- Sending the energy -> Removing energy from the block at the given coordinates (the block at a given location sends the energy from itself)
- Receiving the energy -> Adding energy to the block at the given coordinates (the block at a given location receives the energy into itself)
Block with energy enabled can define initial energy level when the block is placed in the world, the maximal value of energy the block can store (block capacity), and input and output energy transfer rates.
Blocks need to have a tile entity enabled to use energy storage capability. The current energy value can be shown in GUIs bound to this block too.
There is a procedure category dedicated to the energy system (and fluid tank system). These procedures expose all standard interfaces to interface with other mods that support the energy system.
Energy push concept
To make energy systems compatible between mods, a push energy concept has been adopted by most of the mods.
This means the block can only push energy to another block and not pull energy from it. While technically pulling is possible, it should not be used.
This means your block should only provide functions to push energy from it and not logic for getting energy from neighboring blocks. This prevents things like one block trying to pull energy while the other block is already pushing the energy into it.
Energy procedure directions
All procedure blocks for energy management have the option to specify the direction of the block to which the energy should be pushed to. Some blocks of some mods only accept energy from some of the block sides, so make sure to specify the direction you are pushing the energy to in such cases.
To explain the concept further, check the image below:
This example demonstrates how to structure a procedure to push the energy from the block at y to the upper block at y + 1. We push the energy updwards to the block at y + 1, but as we are pushing the energy into the block above us, the energy will enter from the bottom side of the top block. This means that when pushing up from block at y to block at y + 1, we need to use side down as it is the down side of the block when pushing up to the bottom of the block above the block pushing the energy.
If you prefer to watch the video, you can find the wiki page above summarized in a video: