Simple WorldBlender crash fix, Pallidium blocks (WIP)
This commit is contained in:
parent
80590c1a7e
commit
e32c6c76cb
18 changed files with 126 additions and 20 deletions
|
@ -14,6 +14,10 @@ public class SurfaceBuilders {
|
|||
public static final SurfaceBuilderBaseConfiguration BRIMSTONE_CONFIG = makeSimpleConfig(EndBlocks.BRIMSTONE);
|
||||
public static final SurfaceBuilderBaseConfiguration SULFURIC_ROCK_CONFIG = makeSimpleConfig(EndBlocks.SULPHURIC_ROCK.stone);
|
||||
public static final SurfaceBuilderBaseConfiguration UMBRA_SURFACE_CONFIG = makeSimpleConfig(EndBlocks.UMBRALITH.stone);
|
||||
public static final SurfaceBuilderBaseConfiguration PALLIDIUM_SURFACE_CONFIG = makeSurfaceConfig(EndBlocks.PALLIDIUM, EndBlocks.UMBRALITH.stone);
|
||||
public static final SurfaceBuilderBaseConfiguration PALLIDIUM_T1_SURFACE_CONFIG = makeSurfaceConfig(EndBlocks.PALLIDIUM_TRANSITION_1, EndBlocks.UMBRALITH.stone);
|
||||
public static final SurfaceBuilderBaseConfiguration PALLIDIUM_T2_SURFACE_CONFIG = makeSurfaceConfig(EndBlocks.PALLIDIUM_TRANSITION_2, EndBlocks.UMBRALITH.stone);
|
||||
public static final SurfaceBuilderBaseConfiguration PALLIDIUM_T3_SURFACE_CONFIG = makeSurfaceConfig(EndBlocks.PALLIDIUM_TRANSITION_3, EndBlocks.UMBRALITH.stone);
|
||||
|
||||
public static final SurfaceBuilder<SurfaceBuilderBaseConfiguration> SULPHURIC_SURFACE = register(
|
||||
"sulphuric_surface",
|
||||
|
@ -33,6 +37,14 @@ public class SurfaceBuilders {
|
|||
return new SurfaceBuilderBaseConfiguration(state, state, state);
|
||||
}
|
||||
|
||||
private static SurfaceBuilderBaseConfiguration makeSurfaceConfig(Block surface, Block under) {
|
||||
return new SurfaceBuilderBaseConfiguration(
|
||||
surface.defaultBlockState(),
|
||||
under.defaultBlockState(),
|
||||
under.defaultBlockState()
|
||||
);
|
||||
}
|
||||
|
||||
public static void register() {
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,20 +19,23 @@ public class UmbraSurfaceBuilder extends SurfaceBuilder<SurfaceBuilderBaseConfig
|
|||
@Override
|
||||
public void apply(Random random, ChunkAccess chunk, Biome biome, int x, int z, int height, double noise, BlockState defaultBlock, BlockState defaultFluid, int seaLevel, int seed, long n, SurfaceBuilderBaseConfiguration surfaceBlocks) {
|
||||
int depth = (int) (NOISE.eval(x * 0.1, z * 0.1) * 20 + NOISE.eval(x * 0.5, z * 0.5) * 10 + 60);
|
||||
SurfaceBuilder.DEFAULT.apply(
|
||||
random,
|
||||
chunk,
|
||||
biome,
|
||||
x,
|
||||
z,
|
||||
height,
|
||||
noise + depth,
|
||||
defaultBlock,
|
||||
defaultFluid,
|
||||
seaLevel,
|
||||
seed,
|
||||
n,
|
||||
SurfaceBuilders.UMBRA_SURFACE_CONFIG
|
||||
);
|
||||
float grass = ((float) NOISE.eval(x * 0.03, z * 0.03) + (float) NOISE.eval(x * 0.1, z * 0.1) * 0.6F + random.nextFloat() * 0.2F) - 0.05F;
|
||||
SurfaceBuilderBaseConfiguration config = null;
|
||||
if (grass > 0.3F) {
|
||||
config = SurfaceBuilders.PALLIDIUM_SURFACE_CONFIG;
|
||||
}
|
||||
else if (grass > 0.1F) {
|
||||
config = SurfaceBuilders.PALLIDIUM_T1_SURFACE_CONFIG;
|
||||
}
|
||||
else if (grass > -0.1) {
|
||||
config = SurfaceBuilders.PALLIDIUM_T2_SURFACE_CONFIG;
|
||||
}
|
||||
else if (grass > -0.3F) {
|
||||
config = SurfaceBuilders.PALLIDIUM_T3_SURFACE_CONFIG;
|
||||
}
|
||||
else {
|
||||
config = SurfaceBuilders.UMBRA_SURFACE_CONFIG;
|
||||
}
|
||||
SurfaceBuilder.DEFAULT.apply(random, chunk, biome, x, z, height, noise + depth, defaultBlock, defaultFluid, seaLevel, seed, n, config);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue