Package net.neoforged.neoforge.energy
Class EnergyStorage
java.lang.Object
net.neoforged.neoforge.energy.EnergyStorage
- All Implemented Interfaces:
INBTSerializable<Tag>,IEnergyStorage
Reference implementation of
IEnergyStorage. Use/extend this or implement your own.
Derived from the Redstone Flux power system designed by King Lemming and originally utilized in Thermal Expansion and related mods.
Created with consent and permission of King Lemming and Team CoFH. Released with permission under LGPL 2.1 when bundled with Forge.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intprotected intprotected intprotected int -
Constructor Summary
ConstructorsConstructorDescriptionEnergyStorage(int capacity) EnergyStorage(int capacity, int maxTransfer) EnergyStorage(int capacity, int maxReceive, int maxExtract) EnergyStorage(int capacity, int maxReceive, int maxExtract, int energy) -
Method Summary
Modifier and TypeMethodDescriptionbooleanReturns if this storage can have energy extracted.booleanUsed to determine if this storage can receive energy.voiddeserializeNBT(HolderLookup.Provider provider, Tag nbt) intextractEnergy(int toExtract, boolean simulate) Removes energy from the storage.intReturns the amount of energy currently stored.intReturns the maximum amount of energy that can be stored.intreceiveEnergy(int toReceive, boolean simulate) Adds energy to the storage.serializeNBT(HolderLookup.Provider provider)
-
Field Details
-
energy
protected int energy -
capacity
protected int capacity -
maxReceive
protected int maxReceive -
maxExtract
protected int maxExtract
-
-
Constructor Details
-
EnergyStorage
public EnergyStorage(int capacity) -
EnergyStorage
public EnergyStorage(int capacity, int maxTransfer) -
EnergyStorage
public EnergyStorage(int capacity, int maxReceive, int maxExtract) -
EnergyStorage
public EnergyStorage(int capacity, int maxReceive, int maxExtract, int energy)
-
-
Method Details
-
receiveEnergy
public int receiveEnergy(int toReceive, boolean simulate) Description copied from interface:IEnergyStorageAdds energy to the storage. Returns the amount of energy that was accepted.- Specified by:
receiveEnergyin interfaceIEnergyStorage- Parameters:
toReceive- The amount of energy being received.simulate- If true, the insertion will only be simulated, meaningIEnergyStorage.getEnergyStored()will not change.- Returns:
- Amount of energy that was (or would have been, if simulated) accepted by the storage.
-
extractEnergy
public int extractEnergy(int toExtract, boolean simulate) Description copied from interface:IEnergyStorageRemoves energy from the storage. Returns the amount of energy that was removed.- Specified by:
extractEnergyin interfaceIEnergyStorage- Parameters:
toExtract- The amount of energy being extracted.simulate- If true, the extraction will only be simulated, meaningIEnergyStorage.getEnergyStored()will not change.- Returns:
- Amount of energy that was (or would have been, if simulated) extracted from the storage.
-
getEnergyStored
public int getEnergyStored()Description copied from interface:IEnergyStorageReturns the amount of energy currently stored.- Specified by:
getEnergyStoredin interfaceIEnergyStorage
-
getMaxEnergyStored
public int getMaxEnergyStored()Description copied from interface:IEnergyStorageReturns the maximum amount of energy that can be stored.- Specified by:
getMaxEnergyStoredin interfaceIEnergyStorage
-
canExtract
public boolean canExtract()Description copied from interface:IEnergyStorageReturns if this storage can have energy extracted. If this is false, then any calls to extractEnergy will return 0.- Specified by:
canExtractin interfaceIEnergyStorage
-
canReceive
public boolean canReceive()Description copied from interface:IEnergyStorageUsed to determine if this storage can receive energy. If this is false, then any calls to receiveEnergy will return 0.- Specified by:
canReceivein interfaceIEnergyStorage
-
serializeNBT
- Specified by:
serializeNBTin interfaceINBTSerializable<Tag>
-
deserializeNBT
- Specified by:
deserializeNBTin interfaceINBTSerializable<Tag>
-