@Retention(value=RUNTIME)
@Target(value=FIELD)
@Inherited
public @interface MjBattery
This annotation is used for tiles that need to interface with BuildCraft
energy framework, a.k.a MinecraftJoule or MJ. In order to receive power,
tiles, need to declare a *public* double field, with the annotation
MjBattery. BuildCraft machines able to provide power will then connect to
these tiles, and feed energy up to max capacity. It's the responsibilty
of the implementer to manually decrease the value of the energy, as he
simulates energy consumption. On each cycle, per power input, machines can
receive up to "maxReceivedPerCyle" units of energy. As an optional behavior,
the system can have a minimum amount of energy consumed even if the system
is at max capacity, modelized by the "minimumConsumption" value.
If the field designated by MjBattery is an object, then BuildCraft will
consider that this is a case of a nested battery, and will look for the
field in the designated object.