Tweaks to Surface Rule application
This commit is contained in:
parent
e1883409fa
commit
ec764f99e6
4 changed files with 11 additions and 12 deletions
|
@ -20,7 +20,7 @@ import java.net.Proxy;
|
||||||
@Mixin(value = MinecraftServer.class, priority = 2000)
|
@Mixin(value = MinecraftServer.class, priority = 2000)
|
||||||
public class MinecraftServerMixinLate {
|
public class MinecraftServerMixinLate {
|
||||||
@Inject(at = @At("RETURN"), method = "<init>")
|
@Inject(at = @At("RETURN"), method = "<init>")
|
||||||
private void appendGlobalFeatures(
|
private void bcl_restoreBiomeSource(
|
||||||
Thread thread,
|
Thread thread,
|
||||||
LevelStorageSource.LevelStorageAccess levelStorageAccess,
|
LevelStorageSource.LevelStorageAccess levelStorageAccess,
|
||||||
PackRepository packRepository,
|
PackRepository packRepository,
|
||||||
|
|
|
@ -8,10 +8,9 @@ import org.betterx.bclib.api.v2.levelgen.LevelGenUtil;
|
||||||
import org.betterx.bclib.api.v2.levelgen.biomes.InternalBiomeAPI;
|
import org.betterx.bclib.api.v2.levelgen.biomes.InternalBiomeAPI;
|
||||||
import org.betterx.bclib.interfaces.ChunkGeneratorAccessor;
|
import org.betterx.bclib.interfaces.ChunkGeneratorAccessor;
|
||||||
import org.betterx.bclib.interfaces.NoiseGeneratorSettingsProvider;
|
import org.betterx.bclib.interfaces.NoiseGeneratorSettingsProvider;
|
||||||
import org.betterx.worlds.together.surfaceRules.SurfaceRuleRegistry;
|
|
||||||
import org.betterx.worlds.together.surfaceRules.SurfaceRuleUtil;
|
|
||||||
import org.betterx.worlds.together.world.WorldGenUtil;
|
import org.betterx.worlds.together.world.WorldGenUtil;
|
||||||
import org.betterx.worlds.together.worldPreset.TogetherWorldPreset;
|
import org.betterx.worlds.together.worldPreset.TogetherWorldPreset;
|
||||||
|
import org.betterx.worlds.together.worldPreset.settings.VanillaWorldPresetSettings;
|
||||||
import org.betterx.worlds.together.worldPreset.settings.WorldPresetSettings;
|
import org.betterx.worlds.together.worldPreset.settings.WorldPresetSettings;
|
||||||
|
|
||||||
import com.mojang.serialization.Codec;
|
import com.mojang.serialization.Codec;
|
||||||
|
@ -135,16 +134,15 @@ public class BCLWorldPresetSettings extends WorldPresetSettings {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void injectSurfaceRules(RegistryAccess registryAccess, WorldGenSettings settings) {
|
public void injectSurfaceRules(RegistryAccess registryAccess, WorldGenSettings settings) {
|
||||||
//END and NETHER are handled in #repairSettingsOnLoad
|
VanillaWorldPresetSettings.DEFAULT.injectSurfaceRules(registryAccess, settings);
|
||||||
SurfaceRuleUtil.injectSurfaceRules(settings, SurfaceRuleRegistry.NON_MANAGED_DIMENSIONS);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Holder<NoiseGeneratorSettings> injectSurfaceRules(
|
private static Holder<NoiseGeneratorSettings> buildGeneratorSettings(
|
||||||
Holder<NoiseGeneratorSettings> reference,
|
Holder<NoiseGeneratorSettings> reference,
|
||||||
Holder<NoiseGeneratorSettings> settings,
|
Holder<NoiseGeneratorSettings> settings,
|
||||||
BiomeSource biomeSource
|
BiomeSource biomeSource
|
||||||
) {
|
) {
|
||||||
SurfaceRuleUtil.injectSurfaceRules(settings.value(), biomeSource);
|
//SurfaceRuleUtil.injectSurfaceRules(settings.value(), biomeSource);
|
||||||
return settings;
|
return settings;
|
||||||
// NoiseGeneratorSettings old = settings.value();
|
// NoiseGeneratorSettings old = settings.value();
|
||||||
// NoiseGeneratorSettings noise = new NoiseGeneratorSettings(
|
// NoiseGeneratorSettings noise = new NoiseGeneratorSettings(
|
||||||
|
@ -216,7 +214,7 @@ public class BCLWorldPresetSettings extends WorldPresetSettings {
|
||||||
generator.bclib_getStructureSetsRegistry(),
|
generator.bclib_getStructureSetsRegistry(),
|
||||||
noiseProvider.bclib_getNoises(),
|
noiseProvider.bclib_getNoises(),
|
||||||
bs,
|
bs,
|
||||||
injectSurfaceRules(
|
buildGeneratorSettings(
|
||||||
referenceProvider.bclib_getNoiseGeneratorSettingHolders(),
|
referenceProvider.bclib_getNoiseGeneratorSettingHolders(),
|
||||||
noiseProvider.bclib_getNoiseGeneratorSettingHolders(),
|
noiseProvider.bclib_getNoiseGeneratorSettingHolders(),
|
||||||
bs
|
bs
|
||||||
|
@ -233,9 +231,9 @@ public class BCLWorldPresetSettings extends WorldPresetSettings {
|
||||||
settings,
|
settings,
|
||||||
referenceGenerator
|
referenceGenerator
|
||||||
);
|
);
|
||||||
} else {
|
}/* else {
|
||||||
SurfaceRuleUtil.injectSurfaceRules(dimensionKey, loadedChunkGenerator);
|
SurfaceRuleUtil.injectSurfaceRules(dimensionKey, loadedChunkGenerator);
|
||||||
}
|
}*/
|
||||||
return settings;
|
return settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||||
* We need a hook here to alter surface rules after Fabric did add its biomes
|
* We need a hook here to alter surface rules after Fabric did add its biomes
|
||||||
* in {@link net.fabricmc.fabric.mixin.biome.MixinMinecraftServer}
|
* in {@link net.fabricmc.fabric.mixin.biome.MixinMinecraftServer}
|
||||||
*/
|
*/
|
||||||
@Mixin(value = MinecraftServer.class, priority = 500)
|
@Mixin(value = MinecraftServer.class, priority = 2000)
|
||||||
public class MinecraftServerMixin {
|
public class MinecraftServerMixin {
|
||||||
@Shadow
|
@Shadow
|
||||||
@Final
|
@Final
|
||||||
|
@ -27,7 +27,7 @@ public class MinecraftServerMixin {
|
||||||
@Final
|
@Final
|
||||||
protected WorldData worldData;
|
protected WorldData worldData;
|
||||||
|
|
||||||
@Inject(method = "createLevels", at = @At("HEAD"))
|
@Inject(method = "createLevels", at = @At(value = "HEAD"))
|
||||||
private void together_addSurfaceRules(ChunkProgressListener worldGenerationProgressListener, CallbackInfo ci) {
|
private void together_addSurfaceRules(ChunkProgressListener worldGenerationProgressListener, CallbackInfo ci) {
|
||||||
WorldGenUtil.getWorldSettings().injectSurfaceRules(registryHolder, this.worldData.worldGenSettings());
|
WorldGenUtil.getWorldSettings().injectSurfaceRules(registryHolder, this.worldData.worldGenSettings());
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
"BuiltinRegistriesMixin",
|
"BuiltinRegistriesMixin",
|
||||||
"DiggerItemAccessor",
|
"DiggerItemAccessor",
|
||||||
"MainMixin",
|
"MainMixin",
|
||||||
|
"MinecraftServerMixin",
|
||||||
"NoiseGeneratorSettingsMixin",
|
"NoiseGeneratorSettingsMixin",
|
||||||
"PrimaryLevelDataMixin",
|
"PrimaryLevelDataMixin",
|
||||||
"RegistryAccessMixin",
|
"RegistryAccessMixin",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue