From 09416bc34c77e18aacd579981ac93747ee6599f2 Mon Sep 17 00:00:00 2001 From: dfsek Date: Wed, 23 Mar 2022 21:11:43 -0700 Subject: [PATCH] use noise registry in wrapper instantiation --- .../fabric/generation/TerraGeneratorType.java | 4 +++- .../lifecycle/server/GeneratorOptionsMixin.java | 15 +++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/generation/TerraGeneratorType.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/generation/TerraGeneratorType.java index 3a7395357..5238bd609 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/generation/TerraGeneratorType.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/generation/TerraGeneratorType.java @@ -20,6 +20,7 @@ package com.dfsek.terra.fabric.generation; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.world.GeneratorType; +import net.minecraft.structure.StructureSet; import net.minecraft.util.registry.DynamicRegistryManager; import net.minecraft.util.registry.Registry; import net.minecraft.world.gen.GeneratorOptions; @@ -47,6 +48,7 @@ public class TerraGeneratorType extends GeneratorType { protected ChunkGenerator getChunkGenerator(DynamicRegistryManager manager, long seed) { Registry chunkGeneratorSettingsRegistry = manager.get(Registry.CHUNK_GENERATOR_SETTINGS_KEY); Supplier settingsSupplier = () -> chunkGeneratorSettingsRegistry.getOrThrow(ChunkGeneratorSettings.OVERWORLD); - return new FabricChunkGeneratorWrapper(new TerraBiomeSource(manager.get(Registry.BIOME_KEY), seed, pack), seed, pack, settingsSupplier); + Registry noiseRegistry = manager.get(Registry.STRUCTURE_SET_KEY); + return new FabricChunkGeneratorWrapper(noiseRegistry, new TerraBiomeSource(manager.get(Registry.BIOME_KEY), seed, pack), seed, pack, settingsSupplier); } } diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/lifecycle/server/GeneratorOptionsMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/lifecycle/server/GeneratorOptionsMixin.java index 482c1ae27..e3d8a8613 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/lifecycle/server/GeneratorOptionsMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/lifecycle/server/GeneratorOptionsMixin.java @@ -17,6 +17,7 @@ package com.dfsek.terra.fabric.mixin.lifecycle.server; +import net.minecraft.structure.StructureSet; import net.minecraft.util.registry.DynamicRegistryManager; import net.minecraft.util.registry.Registry; import net.minecraft.util.registry.SimpleRegistry; @@ -47,7 +48,7 @@ public abstract class GeneratorOptionsMixin { "Lnet/minecraft/world/gen/GeneratorOptions;", at = @At("HEAD"), cancellable = true) - private static void fromProperties(DynamicRegistryManager registryManager, Properties properties, + private static void fromProperties(DynamicRegistryManager manager, Properties properties, CallbackInfoReturnable cir) { if(properties.get("level-type") == null) { return; @@ -72,13 +73,14 @@ public abstract class GeneratorOptionsMixin { String generate_structures = (String) properties.get("generate-structures"); boolean generateStructures = generate_structures == null || Boolean.parseBoolean(generate_structures); - Registry dimensionTypes = registryManager.get(Registry.DIMENSION_TYPE_KEY); - Registry biomeRegistry = registryManager.get(Registry.BIOME_KEY); - SimpleRegistry dimensionOptions = DimensionType.createDefaultDimensionOptions(registryManager, seed, false); + Registry dimensionTypes = manager.get(Registry.DIMENSION_TYPE_KEY); + Registry biomeRegistry = manager.get(Registry.BIOME_KEY); + SimpleRegistry dimensionOptions = DimensionType.createDefaultDimensionOptions(manager, seed, false); - Registry chunkGeneratorSettingsRegistry = registryManager.get(Registry.CHUNK_GENERATOR_SETTINGS_KEY); + Registry chunkGeneratorSettingsRegistry = manager.get(Registry.CHUNK_GENERATOR_SETTINGS_KEY); Supplier settingsSupplier = () -> chunkGeneratorSettingsRegistry.getOrThrow(ChunkGeneratorSettings.OVERWORLD); + Registry noiseRegistry = manager.get(Registry.STRUCTURE_SET_KEY); prop = prop.substring(prop.indexOf(":") + 1); @@ -94,7 +96,8 @@ public abstract class GeneratorOptionsMixin { .getRegistryWithReplacedOverworldGenerator( dimensionTypes, dimensionOptions, - new FabricChunkGeneratorWrapper(new TerraBiomeSource(biomeRegistry, seed, config), + new FabricChunkGeneratorWrapper(noiseRegistry, + new TerraBiomeSource(biomeRegistry, seed, config), seed, config, settingsSupplier))));