Package net.neoforged.neoforge.energy
Class ComponentEnergyStorage
java.lang.Object
net.neoforged.neoforge.energy.ComponentEnergyStorage
- All Implemented Interfaces:
IEnergyStorage
@Deprecated(since="1.21.9",
forRemoval=true)
public class ComponentEnergyStorage
extends Object
implements IEnergyStorage
Deprecated, for removal: This API element is subject to removal in a future version.
Variant of
EnergyStorage for use with data components.
The actual data storage is managed by a data component, and all changes will write back to that component.
To use this class, register a new DataComponentType which holds an Integer for your item.
Then reference that component from your ICapabilityProvider passed to RegisterCapabilitiesEvent.registerItem(net.neoforged.neoforge.capabilities.ItemCapability<T, C>, net.neoforged.neoforge.capabilities.ICapabilityProvider<net.minecraft.world.item.ItemStack, C, T>, net.minecraft.world.level.ItemLike...) to create an instance of this class.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final intDeprecated, for removal: This API element is subject to removal in a future version.protected final DataComponentType<Integer> Deprecated, for removal: This API element is subject to removal in a future version.protected final intDeprecated, for removal: This API element is subject to removal in a future version.protected final intDeprecated, for removal: This API element is subject to removal in a future version.protected final MutableDataComponentHolderDeprecated, for removal: This API element is subject to removal in a future version. -
Constructor Summary
ConstructorsConstructorDescriptionComponentEnergyStorage(MutableDataComponentHolder parent, DataComponentType<Integer> energyComponent, int capacity) Deprecated, for removal: This API element is subject to removal in a future version.Creates a new ItemEnergyStorage with a transfer rate equivalent to the capacity.ComponentEnergyStorage(MutableDataComponentHolder parent, DataComponentType<Integer> energyComponent, int capacity, int maxTransfer) Deprecated, for removal: This API element is subject to removal in a future version.Creates a new ItemEnergyStorage with a unified receive / extract rate.ComponentEnergyStorage(MutableDataComponentHolder parent, DataComponentType<Integer> energyComponent, int capacity, int maxReceive, int maxExtract) Deprecated, for removal: This API element is subject to removal in a future version.Creates a new ComponentEnergyStorage with a data component as the backing store for the energy value. -
Method Summary
Modifier and TypeMethodDescriptionbooleanDeprecated, for removal: This API element is subject to removal in a future version.Returns if this storage can have energy extracted.booleanDeprecated, for removal: This API element is subject to removal in a future version.Used to determine if this storage can receive energy.intextractEnergy(int toExtract, boolean simulate) Deprecated, for removal: This API element is subject to removal in a future version.Removes energy from the storage.intDeprecated, for removal: This API element is subject to removal in a future version.Returns the amount of energy currently stored.intDeprecated, for removal: This API element is subject to removal in a future version.Returns the maximum amount of energy that can be stored.intreceiveEnergy(int toReceive, boolean simulate) Deprecated, for removal: This API element is subject to removal in a future version.Adds energy to the storage.protected voidsetEnergy(int energy) Deprecated, for removal: This API element is subject to removal in a future version.Writes a new energy value to the data component.
-
Field Details
-
parent
Deprecated, for removal: This API element is subject to removal in a future version. -
energyComponent
Deprecated, for removal: This API element is subject to removal in a future version. -
capacity
protected final int capacityDeprecated, for removal: This API element is subject to removal in a future version. -
maxReceive
protected final int maxReceiveDeprecated, for removal: This API element is subject to removal in a future version. -
maxExtract
protected final int maxExtractDeprecated, for removal: This API element is subject to removal in a future version.
-
-
Constructor Details
-
ComponentEnergyStorage
public ComponentEnergyStorage(MutableDataComponentHolder parent, DataComponentType<Integer> energyComponent, int capacity, int maxReceive, int maxExtract) Deprecated, for removal: This API element is subject to removal in a future version.Creates a new ComponentEnergyStorage with a data component as the backing store for the energy value.- Parameters:
parent- The parent component holder, such as anItemStackenergyComponent- The data component referencing the stored energy of the item stackcapacity- The max capacity of the energy being storedmaxReceive- The max per-transfer power input ratemaxExtract- The max per-transfer power output rate
-
ComponentEnergyStorage
public ComponentEnergyStorage(MutableDataComponentHolder parent, DataComponentType<Integer> energyComponent, int capacity, int maxTransfer) Deprecated, for removal: This API element is subject to removal in a future version.Creates a new ItemEnergyStorage with a unified receive / extract rate.- See Also:
-
ComponentEnergyStorage
public ComponentEnergyStorage(MutableDataComponentHolder parent, DataComponentType<Integer> energyComponent, int capacity) Deprecated, for removal: This API element is subject to removal in a future version.Creates a new ItemEnergyStorage with a transfer rate equivalent to the capacity.- See Also:
-
-
Method Details
-
receiveEnergy
public int receiveEnergy(int toReceive, boolean simulate) Deprecated, for removal: This API element is subject to removal in a future version.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) Deprecated, for removal: This API element is subject to removal in a future version.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()Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:IEnergyStorageReturns the amount of energy currently stored.- Specified by:
getEnergyStoredin interfaceIEnergyStorage
-
getMaxEnergyStored
public int getMaxEnergyStored()Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:IEnergyStorageReturns the maximum amount of energy that can be stored.- Specified by:
getMaxEnergyStoredin interfaceIEnergyStorage
-
canExtract
public boolean canExtract()Deprecated, for removal: This API element is subject to removal in a future version.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()Deprecated, for removal: This API element is subject to removal in a future version.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
-
setEnergy
protected void setEnergy(int energy) Deprecated, for removal: This API element is subject to removal in a future version.Writes a new energy value to the data component. Clamps to [0, capacity]- Parameters:
energy- The new energy value
-
ItemAccessEnergyHandlerinstead.