Record Class PlatformBlockEnergyManager
java.lang.Object
java.lang.Record
earth.terrarium.botarium.forge.energy.PlatformBlockEnergyManager
- All Implemented Interfaces:
EnergyContainer,Serializable,net.minecraft.world.Clearable
@Internal
public record PlatformBlockEnergyManager(net.minecraftforge.energy.IEnergyStorage energy)
extends Record
implements EnergyContainer
-
Constructor Summary
ConstructorsConstructorDescriptionPlatformBlockEnergyManager(net.minecraftforge.energy.IEnergyStorage energy) Creates an instance of aPlatformBlockEnergyManagerrecord 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 PlatformBlockEnergyManagerof(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state, @Nullable net.minecraft.world.level.block.entity.BlockEntity entity, @Nullable net.minecraft.core.Direction direction) Retrieves an instance of EnergyContainer for the given level, position, state, entity, and direction.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
-
PlatformBlockEnergyManager
public PlatformBlockEnergyManager(net.minecraftforge.energy.IEnergyStorage energy) Creates an instance of aPlatformBlockEnergyManagerrecord class.- Parameters:
energy- the value for theenergyrecord component
-
-
Method Details
-
of
public static PlatformBlockEnergyManager of(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state, @Nullable @Nullable net.minecraft.world.level.block.entity.BlockEntity entity, @Nullable @Nullable net.minecraft.core.Direction direction) Description copied from interface:EnergyContainerRetrieves an instance of EnergyContainer for the given level, position, state, entity, and direction. This method can be used to retrieve EnergyContainers from Botarium and any other mod that uses the modloader's Energy API.- Parameters:
level- The level of the EnergyContainer.pos- The position of the EnergyContainer.state- The block state of the EnergyContainer.entity- The block entity associated with the EnergyContainer (can be null).direction- The direction of the EnergyContainer (can be null).- Returns:
- An instance of EnergyContainer.
-
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:
- Weather the container allows for energy to be inserted.
-
allowsExtraction
public boolean allowsExtraction()- Specified by:
allowsExtractionin interfaceEnergyContainer- Returns:
- Weather 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
-