Comic Playz
03/29/2022, 2:00 PMComic Playz
03/29/2022, 2:01 PMComic Playz
03/29/2022, 2:02 PMobject ItemEnchantSerializer : KSerializer<ItemEnchant> {
override val descriptor: SerialDescriptor = ItemEnchant.serializer().descriptor
override fun serialize(encoder: Encoder, value: ItemEnchant) {
println("serialize $value");
val enchantment = Enchantment.getByKey(NamespacedKey.minecraft(value.id.toString().lowercase())) ?: return
val itemEnchant = ItemEnchant(enchantment, value.level)
encoder.encodeSerializableValue(ItemEnchant.serializer(), itemEnchant)
}
override fun deserialize(decoder: Decoder): ItemEnchant {
println(decoder.decodeString())
return decoder.decodeSerializableValue(ItemEnchantSerializer)
}
}
Comic Playz
03/29/2022, 2:02 PM@Serializable
@SerialName("ItemEnchant")
data class ItemEnchant(@Contextual val id: Enchantment, val level: Int)
Comic Playz
03/29/2022, 2:02 PM@Serializable
data class LemonItemData(val id: String,
val name: String,
@EncodeDefault val lore: List<String> = listOf(),
@Serializable(with = MaterialSerializer::class) val material: Material,
@EncodeDefault @Serializable(with = ItemEnchantSerializer::class) val enchants: ArrayList<ItemEnchant> = arrayListOf(),
@EncodeDefault val unbreakable: Boolean = false
)
Tim Oltjenbruns
03/29/2022, 2:03 PMComic Playz
03/29/2022, 2:04 PMTim Oltjenbruns
03/29/2022, 2:04 PMComic Playz
03/29/2022, 2:04 PMComic Playz
03/29/2022, 2:04 PMTim Oltjenbruns
03/29/2022, 2:05 PMComic Playz
03/29/2022, 2:06 PMRichard Gomez
03/29/2022, 2:08 PMTim Oltjenbruns
03/29/2022, 2:18 PMS.
03/29/2022, 2:23 PMTim Oltjenbruns
03/29/2022, 2:28 PMprintln(decoder.decodeString())
in deserialize.Tim Oltjenbruns
03/29/2022, 2:29 PMTim Oltjenbruns
03/29/2022, 2:32 PM@Serializable(with = ItemEnchantSerializer::class)
is necessary eitherTim Oltjenbruns
03/29/2022, 2:40 PM@Serializable
@SerialName("ItemEnchant")
data class ItemEnchant(@Contextual @Serializable(with = ItemEnchantSerializer::class) id: Enchantment, val level: Int)
It probably needs to move to hereTim Oltjenbruns
03/29/2022, 2:51 PMComic Playz
03/29/2022, 3:11 PMComic Playz
03/29/2022, 3:24 PMComic Playz
03/29/2022, 3:25 PMComic Playz
03/29/2022, 3:29 PMComic Playz
03/29/2022, 3:30 PMComic Playz
03/29/2022, 3:42 PM