Class InfiniteEnergyHandler

java.lang.Object
net.neoforged.neoforge.transfer.energy.InfiniteEnergyHandler
All Implemented Interfaces:
EnergyHandler

public class InfiniteEnergyHandler extends Object implements EnergyHandler
An EnergyHandler that allows extraction of an unlimited amount of energy.
  • Field Details

  • Constructor Details

    • InfiniteEnergyHandler

      public InfiniteEnergyHandler()
  • Method Details

    • getAmountAsLong

      public long getAmountAsLong()
      Description copied from interface: EnergyHandler
      Returns the amount of energy currently stored, as a long.

      In general, energy handlers can report long amounts. However, if the handler is known to only support amounts up to Integer.MAX_VALUE, or if the caller prefers to deal in ints only, the int-returning overload can be used instead.

      The returned amount must be non-negative.

      Specified by:
      getAmountAsLong in interface EnergyHandler
      Returns:
      the amount as a long
      See Also:
    • getCapacityAsLong

      public long getCapacityAsLong()
      Description copied from interface: EnergyHandler
      Returns the capacity of the handler, irrespective of the current amount, as a long.

      In general, energy handlers can report long capacities. However, if the handler is known to only support capacities up to Integer.MAX_VALUE, or if the caller prefers to deal in ints only, the int-returning overload can be used instead.

      This function serves as a hint on the maximum amount the energy handler might contain, for example the handler can be considered full if amount >= capacity. Note that the returned capacity may overestimate the actual allowed amount, and it might be smaller than the current amount. The only way to know if a handler will accept a resource, is to try to insert it.

      Specified by:
      getCapacityAsLong in interface EnergyHandler
      Returns:
      the capacity, as a long
      See Also:
    • insert

      public int insert(int amount, TransactionContext transaction)
      Description copied from interface: EnergyHandler
      Inserts up to the given amount of energy into the handler.

      Changes to the handler are made in the context of a transaction.

      Specified by:
      insert in interface EnergyHandler
      Parameters:
      amount - The maximum amount of energy to insert. Must be non-negative.
      transaction - The transaction that this operation is part of.
      Returns:
      The amount that was inserted. Between 0 (inclusive, nothing was inserted) and amount (inclusive, everything was inserted).
    • extract

      public int extract(int amount, TransactionContext transaction)
      Description copied from interface: EnergyHandler
      Extracts up to the given amount of energy from the handler.

      Changes to the handler are made in the context of a transaction.

      Specified by:
      extract in interface EnergyHandler
      Parameters:
      amount - The maximum amount of energy to extract. Must be non-negative.
      transaction - The transaction that this operation is part of.
      Returns:
      The amount that was extracted. Between 0 (inclusive, nothing was extracted) and amount (inclusive, everything was extracted).