Skip to content

commonnet.kernelpanicsoft.archie.serialization

Package-level declarations

Types

CodecSerializer


open class CodecSerializer<T>(codec: Codec<T>) : KSerializer<T> 

ColorSerializer


object ColorSerializer : KSerializer<Color> 

FluidStackNBTHolderImpl


class FluidStackNBTHolderImpl(stack: FluidStack) : NBTHolder

ItemStackNBTHolderImpl


class ItemStackNBTHolderImpl(stack: ItemStack) : NBTHolder

KOps


object KOps

ModifierKeyCodeSerializer


object ModifierKeyCodeSerializer : KSerializer<ModifierKeyCode> 

NBTHolder


interface NBTHolder

NBTHolderImpl


ResourceLocationSerializer


object ResourceLocationSerializer : KSerializer<ResourceLocation> 

SerializableResourceLocation


typealias  = @Serializable(with = ResourceLocationSerializer::class) ResourceLocation

SerializerCodec


class SerializerCodec<X>(serializer: KSerializer<X>) : Codec<X> 

Sync


@Target(allowedTargets = [AnnotationTarget.PROPERTY])annotation class Sync

Properties

fromMinecraft


val CompoundTag.fromMinecraft: NbtCompound

val ListTag.fromMinecraft: NbtList<*>?

val Tag.fromMinecraft: NbtTag?

NBT


val NBT: Nbt

toMinecraft


val NbtCompound.toMinecraft: CompoundTag

val NbtList<*>.toMinecraft: ListTag

val NbtTag?.toMinecraft: Tag

Functions

buildComponentPatch


inline fun buildComponentPatch(builderAction: DataComponentPatch.Builder.() -> Unit): DataComponentPatch

buildCompoundTag


inline fun buildCompoundTag(builderAction: NbtCompoundBuilder.() -> Unit): CompoundTag

buildListTag


inline fun <T : NbtTag> buildListTag(builderAction: NbtListBuilder<T>.() -> Unit): ListTag

codec


inline fun <T : Any> codec(): Codec<T>

codec


inline fun <T : Any> KSerializer<T>.codec(): Codec<T>

decodeFromNbtTagRootless


fun <T> Nbt.decodeFromNbtTagRootless(deserializer: DeserializationStrategy<T>, tag: NbtTag): T

defer


fun defer(deferred: () -> SerialDescriptor): SerialDescriptor

Returns serial descriptor that delegates all the calls to descriptor returned by deferred block. Used to resolve cyclic dependencies between recursive serializable structures.

DeferredArraySerializer


@ExperimentalSerializationApiinline fun <T : Any, E : T> DeferredArraySerializer(elementSerializer: KSerializer<E>): KSerializer<Array<E>>

Returns serializer for reference Array of type E with descriptor of StructureKind.LIST kind. Each element of the array is serialized with the given elementSerializer.


@ExperimentalSerializationApifun <T : Any, E : T> DeferredArraySerializer(kClass: KClass<T>, elementSerializer: KSerializer<E>): KSerializer<Array<E>>

Returns serializer for reference Array of type E with descriptor of StructureKind.LIST kind. Each element of the array is serialized with the given elementSerializer.

DeferredListSerializer


fun <T> DeferredListSerializer(elementSerializer: KSerializer<T>): KSerializer<List<T>>

Creates a serializer for `List` for the given serializer of type T.

DeferredMapSerializer


fun <K, V> DeferredMapSerializer(keySerializer: KSerializer<K>, valueSerializer: KSerializer<V>): KSerializer<Map<K, V>>

Creates a serializer for `Map` for the given serializers for its ket type K and value type V.

DeferredSetSerializer


fun <T> DeferredSetSerializer(elementSerializer: KSerializer<T>): KSerializer<Set<T>>

Creates a serializer for `Set` for the given serializer of type T.

encodeToNbtTagRootless


fun <T> Nbt.encodeToNbtTagRootless(serializer: SerializationStrategy<T>, value: T): NbtTag

field


inline fun <T> NBTHolder.field(noinline default: () -> T): PropertyDelegateProvider<Any?, ReadWriteProperty<Any?, T>>

forEachTag


inline fun forEachTag(compoundTag: CompoundTag, action: (Map.Entry<String, NbtTag>) -> Unit)

inline fun forEachTag(listTag: ListTag, action: (NbtTag) -> Unit)

getStreamCodec


inline fun <T : Any> KSerializer<T>.getStreamCodec(): StreamCodec<RegistryFriendlyByteBuf, T>

mergeToCompoundTag


inline fun mergeToCompoundTag(compoundTag: CompoundTag, builderAction: NbtCompoundBuilder.() -> Unit)

serializer


inline fun <T> Codec<T>.serializer(): KSerializer<T>

streamCodec


inline fun <T : Any> streamCodec(): StreamCodec<RegistryFriendlyByteBuf, T>