ArchieFluidSlot¶
@Serializable
(with = ArchieFluidSlot.Serializer::class)class ArchieFluidSlot(
limit: Long,
filter: Predicate<FluidResource> = Predicate { true },
onUpdate: () -> Unit = {}
) : StorageSlot<FluidResource> , UpdateManager<NbtTag>
A single resource-backed slot inside an ArchieFluidStorage, capped at limit. Tracks a FluidResource + amount internally while exposing plain FluidStack access via getFluid/set.
Parameters¶
- onUpdate: Invoked by
updatewhenever this slot's contents should be persisted/synced.
Constructors¶
ArchieFluidSlot¶
Parameters
- onUpdate: Invoked by
updatewhenever this slot's contents should be persisted/synced.
Types¶
Serializer¶
object Serializer : KSerializer<ArchieFluidSlot>
Serializes an ArchieFluidSlot as its limit followed by its ResourceStack (or null when blank).
Properties¶
amount¶
contents¶
open override val contents: ResourceStack<FluidResource?>?
resource¶
open override val resource: FluidResource
Functions¶
createSnapshot¶
open override fun createSnapshot(): NbtTag
extract¶
getAmount¶
getContents¶
open fun getContents(): ResourceStack<FluidResource?>?
getFluid¶
fun getFluid(): FluidStack
The FluidStack currently held in this slot (a copy; mutate via set).
getLimit¶
getResource¶
open override fun getResource(): FluidResource
insert¶
isResourceValid¶
open override fun isResourceValid(unit: FluidResource): Boolean
readSnapshot¶
open override fun readSnapshot(snapshot: NbtTag)
set¶
fun set(value: FluidStack)
Replaces this slot's contents with value.
update¶
open override fun update()