@@ -4,34 +4,26 @@ import io.github.rothes.esu.bukkit.util.version.adapter.nms.MCRegistryAccessHand
44import io.github.rothes.esu.lib.configurate.serialize.ScalarSerializer
55import io.leangen.geantyref.TypeToken
66import net.minecraft.core.Registry
7- import net.minecraft.core.RegistryAccess
87import net.minecraft.resources.ResourceKey
98import net.minecraft.resources.ResourceLocation
109import java.lang.reflect.Type
1110import java.util.function.Predicate
1211
1312class RegistryValueSerializer <T : Any >(
1413 val accessHandler : MCRegistryAccessHandler ,
15- val registryKey : ResourceKey <out Registry <T >>,
16- clazz : TypeToken <T >,
17- registryAccess : RegistryAccess = accessHandler.getServerRegistryAccess(),
18- ): ScalarSerializer<T>(clazz) {
14+ registryKey : ResourceKey <out Registry <T >>,
15+ type : TypeToken <T >,
16+ ): ScalarSerializer<T>(type) {
1917
20- constructor (
21- accessHandler: MCRegistryAccessHandler ,
22- registryKey: ResourceKey <out Registry <T >>,
23- clazz: Class <T >,
24- registryAccess: RegistryAccess = accessHandler.getServerRegistryAccess(),
25- ): this (accessHandler, registryKey, TypeToken .get(clazz), registryAccess)
18+ constructor (accessHandler: MCRegistryAccessHandler , registryKey: ResourceKey <out Registry <T >>, clazz: Class <T >): this (accessHandler, registryKey, TypeToken .get(clazz))
2619
27- val registry = accessHandler.getRegistryOrThrow(registryAccess , registryKey)
20+ val registry = accessHandler.getRegistryOrThrow(accessHandler.getServerRegistryAccess() , registryKey)
2821
2922 override fun deserialize (type : Type ? , obj : Any? ): T ? {
3023 val key = ResourceLocation .tryParse(obj.toString().lowercase()) ? : let {
3124 IllegalArgumentException (" Failed to parse $obj to ResourceLocation, ignored." ).printStackTrace()
3225 return null
3326 }
34- ResourceKey .create(this .registryKey, key)
3527 return accessHandler.getNullable(registry, key)
3628 }
3729
0 commit comments