mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-06-17 14:21:08 +00:00
add carver resolution config to pack.yml
This commit is contained in:
+3
-2
@@ -7,9 +7,9 @@
|
|||||||
|
|
||||||
package com.dfsek.terra.addons.chunkgenerator;
|
package com.dfsek.terra.addons.chunkgenerator;
|
||||||
|
|
||||||
|
import com.dfsek.terra.addons.chunkgenerator.config.NoiseChunkGeneratorPackConfigTemplate;
|
||||||
import com.dfsek.terra.addons.chunkgenerator.config.noise.BiomeNoiseConfigTemplate;
|
import com.dfsek.terra.addons.chunkgenerator.config.noise.BiomeNoiseConfigTemplate;
|
||||||
import com.dfsek.terra.addons.chunkgenerator.config.palette.BiomePaletteTemplate;
|
import com.dfsek.terra.addons.chunkgenerator.config.palette.BiomePaletteTemplate;
|
||||||
import com.dfsek.terra.addons.chunkgenerator.config.NoiseChunkGeneratorPackConfigTemplate;
|
|
||||||
import com.dfsek.terra.addons.chunkgenerator.generation.NoiseChunkGenerator3D;
|
import com.dfsek.terra.addons.chunkgenerator.generation.NoiseChunkGenerator3D;
|
||||||
import com.dfsek.terra.addons.chunkgenerator.palette.PaletteHolder;
|
import com.dfsek.terra.addons.chunkgenerator.palette.PaletteHolder;
|
||||||
import com.dfsek.terra.addons.chunkgenerator.palette.PaletteHolderLoader;
|
import com.dfsek.terra.addons.chunkgenerator.palette.PaletteHolderLoader;
|
||||||
@@ -44,7 +44,8 @@ public class NoiseChunkGenerator3DAddon implements AddonInitializer {
|
|||||||
event.getPack()
|
event.getPack()
|
||||||
.getOrCreateRegistry(ChunkGeneratorProvider.class)
|
.getOrCreateRegistry(ChunkGeneratorProvider.class)
|
||||||
.register("NOISE_3D",
|
.register("NOISE_3D",
|
||||||
pack -> new NoiseChunkGenerator3D(pack, platform, config.getElevationBlend()));
|
pack -> new NoiseChunkGenerator3D(pack, platform, config.getElevationBlend(), config.getHorizontalRes(),
|
||||||
|
config.getVerticalRes()));
|
||||||
event.getPack()
|
event.getPack()
|
||||||
.applyLoader(SlantHolder.class, new SlantHolderLoader())
|
.applyLoader(SlantHolder.class, new SlantHolderLoader())
|
||||||
.applyLoader(PaletteHolder.class, new PaletteHolderLoader());
|
.applyLoader(PaletteHolder.class, new PaletteHolderLoader());
|
||||||
|
|||||||
+16
@@ -13,7 +13,23 @@ public class NoiseChunkGeneratorPackConfigTemplate implements ConfigTemplate {
|
|||||||
@Default
|
@Default
|
||||||
private @Meta int elevationBlend = 4;
|
private @Meta int elevationBlend = 4;
|
||||||
|
|
||||||
|
@Value("carving.resolution.horizontal")
|
||||||
|
@Default
|
||||||
|
private @Meta int horizontalRes = 2;
|
||||||
|
|
||||||
|
@Value("carving.resolution.vertical")
|
||||||
|
@Default
|
||||||
|
private @Meta int verticalRes = 4;
|
||||||
|
|
||||||
public int getElevationBlend() {
|
public int getElevationBlend() {
|
||||||
return elevationBlend;
|
return elevationBlend;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getHorizontalRes() {
|
||||||
|
return horizontalRes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getVerticalRes() {
|
||||||
|
return verticalRes;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+15
-4
@@ -14,7 +14,6 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.dfsek.terra.addons.chunkgenerator.config.noise.BiomeNoiseProperties;
|
|
||||||
import com.dfsek.terra.addons.chunkgenerator.config.palette.PaletteInfo;
|
import com.dfsek.terra.addons.chunkgenerator.config.palette.PaletteInfo;
|
||||||
import com.dfsek.terra.addons.chunkgenerator.generation.math.PaletteUtil;
|
import com.dfsek.terra.addons.chunkgenerator.generation.math.PaletteUtil;
|
||||||
import com.dfsek.terra.addons.chunkgenerator.generation.math.interpolation.LazilyEvaluatedInterpolator;
|
import com.dfsek.terra.addons.chunkgenerator.generation.math.interpolation.LazilyEvaluatedInterpolator;
|
||||||
@@ -42,9 +41,15 @@ public class NoiseChunkGenerator3D implements ChunkGenerator {
|
|||||||
|
|
||||||
private final BlockState air;
|
private final BlockState air;
|
||||||
|
|
||||||
public NoiseChunkGenerator3D(ConfigPack c, Platform platform, int elevationBlend) {
|
private final int carverHorizontalResolution;
|
||||||
|
private final int carverVerticalResolution;
|
||||||
|
|
||||||
|
public NoiseChunkGenerator3D(ConfigPack c, Platform platform, int elevationBlend, int carverHorizontalResolution,
|
||||||
|
int carverVerticalResolution) {
|
||||||
this.platform = platform;
|
this.platform = platform;
|
||||||
this.air = platform.getWorldHandle().air();
|
this.air = platform.getWorldHandle().air();
|
||||||
|
this.carverHorizontalResolution = carverHorizontalResolution;
|
||||||
|
this.carverVerticalResolution = carverVerticalResolution;
|
||||||
this.samplerCache = new SamplerProvider(platform, c.getBiomeProvider(), elevationBlend);
|
this.samplerCache = new SamplerProvider(platform, c.getBiomeProvider(), elevationBlend);
|
||||||
c.getStages().forEach(stage -> generationStages.add(stage.newInstance(c)));
|
c.getStages().forEach(stage -> generationStages.add(stage.newInstance(c)));
|
||||||
}
|
}
|
||||||
@@ -64,8 +69,14 @@ public class NoiseChunkGenerator3D implements ChunkGenerator {
|
|||||||
|
|
||||||
long seed = world.getSeed();
|
long seed = world.getSeed();
|
||||||
|
|
||||||
LazilyEvaluatedInterpolator carver = new LazilyEvaluatedInterpolator(world.getBiomeProvider(), chunkX, chunkZ,
|
LazilyEvaluatedInterpolator carver = new LazilyEvaluatedInterpolator(world.getBiomeProvider(),
|
||||||
world.getMaxHeight(), world.getMinHeight(), 2, 4, seed);
|
chunkX,
|
||||||
|
chunkZ,
|
||||||
|
world.getMaxHeight(),
|
||||||
|
world.getMinHeight(),
|
||||||
|
carverHorizontalResolution,
|
||||||
|
carverVerticalResolution,
|
||||||
|
seed);
|
||||||
for(int x = 0; x < 16; x++) {
|
for(int x = 0; x < 16; x++) {
|
||||||
for(int z = 0; z < 16; z++) {
|
for(int z = 0; z < 16; z++) {
|
||||||
int paletteLevel = 0;
|
int paletteLevel = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user