diff --git a/src/main/java/org/betterx/worlds/together/mixin/common/MainMixin.java b/src/main/java/org/betterx/worlds/together/mixin/common/MainMixin.java index 57639e95..7572af23 100644 --- a/src/main/java/org/betterx/worlds/together/mixin/common/MainMixin.java +++ b/src/main/java/org/betterx/worlds/together/mixin/common/MainMixin.java @@ -2,9 +2,7 @@ package org.betterx.worlds.together.mixin.common; import org.betterx.worlds.together.world.event.WorldBootstrap; -import com.mojang.serialization.DynamicOps; -import net.minecraft.nbt.Tag; -import net.minecraft.resources.RegistryOps; +import net.minecraft.core.RegistryAccess; import net.minecraft.server.Main; import net.minecraft.world.level.storage.LevelStorageSource; @@ -23,14 +21,12 @@ abstract public class MainMixin { WorldBootstrap.DedicatedServer.applyWorldPatches(levelStorageAccess); return levelStorageAccess; } - - - @ModifyArg(method = "method_43613", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/storage/LevelStorageSource$LevelStorageAccess;getDataTag(Lcom/mojang/serialization/DynamicOps;Lnet/minecraft/world/level/WorldDataConfiguration;Lnet/minecraft/core/Registry;Lcom/mojang/serialization/Lifecycle;)Lcom/mojang/datafixers/util/Pair;")) - private static DynamicOps bcl_onCreate(DynamicOps dynamicOps) { - if (dynamicOps instanceof RegistryOps regOps) { - WorldBootstrap.DedicatedServer.registryReady(regOps); - } + + @ModifyArg(method = "main", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/storage/LevelStorageSource$LevelStorageAccess;saveDataTag(Lnet/minecraft/core/RegistryAccess;Lnet/minecraft/world/level/storage/WorldData;)V")) + private static RegistryAccess bcl_onCreate(RegistryAccess registryAccess) { + WorldBootstrap.DedicatedServer.registryReady(registryAccess); WorldBootstrap.DedicatedServer.setupWorld(bcl_levelStorageAccess); - return dynamicOps; + + return registryAccess; } } diff --git a/src/main/java/org/betterx/worlds/together/world/event/WorldBootstrap.java b/src/main/java/org/betterx/worlds/together/world/event/WorldBootstrap.java index a2d3c8a9..b8b5e875 100644 --- a/src/main/java/org/betterx/worlds/together/world/event/WorldBootstrap.java +++ b/src/main/java/org/betterx/worlds/together/world/event/WorldBootstrap.java @@ -4,7 +4,6 @@ import org.betterx.bclib.BCLib; import org.betterx.bclib.config.Configs; import org.betterx.worlds.together.WorldsTogether; import org.betterx.worlds.together.levelgen.WorldGenUtil; -import org.betterx.worlds.together.mixin.common.RegistryOpsAccessor; import org.betterx.worlds.together.mixin.common.WorldPresetAccessor; import org.betterx.worlds.together.surfaceRules.SurfaceRuleUtil; import org.betterx.worlds.together.world.WorldConfig; @@ -18,8 +17,6 @@ import net.minecraft.core.LayeredRegistryAccess; import net.minecraft.core.Registry; import net.minecraft.core.RegistryAccess; import net.minecraft.core.registries.Registries; -import net.minecraft.nbt.Tag; -import net.minecraft.resources.RegistryOps; import net.minecraft.resources.ResourceKey; import net.minecraft.server.RegistryLayer; import net.minecraft.world.level.chunk.ChunkGenerator; @@ -109,10 +106,8 @@ public class WorldBootstrap { } public static class DedicatedServer { - public static void registryReady(RegistryOps regOps) { - if (regOps instanceof RegistryOpsAccessor acc) { - //Helpers.onRegistryReady(acc.bcl_getLookupProvider().); - } + public static void registryReady(RegistryAccess acc) { + Helpers.onRegistryReady(acc); } public static void setupWorld(LevelStorageSource.LevelStorageAccess levelStorageAccess) {