From 480bc738ddda73633b05b4433b5a79e5e4607106 Mon Sep 17 00:00:00 2001 From: dfsek Date: Wed, 23 Mar 2022 22:01:47 -0700 Subject: [PATCH] fix MinecraftServer_BiomeRegistrationMixin --- ...inecraftServer_BiomeRegistrationMixin.java | 28 ++++++++++++++++ .../lifecycle/ServerResourceManagerMixin.java | 32 ------------------- .../src/main/resources/terra.mixins.json | 2 +- 3 files changed, 29 insertions(+), 33 deletions(-) create mode 100644 platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/lifecycle/MinecraftServer_BiomeRegistrationMixin.java delete mode 100644 platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/lifecycle/ServerResourceManagerMixin.java diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/lifecycle/MinecraftServer_BiomeRegistrationMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/lifecycle/MinecraftServer_BiomeRegistrationMixin.java new file mode 100644 index 000000000..4227cbd9d --- /dev/null +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/lifecycle/MinecraftServer_BiomeRegistrationMixin.java @@ -0,0 +1,28 @@ +package com.dfsek.terra.fabric.mixin.lifecycle; + +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.registry.DynamicRegistryManager.Immutable; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +import java.util.Collection; +import java.util.concurrent.CompletableFuture; + +import com.dfsek.terra.fabric.FabricEntryPoint; +import com.dfsek.terra.fabric.event.BiomeRegistrationEvent; + + +@Mixin(MinecraftServer.class) +public abstract class MinecraftServer_BiomeRegistrationMixin { + @Shadow + public abstract Immutable getRegistryManager(); + + @Inject(method = "reloadResources", + at = @At("HEAD")) + private void inject(Collection dataPacks, CallbackInfoReturnable> cir) { + FabricEntryPoint.getPlatform().getEventManager().callEvent(new BiomeRegistrationEvent(getRegistryManager())); // register biomes + } +} diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/lifecycle/ServerResourceManagerMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/lifecycle/ServerResourceManagerMixin.java deleted file mode 100644 index d63c84e9c..000000000 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/lifecycle/ServerResourceManagerMixin.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.dfsek.terra.fabric.mixin.lifecycle; - -import net.minecraft.resource.ResourcePack; -import net.minecraft.resource.ServerResourceManager; -import net.minecraft.server.command.CommandManager; -import net.minecraft.util.registry.DynamicRegistryManager; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -import java.util.List; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.Executor; - -import com.dfsek.terra.fabric.FabricEntryPoint; -import com.dfsek.terra.fabric.event.BiomeRegistrationEvent; - - -@Mixin(ServerResourceManager.class) -public class ServerResourceManagerMixin { - @Inject(method = "reload(Ljava/util/List;Lnet/minecraft/util/registry/DynamicRegistryManager;" + - "Lnet/minecraft/server/command/CommandManager$RegistrationEnvironment;ILjava/util/concurrent/Executor;" + - "Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;", - at = @At("HEAD")) - private static void inject(List packs, DynamicRegistryManager registryManager, - CommandManager.RegistrationEnvironment commandEnvironment, int functionPermissionLevel, - Executor prepareExecutor, - Executor applyExecutor, CallbackInfoReturnable> cir) { - FabricEntryPoint.getPlatform().getEventManager().callEvent(new BiomeRegistrationEvent(registryManager)); // register biomes - } -} diff --git a/platforms/fabric/src/main/resources/terra.mixins.json b/platforms/fabric/src/main/resources/terra.mixins.json index 4b0d3cd85..d92e00890 100644 --- a/platforms/fabric/src/main/resources/terra.mixins.json +++ b/platforms/fabric/src/main/resources/terra.mixins.json @@ -33,7 +33,7 @@ "implementations.world.ChunkRegionMixin", "implementations.world.ServerWorldMixin", "lifecycle.MinecraftServerMixin", - "lifecycle.ServerResourceManagerMixin" + "lifecycle.MinecraftServer_BiomeRegistrationMixin" ], "client": [ "access.GeneratorTypeAccessor",