mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2025-07-18 10:32:30 +00:00
Merge remote-tracking branch 'origin/ver/6.5.0' into dev/7.0-2
This commit is contained in:
commit
37641d43d6
@ -58,7 +58,8 @@ public class NoiseChunkGenerator3DAddon implements AddonInitializer {
|
|||||||
pack -> new NoiseChunkGenerator3D(pack, platform, config.getElevationBlend(),
|
pack -> new NoiseChunkGenerator3D(pack, platform, config.getElevationBlend(),
|
||||||
config.getHorizontalRes(),
|
config.getHorizontalRes(),
|
||||||
config.getVerticalRes(), noisePropertiesPropertyKey,
|
config.getVerticalRes(), noisePropertiesPropertyKey,
|
||||||
paletteInfoPropertyKey, config.getSlantCalculationMethod()));
|
paletteInfoPropertyKey, config.getSlantCalculationMethod(),
|
||||||
|
config.isSlantPalettesEnabled()));
|
||||||
event.getPack()
|
event.getPack()
|
||||||
.applyLoader(SlantHolder.Layer.class, SlantLayerTemplate::new);
|
.applyLoader(SlantHolder.Layer.class, SlantLayerTemplate::new);
|
||||||
})
|
})
|
||||||
|
@ -26,6 +26,10 @@ public class NoiseChunkGeneratorPackConfigTemplate implements ConfigTemplate, Pr
|
|||||||
@Default
|
@Default
|
||||||
private @Meta SlantCalculationMethod slantCalculationMethod = SlantCalculationMethod.Derivative;
|
private @Meta SlantCalculationMethod slantCalculationMethod = SlantCalculationMethod.Derivative;
|
||||||
|
|
||||||
|
@Value("slant.disable-palettes")
|
||||||
|
@Default
|
||||||
|
private @Meta boolean disableSlantPalettes = false;
|
||||||
|
|
||||||
public int getElevationBlend() {
|
public int getElevationBlend() {
|
||||||
return elevationBlend;
|
return elevationBlend;
|
||||||
}
|
}
|
||||||
@ -41,4 +45,8 @@ public class NoiseChunkGeneratorPackConfigTemplate implements ConfigTemplate, Pr
|
|||||||
public SlantCalculationMethod getSlantCalculationMethod() {
|
public SlantCalculationMethod getSlantCalculationMethod() {
|
||||||
return slantCalculationMethod;
|
return slantCalculationMethod;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isSlantPalettesEnabled() {
|
||||||
|
return !disableSlantPalettes;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -47,10 +47,13 @@ public class NoiseChunkGenerator3D implements ChunkGenerator {
|
|||||||
|
|
||||||
private final SlantCalculationMethod slantCalculationMethod;
|
private final SlantCalculationMethod slantCalculationMethod;
|
||||||
|
|
||||||
|
private final boolean useSlantPalettes;
|
||||||
|
|
||||||
public NoiseChunkGenerator3D(ConfigPack pack, Platform platform, int elevationBlend, int carverHorizontalResolution,
|
public NoiseChunkGenerator3D(ConfigPack pack, Platform platform, int elevationBlend, int carverHorizontalResolution,
|
||||||
int carverVerticalResolution,
|
int carverVerticalResolution,
|
||||||
PropertyKey<BiomeNoiseProperties> noisePropertiesKey,
|
PropertyKey<BiomeNoiseProperties> noisePropertiesKey,
|
||||||
PropertyKey<BiomePaletteInfo> paletteInfoPropertyKey, SlantCalculationMethod slantCalculationMethod) {
|
PropertyKey<BiomePaletteInfo> paletteInfoPropertyKey,
|
||||||
|
SlantCalculationMethod slantCalculationMethod, boolean useSlantPalettes) {
|
||||||
this.platform = platform;
|
this.platform = platform;
|
||||||
this.air = platform.getWorldHandle().air();
|
this.air = platform.getWorldHandle().air();
|
||||||
this.carverHorizontalResolution = carverHorizontalResolution;
|
this.carverHorizontalResolution = carverHorizontalResolution;
|
||||||
@ -58,6 +61,7 @@ public class NoiseChunkGenerator3D implements ChunkGenerator {
|
|||||||
this.paletteInfoPropertyKey = paletteInfoPropertyKey;
|
this.paletteInfoPropertyKey = paletteInfoPropertyKey;
|
||||||
this.noisePropertiesKey = noisePropertiesKey;
|
this.noisePropertiesKey = noisePropertiesKey;
|
||||||
this.slantCalculationMethod = slantCalculationMethod;
|
this.slantCalculationMethod = slantCalculationMethod;
|
||||||
|
this.useSlantPalettes = useSlantPalettes;
|
||||||
int maxBlend = pack
|
int maxBlend = pack
|
||||||
.getBiomeProvider()
|
.getBiomeProvider()
|
||||||
.stream()
|
.stream()
|
||||||
@ -71,7 +75,7 @@ public class NoiseChunkGenerator3D implements ChunkGenerator {
|
|||||||
|
|
||||||
private Palette paletteAt(int x, int y, int z, Sampler3D sampler, BiomePaletteInfo paletteInfo, int depth) {
|
private Palette paletteAt(int x, int y, int z, Sampler3D sampler, BiomePaletteInfo paletteInfo, int depth) {
|
||||||
SlantHolder slantHolder = paletteInfo.slantHolder();
|
SlantHolder slantHolder = paletteInfo.slantHolder();
|
||||||
if(slantHolder.isAboveDepth(depth)) {
|
if(useSlantPalettes && slantHolder.isAboveDepth(depth)) {
|
||||||
double slant = slantCalculationMethod.slant(sampler, x, y, z);
|
double slant = slantCalculationMethod.slant(sampler, x, y, z);
|
||||||
if(slantHolder.isInSlantThreshold(slant)) {
|
if(slantHolder.isInSlantThreshold(slant)) {
|
||||||
return slantHolder.getPalette(slant).getPalette(y);
|
return slantHolder.getPalette(slant).getPalette(y);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user