1.19 - Remove GlobalLootModifierSerializer and move to Codecs (#8721)

* convert GLM serializer class to codec

* cleanup

* GLM list needs to be sorted

* datagen

* simplify serialization

* fix test mods (oops)

* properly use suppliers for codec as they are registry obj
This commit is contained in:
Cyborgmas authored and GitHub committed 2022-07-09 11:51:41 -04:00
1 parent 1134fac54c
commit 0c030ee5e1
9 files changed
+174 -199

No files matched your search

@@ -11,6 +11,7 @@ import com.google.common.collect.HashBiMap;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
import com.mojang.serialization.Codec;
import com.mojang.serialization.Lifecycle;
import java.util.LinkedHashSet;
import net.minecraft.core.DefaultedRegistry;
@@ -37,7 +38,7 @@ import net.minecraft.world.level.material.Fluid;
import net.minecraft.world.level.material.Material;
import net.minecraftforge.common.ForgeHooks;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.loot.GlobalLootModifierSerializer;
import net.minecraftforge.common.loot.IGlobalLootModifier;
import net.minecraftforge.common.util.LogMessageAdapter;
import net.minecraftforge.fluids.FluidType;
import net.minecraftforge.fml.ModLoader;
@@ -142,7 +143,7 @@ public class GameData
return makeRegistry(DATA_SERIALIZERS, 256 /*vanilla space*/, MAX_VARINT).disableSaving().disableOverrides();
}
static RegistryBuilder<GlobalLootModifierSerializer<?>> getGLMSerializersRegistryBuilder()
static RegistryBuilder<Codec<? extends IGlobalLootModifier>> getGLMSerializersRegistryBuilder()
{
return makeRegistry(LOOT_MODIFIER_SERIALIZERS).disableSaving().disableSync();
}