MinecraftIndexedFontAssetSource

Offline source for a Minecraft asset index and its already-downloaded object directory. Construction snapshots the index; object bytes are read synchronously without downloading or starting the game. Resolved object paths must remain inside the supplied object directory.

Parameters

index

JSON asset-index file.

objects

directory containing hash-prefix folders and content-addressed objects.

limits

ceilings applied before the asset index is read and copied.

Throws

when an entry contains an invalid path or hash.

when the index or an object cannot be read.

Constructors

Link copied to clipboard
constructor(index: Path, objects: Path, name: String, limits: MinecraftFontLoadLimits)
constructor(index: Path, objects: Path, name: String = index.toString())

Captures an asset index using the default loading ceilings while retaining the existing constructor signature. Inputs, ownership, and failures follow the primary constructor.

Properties

Link copied to clipboard
open override val name: String

diagnostic label.

Functions

Link copied to clipboard

Lists paths under inclusive entry and path ceilings, checking while enumerating where possible. The default checks an already bounded original paths result before loader copying.

open fun paths(limits: MinecraftFontLoadLimits, onEntryExamined: () -> Unit): Set<String>

Enumerates paths while reporting each examined entry before validation or filtering. Directory and ignored entries count even when absent from the returned set; implementations must stop if the callback throws. The callback is synchronous, owner-thread-only, and must not be retained; late or foreign-thread calls fail before changing loader counters. The default reports the bounded original result, so sources that filter physical entries must override this method.

open override fun paths(): Set<String>

Lists available canonical pack-relative file paths.

Link copied to clipboard
open override fun read(path: String): ByteArray?

Reads one complete file without retaining a stream.

open override fun read(path: String, limits: MinecraftFontLoadLimits): ByteArray?

Reads one asset under inclusive encoded-byte and path ceilings. Streaming implementations must stop before allocating oversized input and close streams on success and failure. The default checks the already bounded original read result before a loader copy.