[Feature] New WorldTypes for BetterX + Large Biomes (bclib:large
)Overworld or Amplified (bclib:amplified
) Overworld (#53)
This commit is contained in:
parent
6c6aca74b5
commit
42be3dd2c7
8 changed files with 134 additions and 6 deletions
|
@ -45,6 +45,28 @@ public class BCLEndBiomeSourceConfig implements BiomeSourceConfig<BCLibEndBiomeS
|
|||
MINECRAFT_17.landBiomesSize,
|
||||
MINECRAFT_17.barrensBiomesSize
|
||||
);
|
||||
|
||||
public static final BCLEndBiomeSourceConfig MINECRAFT_18_LARGE = new BCLEndBiomeSourceConfig(
|
||||
EndBiomeMapType.HEX,
|
||||
BCLib.RUNS_NULLSCAPE ? EndBiomeGeneratorType.VANILLA : EndBiomeGeneratorType.PAULEVS,
|
||||
BCLib.RUNS_NULLSCAPE ? false : true,
|
||||
MINECRAFT_18.innerVoidRadiusSquared,
|
||||
MINECRAFT_18.centerBiomesSize,
|
||||
MINECRAFT_18.voidBiomesSize * 2,
|
||||
MINECRAFT_18.landBiomesSize * 4,
|
||||
MINECRAFT_18.barrensBiomesSize * 2
|
||||
);
|
||||
|
||||
public static final BCLEndBiomeSourceConfig MINECRAFT_18_AMPLIFIED = new BCLEndBiomeSourceConfig(
|
||||
EndBiomeMapType.HEX,
|
||||
EndBiomeGeneratorType.PAULEVS,
|
||||
true,
|
||||
MINECRAFT_18.innerVoidRadiusSquared,
|
||||
MINECRAFT_18.centerBiomesSize,
|
||||
MINECRAFT_18.voidBiomesSize,
|
||||
MINECRAFT_18.landBiomesSize,
|
||||
MINECRAFT_18.barrensBiomesSize
|
||||
);
|
||||
public static final BCLEndBiomeSourceConfig DEFAULT = MINECRAFT_18;
|
||||
|
||||
public static final Codec<BCLEndBiomeSourceConfig> CODEC = RecordCodecBuilder.create(instance -> instance
|
||||
|
|
|
@ -32,6 +32,21 @@ public class BCLNetherBiomeSourceConfig implements BiomeSourceConfig<BCLibNether
|
|||
MINECRAFT_17.biomeSizeVertical,
|
||||
MINECRAFT_17.useVerticalBiomes
|
||||
);
|
||||
|
||||
public static final BCLNetherBiomeSourceConfig MINECRAFT_18_LARGE = new BCLNetherBiomeSourceConfig(
|
||||
NetherBiomeMapType.HEX,
|
||||
MINECRAFT_18.biomeSize * 4,
|
||||
MINECRAFT_18.biomeSizeVertical * 2,
|
||||
MINECRAFT_18.useVerticalBiomes
|
||||
);
|
||||
|
||||
public static final BCLNetherBiomeSourceConfig MINECRAFT_18_AMPLIFIED = new BCLNetherBiomeSourceConfig(
|
||||
NetherBiomeMapType.HEX,
|
||||
MINECRAFT_18.biomeSize,
|
||||
MINECRAFT_18.biomeSizeVertical * 2,
|
||||
false
|
||||
);
|
||||
|
||||
public static final BCLNetherBiomeSourceConfig DEFAULT = MINECRAFT_18;
|
||||
|
||||
public static final Codec<BCLNetherBiomeSourceConfig> CODEC = RecordCodecBuilder.create(instance -> instance
|
||||
|
|
|
@ -10,21 +10,25 @@ import org.betterx.worlds.together.levelgen.WorldGenUtil;
|
|||
import org.betterx.worlds.together.worldPreset.TogetherWorldPreset;
|
||||
import org.betterx.worlds.together.worldPreset.WorldPresets;
|
||||
|
||||
import net.minecraft.core.Holder;
|
||||
import net.minecraft.resources.ResourceKey;
|
||||
import net.minecraft.world.level.dimension.LevelStem;
|
||||
import net.minecraft.world.level.levelgen.NoiseGeneratorSettings;
|
||||
import net.minecraft.world.level.levelgen.presets.WorldPreset;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class PresetsRegistry implements WorldPresetBootstrap {
|
||||
public static ResourceKey<WorldPreset> BCL_WORLD;
|
||||
public static ResourceKey<WorldPreset> BCL_WORLD_LARGE;
|
||||
public static ResourceKey<WorldPreset> BCL_WORLD_AMPLIFIED;
|
||||
public static ResourceKey<WorldPreset> BCL_WORLD_17;
|
||||
|
||||
public void bootstrapWorldPresets() {
|
||||
BCL_WORLD =
|
||||
WorldPresets.register(
|
||||
BCLib.makeID("normal"),
|
||||
(overworldStem, netherContext, endContext) ->
|
||||
(overworldStem, netherContext, endContext, noiseSettings, noiseBasedOverworld) ->
|
||||
buildPreset(
|
||||
overworldStem,
|
||||
netherContext,
|
||||
|
@ -34,9 +38,45 @@ public class PresetsRegistry implements WorldPresetBootstrap {
|
|||
true
|
||||
);
|
||||
|
||||
BCL_WORLD_LARGE =
|
||||
WorldPresets.register(
|
||||
BCLib.makeID("large"),
|
||||
(overworldStem, netherContext, endContext, noiseSettings, noiseBasedOverworld) -> {
|
||||
Holder<NoiseGeneratorSettings> largeBiomeGenerator = noiseSettings
|
||||
.getOrCreateHolderOrThrow(NoiseGeneratorSettings.LARGE_BIOMES);
|
||||
return buildPreset(
|
||||
noiseBasedOverworld.make(
|
||||
overworldStem.generator().getBiomeSource(),
|
||||
largeBiomeGenerator
|
||||
),
|
||||
netherContext, BCLNetherBiomeSourceConfig.MINECRAFT_18_LARGE,
|
||||
endContext, BCLEndBiomeSourceConfig.MINECRAFT_18_LARGE
|
||||
);
|
||||
},
|
||||
true
|
||||
);
|
||||
|
||||
BCL_WORLD_AMPLIFIED =
|
||||
WorldPresets.register(
|
||||
BCLib.makeID("amplified"),
|
||||
(overworldStem, netherContext, endContext, noiseSettings, noiseBasedOverworld) -> {
|
||||
Holder<NoiseGeneratorSettings> largeBiomeGenerator = noiseSettings
|
||||
.getOrCreateHolderOrThrow(NoiseGeneratorSettings.AMPLIFIED);
|
||||
return buildPreset(
|
||||
noiseBasedOverworld.make(
|
||||
overworldStem.generator().getBiomeSource(),
|
||||
largeBiomeGenerator
|
||||
),
|
||||
netherContext, BCLNetherBiomeSourceConfig.MINECRAFT_18_AMPLIFIED,
|
||||
endContext, BCLEndBiomeSourceConfig.MINECRAFT_18_AMPLIFIED
|
||||
);
|
||||
},
|
||||
true
|
||||
);
|
||||
|
||||
BCL_WORLD_17 = WorldPresets.register(
|
||||
BCLib.makeID("legacy_17"),
|
||||
(overworldStem, netherContext, endContext) ->
|
||||
(overworldStem, netherContext, endContext, noiseSettings, noiseBasedOverworld) ->
|
||||
buildPreset(
|
||||
overworldStem,
|
||||
netherContext,
|
||||
|
|
|
@ -12,5 +12,19 @@ public class PresetsRegistryClient {
|
|||
WorldPresetsClient.registerCustomizeUI(PresetsRegistry.BCL_WORLD, (createWorldScreen, worldCreationContext) -> {
|
||||
return new WorldSetupScreen(createWorldScreen, worldCreationContext);
|
||||
});
|
||||
|
||||
WorldPresetsClient.registerCustomizeUI(
|
||||
PresetsRegistry.BCL_WORLD_LARGE,
|
||||
(createWorldScreen, worldCreationContext) -> {
|
||||
return new WorldSetupScreen(createWorldScreen, worldCreationContext);
|
||||
}
|
||||
);
|
||||
|
||||
WorldPresetsClient.registerCustomizeUI(
|
||||
PresetsRegistry.BCL_WORLD_AMPLIFIED,
|
||||
(createWorldScreen, worldCreationContext) -> {
|
||||
return new WorldSetupScreen(createWorldScreen, worldCreationContext);
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue