fix: Incorrect primary codec in lenient profile serialization
This commit is contained in:
20
src/main/kotlin/util/json/FirmCodecs.kt
Normal file
20
src/main/kotlin/util/json/FirmCodecs.kt
Normal file
@@ -0,0 +1,20 @@
|
||||
package moe.nea.firmament.util.json
|
||||
|
||||
import com.mojang.serialization.Codec
|
||||
import com.mojang.serialization.DataResult
|
||||
import com.mojang.serialization.Lifecycle
|
||||
import com.mojang.util.UndashedUuid
|
||||
import net.minecraft.util.Uuids
|
||||
|
||||
object FirmCodecs {
|
||||
@JvmField
|
||||
val UUID_LENIENT_PREFER_INT_STREAM = Codec.withAlternative(Uuids.INT_STREAM_CODEC, Codec.STRING.comapFlatMap(
|
||||
{
|
||||
try {
|
||||
DataResult.success(UndashedUuid.fromStringLenient(it), Lifecycle.stable())
|
||||
} catch (ex: IllegalArgumentException) {
|
||||
DataResult.error { "Invalid UUID $it: ${ex.message}" }
|
||||
}
|
||||
},
|
||||
UndashedUuid::toString))
|
||||
}
|
||||
Reference in New Issue
Block a user