diff --git a/platforms/minestom/src/main/java/com/dfsek/terra/minestom/biome/MinestomBiomeLoader.java b/platforms/minestom/src/main/java/com/dfsek/terra/minestom/biome/MinestomBiomeLoader.java index ccd1176c5..5115397d9 100644 --- a/platforms/minestom/src/main/java/com/dfsek/terra/minestom/biome/MinestomBiomeLoader.java +++ b/platforms/minestom/src/main/java/com/dfsek/terra/minestom/biome/MinestomBiomeLoader.java @@ -8,19 +8,25 @@ import com.dfsek.tectonic.api.loader.type.TypeLoader; import com.dfsek.terra.api.world.biome.PlatformBiome; import net.kyori.adventure.key.Key; +import net.minestom.server.MinecraftServer; import net.minestom.server.registry.DynamicRegistry; +import net.minestom.server.world.biome.Biome; import org.intellij.lang.annotations.Subst; import org.jetbrains.annotations.NotNull; import java.lang.reflect.AnnotatedType; public class MinestomBiomeLoader implements TypeLoader { + private final DynamicRegistry biomeRegistry = MinecraftServer.getBiomeRegistry(); + @Override public PlatformBiome load(@NotNull AnnotatedType annotatedType, @NotNull Object o, @NotNull ConfigLoader configLoader, DepthTracker depthTracker) throws LoadException { @Subst("name:value") String id = (String) o; Key key = Key.key(id); - return new MinestomBiome(DynamicRegistry.Key.of(key)); + Biome biome = biomeRegistry.get(key); + if(biome == null) throw new LoadException("Biome %s does not exist in registry".formatted(id), depthTracker); + return new MinestomBiome(biome); } } \ No newline at end of file