Record Class PlatformItemEnergyManager
java.lang.Object
java.lang.Record
earth.terrarium.botarium.forge.energy.PlatformItemEnergyManager
- All Implemented Interfaces:
EnergyContainer,Serializable,net.minecraft.world.Clearable
@Internal
public record PlatformItemEnergyManager(net.minecraftforge.energy.IEnergyStorage energy)
extends Record
implements EnergyContainer
-
Constructor Summary
ConstructorsConstructorDescriptionPlatformItemEnergyManager(net.minecraftforge.energy.IEnergyStorage energy) Creates an instance of aPlatformItemEnergyManagerrecord class. -
Method Summary
Modifier and TypeMethodDescriptionbooleanbooleanvoidvoiddeserialize(net.minecraft.nbt.CompoundTag nbt) Deserializes the information of an object from aCompoundTag.net.minecraftforge.energy.IEnergyStorageenergy()Returns the value of theenergyrecord component.final booleanIndicates whether some other object is "equal to" this one.longextractEnergy(long maxAmount, boolean simulate) Extracts a given amount of energy into the container.longlongfinal inthashCode()Returns a hash code value for this object.longinsertEnergy(long maxAmount, boolean simulate) Inserts a given amount of energy into the container.longlongstatic @Nullable PlatformItemEnergyManagerof(ItemStackHolder holder) Retrieves an instance of EnergyContainer for the given item stack holder.net.minecraft.nbt.CompoundTagserialize(net.minecraft.nbt.CompoundTag nbt) Serializes the information of an object to aCompoundTag.voidsetEnergy(long energy) Sets a given amount of energy in the container.final StringtoString()Returns a string representation of this record class.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface earth.terrarium.botarium.common.energy.base.EnergyContainer
internalExtract, internalInsert, readSnapshot
-
Constructor Details
-
PlatformItemEnergyManager
public PlatformItemEnergyManager(net.minecraftforge.energy.IEnergyStorage energy) Creates an instance of aPlatformItemEnergyManagerrecord class.- Parameters:
energy- the value for theenergyrecord component
-
-
Method Details
-
of
Description copied from interface:EnergyContainerRetrieves an instance of EnergyContainer for the given item stack holder. On Fabric, the item stack holder's internal stack will be mutated, and you should replace the item stack inside the container inside with the stack fromItemStackHolder.getStack(). This method can be used to retrieve EnergyContainers from Botarium and any other mod that uses the modloader's Energy API.- Parameters:
holder- The item stack holder.- Returns:
- An instance of EnergyContainer. Returns null if the item stack does not hold energy.
-
insertEnergy
public long insertEnergy(long maxAmount, boolean simulate) Description copied from interface:EnergyContainerInserts a given amount of energy into the container.- Specified by:
insertEnergyin interfaceEnergyContainer- Parameters:
maxAmount- The amount to be inserted into the container.simulate- If true, the container will not be modified.- Returns:
- The amount of energy that was added to the container.
-
extractEnergy
public long extractEnergy(long maxAmount, boolean simulate) Description copied from interface:EnergyContainerExtracts a given amount of energy into the container.- Specified by:
extractEnergyin interfaceEnergyContainer- Parameters:
maxAmount- The amount to be extracted from the container.simulate- If true, the container will not be modified.- Returns:
- The amount of energy that was removed from the container.
-
setEnergy
public void setEnergy(long energy) Description copied from interface:EnergyContainerSets a given amount of energy in the container.- Specified by:
setEnergyin interfaceEnergyContainer- Parameters:
energy- The amount of energy to set in the container.
-
getStoredEnergy
public long getStoredEnergy()- Specified by:
getStoredEnergyin interfaceEnergyContainer- Returns:
- The amount of energy in the container.
-
getMaxCapacity
public long getMaxCapacity()- Specified by:
getMaxCapacityin interfaceEnergyContainer- Returns:
- The maximum amount of energy that can be stored in the container.
-
maxInsert
public long maxInsert()- Specified by:
maxInsertin interfaceEnergyContainer- Returns:
- The maximum amount of energy that can be inserted into the container at a time.
-
maxExtract
public long maxExtract()- Specified by:
maxExtractin interfaceEnergyContainer- Returns:
- The maximum amount of energy that can be extracted from the container at a time.
-
allowsInsertion
public boolean allowsInsertion()- Specified by:
allowsInsertionin interfaceEnergyContainer- Returns:
- Whether the container allows for energy to be inserted.
-
allowsExtraction
public boolean allowsExtraction()- Specified by:
allowsExtractionin interfaceEnergyContainer- Returns:
- Whether the container allows for energy to be extracted.
-
createSnapshot
- Specified by:
createSnapshotin interfaceEnergyContainer- Returns:
- A
EnergySnapshotof the given state of theEnergyContainer.
-
deserialize
public void deserialize(net.minecraft.nbt.CompoundTag nbt) Description copied from interface:SerializableDeserializes the information of an object from aCompoundTag.- Specified by:
deserializein interfaceSerializable- Parameters:
nbt- TheCompoundTagto deserialize from.
-
serialize
public net.minecraft.nbt.CompoundTag serialize(net.minecraft.nbt.CompoundTag nbt) Description copied from interface:SerializableSerializes the information of an object to aCompoundTag.- Specified by:
serializein interfaceSerializable- Parameters:
nbt- TheCompoundTagto serialize to.- Returns:
- The
CompoundTagthat was passed in but with the information of the object serialized added to it.
-
clearContent
public void clearContent()- Specified by:
clearContentin interfacenet.minecraft.world.Clearable
-
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object). -
energy
public net.minecraftforge.energy.IEnergyStorage energy()Returns the value of theenergyrecord component.- Returns:
- the value of the
energyrecord component
-