package rtg.world.gen.terrain; import rtg.api.world.RTGWorld; public class TerrainDunes extends TerrainBase { public TerrainDunes() { } @Override public float generateNoise(RTGWorld rtgWorld, int x, int y, float border, float river) { float st = (rtgWorld.simplex.noise2(x / 160f, y / 160f) + 0.38f) * (minDuneHeight + (float) rtgConfig.DUNE_HEIGHT.get()); st = st < 0.2f ? 0.2f : st; float h = rtgWorld.simplex.noise2(x / 60f, y / 60f) * st * 2f; h = h > 0f ? -h : h; h += st; h *= h / 50f; h += st; if (h < 10f) { float d = (h - 10f) / 2f; d = d > 4f ? 4f : d; h += rtgWorld.cell.noise(x / 25D, y / 25D, 1D) * d; h += rtgWorld.simplex.noise2(x / 30f, y / 30f) * d; h += rtgWorld.simplex.noise2(x / 14f, y / 14f) * d * 0.5f; } return 70f + (h * river); } }