From 94557830f51a8797f122d3c592ed449ec64618e6 Mon Sep 17 00:00:00 2001 From: Brian Fopiano Date: Fri, 9 Sep 2022 18:02:21 -0700 Subject: [PATCH 01/31] v+ --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 9bcc6d3d5..3d3674606 100644 --- a/build.gradle +++ b/build.gradle @@ -24,7 +24,7 @@ plugins { id "de.undercouch.download" version "5.0.1" } -version '2.2.17-1.19.2' // Needs to be version specific +version '2.2.18-1.19.2' // Needs to be version specific def nmsVersion = "1.19.2" //[NMS] def apiVersion = '1.19' def specialSourceVersion = '1.11.0' //[NMS] From e545269b9375f696545406fb23207484be45bdd5 Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Sat, 10 Sep 2022 02:03:59 -0400 Subject: [PATCH 02/31] Even less waste work & prefetch caching --- .../com/volmit/iris/core/loader/IrisData.java | 36 ++++++++ .../iris/core/loader/ResourceLoader.java | 82 ++++++++++++++++++- .../com/volmit/iris/engine/IrisComplex.java | 19 +++-- .../com/volmit/iris/engine/IrisEngine.java | 8 +- .../framework/EngineAssignedWorldManager.java | 3 - .../iris/engine/framework/EngineMode.java | 5 -- .../iris/util/stream/ProceduralStream.java | 6 ++ .../utility/ContextInjectingStream.java | 49 +++++++++++ 8 files changed, 190 insertions(+), 18 deletions(-) create mode 100644 src/main/java/com/volmit/iris/util/stream/utility/ContextInjectingStream.java diff --git a/src/main/java/com/volmit/iris/core/loader/IrisData.java b/src/main/java/com/volmit/iris/core/loader/IrisData.java index 3b3ff757a..f082f1655 100644 --- a/src/main/java/com/volmit/iris/core/loader/IrisData.java +++ b/src/main/java/com/volmit/iris/core/loader/IrisData.java @@ -39,6 +39,8 @@ import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.context.IrisContext; import com.volmit.iris.util.format.C; import com.volmit.iris.util.math.RNG; +import com.volmit.iris.util.parallel.BurstExecutor; +import com.volmit.iris.util.parallel.MultiBurst; import com.volmit.iris.util.scheduling.ChronoLatch; import com.volmit.iris.util.scheduling.J; import lombok.Data; @@ -467,4 +469,38 @@ public class IrisData implements ExclusionStrategy, TypeAdapterFactory { public boolean isClosed() { return closed; } + + public void savePrefetch(Engine engine) { + BurstExecutor b = MultiBurst.burst.burst(loaders.size()); + + for(ResourceLoader i : loaders.values()) { + b.queue(() -> { + try { + i.saveFirstAccess(engine); + } catch(IOException e) { + throw new RuntimeException(e); + } + }); + } + + b.complete(); + Iris.info("Saved Prefetch Cache to speed up future world startups"); + } + + public void loadPrefetch(Engine engine) { + BurstExecutor b = MultiBurst.burst.burst(loaders.size()); + + for(ResourceLoader i : loaders.values()) { + b.queue(() -> { + try { + i.loadFirstAccess(engine); + } catch(IOException e) { + throw new RuntimeException(e); + } + }); + } + + b.complete(); + Iris.info("Loaded Prefetch Cache to reduce generation disk use."); + } } \ No newline at end of file diff --git a/src/main/java/com/volmit/iris/core/loader/ResourceLoader.java b/src/main/java/com/volmit/iris/core/loader/ResourceLoader.java index e1e8f6a6f..5cc7b2780 100644 --- a/src/main/java/com/volmit/iris/core/loader/ResourceLoader.java +++ b/src/main/java/com/volmit/iris/core/loader/ResourceLoader.java @@ -23,32 +23,51 @@ import com.volmit.iris.Iris; import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.project.SchemaBuilder; import com.volmit.iris.core.service.PreservationSVC; +import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.MeteredCache; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KSet; import com.volmit.iris.util.data.KCache; import com.volmit.iris.util.format.C; import com.volmit.iris.util.format.Form; +import com.volmit.iris.util.io.CustomOutputStream; import com.volmit.iris.util.io.IO; import com.volmit.iris.util.json.JSONArray; import com.volmit.iris.util.json.JSONObject; +import com.volmit.iris.util.parallel.BurstExecutor; +import com.volmit.iris.util.parallel.MultiBurst; import com.volmit.iris.util.scheduling.ChronoLatch; import com.volmit.iris.util.scheduling.J; import com.volmit.iris.util.scheduling.PrecisionStopwatch; import lombok.Data; +import java.io.DataInput; +import java.io.DataInputStream; +import java.io.DataOutput; +import java.io.DataOutputStream; import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.HashMap; +import java.util.HashSet; import java.util.Locale; +import java.util.Map; +import java.util.UUID; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; import java.util.function.Consumer; import java.util.function.Predicate; import java.util.stream.Stream; +import java.util.zip.GZIPInputStream; +import java.util.zip.GZIPOutputStream; @Data public class ResourceLoader implements MeteredCache { public static final AtomicDouble tlt = new AtomicDouble(0); private static final int CACHE_SIZE = 100000; + protected KSet firstAccess; protected File root; protected String folderName; protected String resourceTypeName; @@ -63,6 +82,7 @@ public class ResourceLoader implements MeteredCache { public ResourceLoader(File root, IrisData manager, String folderName, String resourceTypeName, Class objectClass) { this.manager = manager; + firstAccess = new KSet<>(); folderCache = new AtomicReference<>(); sec = new ChronoLatch(5000); loads = new AtomicInteger(); @@ -221,6 +241,24 @@ public class ResourceLoader implements MeteredCache { return m; } + public KList loadAllParallel(KList s) { + KList m = new KList<>(); + BurstExecutor burst = MultiBurst.burst.burst(s.size()); + + for(String i : s) { + burst.queue(() -> { + T t = load(i); + + if(t != null) { + m.add(t); + } + }); + } + + burst.complete(); + return m; + } + public KList loadAll(KList s, Consumer postLoad) { KList m = new KList<>(); @@ -282,12 +320,52 @@ public class ResourceLoader implements MeteredCache { return null; } + firstAccess.add(name); return loadCache.get(name); } + public void loadFirstAccess(Engine engine) throws IOException + { + String id = "DIM" + Math.abs(engine.getSeedManager().getSeed() + engine.getDimension().getVersion() + engine.getDimension().getLoadKey().hashCode()); + File file = Iris.instance.getDataFile("prefetch/" + id + "/" + Math.abs(getFolderName().hashCode()) + ".ipfch"); + + if(!file.exists()) { + return; + } + + FileInputStream fin = new FileInputStream(file); + GZIPInputStream gzi = new GZIPInputStream(fin); + DataInputStream din = new DataInputStream(gzi); + int m = din.readInt(); + KList s = new KList<>(); + + for(int i = 0; i < m; i++) { + s.add(din.readUTF()); + } + + din.close(); + file.deleteOnExit(); + Iris.info("Loading " + s.size() + " prefetch " + getFolderName()); + loadAllParallel(s); + } + public void saveFirstAccess(Engine engine) throws IOException { + String id = "DIM" + Math.abs(engine.getSeedManager().getSeed() + engine.getDimension().getVersion() + engine.getDimension().getLoadKey().hashCode()); + File file = Iris.instance.getDataFile("prefetch/" + id + "/" + Math.abs(getFolderName().hashCode()) + ".ipfch"); + file.getParentFile().mkdirs(); + FileOutputStream fos = new FileOutputStream(file); + GZIPOutputStream gzo = new CustomOutputStream(fos, 9); + DataOutputStream dos = new DataOutputStream(gzo); + dos.writeInt(firstAccess.size()); + + for(String i : firstAccess) { + dos.writeUTF(i); + } + + dos.flush(); + dos.close(); + } + public KList getFolders() { - - synchronized(folderCache) { if(folderCache.get() == null) { KList fc = new KList<>(); diff --git a/src/main/java/com/volmit/iris/engine/IrisComplex.java b/src/main/java/com/volmit/iris/engine/IrisComplex.java index b5d2ec37a..f39ad50a1 100644 --- a/src/main/java/com/volmit/iris/engine/IrisComplex.java +++ b/src/main/java/com/volmit/iris/engine/IrisComplex.java @@ -118,9 +118,9 @@ public class IrisComplex implements DataProvider { overlayStream = ProceduralStream.ofDouble((x, z) -> 0.0D).waste("Overlay Stream"); engine.getDimension().getOverlayNoise().forEach(i -> overlayStream = overlayStream.add((x, z) -> i.get(rng, getData(), x, z))); rockStream = engine.getDimension().getRockPalette().getLayerGenerator(rng.nextParallelRNG(45), data).stream() - .select(engine.getDimension().getRockPalette().getBlockData(data)).waste("Rock Stream"); + .select(engine.getDimension().getRockPalette().getBlockData(data)).waste("Rock Stream").contextInjecting((c,x,z)->c.getRock().get(x, z)); fluidStream = engine.getDimension().getFluidPalette().getLayerGenerator(rng.nextParallelRNG(78), data).stream() - .select(engine.getDimension().getFluidPalette().getBlockData(data)).waste("Fluid Stream"); + .select(engine.getDimension().getFluidPalette().getBlockData(data)).waste("Fluid Stream").contextInjecting((c,x,z)->c.getFluid().get(x, z)); regionStyleStream = engine.getDimension().getRegionStyle().create(rng.nextParallelRNG(883), getData()).stream() .zoom(engine.getDimension().getRegionZoom()).waste("Region Style"); regionIdentityStream = regionStyleStream.fit(Integer.MIN_VALUE, Integer.MAX_VALUE).waste("Region Identity Stream"); @@ -129,7 +129,8 @@ public class IrisComplex implements DataProvider { Interpolated.of(a -> 0D, a -> focusRegion)) : regionStyleStream .selectRarity(data.getRegionLoader().loadAll(engine.getDimension().getRegions())) - .cache2D("regionStream", engine, cacheSize).waste("Region Stream"); + .cache2D("regionStream", engine, cacheSize).waste("Region Stream") + .contextInjecting((c,x,z)->c.getRegion().get(x, z)); regionIDStream = regionIdentityStream.convertCached((i) -> new UUID(Double.doubleToLongBits(i), String.valueOf(i * 38445).hashCode() * 3245556666L)).waste("Region ID Stream"); caveBiomeStream = regionStream.convert((r) @@ -137,7 +138,8 @@ public class IrisComplex implements DataProvider { .zoom(r.getCaveBiomeZoom()) .selectRarity(data.getBiomeLoader().loadAll(r.getCaveBiomes())) .onNull(emptyBiome) - ).convertAware2D(ProceduralStream::get).cache2D("caveBiomeStream", engine, cacheSize).waste("Cave Biome Stream"); + ).convertAware2D(ProceduralStream::get).cache2D("caveBiomeStream", engine, cacheSize).waste("Cave Biome Stream") + .contextInjecting((c,x,z)->c.getCave().get(x, z)); inferredStreams.put(InferredType.CAVE, caveBiomeStream); landBiomeStream = regionStream.convert((r) -> engine.getDimension().getLandBiomeStyle().create(rng.nextParallelRNG(InferredType.LAND.ordinal()), getData()).stream() @@ -173,8 +175,10 @@ public class IrisComplex implements DataProvider { heightStream = ProceduralStream.of((x, z) -> { IrisBiome b = focusBiome != null ? focusBiome : baseBiomeStream.get(x, z); return getHeight(engine, b, x, z, engine.getSeedManager().getHeight()); - }, Interpolated.DOUBLE).clamp(0, engine.getHeight()).cache2D("heightStream", engine, cacheSize).waste("Height Stream"); - roundedHeighteightStream = heightStream.round().waste("Rounded Height Stream"); + }, Interpolated.DOUBLE).clamp(0, engine.getHeight()).cache2D("heightStream", engine, cacheSize).waste("Height Stream") + .contextInjecting((c,x,z)->c.getHeight().get(x, z)); + roundedHeighteightStream = heightStream.round().waste("Rounded Height Stream") + .contextInjecting((c,x,z)->(int)Math.round(c.getHeight().get(x, z))); slopeStream = heightStream.slope(3).cache2D("slopeStream", engine, cacheSize).waste("Slope Stream"); trueBiomeStream = focusBiome != null ? ProceduralStream.of((x, y) -> focusBiome, Interpolated.of(a -> 0D, b -> focusBiome)) @@ -182,7 +186,8 @@ public class IrisComplex implements DataProvider { .convertAware2D((h, x, z) -> fixBiomeType(h, baseBiomeStream.get(x, z), regionStream.get(x, z), x, z, fluidHeight)) - .cache2D("trueBiomeStream", engine, cacheSize).waste("True Biome Stream"); + .cache2D("trueBiomeStream", engine, cacheSize).waste("True Biome Stream") + .contextInjecting((c,x,z)->c.getBiome().get(x, z)); trueBiomeDerivativeStream = trueBiomeStream.convert(IrisBiome::getDerivative).cache2D("trueBiomeDerivativeStream", engine, cacheSize).waste("True Biome Derivative Stream"); heightFluidStream = heightStream.max(fluidHeight).cache2D("heightFluidStream", engine, cacheSize).waste("Height Fluid Stream"); maxHeightStream = ProceduralStream.ofDouble((x, z) -> height).waste("Max Height Stream"); diff --git a/src/main/java/com/volmit/iris/engine/IrisEngine.java b/src/main/java/com/volmit/iris/engine/IrisEngine.java index eef95ab10..7849ef760 100644 --- a/src/main/java/com/volmit/iris/engine/IrisEngine.java +++ b/src/main/java/com/volmit/iris/engine/IrisEngine.java @@ -129,8 +129,9 @@ public class IrisEngine implements Engine { context = new IrisContext(this); cleaning = new AtomicBoolean(false); context.touch(); - Iris.info("Initializing Engine: " + target.getWorld().name() + "/" + target.getDimension().getLoadKey() + " (" + target.getDimension().getDimensionHeight() + " height) Seed: " + getSeedManager().getSeed()); getData().setEngine(this); + getData().loadPrefetch(this); + Iris.info("Initializing Engine: " + target.getWorld().name() + "/" + target.getDimension().getLoadKey() + " (" + target.getDimension().getDimensionHeight() + " height) Seed: " + getSeedManager().getSeed()); minHeight = 0; failing = false; closed = false; @@ -454,6 +455,11 @@ public class IrisEngine implements Engine { getMantle().getMantle().flag(x >> 4, z >> 4, MantleFlag.REAL, true); getMetrics().getTotal().put(p.getMilliseconds()); generated.incrementAndGet(); + + if(generated.get() == 661) { + J.a(() -> getData().savePrefetch(this)); + } + recycle(); } catch(Throwable e) { Iris.reportError(e); diff --git a/src/main/java/com/volmit/iris/engine/framework/EngineAssignedWorldManager.java b/src/main/java/com/volmit/iris/engine/framework/EngineAssignedWorldManager.java index 6cae9889e..aa4998226 100644 --- a/src/main/java/com/volmit/iris/engine/framework/EngineAssignedWorldManager.java +++ b/src/main/java/com/volmit/iris/engine/framework/EngineAssignedWorldManager.java @@ -146,9 +146,6 @@ public abstract class EngineAssignedWorldManager extends EngineAssignedComponent @EventHandler public void on(BlockBreakEvent e) { if(e.getPlayer().getWorld().equals(getTarget().getWorld().realWorld())) { - - WasteDetector.printAll(); - onBlockBreak(e); } } diff --git a/src/main/java/com/volmit/iris/engine/framework/EngineMode.java b/src/main/java/com/volmit/iris/engine/framework/EngineMode.java index 92c98aec9..fb09eb619 100644 --- a/src/main/java/com/volmit/iris/engine/framework/EngineMode.java +++ b/src/main/java/com/volmit/iris/engine/framework/EngineMode.java @@ -73,16 +73,11 @@ public interface EngineMode extends Staged { @BlockCoordinates default void generate(int x, int z, Hunk blocks, Hunk biomes, boolean multicore) { - PrecisionStopwatch p = PrecisionStopwatch.start(); - PrecisionStopwatch p2 = PrecisionStopwatch.start(); ChunkContext ctx = new ChunkContext(x, z, getComplex()); IrisContext.getOr(getEngine()).setChunkContext(ctx); - r.put(p.getMilliseconds()); for(EngineStage i : getStages()) { i.generate(x, z, blocks, biomes, multicore, ctx); } - r2.put(p2.getMilliseconds()); - // Iris.warn(Form.duration(r.getAverage(), 2) + " Prep: TOTAL: " + C.RED + Form.duration(r2.getAverage(), 2)); } } diff --git a/src/main/java/com/volmit/iris/util/stream/ProceduralStream.java b/src/main/java/com/volmit/iris/util/stream/ProceduralStream.java index b06295868..764730c27 100644 --- a/src/main/java/com/volmit/iris/util/stream/ProceduralStream.java +++ b/src/main/java/com/volmit/iris/util/stream/ProceduralStream.java @@ -25,6 +25,7 @@ import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.object.IRare; import com.volmit.iris.engine.object.IrisStyledRange; import com.volmit.iris.util.collection.KList; +import com.volmit.iris.util.context.ChunkContext; import com.volmit.iris.util.function.Function2; import com.volmit.iris.util.function.Function3; import com.volmit.iris.util.function.Function4; @@ -62,6 +63,7 @@ import com.volmit.iris.util.stream.interpolation.Interpolated; import com.volmit.iris.util.stream.sources.FunctionStream; import com.volmit.iris.util.stream.utility.CachedStream2D; import com.volmit.iris.util.stream.utility.CachedStream3D; +import com.volmit.iris.util.stream.utility.ContextInjectingStream; import com.volmit.iris.util.stream.utility.NullSafeStream; import com.volmit.iris.util.stream.utility.ProfiledStream; import com.volmit.iris.util.stream.utility.SemaphoreStream; @@ -135,6 +137,10 @@ public interface ProceduralStream extends ProceduralLayer, Interpolated { return new AddingStream<>(this, a); } + default ProceduralStream contextInjecting(Function3 contextAccessor) { + return new ContextInjectingStream<>(this, contextAccessor); + } + default ProceduralStream add(ProceduralStream a) { return add2D((x, z) -> a.get(x, z)); } diff --git a/src/main/java/com/volmit/iris/util/stream/utility/ContextInjectingStream.java b/src/main/java/com/volmit/iris/util/stream/utility/ContextInjectingStream.java new file mode 100644 index 000000000..cc31692e6 --- /dev/null +++ b/src/main/java/com/volmit/iris/util/stream/utility/ContextInjectingStream.java @@ -0,0 +1,49 @@ +package com.volmit.iris.util.stream.utility; + +import com.volmit.iris.util.collection.KList; +import com.volmit.iris.util.context.ChunkContext; +import com.volmit.iris.util.context.IrisContext; +import com.volmit.iris.util.function.Function3; +import com.volmit.iris.util.stream.BasicStream; +import com.volmit.iris.util.stream.ProceduralStream; + +import java.util.concurrent.atomic.AtomicInteger; + +public class ContextInjectingStream extends BasicStream { + private final Function3 contextAccessor; + + public ContextInjectingStream(ProceduralStream stream, Function3 contextAccessor) { + super(stream); + this.contextAccessor = contextAccessor; + } + + @Override + public T get(double x, double z) { + IrisContext context = IrisContext.get(); + + if(context != null) { + ChunkContext chunkContext = context.getChunkContext(); + + if(chunkContext != null && (int)x >> 4 == chunkContext.getX() >> 4 && (int)z >> 4 == chunkContext.getZ() >> 4) { + return contextAccessor.apply(chunkContext, (int)x&15, (int)z&15); + } + } + + return getTypedSource().get(x, z); + } + + @Override + public T get(double x, double y, double z) { + return getTypedSource().get(x, y, z); + } + + @Override + public double toDouble(T t) { + return getTypedSource().toDouble(t); + } + + @Override + public T fromDouble(double d) { + return getTypedSource().fromDouble(d); + } +} From da777da4769c542496939b0895e296aedbb84420 Mon Sep 17 00:00:00 2001 From: Brian Fopiano Date: Sun, 11 Sep 2022 17:57:08 -0700 Subject: [PATCH 03/31] Eat me --- build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 3d3674606..315311080 100644 --- a/build.gradle +++ b/build.gradle @@ -298,7 +298,7 @@ def registerCustomOutputTask(name, path) { from(new File(buildDir, "Iris-" + version + ".jar")) into(file(path)) rename { String fileName -> - fileName.replace("Iris-" + version + ".jar", "Iris- "+ version +".jar") + fileName.replace("Iris-" + version + ".jar", "Iris.jar") } } } @@ -315,7 +315,7 @@ def registerCustomOutputTaskUnix(name, path) { from(new File(buildDir, "Iris-" + version + ".jar")) into(file(path)) rename { String fileName -> - fileName.replace("Iris-" + version + ".jar", "Iris- "+ version +".jar") + fileName.replace("Iris-" + version + ".jar", "Iris.jar") } } } From 7c7309c3ab0e07d0849afc597410afa63102b5b9 Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Sun, 11 Sep 2022 20:58:58 -0400 Subject: [PATCH 04/31] Unload mantle when not generating --- .../java/com/volmit/iris/engine/IrisComplex.java | 3 ++- .../java/com/volmit/iris/engine/IrisEngine.java | 3 +-- .../com/volmit/iris/util/context/ChunkContext.java | 2 ++ .../volmit/iris/util/context/ChunkedDataCache.java | 13 ++++++++++++- 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/volmit/iris/engine/IrisComplex.java b/src/main/java/com/volmit/iris/engine/IrisComplex.java index f39ad50a1..fa7576e23 100644 --- a/src/main/java/com/volmit/iris/engine/IrisComplex.java +++ b/src/main/java/com/volmit/iris/engine/IrisComplex.java @@ -175,7 +175,8 @@ public class IrisComplex implements DataProvider { heightStream = ProceduralStream.of((x, z) -> { IrisBiome b = focusBiome != null ? focusBiome : baseBiomeStream.get(x, z); return getHeight(engine, b, x, z, engine.getSeedManager().getHeight()); - }, Interpolated.DOUBLE).clamp(0, engine.getHeight()).cache2D("heightStream", engine, cacheSize).waste("Height Stream") + }, Interpolated.DOUBLE).clamp(0, engine.getHeight()).cache2D("heightStream", engine, cacheSize) + .waste("Height Stream") .contextInjecting((c,x,z)->c.getHeight().get(x, z)); roundedHeighteightStream = heightStream.round().waste("Rounded Height Stream") .contextInjecting((c,x,z)->(int)Math.round(c.getHeight().get(x, z))); diff --git a/src/main/java/com/volmit/iris/engine/IrisEngine.java b/src/main/java/com/volmit/iris/engine/IrisEngine.java index 7849ef760..c373df9a5 100644 --- a/src/main/java/com/volmit/iris/engine/IrisEngine.java +++ b/src/main/java/com/volmit/iris/engine/IrisEngine.java @@ -147,6 +147,7 @@ public class IrisEngine implements Engine { } private void tickRandomPlayer() { + recycle(); if(perSecondBudLatch.flip()) { buds.set(bud.get()); bud.set(0); @@ -459,8 +460,6 @@ public class IrisEngine implements Engine { if(generated.get() == 661) { J.a(() -> getData().savePrefetch(this)); } - - recycle(); } catch(Throwable e) { Iris.reportError(e); fail("Failed to generate " + x + ", " + z, e); diff --git a/src/main/java/com/volmit/iris/util/context/ChunkContext.java b/src/main/java/com/volmit/iris/util/context/ChunkContext.java index 8abd0dfb4..9986d8983 100644 --- a/src/main/java/com/volmit/iris/util/context/ChunkContext.java +++ b/src/main/java/com/volmit/iris/util/context/ChunkContext.java @@ -3,6 +3,7 @@ package com.volmit.iris.util.context; import com.volmit.iris.engine.IrisComplex; import com.volmit.iris.engine.object.IrisBiome; import com.volmit.iris.engine.object.IrisRegion; +import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.documentation.BlockCoordinates; import com.volmit.iris.util.parallel.BurstExecutor; import com.volmit.iris.util.parallel.MultiBurst; @@ -28,6 +29,7 @@ public class ChunkContext { public ChunkContext(int x, int z, IrisComplex c, boolean cache) { this.x = x; this.z = z; + if(cache) { BurstExecutor b = MultiBurst.burst.burst(); height = new ChunkedDataCache<>(b, c.getHeightStream(), x, z); diff --git a/src/main/java/com/volmit/iris/util/context/ChunkedDataCache.java b/src/main/java/com/volmit/iris/util/context/ChunkedDataCache.java index b9a18ccfb..c8a58b481 100644 --- a/src/main/java/com/volmit/iris/util/context/ChunkedDataCache.java +++ b/src/main/java/com/volmit/iris/util/context/ChunkedDataCache.java @@ -1,12 +1,18 @@ package com.volmit.iris.util.context; +import com.volmit.iris.util.collection.KSet; import com.volmit.iris.util.documentation.BlockCoordinates; import com.volmit.iris.util.parallel.BurstExecutor; import com.volmit.iris.util.stream.ProceduralStream; +import lombok.Data; +import java.util.HashSet; + +@Data public class ChunkedDataCache { private final int x; private final int z; + private final KSet uniques; private final Object[] data; private final boolean cache; private final ProceduralStream stream; @@ -21,6 +27,7 @@ public class ChunkedDataCache { this.cache = cache; this.x = x; this.z = z; + this.uniques = cache ? new KSet<>() : null; if(cache) { data = new Object[256]; int i,j; @@ -29,7 +36,11 @@ public class ChunkedDataCache { int finalI = i; for(j = 0; j < 16; j++) { int finalJ = j; - burst.queue(() -> data[(finalJ * 16) + finalI] = stream.get(x+ finalI, z+ finalJ)); + burst.queue(() -> { + T t = stream.get(x+ finalI, z+ finalJ); + data[(finalJ * 16) + finalI] = t; + uniques.add(t); + }); } } } From 3189b3c7a5ecd8855e25103307ce3ebf032a06c7 Mon Sep 17 00:00:00 2001 From: Brian Fopiano Date: Sun, 11 Sep 2022 17:57:08 -0700 Subject: [PATCH 05/31] Revert "Eat me" This reverts commit da777da4769c542496939b0895e296aedbb84420. --- build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 315311080..3d3674606 100644 --- a/build.gradle +++ b/build.gradle @@ -298,7 +298,7 @@ def registerCustomOutputTask(name, path) { from(new File(buildDir, "Iris-" + version + ".jar")) into(file(path)) rename { String fileName -> - fileName.replace("Iris-" + version + ".jar", "Iris.jar") + fileName.replace("Iris-" + version + ".jar", "Iris- "+ version +".jar") } } } @@ -315,7 +315,7 @@ def registerCustomOutputTaskUnix(name, path) { from(new File(buildDir, "Iris-" + version + ".jar")) into(file(path)) rename { String fileName -> - fileName.replace("Iris-" + version + ".jar", "Iris.jar") + fileName.replace("Iris-" + version + ".jar", "Iris- "+ version +".jar") } } } From 5a24dd3b49858dfcc371d75f85d90a15b007026e Mon Sep 17 00:00:00 2001 From: Brian Fopiano Date: Sun, 11 Sep 2022 17:57:08 -0700 Subject: [PATCH 06/31] Revert "Revert "Eat me"" This reverts commit 3189b3c7a5ecd8855e25103307ce3ebf032a06c7. --- build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 3d3674606..315311080 100644 --- a/build.gradle +++ b/build.gradle @@ -298,7 +298,7 @@ def registerCustomOutputTask(name, path) { from(new File(buildDir, "Iris-" + version + ".jar")) into(file(path)) rename { String fileName -> - fileName.replace("Iris-" + version + ".jar", "Iris- "+ version +".jar") + fileName.replace("Iris-" + version + ".jar", "Iris.jar") } } } @@ -315,7 +315,7 @@ def registerCustomOutputTaskUnix(name, path) { from(new File(buildDir, "Iris-" + version + ".jar")) into(file(path)) rename { String fileName -> - fileName.replace("Iris-" + version + ".jar", "Iris- "+ version +".jar") + fileName.replace("Iris-" + version + ".jar", "Iris.jar") } } } From 044403b82917dda8ea06fd3dc510d31611fc4b09 Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Sun, 11 Sep 2022 21:31:21 -0400 Subject: [PATCH 07/31] Fix incorrect object positions --- .../engine/mantle/components/MantleCarvingComponent.java | 6 ++++-- .../engine/mantle/components/MantleFluidBodyComponent.java | 6 ++++-- .../engine/mantle/components/MantleJigsawComponent.java | 6 ++++-- .../engine/mantle/components/MantleObjectComponent.java | 6 ++++-- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/volmit/iris/engine/mantle/components/MantleCarvingComponent.java b/src/main/java/com/volmit/iris/engine/mantle/components/MantleCarvingComponent.java index 86e86c37f..15b9e7edc 100644 --- a/src/main/java/com/volmit/iris/engine/mantle/components/MantleCarvingComponent.java +++ b/src/main/java/com/volmit/iris/engine/mantle/components/MantleCarvingComponent.java @@ -38,8 +38,10 @@ public class MantleCarvingComponent extends IrisMantleComponent { @Override public void generateLayer(MantleWriter writer, int x, int z, ChunkContext context) { RNG rng = new RNG(Cache.key(x, z) + seed()); - IrisRegion region = context.getRegion().get(8, 8); - IrisBiome biome = context.getBiome().get(8, 8); + int xxx = 8 + (x << 4); + int zzz = 8 + (z << 4); + IrisRegion region =getComplex().getRegionStream().get(xxx, zzz); + IrisBiome biome = getComplex().getTrueBiomeStream().get(xxx, zzz); carve(writer, rng, x, z, region, biome); } diff --git a/src/main/java/com/volmit/iris/engine/mantle/components/MantleFluidBodyComponent.java b/src/main/java/com/volmit/iris/engine/mantle/components/MantleFluidBodyComponent.java index d699fa598..6224d37ac 100644 --- a/src/main/java/com/volmit/iris/engine/mantle/components/MantleFluidBodyComponent.java +++ b/src/main/java/com/volmit/iris/engine/mantle/components/MantleFluidBodyComponent.java @@ -38,8 +38,10 @@ public class MantleFluidBodyComponent extends IrisMantleComponent { @Override public void generateLayer(MantleWriter writer, int x, int z, ChunkContext context) { RNG rng = new RNG(Cache.key(x, z) + seed() + 405666); - IrisRegion region = context.getRegion().get(8, 8); - IrisBiome biome = context.getBiome().get(8, 8); + int xxx = 8 + (x << 4); + int zzz = 8 + (z << 4); + IrisRegion region =getComplex().getRegionStream().get(xxx, zzz); + IrisBiome biome = getComplex().getTrueBiomeStream().get(xxx, zzz); generate(writer, rng, x, z, region, biome); } diff --git a/src/main/java/com/volmit/iris/engine/mantle/components/MantleJigsawComponent.java b/src/main/java/com/volmit/iris/engine/mantle/components/MantleJigsawComponent.java index f681dcb5f..0f2a3bf91 100644 --- a/src/main/java/com/volmit/iris/engine/mantle/components/MantleJigsawComponent.java +++ b/src/main/java/com/volmit/iris/engine/mantle/components/MantleJigsawComponent.java @@ -49,8 +49,10 @@ public class MantleJigsawComponent extends IrisMantleComponent { @Override public void generateLayer(MantleWriter writer, int x, int z, ChunkContext context) { RNG rng = new RNG(cng.fit(-Integer.MAX_VALUE, Integer.MAX_VALUE, x, z)); - IrisRegion region = context.getRegion().get(8, 8); - IrisBiome biome = context.getBiome().get(8, 8); + int xxx = 8 + (x << 4); + int zzz = 8 + (z << 4); + IrisRegion region =getComplex().getRegionStream().get(xxx, zzz); + IrisBiome biome = getComplex().getTrueBiomeStream().get(xxx, zzz); generateJigsaw(writer, rng, x, z, biome, region); } diff --git a/src/main/java/com/volmit/iris/engine/mantle/components/MantleObjectComponent.java b/src/main/java/com/volmit/iris/engine/mantle/components/MantleObjectComponent.java index 0187310f0..851baca75 100644 --- a/src/main/java/com/volmit/iris/engine/mantle/components/MantleObjectComponent.java +++ b/src/main/java/com/volmit/iris/engine/mantle/components/MantleObjectComponent.java @@ -44,8 +44,10 @@ public class MantleObjectComponent extends IrisMantleComponent { @Override public void generateLayer(MantleWriter writer, int x, int z, ChunkContext context) { RNG rng = new RNG(Cache.key(x, z) + seed()); - IrisRegion region = context.getRegion().get(8, 8); - IrisBiome biome = context.getBiome().get(8, 8); + int xxx = 8 + (x << 4); + int zzz = 8 + (z << 4); + IrisRegion region =getComplex().getRegionStream().get(xxx, zzz); + IrisBiome biome = getComplex().getTrueBiomeStream().get(xxx, zzz); placeObjects(writer, rng, x, z, biome, region); } From 06d9f279ac5a5e7187b683be3d1073744bdf52dc Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Sun, 11 Sep 2022 23:00:15 -0400 Subject: [PATCH 08/31] f --- .../com/volmit/iris/engine/IrisComplex.java | 5 +- .../util/interpolation/CompiledStarcast.java | 10034 ++++++++++++++++ .../iris/util/interpolation/Starcast.java | 26 +- .../iris/util/stream/ProceduralStream.java | 4 +- 4 files changed, 10040 insertions(+), 29 deletions(-) create mode 100644 src/main/java/com/volmit/iris/util/interpolation/CompiledStarcast.java diff --git a/src/main/java/com/volmit/iris/engine/IrisComplex.java b/src/main/java/com/volmit/iris/engine/IrisComplex.java index fa7576e23..ba89bbe8b 100644 --- a/src/main/java/com/volmit/iris/engine/IrisComplex.java +++ b/src/main/java/com/volmit/iris/engine/IrisComplex.java @@ -175,8 +175,7 @@ public class IrisComplex implements DataProvider { heightStream = ProceduralStream.of((x, z) -> { IrisBiome b = focusBiome != null ? focusBiome : baseBiomeStream.get(x, z); return getHeight(engine, b, x, z, engine.getSeedManager().getHeight()); - }, Interpolated.DOUBLE).clamp(0, engine.getHeight()).cache2D("heightStream", engine, cacheSize) - .waste("Height Stream") + }, Interpolated.DOUBLE).cache2D("heightStream", engine, cacheSize).waste("Height Stream") .contextInjecting((c,x,z)->c.getHeight().get(x, z)); roundedHeighteightStream = heightStream.round().waste("Rounded Height Stream") .contextInjecting((c,x,z)->(int)Math.round(c.getHeight().get(x, z))); @@ -324,7 +323,7 @@ public class IrisComplex implements DataProvider { } return 0; - }); + });; double d = 0; diff --git a/src/main/java/com/volmit/iris/util/interpolation/CompiledStarcast.java b/src/main/java/com/volmit/iris/util/interpolation/CompiledStarcast.java new file mode 100644 index 000000000..49a4bf680 --- /dev/null +++ b/src/main/java/com/volmit/iris/util/interpolation/CompiledStarcast.java @@ -0,0 +1,10034 @@ +package com.volmit.iris.util.interpolation; + +import com.volmit.iris.util.function.NoiseProvider; + +public class CompiledStarcast { +private static final float[] MAGIC = {0.0F,1.0F,1.2246469E-16F,-1.0F +,0.8660254F,-0.5F,-0.8660254F,6.123234E-17F +,-1.8369701E-16F,0.95105654F,0.309017F,0.58778524F +,-0.809017F,-0.58778524F,-0.95105654F,0.5F +,0.777146F,0.6293204F,0.9781476F,-0.20791169F +,0.4539905F,-0.8910065F,-0.40673664F,-0.9135454F +,-0.9659258F,-0.25881904F,-0.052335955F,0.9986295F +,0.70710677F,-0.70710677F,0.64278764F,0.76604444F +,0.9848077F,0.17364818F,0.34202015F,-0.9396926F +,-0.34202015F,-0.9848077F,-0.64278764F,0.809017F +,-0.309017F,0.52991927F,0.8480481F,0.89879405F +,0.43837115F,0.9945219F,-0.104528464F,0.7880108F +,-0.6156615F,-0.9781476F,-0.6946584F,-0.7193398F +,-0.9702957F,-0.2419219F,-0.1391731F,0.99026805F +,0.8910065F,0.98768836F,0.15643446F,-0.15643446F +,-0.98768836F,-0.4539905F,0.42261827F,0.9063078F +,0.9659258F,0.25881904F,-0.17364818F,0.81915206F +,-0.57357645F,0.087155744F,-0.9961947F,0.40673664F +,0.9135454F,0.7431448F,0.6691306F,0.20791169F +,-0.9945219F,-0.7431448F,0.37460658F,0.92718387F +,0.6946584F,0.7193398F,0.99939084F,0.034899496F +,0.9396926F,-0.6691306F,-0.89879405F,0.06975647F +,-0.9975641F,-0.76604444F,-0.88294756F,-0.46947157F +,-0.9612617F,0.27563736F,-0.7880108F,0.6156615F +,0.35836795F,0.9335804F,0.104528464F,0.54463905F +,-0.83867055F,-0.777146F,-0.6293204F,-0.9986295F +,0.052335955F,0.2923717F,0.9563047F,0.5591929F +,0.82903755F,0.9961947F,0.8746197F,-0.4848096F +,-0.12186934F,-0.99254614F,-0.656059F,-0.7547096F +,-0.8480481F,-0.52991927F,-0.99939084F,-0.94551855F +,0.32556817F,-0.60181504F,0.7986355F,0.9612617F +,-0.37460658F,-0.82903755F,0.2419219F,0.9702957F +,0.46947157F,0.88294756F,-0.034899496F,-0.27563736F +,-0.06975647F,0.22495106F,0.97437006F,0.9998477F +,-0.017452406F,0.60181504F,-0.7986355F,0.190809F +,-0.98162717F,-0.92050487F,-0.39073113F,-0.8746197F +,0.4848096F,0.98162717F,0.83867055F,0.57357645F +,0.8571673F,-0.5150381F,-0.9563047F,-0.2923717F +,0.7547096F,-0.32556817F,0.94551855F,0.1391731F +,-0.92718387F,0.12186934F,0.99254614F,0.656059F +,0.7313537F,-0.6819984F,-0.9063078F,-0.42261827F +,-0.190809F,-0.8571673F,0.5150381F,-0.087155744F +,-0.81915206F,0.9975641F,-0.43837115F,-0.5591929F +,-0.99026805F,-0.35836795F,-0.54463905F,-0.9335804F}; + +public static float getStarcast(float x, float z, float r, float checks, NoiseProvider n){ + if(checks >= 1 && checks <= 128){ + if(checks < 2){return sc1(x,z,r,n);} + if(checks < 3){return sc2(x,z,r,n);} + if(checks < 4){return sc3(x,z,r,n);} + if(checks < 5){return sc4(x,z,r,n);} + if(checks < 6){return sc5(x,z,r,n);} + if(checks < 7){return sc6(x,z,r,n);} + if(checks < 8){return sc7(x,z,r,n);} + if(checks < 9){return sc8(x,z,r,n);} + if(checks < 10){return sc9(x,z,r,n);} + if(checks < 11){return sc10(x,z,r,n);} + if(checks < 12){return sc11(x,z,r,n);} + if(checks < 13){return sc12(x,z,r,n);} + if(checks < 14){return sc13(x,z,r,n);} + if(checks < 15){return sc14(x,z,r,n);} + if(checks < 16){return sc15(x,z,r,n);} + if(checks < 17){return sc16(x,z,r,n);} + if(checks < 18){return sc17(x,z,r,n);} + if(checks < 19){return sc18(x,z,r,n);} + if(checks < 20){return sc19(x,z,r,n);} + if(checks < 21){return sc20(x,z,r,n);} + if(checks < 22){return sc21(x,z,r,n);} + if(checks < 23){return sc22(x,z,r,n);} + if(checks < 24){return sc23(x,z,r,n);} + if(checks < 25){return sc24(x,z,r,n);} + if(checks < 26){return sc25(x,z,r,n);} + if(checks < 27){return sc26(x,z,r,n);} + if(checks < 28){return sc27(x,z,r,n);} + if(checks < 29){return sc28(x,z,r,n);} + if(checks < 30){return sc29(x,z,r,n);} + if(checks < 31){return sc30(x,z,r,n);} + if(checks < 32){return sc31(x,z,r,n);} + if(checks < 33){return sc32(x,z,r,n);} + if(checks < 34){return sc33(x,z,r,n);} + if(checks < 35){return sc34(x,z,r,n);} + if(checks < 36){return sc35(x,z,r,n);} + if(checks < 37){return sc36(x,z,r,n);} + if(checks < 38){return sc37(x,z,r,n);} + if(checks < 39){return sc38(x,z,r,n);} + if(checks < 40){return sc39(x,z,r,n);} + if(checks < 41){return sc40(x,z,r,n);} + if(checks < 42){return sc41(x,z,r,n);} + if(checks < 43){return sc42(x,z,r,n);} + if(checks < 44){return sc43(x,z,r,n);} + if(checks < 45){return sc44(x,z,r,n);} + if(checks < 46){return sc45(x,z,r,n);} + if(checks < 47){return sc46(x,z,r,n);} + if(checks < 48){return sc47(x,z,r,n);} + if(checks < 49){return sc48(x,z,r,n);} + if(checks < 50){return sc49(x,z,r,n);} + if(checks < 51){return sc50(x,z,r,n);} + if(checks < 52){return sc51(x,z,r,n);} + if(checks < 53){return sc52(x,z,r,n);} + if(checks < 54){return sc53(x,z,r,n);} + if(checks < 55){return sc54(x,z,r,n);} + if(checks < 56){return sc55(x,z,r,n);} + if(checks < 57){return sc56(x,z,r,n);} + if(checks < 58){return sc57(x,z,r,n);} + if(checks < 59){return sc58(x,z,r,n);} + if(checks < 60){return sc59(x,z,r,n);} + if(checks < 61){return sc60(x,z,r,n);} + if(checks < 62){return sc61(x,z,r,n);} + if(checks < 63){return sc62(x,z,r,n);} + if(checks < 64){return sc63(x,z,r,n);} + if(checks < 65){return sc64(x,z,r,n);} + if(checks < 66){return sc65(x,z,r,n);} + if(checks < 67){return sc66(x,z,r,n);} + if(checks < 68){return sc67(x,z,r,n);} + if(checks < 69){return sc68(x,z,r,n);} + if(checks < 70){return sc69(x,z,r,n);} + if(checks < 71){return sc70(x,z,r,n);} + if(checks < 72){return sc71(x,z,r,n);} + if(checks < 73){return sc72(x,z,r,n);} + if(checks < 74){return sc73(x,z,r,n);} + if(checks < 75){return sc74(x,z,r,n);} + if(checks < 76){return sc75(x,z,r,n);} + if(checks < 77){return sc76(x,z,r,n);} + if(checks < 78){return sc77(x,z,r,n);} + if(checks < 79){return sc78(x,z,r,n);} + if(checks < 80){return sc79(x,z,r,n);} + if(checks < 81){return sc80(x,z,r,n);} + if(checks < 82){return sc81(x,z,r,n);} + if(checks < 83){return sc82(x,z,r,n);} + if(checks < 84){return sc83(x,z,r,n);} + if(checks < 85){return sc84(x,z,r,n);} + if(checks < 86){return sc85(x,z,r,n);} + if(checks < 87){return sc86(x,z,r,n);} + if(checks < 88){return sc87(x,z,r,n);} + if(checks < 89){return sc88(x,z,r,n);} + if(checks < 90){return sc89(x,z,r,n);} + if(checks < 91){return sc90(x,z,r,n);} + if(checks < 92){return sc91(x,z,r,n);} + if(checks < 93){return sc92(x,z,r,n);} + if(checks < 94){return sc93(x,z,r,n);} + if(checks < 95){return sc94(x,z,r,n);} + if(checks < 96){return sc95(x,z,r,n);} + if(checks < 97){return sc96(x,z,r,n);} + if(checks < 98){return sc97(x,z,r,n);} + if(checks < 99){return sc98(x,z,r,n);} + if(checks < 100){return sc99(x,z,r,n);} + if(checks < 101){return sc100(x,z,r,n);} + if(checks < 102){return sc101(x,z,r,n);} + if(checks < 103){return sc102(x,z,r,n);} + if(checks < 104){return sc103(x,z,r,n);} + if(checks < 105){return sc104(x,z,r,n);} + if(checks < 106){return sc105(x,z,r,n);} + if(checks < 107){return sc106(x,z,r,n);} + if(checks < 108){return sc107(x,z,r,n);} + if(checks < 109){return sc108(x,z,r,n);} + if(checks < 110){return sc109(x,z,r,n);} + if(checks < 111){return sc110(x,z,r,n);} + if(checks < 112){return sc111(x,z,r,n);} + if(checks < 113){return sc112(x,z,r,n);} + if(checks < 114){return sc113(x,z,r,n);} + if(checks < 115){return sc114(x,z,r,n);} + if(checks < 116){return sc115(x,z,r,n);} + if(checks < 117){return sc116(x,z,r,n);} + if(checks < 118){return sc117(x,z,r,n);} + if(checks < 119){return sc118(x,z,r,n);} + if(checks < 120){return sc119(x,z,r,n);} + if(checks < 121){return sc120(x,z,r,n);} + if(checks < 122){return sc121(x,z,r,n);} + if(checks < 123){return sc122(x,z,r,n);} + if(checks < 124){return sc123(x,z,r,n);} + if(checks < 125){return sc124(x,z,r,n);} + if(checks < 126){return sc125(x,z,r,n);} + if(checks < 127){return sc126(x,z,r,n);} + if(checks < 128){return sc127(x,z,r,n);} + return sc128(x,z,r,n); + } + +float m = 360F / checks; + float v = 0; + + for(int i = 0; i < 360; i += m) { + float sin = (float) Math.sin(Math.toRadians(i)); + float cos = (float) Math.cos(Math.toRadians(i)); + float cx = x + ((r * cos) - (r * sin)); + float cz = z + ((r * sin) + (r * cos)); + v += n.noise(cx, cz); + } + + return v / checks; +} +private static float sc1(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))))*1.0F; +} + +private static float sc2(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))))*0.5F; +} + +private static float sc3(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))))*0.33333334F; +} + +private static float sc4(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))))*0.25F; +} + +private static float sc5(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))))*0.2F; +} + +private static float sc6(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))))*0.16666667F; +} + +private static float sc7(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.14285715F; +} + +private static float sc8(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))))*0.125F; +} + +private static float sc9(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))))*0.11111111F; +} + +private static float sc10(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))))*0.1F; +} + +private static float sc11(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))))*0.09090909F; +} + +private static float sc12(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))))*0.083333336F; +} + +private static float sc13(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))))*0.07692308F; +} + +private static float sc14(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[63]) - (r * MAGIC[62])), z + ((r * MAGIC[62]) + (r * MAGIC[63])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[68]) - (r * MAGIC[67])), z + ((r * MAGIC[67]) + (r * MAGIC[68])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[70])), z + ((r * MAGIC[70]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[68])), z + ((r * MAGIC[68]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))))*0.071428575F; +} + +private static float sc15(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))))*0.06666667F; +} + +private static float sc16(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[79]) - (r * MAGIC[78])), z + ((r * MAGIC[78]) + (r * MAGIC[79])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[86]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[86])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[91]) - (r * MAGIC[90])), z + ((r * MAGIC[90]) + (r * MAGIC[91])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[93]) - (r * MAGIC[92])), z + ((r * MAGIC[92]) + (r * MAGIC[93])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))))*0.0625F; +} + +private static float sc17(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.05882353F; +} + +private static float sc18(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))))*0.055555556F; +} + +private static float sc19(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))))*0.05263158F; +} + +private static float sc20(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))))*0.05F; +} + +private static float sc21(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[106]) - (r * MAGIC[105])), z + ((r * MAGIC[105]) + (r * MAGIC[106])))) + +((float)n.noise(x + ((r * MAGIC[108]) - (r * MAGIC[107])), z + ((r * MAGIC[107]) + (r * MAGIC[108])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[109])), z + ((r * MAGIC[109]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[111]) - (r * MAGIC[110])), z + ((r * MAGIC[110]) + (r * MAGIC[111])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[113]) - (r * MAGIC[112])), z + ((r * MAGIC[112]) + (r * MAGIC[113])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[115]) - (r * MAGIC[114])), z + ((r * MAGIC[114]) + (r * MAGIC[115])))) + +((float)n.noise(x + ((r * MAGIC[117]) - (r * MAGIC[116])), z + ((r * MAGIC[116]) + (r * MAGIC[117])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[120]) - (r * MAGIC[119])), z + ((r * MAGIC[119]) + (r * MAGIC[120])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[122]) - (r * MAGIC[121])), z + ((r * MAGIC[121]) + (r * MAGIC[122])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.04761905F; +} + +private static float sc22(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))))*0.045454547F; +} + +private static float sc23(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))))*0.04347826F; +} + +private static float sc24(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))))*0.041666668F; +} + +private static float sc25(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[127]) - (r * MAGIC[126])), z + ((r * MAGIC[126]) + (r * MAGIC[127])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[54]) - (r * MAGIC[55])), z + ((r * MAGIC[55]) + (r * MAGIC[54])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[86]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[86])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[118]) - (r * MAGIC[130])), z + ((r * MAGIC[130]) + (r * MAGIC[118])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[117]) - (r * MAGIC[116])), z + ((r * MAGIC[116]) + (r * MAGIC[117])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[132]) - (r * MAGIC[88])), z + ((r * MAGIC[88]) + (r * MAGIC[132])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[47]) - (r * MAGIC[48])), z + ((r * MAGIC[48]) + (r * MAGIC[47])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))))*0.04F; +} + +private static float sc26(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[134]) - (r * MAGIC[133])), z + ((r * MAGIC[133]) + (r * MAGIC[134])))) + +((float)n.noise(x + ((r * MAGIC[43]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[43])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[62]) - (r * MAGIC[63])), z + ((r * MAGIC[63]) + (r * MAGIC[62])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[136]) - (r * MAGIC[135])), z + ((r * MAGIC[135]) + (r * MAGIC[136])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[138]) - (r * MAGIC[137])), z + ((r * MAGIC[137]) + (r * MAGIC[138])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[140]) - (r * MAGIC[139])), z + ((r * MAGIC[139]) + (r * MAGIC[140])))) + +((float)n.noise(x + ((r * MAGIC[118]) - (r * MAGIC[130])), z + ((r * MAGIC[130]) + (r * MAGIC[118])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[115]) - (r * MAGIC[114])), z + ((r * MAGIC[114]) + (r * MAGIC[115])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[142]) - (r * MAGIC[141])), z + ((r * MAGIC[141]) + (r * MAGIC[142])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[93]) - (r * MAGIC[92])), z + ((r * MAGIC[92]) + (r * MAGIC[93])))) + +((float)n.noise(x + ((r * MAGIC[144]) - (r * MAGIC[143])), z + ((r * MAGIC[143]) + (r * MAGIC[144])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[68])), z + ((r * MAGIC[68]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[79]) - (r * MAGIC[124])), z + ((r * MAGIC[124]) + (r * MAGIC[79])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))))*0.03846154F; +} + +private static float sc27(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[134]) - (r * MAGIC[133])), z + ((r * MAGIC[133]) + (r * MAGIC[134])))) + +((float)n.noise(x + ((r * MAGIC[43]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[43])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[62]) - (r * MAGIC[63])), z + ((r * MAGIC[63]) + (r * MAGIC[62])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[136]) - (r * MAGIC[135])), z + ((r * MAGIC[135]) + (r * MAGIC[136])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[138]) - (r * MAGIC[137])), z + ((r * MAGIC[137]) + (r * MAGIC[138])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[140]) - (r * MAGIC[139])), z + ((r * MAGIC[139]) + (r * MAGIC[140])))) + +((float)n.noise(x + ((r * MAGIC[118]) - (r * MAGIC[130])), z + ((r * MAGIC[130]) + (r * MAGIC[118])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[115]) - (r * MAGIC[114])), z + ((r * MAGIC[114]) + (r * MAGIC[115])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[142]) - (r * MAGIC[141])), z + ((r * MAGIC[141]) + (r * MAGIC[142])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[93]) - (r * MAGIC[92])), z + ((r * MAGIC[92]) + (r * MAGIC[93])))) + +((float)n.noise(x + ((r * MAGIC[144]) - (r * MAGIC[143])), z + ((r * MAGIC[143]) + (r * MAGIC[144])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[68])), z + ((r * MAGIC[68]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[79]) - (r * MAGIC[124])), z + ((r * MAGIC[124]) + (r * MAGIC[79])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))))*0.037037037F; +} + +private static float sc28(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))))*0.035714287F; +} + +private static float sc29(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))))*0.03448276F; +} + +private static float sc30(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))))*0.033333335F; +} + +private static float sc31(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[145]) - (r * MAGIC[139])), z + ((r * MAGIC[139]) + (r * MAGIC[145])))) + +((float)n.noise(x + ((r * MAGIC[79]) - (r * MAGIC[78])), z + ((r * MAGIC[78]) + (r * MAGIC[79])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[147]) - (r * MAGIC[67])), z + ((r * MAGIC[67]) + (r * MAGIC[147])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[133]) - (r * MAGIC[134])), z + ((r * MAGIC[134]) + (r * MAGIC[133])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[149]) - (r * MAGIC[148])), z + ((r * MAGIC[148]) + (r * MAGIC[149])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[138]) - (r * MAGIC[137])), z + ((r * MAGIC[137]) + (r * MAGIC[138])))) + +((float)n.noise(x + ((r * MAGIC[86]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[86])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[113]) - (r * MAGIC[112])), z + ((r * MAGIC[112]) + (r * MAGIC[113])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[143]) - (r * MAGIC[111])), z + ((r * MAGIC[111]) + (r * MAGIC[143])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[91]) - (r * MAGIC[90])), z + ((r * MAGIC[90]) + (r * MAGIC[91])))) + +((float)n.noise(x + ((r * MAGIC[151]) - (r * MAGIC[150])), z + ((r * MAGIC[150]) + (r * MAGIC[151])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[70])), z + ((r * MAGIC[70]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[93]) - (r * MAGIC[92])), z + ((r * MAGIC[92]) + (r * MAGIC[93])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[152]) - (r * MAGIC[114])), z + ((r * MAGIC[114]) + (r * MAGIC[152])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[154]) - (r * MAGIC[153])), z + ((r * MAGIC[153]) + (r * MAGIC[154])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))))*0.032258064F; +} + +private static float sc32(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[145]) - (r * MAGIC[139])), z + ((r * MAGIC[139]) + (r * MAGIC[145])))) + +((float)n.noise(x + ((r * MAGIC[79]) - (r * MAGIC[78])), z + ((r * MAGIC[78]) + (r * MAGIC[79])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[147]) - (r * MAGIC[67])), z + ((r * MAGIC[67]) + (r * MAGIC[147])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[133]) - (r * MAGIC[134])), z + ((r * MAGIC[134]) + (r * MAGIC[133])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[149]) - (r * MAGIC[148])), z + ((r * MAGIC[148]) + (r * MAGIC[149])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[138]) - (r * MAGIC[137])), z + ((r * MAGIC[137]) + (r * MAGIC[138])))) + +((float)n.noise(x + ((r * MAGIC[86]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[86])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[113]) - (r * MAGIC[112])), z + ((r * MAGIC[112]) + (r * MAGIC[113])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[143]) - (r * MAGIC[111])), z + ((r * MAGIC[111]) + (r * MAGIC[143])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[91]) - (r * MAGIC[90])), z + ((r * MAGIC[90]) + (r * MAGIC[91])))) + +((float)n.noise(x + ((r * MAGIC[151]) - (r * MAGIC[150])), z + ((r * MAGIC[150]) + (r * MAGIC[151])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[70])), z + ((r * MAGIC[70]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[93]) - (r * MAGIC[92])), z + ((r * MAGIC[92]) + (r * MAGIC[93])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[152]) - (r * MAGIC[114])), z + ((r * MAGIC[114]) + (r * MAGIC[152])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[154]) - (r * MAGIC[153])), z + ((r * MAGIC[153]) + (r * MAGIC[154])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))))*0.03125F; +} + +private static float sc33(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))))*0.030303031F; +} + +private static float sc34(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))))*0.029411765F; +} + +private static float sc35(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))))*0.028571429F; +} + +private static float sc36(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))))*0.027777778F; +} + +private static float sc37(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))))*0.027027028F; +} + +private static float sc38(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))))*0.02631579F; +} + +private static float sc39(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))))*0.025641026F; +} + +private static float sc40(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))))*0.025F; +} + +private static float sc41(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))))*0.024390243F; +} + +private static float sc42(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))))*0.023809524F; +} + +private static float sc43(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))))*0.023255814F; +} + +private static float sc44(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))))*0.022727273F; +} + +private static float sc45(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))))*0.022222223F; +} + +private static float sc46(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[158]) - (r * MAGIC[157])), z + ((r * MAGIC[157]) + (r * MAGIC[158])))) + +((float)n.noise(x + ((r * MAGIC[127]) - (r * MAGIC[126])), z + ((r * MAGIC[126]) + (r * MAGIC[127])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[159]) - (r * MAGIC[152])), z + ((r * MAGIC[152]) + (r * MAGIC[159])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[133]) - (r * MAGIC[134])), z + ((r * MAGIC[134]) + (r * MAGIC[133])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[136]) - (r * MAGIC[135])), z + ((r * MAGIC[135]) + (r * MAGIC[136])))) + +((float)n.noise(x + ((r * MAGIC[54]) - (r * MAGIC[55])), z + ((r * MAGIC[55]) + (r * MAGIC[54])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[111]) - (r * MAGIC[110])), z + ((r * MAGIC[110]) + (r * MAGIC[111])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[161]) - (r * MAGIC[160])), z + ((r * MAGIC[160]) + (r * MAGIC[161])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[86]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[86])))) + +((float)n.noise(x + ((r * MAGIC[119]) - (r * MAGIC[120])), z + ((r * MAGIC[120]) + (r * MAGIC[119])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[118]) - (r * MAGIC[130])), z + ((r * MAGIC[130]) + (r * MAGIC[118])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[141]) - (r * MAGIC[142])), z + ((r * MAGIC[142]) + (r * MAGIC[141])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[138]) - (r * MAGIC[121])), z + ((r * MAGIC[121]) + (r * MAGIC[138])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[117]) - (r * MAGIC[116])), z + ((r * MAGIC[116]) + (r * MAGIC[117])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[164]) - (r * MAGIC[140])), z + ((r * MAGIC[140]) + (r * MAGIC[164])))) + +((float)n.noise(x + ((r * MAGIC[132]) - (r * MAGIC[88])), z + ((r * MAGIC[88]) + (r * MAGIC[132])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[105]) - (r * MAGIC[150])), z + ((r * MAGIC[150]) + (r * MAGIC[105])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[166]) - (r * MAGIC[165])), z + ((r * MAGIC[165]) + (r * MAGIC[166])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[47]) - (r * MAGIC[48])), z + ((r * MAGIC[48]) + (r * MAGIC[47])))) + +((float)n.noise(x + ((r * MAGIC[148]) - (r * MAGIC[149])), z + ((r * MAGIC[149]) + (r * MAGIC[148])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[106]) - (r * MAGIC[151])), z + ((r * MAGIC[151]) + (r * MAGIC[106])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.02173913F; +} + +private static float sc47(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[158]) - (r * MAGIC[157])), z + ((r * MAGIC[157]) + (r * MAGIC[158])))) + +((float)n.noise(x + ((r * MAGIC[127]) - (r * MAGIC[126])), z + ((r * MAGIC[126]) + (r * MAGIC[127])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[159]) - (r * MAGIC[152])), z + ((r * MAGIC[152]) + (r * MAGIC[159])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[133]) - (r * MAGIC[134])), z + ((r * MAGIC[134]) + (r * MAGIC[133])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[136]) - (r * MAGIC[135])), z + ((r * MAGIC[135]) + (r * MAGIC[136])))) + +((float)n.noise(x + ((r * MAGIC[54]) - (r * MAGIC[55])), z + ((r * MAGIC[55]) + (r * MAGIC[54])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[111]) - (r * MAGIC[110])), z + ((r * MAGIC[110]) + (r * MAGIC[111])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[161]) - (r * MAGIC[160])), z + ((r * MAGIC[160]) + (r * MAGIC[161])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[86]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[86])))) + +((float)n.noise(x + ((r * MAGIC[119]) - (r * MAGIC[120])), z + ((r * MAGIC[120]) + (r * MAGIC[119])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[118]) - (r * MAGIC[130])), z + ((r * MAGIC[130]) + (r * MAGIC[118])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[141]) - (r * MAGIC[142])), z + ((r * MAGIC[142]) + (r * MAGIC[141])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[138]) - (r * MAGIC[121])), z + ((r * MAGIC[121]) + (r * MAGIC[138])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[117]) - (r * MAGIC[116])), z + ((r * MAGIC[116]) + (r * MAGIC[117])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[164]) - (r * MAGIC[140])), z + ((r * MAGIC[140]) + (r * MAGIC[164])))) + +((float)n.noise(x + ((r * MAGIC[132]) - (r * MAGIC[88])), z + ((r * MAGIC[88]) + (r * MAGIC[132])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[105]) - (r * MAGIC[150])), z + ((r * MAGIC[150]) + (r * MAGIC[105])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[166]) - (r * MAGIC[165])), z + ((r * MAGIC[165]) + (r * MAGIC[166])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[47]) - (r * MAGIC[48])), z + ((r * MAGIC[48]) + (r * MAGIC[47])))) + +((float)n.noise(x + ((r * MAGIC[148]) - (r * MAGIC[149])), z + ((r * MAGIC[149]) + (r * MAGIC[148])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[106]) - (r * MAGIC[151])), z + ((r * MAGIC[151]) + (r * MAGIC[106])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.021276595F; +} + +private static float sc48(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[158]) - (r * MAGIC[157])), z + ((r * MAGIC[157]) + (r * MAGIC[158])))) + +((float)n.noise(x + ((r * MAGIC[127]) - (r * MAGIC[126])), z + ((r * MAGIC[126]) + (r * MAGIC[127])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[159]) - (r * MAGIC[152])), z + ((r * MAGIC[152]) + (r * MAGIC[159])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[133]) - (r * MAGIC[134])), z + ((r * MAGIC[134]) + (r * MAGIC[133])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[136]) - (r * MAGIC[135])), z + ((r * MAGIC[135]) + (r * MAGIC[136])))) + +((float)n.noise(x + ((r * MAGIC[54]) - (r * MAGIC[55])), z + ((r * MAGIC[55]) + (r * MAGIC[54])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[111]) - (r * MAGIC[110])), z + ((r * MAGIC[110]) + (r * MAGIC[111])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[161]) - (r * MAGIC[160])), z + ((r * MAGIC[160]) + (r * MAGIC[161])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[86]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[86])))) + +((float)n.noise(x + ((r * MAGIC[119]) - (r * MAGIC[120])), z + ((r * MAGIC[120]) + (r * MAGIC[119])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[118]) - (r * MAGIC[130])), z + ((r * MAGIC[130]) + (r * MAGIC[118])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[141]) - (r * MAGIC[142])), z + ((r * MAGIC[142]) + (r * MAGIC[141])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[138]) - (r * MAGIC[121])), z + ((r * MAGIC[121]) + (r * MAGIC[138])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[117]) - (r * MAGIC[116])), z + ((r * MAGIC[116]) + (r * MAGIC[117])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[164]) - (r * MAGIC[140])), z + ((r * MAGIC[140]) + (r * MAGIC[164])))) + +((float)n.noise(x + ((r * MAGIC[132]) - (r * MAGIC[88])), z + ((r * MAGIC[88]) + (r * MAGIC[132])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[105]) - (r * MAGIC[150])), z + ((r * MAGIC[150]) + (r * MAGIC[105])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[166]) - (r * MAGIC[165])), z + ((r * MAGIC[165]) + (r * MAGIC[166])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[47]) - (r * MAGIC[48])), z + ((r * MAGIC[48]) + (r * MAGIC[47])))) + +((float)n.noise(x + ((r * MAGIC[148]) - (r * MAGIC[149])), z + ((r * MAGIC[149]) + (r * MAGIC[148])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[106]) - (r * MAGIC[151])), z + ((r * MAGIC[151]) + (r * MAGIC[106])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.020833334F; +} + +private static float sc49(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[158]) - (r * MAGIC[157])), z + ((r * MAGIC[157]) + (r * MAGIC[158])))) + +((float)n.noise(x + ((r * MAGIC[127]) - (r * MAGIC[126])), z + ((r * MAGIC[126]) + (r * MAGIC[127])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[159]) - (r * MAGIC[152])), z + ((r * MAGIC[152]) + (r * MAGIC[159])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[133]) - (r * MAGIC[134])), z + ((r * MAGIC[134]) + (r * MAGIC[133])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[136]) - (r * MAGIC[135])), z + ((r * MAGIC[135]) + (r * MAGIC[136])))) + +((float)n.noise(x + ((r * MAGIC[54]) - (r * MAGIC[55])), z + ((r * MAGIC[55]) + (r * MAGIC[54])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[111]) - (r * MAGIC[110])), z + ((r * MAGIC[110]) + (r * MAGIC[111])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[161]) - (r * MAGIC[160])), z + ((r * MAGIC[160]) + (r * MAGIC[161])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[86]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[86])))) + +((float)n.noise(x + ((r * MAGIC[119]) - (r * MAGIC[120])), z + ((r * MAGIC[120]) + (r * MAGIC[119])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[118]) - (r * MAGIC[130])), z + ((r * MAGIC[130]) + (r * MAGIC[118])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[141]) - (r * MAGIC[142])), z + ((r * MAGIC[142]) + (r * MAGIC[141])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[138]) - (r * MAGIC[121])), z + ((r * MAGIC[121]) + (r * MAGIC[138])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[117]) - (r * MAGIC[116])), z + ((r * MAGIC[116]) + (r * MAGIC[117])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[164]) - (r * MAGIC[140])), z + ((r * MAGIC[140]) + (r * MAGIC[164])))) + +((float)n.noise(x + ((r * MAGIC[132]) - (r * MAGIC[88])), z + ((r * MAGIC[88]) + (r * MAGIC[132])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[105]) - (r * MAGIC[150])), z + ((r * MAGIC[150]) + (r * MAGIC[105])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[166]) - (r * MAGIC[165])), z + ((r * MAGIC[165]) + (r * MAGIC[166])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[47]) - (r * MAGIC[48])), z + ((r * MAGIC[48]) + (r * MAGIC[47])))) + +((float)n.noise(x + ((r * MAGIC[148]) - (r * MAGIC[149])), z + ((r * MAGIC[149]) + (r * MAGIC[148])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[106]) - (r * MAGIC[151])), z + ((r * MAGIC[151]) + (r * MAGIC[106])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.020408163F; +} + +private static float sc50(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[158]) - (r * MAGIC[157])), z + ((r * MAGIC[157]) + (r * MAGIC[158])))) + +((float)n.noise(x + ((r * MAGIC[127]) - (r * MAGIC[126])), z + ((r * MAGIC[126]) + (r * MAGIC[127])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[159]) - (r * MAGIC[152])), z + ((r * MAGIC[152]) + (r * MAGIC[159])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[133]) - (r * MAGIC[134])), z + ((r * MAGIC[134]) + (r * MAGIC[133])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[136]) - (r * MAGIC[135])), z + ((r * MAGIC[135]) + (r * MAGIC[136])))) + +((float)n.noise(x + ((r * MAGIC[54]) - (r * MAGIC[55])), z + ((r * MAGIC[55]) + (r * MAGIC[54])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[111]) - (r * MAGIC[110])), z + ((r * MAGIC[110]) + (r * MAGIC[111])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[161]) - (r * MAGIC[160])), z + ((r * MAGIC[160]) + (r * MAGIC[161])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[86]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[86])))) + +((float)n.noise(x + ((r * MAGIC[119]) - (r * MAGIC[120])), z + ((r * MAGIC[120]) + (r * MAGIC[119])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[118]) - (r * MAGIC[130])), z + ((r * MAGIC[130]) + (r * MAGIC[118])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[141]) - (r * MAGIC[142])), z + ((r * MAGIC[142]) + (r * MAGIC[141])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[138]) - (r * MAGIC[121])), z + ((r * MAGIC[121]) + (r * MAGIC[138])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[117]) - (r * MAGIC[116])), z + ((r * MAGIC[116]) + (r * MAGIC[117])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[164]) - (r * MAGIC[140])), z + ((r * MAGIC[140]) + (r * MAGIC[164])))) + +((float)n.noise(x + ((r * MAGIC[132]) - (r * MAGIC[88])), z + ((r * MAGIC[88]) + (r * MAGIC[132])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[105]) - (r * MAGIC[150])), z + ((r * MAGIC[150]) + (r * MAGIC[105])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[166]) - (r * MAGIC[165])), z + ((r * MAGIC[165]) + (r * MAGIC[166])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[47]) - (r * MAGIC[48])), z + ((r * MAGIC[48]) + (r * MAGIC[47])))) + +((float)n.noise(x + ((r * MAGIC[148]) - (r * MAGIC[149])), z + ((r * MAGIC[149]) + (r * MAGIC[148])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[106]) - (r * MAGIC[151])), z + ((r * MAGIC[151]) + (r * MAGIC[106])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.02F; +} + +private static float sc51(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[158]) - (r * MAGIC[157])), z + ((r * MAGIC[157]) + (r * MAGIC[158])))) + +((float)n.noise(x + ((r * MAGIC[127]) - (r * MAGIC[126])), z + ((r * MAGIC[126]) + (r * MAGIC[127])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[159]) - (r * MAGIC[152])), z + ((r * MAGIC[152]) + (r * MAGIC[159])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[133]) - (r * MAGIC[134])), z + ((r * MAGIC[134]) + (r * MAGIC[133])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[136]) - (r * MAGIC[135])), z + ((r * MAGIC[135]) + (r * MAGIC[136])))) + +((float)n.noise(x + ((r * MAGIC[54]) - (r * MAGIC[55])), z + ((r * MAGIC[55]) + (r * MAGIC[54])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[111]) - (r * MAGIC[110])), z + ((r * MAGIC[110]) + (r * MAGIC[111])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[161]) - (r * MAGIC[160])), z + ((r * MAGIC[160]) + (r * MAGIC[161])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[86]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[86])))) + +((float)n.noise(x + ((r * MAGIC[119]) - (r * MAGIC[120])), z + ((r * MAGIC[120]) + (r * MAGIC[119])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[118]) - (r * MAGIC[130])), z + ((r * MAGIC[130]) + (r * MAGIC[118])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[141]) - (r * MAGIC[142])), z + ((r * MAGIC[142]) + (r * MAGIC[141])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[138]) - (r * MAGIC[121])), z + ((r * MAGIC[121]) + (r * MAGIC[138])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[117]) - (r * MAGIC[116])), z + ((r * MAGIC[116]) + (r * MAGIC[117])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[164]) - (r * MAGIC[140])), z + ((r * MAGIC[140]) + (r * MAGIC[164])))) + +((float)n.noise(x + ((r * MAGIC[132]) - (r * MAGIC[88])), z + ((r * MAGIC[88]) + (r * MAGIC[132])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[105]) - (r * MAGIC[150])), z + ((r * MAGIC[150]) + (r * MAGIC[105])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[166]) - (r * MAGIC[165])), z + ((r * MAGIC[165]) + (r * MAGIC[166])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[47]) - (r * MAGIC[48])), z + ((r * MAGIC[48]) + (r * MAGIC[47])))) + +((float)n.noise(x + ((r * MAGIC[148]) - (r * MAGIC[149])), z + ((r * MAGIC[149]) + (r * MAGIC[148])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[106]) - (r * MAGIC[151])), z + ((r * MAGIC[151]) + (r * MAGIC[106])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.019607844F; +} + +private static float sc52(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))))*0.01923077F; +} + +private static float sc53(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))))*0.018867925F; +} + +private static float sc54(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))))*0.018518519F; +} + +private static float sc55(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))))*0.018181818F; +} + +private static float sc56(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))))*0.017857144F; +} + +private static float sc57(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))))*0.01754386F; +} + +private static float sc58(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))))*0.01724138F; +} + +private static float sc59(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))))*0.016949153F; +} + +private static float sc60(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))))*0.016666668F; +} + +private static float sc61(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[109]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[109])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[63]) - (r * MAGIC[62])), z + ((r * MAGIC[62]) + (r * MAGIC[63])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[147]) - (r * MAGIC[67])), z + ((r * MAGIC[67]) + (r * MAGIC[147])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[62]) - (r * MAGIC[63])), z + ((r * MAGIC[63]) + (r * MAGIC[62])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[109])), z + ((r * MAGIC[109]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[167]) - (r * MAGIC[109])), z + ((r * MAGIC[109]) + (r * MAGIC[167])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[63])), z + ((r * MAGIC[63]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[68]) - (r * MAGIC[67])), z + ((r * MAGIC[67]) + (r * MAGIC[68])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[168]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[168])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[162]) - (r * MAGIC[62])), z + ((r * MAGIC[62]) + (r * MAGIC[162])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[167])), z + ((r * MAGIC[167]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[162]) - (r * MAGIC[163])), z + ((r * MAGIC[163]) + (r * MAGIC[162])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[168]) - (r * MAGIC[68])), z + ((r * MAGIC[68]) + (r * MAGIC[168])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[68]) - (r * MAGIC[168])), z + ((r * MAGIC[168]) + (r * MAGIC[68])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[167]) - (r * MAGIC[70])), z + ((r * MAGIC[70]) + (r * MAGIC[167])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[70])), z + ((r * MAGIC[70]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[62]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[62])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[147]) - (r * MAGIC[168])), z + ((r * MAGIC[168]) + (r * MAGIC[147])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[68])), z + ((r * MAGIC[68]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[63]) - (r * MAGIC[163])), z + ((r * MAGIC[163]) + (r * MAGIC[63])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[109]) - (r * MAGIC[167])), z + ((r * MAGIC[167]) + (r * MAGIC[109])))))*0.016393442F; +} + +private static float sc62(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[109]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[109])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[63]) - (r * MAGIC[62])), z + ((r * MAGIC[62]) + (r * MAGIC[63])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[147]) - (r * MAGIC[67])), z + ((r * MAGIC[67]) + (r * MAGIC[147])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[62]) - (r * MAGIC[63])), z + ((r * MAGIC[63]) + (r * MAGIC[62])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[109])), z + ((r * MAGIC[109]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[167]) - (r * MAGIC[109])), z + ((r * MAGIC[109]) + (r * MAGIC[167])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[63])), z + ((r * MAGIC[63]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[68]) - (r * MAGIC[67])), z + ((r * MAGIC[67]) + (r * MAGIC[68])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[168]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[168])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[162]) - (r * MAGIC[62])), z + ((r * MAGIC[62]) + (r * MAGIC[162])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[167])), z + ((r * MAGIC[167]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[162]) - (r * MAGIC[163])), z + ((r * MAGIC[163]) + (r * MAGIC[162])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[168]) - (r * MAGIC[68])), z + ((r * MAGIC[68]) + (r * MAGIC[168])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[68]) - (r * MAGIC[168])), z + ((r * MAGIC[168]) + (r * MAGIC[68])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[167]) - (r * MAGIC[70])), z + ((r * MAGIC[70]) + (r * MAGIC[167])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[70])), z + ((r * MAGIC[70]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[62]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[62])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[147]) - (r * MAGIC[168])), z + ((r * MAGIC[168]) + (r * MAGIC[147])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[68])), z + ((r * MAGIC[68]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[63]) - (r * MAGIC[163])), z + ((r * MAGIC[163]) + (r * MAGIC[63])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[109]) - (r * MAGIC[167])), z + ((r * MAGIC[167]) + (r * MAGIC[109])))))*0.016129032F; +} + +private static float sc63(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[109]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[109])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[63]) - (r * MAGIC[62])), z + ((r * MAGIC[62]) + (r * MAGIC[63])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[147]) - (r * MAGIC[67])), z + ((r * MAGIC[67]) + (r * MAGIC[147])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[62]) - (r * MAGIC[63])), z + ((r * MAGIC[63]) + (r * MAGIC[62])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[109])), z + ((r * MAGIC[109]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[167]) - (r * MAGIC[109])), z + ((r * MAGIC[109]) + (r * MAGIC[167])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[63])), z + ((r * MAGIC[63]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[68]) - (r * MAGIC[67])), z + ((r * MAGIC[67]) + (r * MAGIC[68])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[168]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[168])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[162]) - (r * MAGIC[62])), z + ((r * MAGIC[62]) + (r * MAGIC[162])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[167])), z + ((r * MAGIC[167]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[162]) - (r * MAGIC[163])), z + ((r * MAGIC[163]) + (r * MAGIC[162])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[168]) - (r * MAGIC[68])), z + ((r * MAGIC[68]) + (r * MAGIC[168])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[68]) - (r * MAGIC[168])), z + ((r * MAGIC[168]) + (r * MAGIC[68])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[167]) - (r * MAGIC[70])), z + ((r * MAGIC[70]) + (r * MAGIC[167])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[70])), z + ((r * MAGIC[70]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[62]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[62])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[147]) - (r * MAGIC[168])), z + ((r * MAGIC[168]) + (r * MAGIC[147])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[68])), z + ((r * MAGIC[68]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[63]) - (r * MAGIC[163])), z + ((r * MAGIC[163]) + (r * MAGIC[63])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[109]) - (r * MAGIC[167])), z + ((r * MAGIC[167]) + (r * MAGIC[109])))))*0.015873017F; +} + +private static float sc64(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[109]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[109])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[63]) - (r * MAGIC[62])), z + ((r * MAGIC[62]) + (r * MAGIC[63])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[147]) - (r * MAGIC[67])), z + ((r * MAGIC[67]) + (r * MAGIC[147])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[62]) - (r * MAGIC[63])), z + ((r * MAGIC[63]) + (r * MAGIC[62])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[109])), z + ((r * MAGIC[109]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[167]) - (r * MAGIC[109])), z + ((r * MAGIC[109]) + (r * MAGIC[167])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[63])), z + ((r * MAGIC[63]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[68]) - (r * MAGIC[67])), z + ((r * MAGIC[67]) + (r * MAGIC[68])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[168]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[168])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[162]) - (r * MAGIC[62])), z + ((r * MAGIC[62]) + (r * MAGIC[162])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[167])), z + ((r * MAGIC[167]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[162]) - (r * MAGIC[163])), z + ((r * MAGIC[163]) + (r * MAGIC[162])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[168]) - (r * MAGIC[68])), z + ((r * MAGIC[68]) + (r * MAGIC[168])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[68]) - (r * MAGIC[168])), z + ((r * MAGIC[168]) + (r * MAGIC[68])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[167]) - (r * MAGIC[70])), z + ((r * MAGIC[70]) + (r * MAGIC[167])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[70])), z + ((r * MAGIC[70]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[62]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[62])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[147]) - (r * MAGIC[168])), z + ((r * MAGIC[168]) + (r * MAGIC[147])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[68])), z + ((r * MAGIC[68]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[63]) - (r * MAGIC[163])), z + ((r * MAGIC[163]) + (r * MAGIC[63])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[109]) - (r * MAGIC[167])), z + ((r * MAGIC[167]) + (r * MAGIC[109])))))*0.015625F; +} + +private static float sc65(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[109]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[109])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[63]) - (r * MAGIC[62])), z + ((r * MAGIC[62]) + (r * MAGIC[63])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[147]) - (r * MAGIC[67])), z + ((r * MAGIC[67]) + (r * MAGIC[147])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[62]) - (r * MAGIC[63])), z + ((r * MAGIC[63]) + (r * MAGIC[62])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[109])), z + ((r * MAGIC[109]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[167]) - (r * MAGIC[109])), z + ((r * MAGIC[109]) + (r * MAGIC[167])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[63])), z + ((r * MAGIC[63]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[68]) - (r * MAGIC[67])), z + ((r * MAGIC[67]) + (r * MAGIC[68])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[168]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[168])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[162]) - (r * MAGIC[62])), z + ((r * MAGIC[62]) + (r * MAGIC[162])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[167])), z + ((r * MAGIC[167]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[162]) - (r * MAGIC[163])), z + ((r * MAGIC[163]) + (r * MAGIC[162])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[168]) - (r * MAGIC[68])), z + ((r * MAGIC[68]) + (r * MAGIC[168])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[68]) - (r * MAGIC[168])), z + ((r * MAGIC[168]) + (r * MAGIC[68])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[167]) - (r * MAGIC[70])), z + ((r * MAGIC[70]) + (r * MAGIC[167])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[70])), z + ((r * MAGIC[70]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[62]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[62])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[147]) - (r * MAGIC[168])), z + ((r * MAGIC[168]) + (r * MAGIC[147])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[68])), z + ((r * MAGIC[68]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[63]) - (r * MAGIC[163])), z + ((r * MAGIC[163]) + (r * MAGIC[63])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[109]) - (r * MAGIC[167])), z + ((r * MAGIC[167]) + (r * MAGIC[109])))))*0.015384615F; +} + +private static float sc66(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[109]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[109])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[63]) - (r * MAGIC[62])), z + ((r * MAGIC[62]) + (r * MAGIC[63])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[147]) - (r * MAGIC[67])), z + ((r * MAGIC[67]) + (r * MAGIC[147])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[62]) - (r * MAGIC[63])), z + ((r * MAGIC[63]) + (r * MAGIC[62])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[109])), z + ((r * MAGIC[109]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[167]) - (r * MAGIC[109])), z + ((r * MAGIC[109]) + (r * MAGIC[167])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[63])), z + ((r * MAGIC[63]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[68]) - (r * MAGIC[67])), z + ((r * MAGIC[67]) + (r * MAGIC[68])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[168]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[168])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[162]) - (r * MAGIC[62])), z + ((r * MAGIC[62]) + (r * MAGIC[162])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[167])), z + ((r * MAGIC[167]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[162]) - (r * MAGIC[163])), z + ((r * MAGIC[163]) + (r * MAGIC[162])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[168]) - (r * MAGIC[68])), z + ((r * MAGIC[68]) + (r * MAGIC[168])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[68]) - (r * MAGIC[168])), z + ((r * MAGIC[168]) + (r * MAGIC[68])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[167]) - (r * MAGIC[70])), z + ((r * MAGIC[70]) + (r * MAGIC[167])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[70])), z + ((r * MAGIC[70]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[62]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[62])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[147]) - (r * MAGIC[168])), z + ((r * MAGIC[168]) + (r * MAGIC[147])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[68])), z + ((r * MAGIC[68]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[63]) - (r * MAGIC[163])), z + ((r * MAGIC[163]) + (r * MAGIC[63])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[109]) - (r * MAGIC[167])), z + ((r * MAGIC[167]) + (r * MAGIC[109])))))*0.015151516F; +} + +private static float sc67(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[109]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[109])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[63]) - (r * MAGIC[62])), z + ((r * MAGIC[62]) + (r * MAGIC[63])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[147]) - (r * MAGIC[67])), z + ((r * MAGIC[67]) + (r * MAGIC[147])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[62]) - (r * MAGIC[63])), z + ((r * MAGIC[63]) + (r * MAGIC[62])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[109])), z + ((r * MAGIC[109]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[167]) - (r * MAGIC[109])), z + ((r * MAGIC[109]) + (r * MAGIC[167])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[63])), z + ((r * MAGIC[63]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[68]) - (r * MAGIC[67])), z + ((r * MAGIC[67]) + (r * MAGIC[68])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[168]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[168])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[162]) - (r * MAGIC[62])), z + ((r * MAGIC[62]) + (r * MAGIC[162])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[167])), z + ((r * MAGIC[167]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[162]) - (r * MAGIC[163])), z + ((r * MAGIC[163]) + (r * MAGIC[162])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[168]) - (r * MAGIC[68])), z + ((r * MAGIC[68]) + (r * MAGIC[168])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[68]) - (r * MAGIC[168])), z + ((r * MAGIC[168]) + (r * MAGIC[68])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[167]) - (r * MAGIC[70])), z + ((r * MAGIC[70]) + (r * MAGIC[167])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[70])), z + ((r * MAGIC[70]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[62]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[62])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[147]) - (r * MAGIC[168])), z + ((r * MAGIC[168]) + (r * MAGIC[147])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[68])), z + ((r * MAGIC[68]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[63]) - (r * MAGIC[163])), z + ((r * MAGIC[163]) + (r * MAGIC[63])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[109]) - (r * MAGIC[167])), z + ((r * MAGIC[167]) + (r * MAGIC[109])))))*0.014925373F; +} + +private static float sc68(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[109]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[109])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[63]) - (r * MAGIC[62])), z + ((r * MAGIC[62]) + (r * MAGIC[63])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[147]) - (r * MAGIC[67])), z + ((r * MAGIC[67]) + (r * MAGIC[147])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[62]) - (r * MAGIC[63])), z + ((r * MAGIC[63]) + (r * MAGIC[62])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[109])), z + ((r * MAGIC[109]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[167]) - (r * MAGIC[109])), z + ((r * MAGIC[109]) + (r * MAGIC[167])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[63])), z + ((r * MAGIC[63]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[68]) - (r * MAGIC[67])), z + ((r * MAGIC[67]) + (r * MAGIC[68])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[168]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[168])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[162]) - (r * MAGIC[62])), z + ((r * MAGIC[62]) + (r * MAGIC[162])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[167])), z + ((r * MAGIC[167]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[162]) - (r * MAGIC[163])), z + ((r * MAGIC[163]) + (r * MAGIC[162])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[168]) - (r * MAGIC[68])), z + ((r * MAGIC[68]) + (r * MAGIC[168])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[68]) - (r * MAGIC[168])), z + ((r * MAGIC[168]) + (r * MAGIC[68])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[167]) - (r * MAGIC[70])), z + ((r * MAGIC[70]) + (r * MAGIC[167])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[70])), z + ((r * MAGIC[70]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[62]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[62])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[147]) - (r * MAGIC[168])), z + ((r * MAGIC[168]) + (r * MAGIC[147])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[68])), z + ((r * MAGIC[68]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[63]) - (r * MAGIC[163])), z + ((r * MAGIC[163]) + (r * MAGIC[63])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[109]) - (r * MAGIC[167])), z + ((r * MAGIC[167]) + (r * MAGIC[109])))))*0.014705882F; +} + +private static float sc69(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[109]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[109])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[63]) - (r * MAGIC[62])), z + ((r * MAGIC[62]) + (r * MAGIC[63])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[147]) - (r * MAGIC[67])), z + ((r * MAGIC[67]) + (r * MAGIC[147])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[62]) - (r * MAGIC[63])), z + ((r * MAGIC[63]) + (r * MAGIC[62])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[109])), z + ((r * MAGIC[109]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[167]) - (r * MAGIC[109])), z + ((r * MAGIC[109]) + (r * MAGIC[167])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[63])), z + ((r * MAGIC[63]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[68]) - (r * MAGIC[67])), z + ((r * MAGIC[67]) + (r * MAGIC[68])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[168]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[168])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[162]) - (r * MAGIC[62])), z + ((r * MAGIC[62]) + (r * MAGIC[162])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[167])), z + ((r * MAGIC[167]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[162]) - (r * MAGIC[163])), z + ((r * MAGIC[163]) + (r * MAGIC[162])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[168]) - (r * MAGIC[68])), z + ((r * MAGIC[68]) + (r * MAGIC[168])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[68]) - (r * MAGIC[168])), z + ((r * MAGIC[168]) + (r * MAGIC[68])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[167]) - (r * MAGIC[70])), z + ((r * MAGIC[70]) + (r * MAGIC[167])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[70])), z + ((r * MAGIC[70]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[62]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[62])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[147]) - (r * MAGIC[168])), z + ((r * MAGIC[168]) + (r * MAGIC[147])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[68])), z + ((r * MAGIC[68]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[63]) - (r * MAGIC[163])), z + ((r * MAGIC[163]) + (r * MAGIC[63])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[109]) - (r * MAGIC[167])), z + ((r * MAGIC[167]) + (r * MAGIC[109])))))*0.014492754F; +} + +private static float sc70(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[109]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[109])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[63]) - (r * MAGIC[62])), z + ((r * MAGIC[62]) + (r * MAGIC[63])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[147]) - (r * MAGIC[67])), z + ((r * MAGIC[67]) + (r * MAGIC[147])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[62]) - (r * MAGIC[63])), z + ((r * MAGIC[63]) + (r * MAGIC[62])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[109])), z + ((r * MAGIC[109]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[167]) - (r * MAGIC[109])), z + ((r * MAGIC[109]) + (r * MAGIC[167])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[63])), z + ((r * MAGIC[63]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[68]) - (r * MAGIC[67])), z + ((r * MAGIC[67]) + (r * MAGIC[68])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[168]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[168])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[162]) - (r * MAGIC[62])), z + ((r * MAGIC[62]) + (r * MAGIC[162])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[167])), z + ((r * MAGIC[167]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[162]) - (r * MAGIC[163])), z + ((r * MAGIC[163]) + (r * MAGIC[162])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[168]) - (r * MAGIC[68])), z + ((r * MAGIC[68]) + (r * MAGIC[168])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[68]) - (r * MAGIC[168])), z + ((r * MAGIC[168]) + (r * MAGIC[68])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[167]) - (r * MAGIC[70])), z + ((r * MAGIC[70]) + (r * MAGIC[167])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[70])), z + ((r * MAGIC[70]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[62]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[62])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[147]) - (r * MAGIC[168])), z + ((r * MAGIC[168]) + (r * MAGIC[147])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[68])), z + ((r * MAGIC[68]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[63]) - (r * MAGIC[163])), z + ((r * MAGIC[163]) + (r * MAGIC[63])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[109]) - (r * MAGIC[167])), z + ((r * MAGIC[167]) + (r * MAGIC[109])))))*0.014285714F; +} + +private static float sc71(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[109]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[109])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[63]) - (r * MAGIC[62])), z + ((r * MAGIC[62]) + (r * MAGIC[63])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[147]) - (r * MAGIC[67])), z + ((r * MAGIC[67]) + (r * MAGIC[147])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[62]) - (r * MAGIC[63])), z + ((r * MAGIC[63]) + (r * MAGIC[62])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[109])), z + ((r * MAGIC[109]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[167]) - (r * MAGIC[109])), z + ((r * MAGIC[109]) + (r * MAGIC[167])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[63])), z + ((r * MAGIC[63]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[68]) - (r * MAGIC[67])), z + ((r * MAGIC[67]) + (r * MAGIC[68])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[168]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[168])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[162]) - (r * MAGIC[62])), z + ((r * MAGIC[62]) + (r * MAGIC[162])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[167])), z + ((r * MAGIC[167]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[162]) - (r * MAGIC[163])), z + ((r * MAGIC[163]) + (r * MAGIC[162])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[168]) - (r * MAGIC[68])), z + ((r * MAGIC[68]) + (r * MAGIC[168])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[68]) - (r * MAGIC[168])), z + ((r * MAGIC[168]) + (r * MAGIC[68])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[167]) - (r * MAGIC[70])), z + ((r * MAGIC[70]) + (r * MAGIC[167])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[70])), z + ((r * MAGIC[70]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[62]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[62])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[147]) - (r * MAGIC[168])), z + ((r * MAGIC[168]) + (r * MAGIC[147])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[68])), z + ((r * MAGIC[68]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[63]) - (r * MAGIC[163])), z + ((r * MAGIC[163]) + (r * MAGIC[63])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[109]) - (r * MAGIC[167])), z + ((r * MAGIC[167]) + (r * MAGIC[109])))))*0.014084507F; +} + +private static float sc72(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[109]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[109])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[63]) - (r * MAGIC[62])), z + ((r * MAGIC[62]) + (r * MAGIC[63])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[147]) - (r * MAGIC[67])), z + ((r * MAGIC[67]) + (r * MAGIC[147])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[62]) - (r * MAGIC[63])), z + ((r * MAGIC[63]) + (r * MAGIC[62])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[109])), z + ((r * MAGIC[109]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[167]) - (r * MAGIC[109])), z + ((r * MAGIC[109]) + (r * MAGIC[167])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[63])), z + ((r * MAGIC[63]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[68]) - (r * MAGIC[67])), z + ((r * MAGIC[67]) + (r * MAGIC[68])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[168]) - (r * MAGIC[147])), z + ((r * MAGIC[147]) + (r * MAGIC[168])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[162]) - (r * MAGIC[62])), z + ((r * MAGIC[62]) + (r * MAGIC[162])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[69])), z + ((r * MAGIC[69]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[70]) - (r * MAGIC[167])), z + ((r * MAGIC[167]) + (r * MAGIC[70])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[162]) - (r * MAGIC[163])), z + ((r * MAGIC[163]) + (r * MAGIC[162])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[168]) - (r * MAGIC[68])), z + ((r * MAGIC[68]) + (r * MAGIC[168])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[68]) - (r * MAGIC[168])), z + ((r * MAGIC[168]) + (r * MAGIC[68])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[163]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[163])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[167]) - (r * MAGIC[70])), z + ((r * MAGIC[70]) + (r * MAGIC[167])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[69]) - (r * MAGIC[70])), z + ((r * MAGIC[70]) + (r * MAGIC[69])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[62]) - (r * MAGIC[162])), z + ((r * MAGIC[162]) + (r * MAGIC[62])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[147]) - (r * MAGIC[168])), z + ((r * MAGIC[168]) + (r * MAGIC[147])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[67]) - (r * MAGIC[68])), z + ((r * MAGIC[68]) + (r * MAGIC[67])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[63]) - (r * MAGIC[163])), z + ((r * MAGIC[163]) + (r * MAGIC[63])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[109]) - (r * MAGIC[167])), z + ((r * MAGIC[167]) + (r * MAGIC[109])))))*0.013888889F; +} + +private static float sc73(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[169])))))*0.01369863F; +} + +private static float sc74(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[169])))))*0.013513514F; +} + +private static float sc75(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[169])))))*0.013333334F; +} + +private static float sc76(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[169])))))*0.013157895F; +} + +private static float sc77(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[169])))))*0.012987013F; +} + +private static float sc78(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[169])))))*0.012820513F; +} + +private static float sc79(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[169])))))*0.012658228F; +} + +private static float sc80(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[169])))))*0.0125F; +} + +private static float sc81(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[169])))))*0.012345679F; +} + +private static float sc82(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[169])))))*0.0121951215F; +} + +private static float sc83(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[169])))))*0.012048192F; +} + +private static float sc84(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[169])))))*0.011904762F; +} + +private static float sc85(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[169])))))*0.011764706F; +} + +private static float sc86(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[169])))))*0.011627907F; +} + +private static float sc87(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[169])))))*0.011494253F; +} + +private static float sc88(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[169])))))*0.011363637F; +} + +private static float sc89(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[169])))))*0.011235955F; +} + +private static float sc90(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[169])))))*0.011111111F; +} + +private static float sc91(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.010989011F; +} + +private static float sc92(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.010869565F; +} + +private static float sc93(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.010752688F; +} + +private static float sc94(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.010638298F; +} + +private static float sc95(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.010526316F; +} + +private static float sc96(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.010416667F; +} + +private static float sc97(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.010309278F; +} + +private static float sc98(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.010204081F; +} + +private static float sc99(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.01010101F; +} + +private static float sc100(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.01F; +} + +private static float sc101(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.00990099F; +} + +private static float sc102(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.009803922F; +} + +private static float sc103(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.009708738F; +} + +private static float sc104(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.009615385F; +} + +private static float sc105(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.00952381F; +} + +private static float sc106(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.009433962F; +} + +private static float sc107(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.009345794F; +} + +private static float sc108(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.009259259F; +} + +private static float sc109(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.0091743115F; +} + +private static float sc110(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.009090909F; +} + +private static float sc111(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.009009009F; +} + +private static float sc112(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.008928572F; +} + +private static float sc113(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.0088495575F; +} + +private static float sc114(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.00877193F; +} + +private static float sc115(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.008695652F; +} + +private static float sc116(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.00862069F; +} + +private static float sc117(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.008547009F; +} + +private static float sc118(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.008474576F; +} + +private static float sc119(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.008403362F; +} + +private static float sc120(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[27])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[27])), z + ((r * MAGIC[27]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[57])), z + ((r * MAGIC[57]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[64])), z + ((r * MAGIC[64]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[97])), z + ((r * MAGIC[97]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[56])), z + ((r * MAGIC[56]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[146])), z + ((r * MAGIC[146]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[16])), z + ((r * MAGIC[16]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[28])), z + ((r * MAGIC[28]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[17])), z + ((r * MAGIC[17]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[99])), z + ((r * MAGIC[99]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[20])), z + ((r * MAGIC[20]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[96])), z + ((r * MAGIC[96]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[65])), z + ((r * MAGIC[65]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[58])), z + ((r * MAGIC[58]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[104])), z + ((r * MAGIC[104]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[103]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[103])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[60]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[60])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[24]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[24])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[175]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[175])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[21]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[21])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[100]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[100])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[101]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[101])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[29]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[29])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[102]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[102])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[174]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[174])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[61]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[61])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[173]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[173])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[25]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[25])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[59]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[59])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[26]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[26])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[104]) - (r * MAGIC[103])), z + ((r * MAGIC[103]) + (r * MAGIC[104])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[58]) - (r * MAGIC[60])), z + ((r * MAGIC[60]) + (r * MAGIC[58])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[65]) - (r * MAGIC[24])), z + ((r * MAGIC[24]) + (r * MAGIC[65])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[96]) - (r * MAGIC[175])), z + ((r * MAGIC[175]) + (r * MAGIC[96])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[20]) - (r * MAGIC[21])), z + ((r * MAGIC[21]) + (r * MAGIC[20])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[99]) - (r * MAGIC[100])), z + ((r * MAGIC[100]) + (r * MAGIC[99])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[17]) - (r * MAGIC[101])), z + ((r * MAGIC[101]) + (r * MAGIC[17])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[28]) - (r * MAGIC[29])), z + ((r * MAGIC[29]) + (r * MAGIC[28])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[16]) - (r * MAGIC[102])), z + ((r * MAGIC[102]) + (r * MAGIC[16])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[146]) - (r * MAGIC[174])), z + ((r * MAGIC[174]) + (r * MAGIC[146])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[56]) - (r * MAGIC[61])), z + ((r * MAGIC[61]) + (r * MAGIC[56])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[97]) - (r * MAGIC[173])), z + ((r * MAGIC[173]) + (r * MAGIC[97])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[64]) - (r * MAGIC[25])), z + ((r * MAGIC[25]) + (r * MAGIC[64])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[57]) - (r * MAGIC[59])), z + ((r * MAGIC[59]) + (r * MAGIC[57])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[27]) - (r * MAGIC[26])), z + ((r * MAGIC[26]) + (r * MAGIC[27])))))*0.008333334F; +} + +private static float sc121(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[82]) - (r * MAGIC[83])), z + ((r * MAGIC[83]) + (r * MAGIC[82])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[127]) - (r * MAGIC[126])), z + ((r * MAGIC[126]) + (r * MAGIC[127])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[79]) - (r * MAGIC[78])), z + ((r * MAGIC[78]) + (r * MAGIC[79])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[43]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[43])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[108]) - (r * MAGIC[107])), z + ((r * MAGIC[107]) + (r * MAGIC[108])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[47]) - (r * MAGIC[95])), z + ((r * MAGIC[95]) + (r * MAGIC[47])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[80]) - (r * MAGIC[81])), z + ((r * MAGIC[81]) + (r * MAGIC[80])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[41]) - (r * MAGIC[42])), z + ((r * MAGIC[42]) + (r * MAGIC[41])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[128]) - (r * MAGIC[129])), z + ((r * MAGIC[129]) + (r * MAGIC[128])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[93]) - (r * MAGIC[123])), z + ((r * MAGIC[123]) + (r * MAGIC[93])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[155]) - (r * MAGIC[55])), z + ((r * MAGIC[55]) + (r * MAGIC[155])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[87]) - (r * MAGIC[169])), z + ((r * MAGIC[169]) + (r * MAGIC[87])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[132]) - (r * MAGIC[169])), z + ((r * MAGIC[169]) + (r * MAGIC[132])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[54]) - (r * MAGIC[55])), z + ((r * MAGIC[55]) + (r * MAGIC[54])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[131]) - (r * MAGIC[123])), z + ((r * MAGIC[123]) + (r * MAGIC[131])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[91]) - (r * MAGIC[129])), z + ((r * MAGIC[129]) + (r * MAGIC[91])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[117]) - (r * MAGIC[42])), z + ((r * MAGIC[42]) + (r * MAGIC[117])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[50]) - (r * MAGIC[81])), z + ((r * MAGIC[81]) + (r * MAGIC[50])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[94]) - (r * MAGIC[95])), z + ((r * MAGIC[95]) + (r * MAGIC[94])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[125]) - (r * MAGIC[107])), z + ((r * MAGIC[107]) + (r * MAGIC[125])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[86]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[86])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[156]) - (r * MAGIC[78])), z + ((r * MAGIC[78]) + (r * MAGIC[156])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[52]) - (r * MAGIC[126])), z + ((r * MAGIC[126]) + (r * MAGIC[52])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[118]) - (r * MAGIC[83])), z + ((r * MAGIC[83]) + (r * MAGIC[118])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[118]) - (r * MAGIC[130])), z + ((r * MAGIC[130]) + (r * MAGIC[118])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[52]) - (r * MAGIC[53])), z + ((r * MAGIC[53]) + (r * MAGIC[52])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[156]) - (r * MAGIC[124])), z + ((r * MAGIC[124]) + (r * MAGIC[156])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[86]) - (r * MAGIC[170])), z + ((r * MAGIC[170]) + (r * MAGIC[86])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[125]) - (r * MAGIC[171])), z + ((r * MAGIC[171]) + (r * MAGIC[125])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[94]) - (r * MAGIC[48])), z + ((r * MAGIC[48]) + (r * MAGIC[94])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[50]) - (r * MAGIC[51])), z + ((r * MAGIC[51]) + (r * MAGIC[50])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[117]) - (r * MAGIC[116])), z + ((r * MAGIC[116]) + (r * MAGIC[117])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[91]) - (r * MAGIC[90])), z + ((r * MAGIC[90]) + (r * MAGIC[91])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[131]) - (r * MAGIC[92])), z + ((r * MAGIC[92]) + (r * MAGIC[131])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[54]) - (r * MAGIC[172])), z + ((r * MAGIC[172]) + (r * MAGIC[54])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[132]) - (r * MAGIC[88])), z + ((r * MAGIC[88]) + (r * MAGIC[132])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[87]) - (r * MAGIC[88])), z + ((r * MAGIC[88]) + (r * MAGIC[87])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[155]) - (r * MAGIC[172])), z + ((r * MAGIC[172]) + (r * MAGIC[155])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[93]) - (r * MAGIC[92])), z + ((r * MAGIC[92]) + (r * MAGIC[93])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[128]) - (r * MAGIC[90])), z + ((r * MAGIC[90]) + (r * MAGIC[128])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[41]) - (r * MAGIC[116])), z + ((r * MAGIC[116]) + (r * MAGIC[41])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[80]) - (r * MAGIC[51])), z + ((r * MAGIC[51]) + (r * MAGIC[80])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[47]) - (r * MAGIC[48])), z + ((r * MAGIC[48]) + (r * MAGIC[47])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[108]) - (r * MAGIC[171])), z + ((r * MAGIC[171]) + (r * MAGIC[108])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[43]) - (r * MAGIC[170])), z + ((r * MAGIC[170]) + (r * MAGIC[43])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[79]) - (r * MAGIC[124])), z + ((r * MAGIC[124]) + (r * MAGIC[79])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[127]) - (r * MAGIC[53])), z + ((r * MAGIC[53]) + (r * MAGIC[127])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[82]) - (r * MAGIC[130])), z + ((r * MAGIC[130]) + (r * MAGIC[82])))))*0.008264462F; +} + +private static float sc122(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[82]) - (r * MAGIC[83])), z + ((r * MAGIC[83]) + (r * MAGIC[82])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[127]) - (r * MAGIC[126])), z + ((r * MAGIC[126]) + (r * MAGIC[127])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[79]) - (r * MAGIC[78])), z + ((r * MAGIC[78]) + (r * MAGIC[79])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[43]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[43])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[108]) - (r * MAGIC[107])), z + ((r * MAGIC[107]) + (r * MAGIC[108])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[47]) - (r * MAGIC[95])), z + ((r * MAGIC[95]) + (r * MAGIC[47])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[80]) - (r * MAGIC[81])), z + ((r * MAGIC[81]) + (r * MAGIC[80])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[41]) - (r * MAGIC[42])), z + ((r * MAGIC[42]) + (r * MAGIC[41])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[128]) - (r * MAGIC[129])), z + ((r * MAGIC[129]) + (r * MAGIC[128])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[93]) - (r * MAGIC[123])), z + ((r * MAGIC[123]) + (r * MAGIC[93])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[155]) - (r * MAGIC[55])), z + ((r * MAGIC[55]) + (r * MAGIC[155])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[87]) - (r * MAGIC[169])), z + ((r * MAGIC[169]) + (r * MAGIC[87])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[132]) - (r * MAGIC[169])), z + ((r * MAGIC[169]) + (r * MAGIC[132])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[54]) - (r * MAGIC[55])), z + ((r * MAGIC[55]) + (r * MAGIC[54])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[131]) - (r * MAGIC[123])), z + ((r * MAGIC[123]) + (r * MAGIC[131])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[91]) - (r * MAGIC[129])), z + ((r * MAGIC[129]) + (r * MAGIC[91])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[117]) - (r * MAGIC[42])), z + ((r * MAGIC[42]) + (r * MAGIC[117])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[50]) - (r * MAGIC[81])), z + ((r * MAGIC[81]) + (r * MAGIC[50])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[94]) - (r * MAGIC[95])), z + ((r * MAGIC[95]) + (r * MAGIC[94])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[125]) - (r * MAGIC[107])), z + ((r * MAGIC[107]) + (r * MAGIC[125])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[86]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[86])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[156]) - (r * MAGIC[78])), z + ((r * MAGIC[78]) + (r * MAGIC[156])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[52]) - (r * MAGIC[126])), z + ((r * MAGIC[126]) + (r * MAGIC[52])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[118]) - (r * MAGIC[83])), z + ((r * MAGIC[83]) + (r * MAGIC[118])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[118]) - (r * MAGIC[130])), z + ((r * MAGIC[130]) + (r * MAGIC[118])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[52]) - (r * MAGIC[53])), z + ((r * MAGIC[53]) + (r * MAGIC[52])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[156]) - (r * MAGIC[124])), z + ((r * MAGIC[124]) + (r * MAGIC[156])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[86]) - (r * MAGIC[170])), z + ((r * MAGIC[170]) + (r * MAGIC[86])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[125]) - (r * MAGIC[171])), z + ((r * MAGIC[171]) + (r * MAGIC[125])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[94]) - (r * MAGIC[48])), z + ((r * MAGIC[48]) + (r * MAGIC[94])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[50]) - (r * MAGIC[51])), z + ((r * MAGIC[51]) + (r * MAGIC[50])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[117]) - (r * MAGIC[116])), z + ((r * MAGIC[116]) + (r * MAGIC[117])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[91]) - (r * MAGIC[90])), z + ((r * MAGIC[90]) + (r * MAGIC[91])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[131]) - (r * MAGIC[92])), z + ((r * MAGIC[92]) + (r * MAGIC[131])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[54]) - (r * MAGIC[172])), z + ((r * MAGIC[172]) + (r * MAGIC[54])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[132]) - (r * MAGIC[88])), z + ((r * MAGIC[88]) + (r * MAGIC[132])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[87]) - (r * MAGIC[88])), z + ((r * MAGIC[88]) + (r * MAGIC[87])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[155]) - (r * MAGIC[172])), z + ((r * MAGIC[172]) + (r * MAGIC[155])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[93]) - (r * MAGIC[92])), z + ((r * MAGIC[92]) + (r * MAGIC[93])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[128]) - (r * MAGIC[90])), z + ((r * MAGIC[90]) + (r * MAGIC[128])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[41]) - (r * MAGIC[116])), z + ((r * MAGIC[116]) + (r * MAGIC[41])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[80]) - (r * MAGIC[51])), z + ((r * MAGIC[51]) + (r * MAGIC[80])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[47]) - (r * MAGIC[48])), z + ((r * MAGIC[48]) + (r * MAGIC[47])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[108]) - (r * MAGIC[171])), z + ((r * MAGIC[171]) + (r * MAGIC[108])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[43]) - (r * MAGIC[170])), z + ((r * MAGIC[170]) + (r * MAGIC[43])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[79]) - (r * MAGIC[124])), z + ((r * MAGIC[124]) + (r * MAGIC[79])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[127]) - (r * MAGIC[53])), z + ((r * MAGIC[53]) + (r * MAGIC[127])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[82]) - (r * MAGIC[130])), z + ((r * MAGIC[130]) + (r * MAGIC[82])))))*0.008196721F; +} + +private static float sc123(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[82]) - (r * MAGIC[83])), z + ((r * MAGIC[83]) + (r * MAGIC[82])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[127]) - (r * MAGIC[126])), z + ((r * MAGIC[126]) + (r * MAGIC[127])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[79]) - (r * MAGIC[78])), z + ((r * MAGIC[78]) + (r * MAGIC[79])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[43]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[43])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[108]) - (r * MAGIC[107])), z + ((r * MAGIC[107]) + (r * MAGIC[108])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[47]) - (r * MAGIC[95])), z + ((r * MAGIC[95]) + (r * MAGIC[47])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[80]) - (r * MAGIC[81])), z + ((r * MAGIC[81]) + (r * MAGIC[80])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[41]) - (r * MAGIC[42])), z + ((r * MAGIC[42]) + (r * MAGIC[41])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[128]) - (r * MAGIC[129])), z + ((r * MAGIC[129]) + (r * MAGIC[128])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[93]) - (r * MAGIC[123])), z + ((r * MAGIC[123]) + (r * MAGIC[93])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[155]) - (r * MAGIC[55])), z + ((r * MAGIC[55]) + (r * MAGIC[155])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[87]) - (r * MAGIC[169])), z + ((r * MAGIC[169]) + (r * MAGIC[87])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[132]) - (r * MAGIC[169])), z + ((r * MAGIC[169]) + (r * MAGIC[132])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[54]) - (r * MAGIC[55])), z + ((r * MAGIC[55]) + (r * MAGIC[54])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[131]) - (r * MAGIC[123])), z + ((r * MAGIC[123]) + (r * MAGIC[131])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[91]) - (r * MAGIC[129])), z + ((r * MAGIC[129]) + (r * MAGIC[91])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[117]) - (r * MAGIC[42])), z + ((r * MAGIC[42]) + (r * MAGIC[117])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[50]) - (r * MAGIC[81])), z + ((r * MAGIC[81]) + (r * MAGIC[50])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[94]) - (r * MAGIC[95])), z + ((r * MAGIC[95]) + (r * MAGIC[94])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[125]) - (r * MAGIC[107])), z + ((r * MAGIC[107]) + (r * MAGIC[125])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[86]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[86])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[156]) - (r * MAGIC[78])), z + ((r * MAGIC[78]) + (r * MAGIC[156])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[52]) - (r * MAGIC[126])), z + ((r * MAGIC[126]) + (r * MAGIC[52])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[118]) - (r * MAGIC[83])), z + ((r * MAGIC[83]) + (r * MAGIC[118])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[118]) - (r * MAGIC[130])), z + ((r * MAGIC[130]) + (r * MAGIC[118])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[52]) - (r * MAGIC[53])), z + ((r * MAGIC[53]) + (r * MAGIC[52])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[156]) - (r * MAGIC[124])), z + ((r * MAGIC[124]) + (r * MAGIC[156])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[86]) - (r * MAGIC[170])), z + ((r * MAGIC[170]) + (r * MAGIC[86])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[125]) - (r * MAGIC[171])), z + ((r * MAGIC[171]) + (r * MAGIC[125])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[94]) - (r * MAGIC[48])), z + ((r * MAGIC[48]) + (r * MAGIC[94])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[50]) - (r * MAGIC[51])), z + ((r * MAGIC[51]) + (r * MAGIC[50])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[117]) - (r * MAGIC[116])), z + ((r * MAGIC[116]) + (r * MAGIC[117])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[91]) - (r * MAGIC[90])), z + ((r * MAGIC[90]) + (r * MAGIC[91])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[131]) - (r * MAGIC[92])), z + ((r * MAGIC[92]) + (r * MAGIC[131])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[54]) - (r * MAGIC[172])), z + ((r * MAGIC[172]) + (r * MAGIC[54])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[132]) - (r * MAGIC[88])), z + ((r * MAGIC[88]) + (r * MAGIC[132])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[87]) - (r * MAGIC[88])), z + ((r * MAGIC[88]) + (r * MAGIC[87])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[155]) - (r * MAGIC[172])), z + ((r * MAGIC[172]) + (r * MAGIC[155])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[93]) - (r * MAGIC[92])), z + ((r * MAGIC[92]) + (r * MAGIC[93])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[128]) - (r * MAGIC[90])), z + ((r * MAGIC[90]) + (r * MAGIC[128])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[41]) - (r * MAGIC[116])), z + ((r * MAGIC[116]) + (r * MAGIC[41])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[80]) - (r * MAGIC[51])), z + ((r * MAGIC[51]) + (r * MAGIC[80])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[47]) - (r * MAGIC[48])), z + ((r * MAGIC[48]) + (r * MAGIC[47])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[108]) - (r * MAGIC[171])), z + ((r * MAGIC[171]) + (r * MAGIC[108])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[43]) - (r * MAGIC[170])), z + ((r * MAGIC[170]) + (r * MAGIC[43])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[79]) - (r * MAGIC[124])), z + ((r * MAGIC[124]) + (r * MAGIC[79])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[127]) - (r * MAGIC[53])), z + ((r * MAGIC[53]) + (r * MAGIC[127])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[82]) - (r * MAGIC[130])), z + ((r * MAGIC[130]) + (r * MAGIC[82])))))*0.008130081F; +} + +private static float sc124(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[82]) - (r * MAGIC[83])), z + ((r * MAGIC[83]) + (r * MAGIC[82])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[127]) - (r * MAGIC[126])), z + ((r * MAGIC[126]) + (r * MAGIC[127])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[79]) - (r * MAGIC[78])), z + ((r * MAGIC[78]) + (r * MAGIC[79])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[43]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[43])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[108]) - (r * MAGIC[107])), z + ((r * MAGIC[107]) + (r * MAGIC[108])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[47]) - (r * MAGIC[95])), z + ((r * MAGIC[95]) + (r * MAGIC[47])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[80]) - (r * MAGIC[81])), z + ((r * MAGIC[81]) + (r * MAGIC[80])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[41]) - (r * MAGIC[42])), z + ((r * MAGIC[42]) + (r * MAGIC[41])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[128]) - (r * MAGIC[129])), z + ((r * MAGIC[129]) + (r * MAGIC[128])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[93]) - (r * MAGIC[123])), z + ((r * MAGIC[123]) + (r * MAGIC[93])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[155]) - (r * MAGIC[55])), z + ((r * MAGIC[55]) + (r * MAGIC[155])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[87]) - (r * MAGIC[169])), z + ((r * MAGIC[169]) + (r * MAGIC[87])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[132]) - (r * MAGIC[169])), z + ((r * MAGIC[169]) + (r * MAGIC[132])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[54]) - (r * MAGIC[55])), z + ((r * MAGIC[55]) + (r * MAGIC[54])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[131]) - (r * MAGIC[123])), z + ((r * MAGIC[123]) + (r * MAGIC[131])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[91]) - (r * MAGIC[129])), z + ((r * MAGIC[129]) + (r * MAGIC[91])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[117]) - (r * MAGIC[42])), z + ((r * MAGIC[42]) + (r * MAGIC[117])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[50]) - (r * MAGIC[81])), z + ((r * MAGIC[81]) + (r * MAGIC[50])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[94]) - (r * MAGIC[95])), z + ((r * MAGIC[95]) + (r * MAGIC[94])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[125]) - (r * MAGIC[107])), z + ((r * MAGIC[107]) + (r * MAGIC[125])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[86]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[86])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[156]) - (r * MAGIC[78])), z + ((r * MAGIC[78]) + (r * MAGIC[156])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[52]) - (r * MAGIC[126])), z + ((r * MAGIC[126]) + (r * MAGIC[52])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[118]) - (r * MAGIC[83])), z + ((r * MAGIC[83]) + (r * MAGIC[118])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[118]) - (r * MAGIC[130])), z + ((r * MAGIC[130]) + (r * MAGIC[118])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[52]) - (r * MAGIC[53])), z + ((r * MAGIC[53]) + (r * MAGIC[52])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[156]) - (r * MAGIC[124])), z + ((r * MAGIC[124]) + (r * MAGIC[156])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[86]) - (r * MAGIC[170])), z + ((r * MAGIC[170]) + (r * MAGIC[86])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[125]) - (r * MAGIC[171])), z + ((r * MAGIC[171]) + (r * MAGIC[125])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[94]) - (r * MAGIC[48])), z + ((r * MAGIC[48]) + (r * MAGIC[94])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[50]) - (r * MAGIC[51])), z + ((r * MAGIC[51]) + (r * MAGIC[50])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[117]) - (r * MAGIC[116])), z + ((r * MAGIC[116]) + (r * MAGIC[117])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[91]) - (r * MAGIC[90])), z + ((r * MAGIC[90]) + (r * MAGIC[91])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[131]) - (r * MAGIC[92])), z + ((r * MAGIC[92]) + (r * MAGIC[131])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[54]) - (r * MAGIC[172])), z + ((r * MAGIC[172]) + (r * MAGIC[54])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[132]) - (r * MAGIC[88])), z + ((r * MAGIC[88]) + (r * MAGIC[132])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[87]) - (r * MAGIC[88])), z + ((r * MAGIC[88]) + (r * MAGIC[87])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[155]) - (r * MAGIC[172])), z + ((r * MAGIC[172]) + (r * MAGIC[155])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[93]) - (r * MAGIC[92])), z + ((r * MAGIC[92]) + (r * MAGIC[93])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[128]) - (r * MAGIC[90])), z + ((r * MAGIC[90]) + (r * MAGIC[128])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[41]) - (r * MAGIC[116])), z + ((r * MAGIC[116]) + (r * MAGIC[41])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[80]) - (r * MAGIC[51])), z + ((r * MAGIC[51]) + (r * MAGIC[80])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[47]) - (r * MAGIC[48])), z + ((r * MAGIC[48]) + (r * MAGIC[47])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[108]) - (r * MAGIC[171])), z + ((r * MAGIC[171]) + (r * MAGIC[108])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[43]) - (r * MAGIC[170])), z + ((r * MAGIC[170]) + (r * MAGIC[43])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[79]) - (r * MAGIC[124])), z + ((r * MAGIC[124]) + (r * MAGIC[79])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[127]) - (r * MAGIC[53])), z + ((r * MAGIC[53]) + (r * MAGIC[127])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[82]) - (r * MAGIC[130])), z + ((r * MAGIC[130]) + (r * MAGIC[82])))))*0.008064516F; +} + +private static float sc125(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[82]) - (r * MAGIC[83])), z + ((r * MAGIC[83]) + (r * MAGIC[82])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[127]) - (r * MAGIC[126])), z + ((r * MAGIC[126]) + (r * MAGIC[127])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[79]) - (r * MAGIC[78])), z + ((r * MAGIC[78]) + (r * MAGIC[79])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[43]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[43])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[108]) - (r * MAGIC[107])), z + ((r * MAGIC[107]) + (r * MAGIC[108])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[47]) - (r * MAGIC[95])), z + ((r * MAGIC[95]) + (r * MAGIC[47])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[80]) - (r * MAGIC[81])), z + ((r * MAGIC[81]) + (r * MAGIC[80])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[41]) - (r * MAGIC[42])), z + ((r * MAGIC[42]) + (r * MAGIC[41])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[128]) - (r * MAGIC[129])), z + ((r * MAGIC[129]) + (r * MAGIC[128])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[93]) - (r * MAGIC[123])), z + ((r * MAGIC[123]) + (r * MAGIC[93])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[155]) - (r * MAGIC[55])), z + ((r * MAGIC[55]) + (r * MAGIC[155])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[87]) - (r * MAGIC[169])), z + ((r * MAGIC[169]) + (r * MAGIC[87])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[132]) - (r * MAGIC[169])), z + ((r * MAGIC[169]) + (r * MAGIC[132])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[54]) - (r * MAGIC[55])), z + ((r * MAGIC[55]) + (r * MAGIC[54])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[131]) - (r * MAGIC[123])), z + ((r * MAGIC[123]) + (r * MAGIC[131])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[91]) - (r * MAGIC[129])), z + ((r * MAGIC[129]) + (r * MAGIC[91])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[117]) - (r * MAGIC[42])), z + ((r * MAGIC[42]) + (r * MAGIC[117])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[50]) - (r * MAGIC[81])), z + ((r * MAGIC[81]) + (r * MAGIC[50])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[94]) - (r * MAGIC[95])), z + ((r * MAGIC[95]) + (r * MAGIC[94])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[125]) - (r * MAGIC[107])), z + ((r * MAGIC[107]) + (r * MAGIC[125])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[86]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[86])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[156]) - (r * MAGIC[78])), z + ((r * MAGIC[78]) + (r * MAGIC[156])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[52]) - (r * MAGIC[126])), z + ((r * MAGIC[126]) + (r * MAGIC[52])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[118]) - (r * MAGIC[83])), z + ((r * MAGIC[83]) + (r * MAGIC[118])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[118]) - (r * MAGIC[130])), z + ((r * MAGIC[130]) + (r * MAGIC[118])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[52]) - (r * MAGIC[53])), z + ((r * MAGIC[53]) + (r * MAGIC[52])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[156]) - (r * MAGIC[124])), z + ((r * MAGIC[124]) + (r * MAGIC[156])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[86]) - (r * MAGIC[170])), z + ((r * MAGIC[170]) + (r * MAGIC[86])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[125]) - (r * MAGIC[171])), z + ((r * MAGIC[171]) + (r * MAGIC[125])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[94]) - (r * MAGIC[48])), z + ((r * MAGIC[48]) + (r * MAGIC[94])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[50]) - (r * MAGIC[51])), z + ((r * MAGIC[51]) + (r * MAGIC[50])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[117]) - (r * MAGIC[116])), z + ((r * MAGIC[116]) + (r * MAGIC[117])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[91]) - (r * MAGIC[90])), z + ((r * MAGIC[90]) + (r * MAGIC[91])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[131]) - (r * MAGIC[92])), z + ((r * MAGIC[92]) + (r * MAGIC[131])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[54]) - (r * MAGIC[172])), z + ((r * MAGIC[172]) + (r * MAGIC[54])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[132]) - (r * MAGIC[88])), z + ((r * MAGIC[88]) + (r * MAGIC[132])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[87]) - (r * MAGIC[88])), z + ((r * MAGIC[88]) + (r * MAGIC[87])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[155]) - (r * MAGIC[172])), z + ((r * MAGIC[172]) + (r * MAGIC[155])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[93]) - (r * MAGIC[92])), z + ((r * MAGIC[92]) + (r * MAGIC[93])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[128]) - (r * MAGIC[90])), z + ((r * MAGIC[90]) + (r * MAGIC[128])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[41]) - (r * MAGIC[116])), z + ((r * MAGIC[116]) + (r * MAGIC[41])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[80]) - (r * MAGIC[51])), z + ((r * MAGIC[51]) + (r * MAGIC[80])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[47]) - (r * MAGIC[48])), z + ((r * MAGIC[48]) + (r * MAGIC[47])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[108]) - (r * MAGIC[171])), z + ((r * MAGIC[171]) + (r * MAGIC[108])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[43]) - (r * MAGIC[170])), z + ((r * MAGIC[170]) + (r * MAGIC[43])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[79]) - (r * MAGIC[124])), z + ((r * MAGIC[124]) + (r * MAGIC[79])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[127]) - (r * MAGIC[53])), z + ((r * MAGIC[53]) + (r * MAGIC[127])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[82]) - (r * MAGIC[130])), z + ((r * MAGIC[130]) + (r * MAGIC[82])))))*0.008F; +} + +private static float sc126(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[82]) - (r * MAGIC[83])), z + ((r * MAGIC[83]) + (r * MAGIC[82])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[127]) - (r * MAGIC[126])), z + ((r * MAGIC[126]) + (r * MAGIC[127])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[79]) - (r * MAGIC[78])), z + ((r * MAGIC[78]) + (r * MAGIC[79])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[43]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[43])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[108]) - (r * MAGIC[107])), z + ((r * MAGIC[107]) + (r * MAGIC[108])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[47]) - (r * MAGIC[95])), z + ((r * MAGIC[95]) + (r * MAGIC[47])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[80]) - (r * MAGIC[81])), z + ((r * MAGIC[81]) + (r * MAGIC[80])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[41]) - (r * MAGIC[42])), z + ((r * MAGIC[42]) + (r * MAGIC[41])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[128]) - (r * MAGIC[129])), z + ((r * MAGIC[129]) + (r * MAGIC[128])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[93]) - (r * MAGIC[123])), z + ((r * MAGIC[123]) + (r * MAGIC[93])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[155]) - (r * MAGIC[55])), z + ((r * MAGIC[55]) + (r * MAGIC[155])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[87]) - (r * MAGIC[169])), z + ((r * MAGIC[169]) + (r * MAGIC[87])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[132]) - (r * MAGIC[169])), z + ((r * MAGIC[169]) + (r * MAGIC[132])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[54]) - (r * MAGIC[55])), z + ((r * MAGIC[55]) + (r * MAGIC[54])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[131]) - (r * MAGIC[123])), z + ((r * MAGIC[123]) + (r * MAGIC[131])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[91]) - (r * MAGIC[129])), z + ((r * MAGIC[129]) + (r * MAGIC[91])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[117]) - (r * MAGIC[42])), z + ((r * MAGIC[42]) + (r * MAGIC[117])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[50]) - (r * MAGIC[81])), z + ((r * MAGIC[81]) + (r * MAGIC[50])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[94]) - (r * MAGIC[95])), z + ((r * MAGIC[95]) + (r * MAGIC[94])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[125]) - (r * MAGIC[107])), z + ((r * MAGIC[107]) + (r * MAGIC[125])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[86]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[86])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[156]) - (r * MAGIC[78])), z + ((r * MAGIC[78]) + (r * MAGIC[156])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[52]) - (r * MAGIC[126])), z + ((r * MAGIC[126]) + (r * MAGIC[52])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[118]) - (r * MAGIC[83])), z + ((r * MAGIC[83]) + (r * MAGIC[118])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[118]) - (r * MAGIC[130])), z + ((r * MAGIC[130]) + (r * MAGIC[118])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[52]) - (r * MAGIC[53])), z + ((r * MAGIC[53]) + (r * MAGIC[52])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[156]) - (r * MAGIC[124])), z + ((r * MAGIC[124]) + (r * MAGIC[156])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[86]) - (r * MAGIC[170])), z + ((r * MAGIC[170]) + (r * MAGIC[86])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[125]) - (r * MAGIC[171])), z + ((r * MAGIC[171]) + (r * MAGIC[125])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[94]) - (r * MAGIC[48])), z + ((r * MAGIC[48]) + (r * MAGIC[94])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[50]) - (r * MAGIC[51])), z + ((r * MAGIC[51]) + (r * MAGIC[50])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[117]) - (r * MAGIC[116])), z + ((r * MAGIC[116]) + (r * MAGIC[117])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[91]) - (r * MAGIC[90])), z + ((r * MAGIC[90]) + (r * MAGIC[91])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[131]) - (r * MAGIC[92])), z + ((r * MAGIC[92]) + (r * MAGIC[131])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[54]) - (r * MAGIC[172])), z + ((r * MAGIC[172]) + (r * MAGIC[54])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[132]) - (r * MAGIC[88])), z + ((r * MAGIC[88]) + (r * MAGIC[132])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[87]) - (r * MAGIC[88])), z + ((r * MAGIC[88]) + (r * MAGIC[87])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[155]) - (r * MAGIC[172])), z + ((r * MAGIC[172]) + (r * MAGIC[155])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[93]) - (r * MAGIC[92])), z + ((r * MAGIC[92]) + (r * MAGIC[93])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[128]) - (r * MAGIC[90])), z + ((r * MAGIC[90]) + (r * MAGIC[128])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[41]) - (r * MAGIC[116])), z + ((r * MAGIC[116]) + (r * MAGIC[41])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[80]) - (r * MAGIC[51])), z + ((r * MAGIC[51]) + (r * MAGIC[80])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[47]) - (r * MAGIC[48])), z + ((r * MAGIC[48]) + (r * MAGIC[47])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[108]) - (r * MAGIC[171])), z + ((r * MAGIC[171]) + (r * MAGIC[108])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[43]) - (r * MAGIC[170])), z + ((r * MAGIC[170]) + (r * MAGIC[43])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[79]) - (r * MAGIC[124])), z + ((r * MAGIC[124]) + (r * MAGIC[79])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[127]) - (r * MAGIC[53])), z + ((r * MAGIC[53]) + (r * MAGIC[127])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[82]) - (r * MAGIC[130])), z + ((r * MAGIC[130]) + (r * MAGIC[82])))))*0.007936508F; +} + +private static float sc127(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[82]) - (r * MAGIC[83])), z + ((r * MAGIC[83]) + (r * MAGIC[82])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[127]) - (r * MAGIC[126])), z + ((r * MAGIC[126]) + (r * MAGIC[127])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[79]) - (r * MAGIC[78])), z + ((r * MAGIC[78]) + (r * MAGIC[79])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[43]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[43])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[108]) - (r * MAGIC[107])), z + ((r * MAGIC[107]) + (r * MAGIC[108])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[47]) - (r * MAGIC[95])), z + ((r * MAGIC[95]) + (r * MAGIC[47])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[80]) - (r * MAGIC[81])), z + ((r * MAGIC[81]) + (r * MAGIC[80])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[41]) - (r * MAGIC[42])), z + ((r * MAGIC[42]) + (r * MAGIC[41])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[128]) - (r * MAGIC[129])), z + ((r * MAGIC[129]) + (r * MAGIC[128])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[93]) - (r * MAGIC[123])), z + ((r * MAGIC[123]) + (r * MAGIC[93])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[155]) - (r * MAGIC[55])), z + ((r * MAGIC[55]) + (r * MAGIC[155])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[87]) - (r * MAGIC[169])), z + ((r * MAGIC[169]) + (r * MAGIC[87])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[132]) - (r * MAGIC[169])), z + ((r * MAGIC[169]) + (r * MAGIC[132])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[54]) - (r * MAGIC[55])), z + ((r * MAGIC[55]) + (r * MAGIC[54])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[131]) - (r * MAGIC[123])), z + ((r * MAGIC[123]) + (r * MAGIC[131])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[91]) - (r * MAGIC[129])), z + ((r * MAGIC[129]) + (r * MAGIC[91])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[117]) - (r * MAGIC[42])), z + ((r * MAGIC[42]) + (r * MAGIC[117])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[50]) - (r * MAGIC[81])), z + ((r * MAGIC[81]) + (r * MAGIC[50])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[94]) - (r * MAGIC[95])), z + ((r * MAGIC[95]) + (r * MAGIC[94])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[125]) - (r * MAGIC[107])), z + ((r * MAGIC[107]) + (r * MAGIC[125])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[86]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[86])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[156]) - (r * MAGIC[78])), z + ((r * MAGIC[78]) + (r * MAGIC[156])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[52]) - (r * MAGIC[126])), z + ((r * MAGIC[126]) + (r * MAGIC[52])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[118]) - (r * MAGIC[83])), z + ((r * MAGIC[83]) + (r * MAGIC[118])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[118]) - (r * MAGIC[130])), z + ((r * MAGIC[130]) + (r * MAGIC[118])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[52]) - (r * MAGIC[53])), z + ((r * MAGIC[53]) + (r * MAGIC[52])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[156]) - (r * MAGIC[124])), z + ((r * MAGIC[124]) + (r * MAGIC[156])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[86]) - (r * MAGIC[170])), z + ((r * MAGIC[170]) + (r * MAGIC[86])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[125]) - (r * MAGIC[171])), z + ((r * MAGIC[171]) + (r * MAGIC[125])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[94]) - (r * MAGIC[48])), z + ((r * MAGIC[48]) + (r * MAGIC[94])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[50]) - (r * MAGIC[51])), z + ((r * MAGIC[51]) + (r * MAGIC[50])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[117]) - (r * MAGIC[116])), z + ((r * MAGIC[116]) + (r * MAGIC[117])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[91]) - (r * MAGIC[90])), z + ((r * MAGIC[90]) + (r * MAGIC[91])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[131]) - (r * MAGIC[92])), z + ((r * MAGIC[92]) + (r * MAGIC[131])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[54]) - (r * MAGIC[172])), z + ((r * MAGIC[172]) + (r * MAGIC[54])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[132]) - (r * MAGIC[88])), z + ((r * MAGIC[88]) + (r * MAGIC[132])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[87]) - (r * MAGIC[88])), z + ((r * MAGIC[88]) + (r * MAGIC[87])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[155]) - (r * MAGIC[172])), z + ((r * MAGIC[172]) + (r * MAGIC[155])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[93]) - (r * MAGIC[92])), z + ((r * MAGIC[92]) + (r * MAGIC[93])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[128]) - (r * MAGIC[90])), z + ((r * MAGIC[90]) + (r * MAGIC[128])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[41]) - (r * MAGIC[116])), z + ((r * MAGIC[116]) + (r * MAGIC[41])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[80]) - (r * MAGIC[51])), z + ((r * MAGIC[51]) + (r * MAGIC[80])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[47]) - (r * MAGIC[48])), z + ((r * MAGIC[48]) + (r * MAGIC[47])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[108]) - (r * MAGIC[171])), z + ((r * MAGIC[171]) + (r * MAGIC[108])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[43]) - (r * MAGIC[170])), z + ((r * MAGIC[170]) + (r * MAGIC[43])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[79]) - (r * MAGIC[124])), z + ((r * MAGIC[124]) + (r * MAGIC[79])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[127]) - (r * MAGIC[53])), z + ((r * MAGIC[53]) + (r * MAGIC[127])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[82]) - (r * MAGIC[130])), z + ((r * MAGIC[130]) + (r * MAGIC[82])))))*0.007874016F; +} + +private static float sc128(float x, float z, float r, NoiseProvider n) { + return (((float)n.noise(x + ((r * MAGIC[1]) - (r * MAGIC[0])), z + ((r * MAGIC[0]) + (r * MAGIC[1])))) + +((float)n.noise(x + ((r * MAGIC[82]) - (r * MAGIC[83])), z + ((r * MAGIC[83]) + (r * MAGIC[82])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[127]) - (r * MAGIC[126])), z + ((r * MAGIC[126]) + (r * MAGIC[127])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[79]) - (r * MAGIC[78])), z + ((r * MAGIC[78]) + (r * MAGIC[79])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[43]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[43])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[108]) - (r * MAGIC[107])), z + ((r * MAGIC[107]) + (r * MAGIC[108])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[47]) - (r * MAGIC[95])), z + ((r * MAGIC[95]) + (r * MAGIC[47])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[80]) - (r * MAGIC[81])), z + ((r * MAGIC[81]) + (r * MAGIC[80])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[41]) - (r * MAGIC[42])), z + ((r * MAGIC[42]) + (r * MAGIC[41])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[128]) - (r * MAGIC[129])), z + ((r * MAGIC[129]) + (r * MAGIC[128])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[93]) - (r * MAGIC[123])), z + ((r * MAGIC[123]) + (r * MAGIC[93])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[155]) - (r * MAGIC[55])), z + ((r * MAGIC[55]) + (r * MAGIC[155])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[87]) - (r * MAGIC[169])), z + ((r * MAGIC[169]) + (r * MAGIC[87])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[7]) - (r * MAGIC[1])), z + ((r * MAGIC[1]) + (r * MAGIC[7])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[82])), z + ((r * MAGIC[82]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[132]) - (r * MAGIC[169])), z + ((r * MAGIC[169]) + (r * MAGIC[132])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[45])), z + ((r * MAGIC[45]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[54]) - (r * MAGIC[55])), z + ((r * MAGIC[55]) + (r * MAGIC[54])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[32])), z + ((r * MAGIC[32]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[18])), z + ((r * MAGIC[18]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[127])), z + ((r * MAGIC[127]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[131]) - (r * MAGIC[123])), z + ((r * MAGIC[123]) + (r * MAGIC[131])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[9])), z + ((r * MAGIC[9]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[84])), z + ((r * MAGIC[84]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[79])), z + ((r * MAGIC[79]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[72])), z + ((r * MAGIC[72]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[43])), z + ((r * MAGIC[43]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[91]) - (r * MAGIC[129])), z + ((r * MAGIC[129]) + (r * MAGIC[91])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[4])), z + ((r * MAGIC[4]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[117]) - (r * MAGIC[42])), z + ((r * MAGIC[42]) + (r * MAGIC[117])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[108])), z + ((r * MAGIC[108]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[39])), z + ((r * MAGIC[39]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[47])), z + ((r * MAGIC[47]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[31])), z + ((r * MAGIC[31]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[73])), z + ((r * MAGIC[73]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[50]) - (r * MAGIC[81])), z + ((r * MAGIC[81]) + (r * MAGIC[50])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[80])), z + ((r * MAGIC[80]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[74])), z + ((r * MAGIC[74]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[30])), z + ((r * MAGIC[30]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[94]) - (r * MAGIC[95])), z + ((r * MAGIC[95]) + (r * MAGIC[94])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[11])), z + ((r * MAGIC[11]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[125]) - (r * MAGIC[107])), z + ((r * MAGIC[107]) + (r * MAGIC[125])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[41])), z + ((r * MAGIC[41]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[15])), z + ((r * MAGIC[15]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[128])), z + ((r * MAGIC[128]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[86]) - (r * MAGIC[44])), z + ((r * MAGIC[44]) + (r * MAGIC[86])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[71])), z + ((r * MAGIC[71]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[156]) - (r * MAGIC[78])), z + ((r * MAGIC[78]) + (r * MAGIC[156])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[34])), z + ((r * MAGIC[34]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[10])), z + ((r * MAGIC[10]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[93])), z + ((r * MAGIC[93]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[52]) - (r * MAGIC[126])), z + ((r * MAGIC[126]) + (r * MAGIC[52])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[75])), z + ((r * MAGIC[75]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[33])), z + ((r * MAGIC[33]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[155])), z + ((r * MAGIC[155]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[98])), z + ((r * MAGIC[98]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[87])), z + ((r * MAGIC[87]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[118]) - (r * MAGIC[83])), z + ((r * MAGIC[83]) + (r * MAGIC[118])))) + +((float)n.noise(x + ((r * MAGIC[3]) - (r * MAGIC[2])), z + ((r * MAGIC[2]) + (r * MAGIC[3])))) + +((float)n.noise(x + ((r * MAGIC[118]) - (r * MAGIC[130])), z + ((r * MAGIC[130]) + (r * MAGIC[118])))) + +((float)n.noise(x + ((r * MAGIC[88]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[88])))) + +((float)n.noise(x + ((r * MAGIC[76]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[76])))) + +((float)n.noise(x + ((r * MAGIC[172]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[172])))) + +((float)n.noise(x + ((r * MAGIC[37]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[37])))) + +((float)n.noise(x + ((r * MAGIC[49]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[49])))) + +((float)n.noise(x + ((r * MAGIC[52]) - (r * MAGIC[53])), z + ((r * MAGIC[53]) + (r * MAGIC[52])))) + +((float)n.noise(x + ((r * MAGIC[92]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[92])))) + +((float)n.noise(x + ((r * MAGIC[14]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[14])))) + +((float)n.noise(x + ((r * MAGIC[35]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[35])))) + +((float)n.noise(x + ((r * MAGIC[156]) - (r * MAGIC[124])), z + ((r * MAGIC[124]) + (r * MAGIC[156])))) + +((float)n.noise(x + ((r * MAGIC[23]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[23])))) + +((float)n.noise(x + ((r * MAGIC[86]) - (r * MAGIC[170])), z + ((r * MAGIC[170]) + (r * MAGIC[86])))) + +((float)n.noise(x + ((r * MAGIC[90]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[90])))) + +((float)n.noise(x + ((r * MAGIC[6]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[6])))) + +((float)n.noise(x + ((r * MAGIC[116]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[116])))) + +((float)n.noise(x + ((r * MAGIC[125]) - (r * MAGIC[171])), z + ((r * MAGIC[171]) + (r * MAGIC[125])))) + +((float)n.noise(x + ((r * MAGIC[12]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[12])))) + +((float)n.noise(x + ((r * MAGIC[94]) - (r * MAGIC[48])), z + ((r * MAGIC[48]) + (r * MAGIC[94])))) + +((float)n.noise(x + ((r * MAGIC[89]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[89])))) + +((float)n.noise(x + ((r * MAGIC[77]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[77])))) + +((float)n.noise(x + ((r * MAGIC[51]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[51])))) + +((float)n.noise(x + ((r * MAGIC[50]) - (r * MAGIC[51])), z + ((r * MAGIC[51]) + (r * MAGIC[50])))) + +((float)n.noise(x + ((r * MAGIC[85]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[85])))) + +((float)n.noise(x + ((r * MAGIC[38]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[38])))) + +((float)n.noise(x + ((r * MAGIC[48]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[48])))) + +((float)n.noise(x + ((r * MAGIC[13]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[13])))) + +((float)n.noise(x + ((r * MAGIC[171]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[171])))) + +((float)n.noise(x + ((r * MAGIC[117]) - (r * MAGIC[116])), z + ((r * MAGIC[116]) + (r * MAGIC[117])))) + +((float)n.noise(x + ((r * MAGIC[5]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[5])))) + +((float)n.noise(x + ((r * MAGIC[91]) - (r * MAGIC[90])), z + ((r * MAGIC[90]) + (r * MAGIC[91])))) + +((float)n.noise(x + ((r * MAGIC[170]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[170])))) + +((float)n.noise(x + ((r * MAGIC[22]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[22])))) + +((float)n.noise(x + ((r * MAGIC[124]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[124])))) + +((float)n.noise(x + ((r * MAGIC[36]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[36])))) + +((float)n.noise(x + ((r * MAGIC[40]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[40])))) + +((float)n.noise(x + ((r * MAGIC[131]) - (r * MAGIC[92])), z + ((r * MAGIC[92]) + (r * MAGIC[131])))) + +((float)n.noise(x + ((r * MAGIC[53]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[53])))) + +((float)n.noise(x + ((r * MAGIC[19]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[19])))) + +((float)n.noise(x + ((r * MAGIC[66]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[66])))) + +((float)n.noise(x + ((r * MAGIC[54]) - (r * MAGIC[172])), z + ((r * MAGIC[172]) + (r * MAGIC[54])))) + +((float)n.noise(x + ((r * MAGIC[46]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[46])))) + +((float)n.noise(x + ((r * MAGIC[132]) - (r * MAGIC[88])), z + ((r * MAGIC[88]) + (r * MAGIC[132])))) + +((float)n.noise(x + ((r * MAGIC[130]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[130])))) + +((float)n.noise(x + ((r * MAGIC[8]) - (r * MAGIC[3])), z + ((r * MAGIC[3]) + (r * MAGIC[8])))) + +((float)n.noise(x + ((r * MAGIC[83]) - (r * MAGIC[118])), z + ((r * MAGIC[118]) + (r * MAGIC[83])))) + +((float)n.noise(x + ((r * MAGIC[87]) - (r * MAGIC[88])), z + ((r * MAGIC[88]) + (r * MAGIC[87])))) + +((float)n.noise(x + ((r * MAGIC[98]) - (r * MAGIC[76])), z + ((r * MAGIC[76]) + (r * MAGIC[98])))) + +((float)n.noise(x + ((r * MAGIC[155]) - (r * MAGIC[172])), z + ((r * MAGIC[172]) + (r * MAGIC[155])))) + +((float)n.noise(x + ((r * MAGIC[33]) - (r * MAGIC[37])), z + ((r * MAGIC[37]) + (r * MAGIC[33])))) + +((float)n.noise(x + ((r * MAGIC[75]) - (r * MAGIC[49])), z + ((r * MAGIC[49]) + (r * MAGIC[75])))) + +((float)n.noise(x + ((r * MAGIC[126]) - (r * MAGIC[52])), z + ((r * MAGIC[52]) + (r * MAGIC[126])))) + +((float)n.noise(x + ((r * MAGIC[93]) - (r * MAGIC[92])), z + ((r * MAGIC[92]) + (r * MAGIC[93])))) + +((float)n.noise(x + ((r * MAGIC[10]) - (r * MAGIC[14])), z + ((r * MAGIC[14]) + (r * MAGIC[10])))) + +((float)n.noise(x + ((r * MAGIC[34]) - (r * MAGIC[35])), z + ((r * MAGIC[35]) + (r * MAGIC[34])))) + +((float)n.noise(x + ((r * MAGIC[78]) - (r * MAGIC[156])), z + ((r * MAGIC[156]) + (r * MAGIC[78])))) + +((float)n.noise(x + ((r * MAGIC[71]) - (r * MAGIC[23])), z + ((r * MAGIC[23]) + (r * MAGIC[71])))) + +((float)n.noise(x + ((r * MAGIC[44]) - (r * MAGIC[86])), z + ((r * MAGIC[86]) + (r * MAGIC[44])))) + +((float)n.noise(x + ((r * MAGIC[128]) - (r * MAGIC[90])), z + ((r * MAGIC[90]) + (r * MAGIC[128])))) + +((float)n.noise(x + ((r * MAGIC[15]) - (r * MAGIC[6])), z + ((r * MAGIC[6]) + (r * MAGIC[15])))) + +((float)n.noise(x + ((r * MAGIC[41]) - (r * MAGIC[116])), z + ((r * MAGIC[116]) + (r * MAGIC[41])))) + +((float)n.noise(x + ((r * MAGIC[107]) - (r * MAGIC[125])), z + ((r * MAGIC[125]) + (r * MAGIC[107])))) + +((float)n.noise(x + ((r * MAGIC[11]) - (r * MAGIC[12])), z + ((r * MAGIC[12]) + (r * MAGIC[11])))) + +((float)n.noise(x + ((r * MAGIC[95]) - (r * MAGIC[94])), z + ((r * MAGIC[94]) + (r * MAGIC[95])))) + +((float)n.noise(x + ((r * MAGIC[30]) - (r * MAGIC[89])), z + ((r * MAGIC[89]) + (r * MAGIC[30])))) + +((float)n.noise(x + ((r * MAGIC[74]) - (r * MAGIC[77])), z + ((r * MAGIC[77]) + (r * MAGIC[74])))) + +((float)n.noise(x + ((r * MAGIC[80]) - (r * MAGIC[51])), z + ((r * MAGIC[51]) + (r * MAGIC[80])))) + +((float)n.noise(x + ((r * MAGIC[81]) - (r * MAGIC[50])), z + ((r * MAGIC[50]) + (r * MAGIC[81])))) + +((float)n.noise(x + ((r * MAGIC[73]) - (r * MAGIC[85])), z + ((r * MAGIC[85]) + (r * MAGIC[73])))) + +((float)n.noise(x + ((r * MAGIC[31]) - (r * MAGIC[38])), z + ((r * MAGIC[38]) + (r * MAGIC[31])))) + +((float)n.noise(x + ((r * MAGIC[47]) - (r * MAGIC[48])), z + ((r * MAGIC[48]) + (r * MAGIC[47])))) + +((float)n.noise(x + ((r * MAGIC[39]) - (r * MAGIC[13])), z + ((r * MAGIC[13]) + (r * MAGIC[39])))) + +((float)n.noise(x + ((r * MAGIC[108]) - (r * MAGIC[171])), z + ((r * MAGIC[171]) + (r * MAGIC[108])))) + +((float)n.noise(x + ((r * MAGIC[42]) - (r * MAGIC[117])), z + ((r * MAGIC[117]) + (r * MAGIC[42])))) + +((float)n.noise(x + ((r * MAGIC[4]) - (r * MAGIC[5])), z + ((r * MAGIC[5]) + (r * MAGIC[4])))) + +((float)n.noise(x + ((r * MAGIC[129]) - (r * MAGIC[91])), z + ((r * MAGIC[91]) + (r * MAGIC[129])))) + +((float)n.noise(x + ((r * MAGIC[43]) - (r * MAGIC[170])), z + ((r * MAGIC[170]) + (r * MAGIC[43])))) + +((float)n.noise(x + ((r * MAGIC[72]) - (r * MAGIC[22])), z + ((r * MAGIC[22]) + (r * MAGIC[72])))) + +((float)n.noise(x + ((r * MAGIC[79]) - (r * MAGIC[124])), z + ((r * MAGIC[124]) + (r * MAGIC[79])))) + +((float)n.noise(x + ((r * MAGIC[84]) - (r * MAGIC[36])), z + ((r * MAGIC[36]) + (r * MAGIC[84])))) + +((float)n.noise(x + ((r * MAGIC[9]) - (r * MAGIC[40])), z + ((r * MAGIC[40]) + (r * MAGIC[9])))) + +((float)n.noise(x + ((r * MAGIC[123]) - (r * MAGIC[131])), z + ((r * MAGIC[131]) + (r * MAGIC[123])))) + +((float)n.noise(x + ((r * MAGIC[127]) - (r * MAGIC[53])), z + ((r * MAGIC[53]) + (r * MAGIC[127])))) + +((float)n.noise(x + ((r * MAGIC[18]) - (r * MAGIC[19])), z + ((r * MAGIC[19]) + (r * MAGIC[18])))) + +((float)n.noise(x + ((r * MAGIC[32]) - (r * MAGIC[66])), z + ((r * MAGIC[66]) + (r * MAGIC[32])))) + +((float)n.noise(x + ((r * MAGIC[55]) - (r * MAGIC[54])), z + ((r * MAGIC[54]) + (r * MAGIC[55])))) + +((float)n.noise(x + ((r * MAGIC[45]) - (r * MAGIC[46])), z + ((r * MAGIC[46]) + (r * MAGIC[45])))) + +((float)n.noise(x + ((r * MAGIC[169]) - (r * MAGIC[132])), z + ((r * MAGIC[132]) + (r * MAGIC[169])))) + +((float)n.noise(x + ((r * MAGIC[82]) - (r * MAGIC[130])), z + ((r * MAGIC[130]) + (r * MAGIC[82])))))*0.0078125F; +} + + +} \ No newline at end of file diff --git a/src/main/java/com/volmit/iris/util/interpolation/Starcast.java b/src/main/java/com/volmit/iris/util/interpolation/Starcast.java index 546957220..f263a7232 100644 --- a/src/main/java/com/volmit/iris/util/interpolation/Starcast.java +++ b/src/main/java/com/volmit/iris/util/interpolation/Starcast.java @@ -22,31 +22,7 @@ import com.volmit.iris.util.function.NoiseProvider; public class Starcast { public static double starcast(int x, int z, double r, double checks, boolean optimized, NoiseProvider n) { - if(optimized) { - if(checks == 3) return sc3(x, z, r, n); - else if(checks == 5) return sc5(x, z, r, n); - else if(checks == 6) return sc6(x, z, r, n); - else if(checks == 7) return sc7(x, z, r, n); - else if(checks == 9) return sc9(x, z, r, n); - else if(checks == 12) return sc12(x, z, r, n); - else if(checks == 24) return sc24(x, z, r, n); - else if(checks == 32) return sc32(x, z, r, n); - else if(checks == 48) return sc48(x, z, r, n); - else if(checks == 64) return sc64(x, z, r, n); - } - - double m = 360D / checks; - double v = 0; - - for(int i = 0; i < 360; i += m) { - double sin = Math.sin(Math.toRadians(i)); - double cos = Math.cos(Math.toRadians(i)); - double cx = x + ((r * cos) - (r * sin)); - double cz = z + ((r * sin) + (r * cos)); - v += n.noise(cx, cz); - } - - return v / checks; + return CompiledStarcast.getStarcast((float)x, (float)z, (float)r, (float)checks, n); } public static double starcast(int x, int z, double r, double checks, NoiseProvider n) { diff --git a/src/main/java/com/volmit/iris/util/stream/ProceduralStream.java b/src/main/java/com/volmit/iris/util/stream/ProceduralStream.java index 764730c27..fe2b70327 100644 --- a/src/main/java/com/volmit/iris/util/stream/ProceduralStream.java +++ b/src/main/java/com/volmit/iris/util/stream/ProceduralStream.java @@ -138,6 +138,7 @@ public interface ProceduralStream extends ProceduralLayer, Interpolated { } default ProceduralStream contextInjecting(Function3 contextAccessor) { + //return this; return new ContextInjectingStream<>(this, contextAccessor); } @@ -146,7 +147,8 @@ public interface ProceduralStream extends ProceduralLayer, Interpolated { } default ProceduralStream waste(String name) { - return new WasteDetector(this, name); + return this; + //return new WasteDetector(this, name); } default ProceduralStream subtract(ProceduralStream a) { From 7528bd343b5084191c900ab2c8b9d5bf8b895bb2 Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Mon, 12 Sep 2022 07:06:45 -0400 Subject: [PATCH 09/31] 3x --- .../com/volmit/iris/engine/IrisComplex.java | 61 +++++++------ .../engine/actuator/IrisBiomeActuator.java | 63 ++++++------- .../engine/actuator/IrisDecorantActuator.java | 91 +++++++++---------- .../actuator/IrisTerrainNormalActuator.java | 7 +- .../iris/engine/mode/ModeOverworld.java | 33 +++++-- .../volmit/iris/util/cache/ChunkCache2D.java | 27 ++++++ .../volmit/iris/util/cache/WorldCache2D.java | 34 +++++++ .../com/volmit/iris/util/data/KCache.java | 5 +- .../util/hunk/view/ChunkDataHunkHolder.java | 3 +- .../util/hunk/view/ChunkDataHunkView.java | 33 ++++++- .../util/stream/utility/CachedStream2D.java | 11 ++- .../utility/ContextInjectingStream.java | 6 +- 12 files changed, 238 insertions(+), 136 deletions(-) create mode 100644 src/main/java/com/volmit/iris/util/cache/ChunkCache2D.java create mode 100644 src/main/java/com/volmit/iris/util/cache/WorldCache2D.java diff --git a/src/main/java/com/volmit/iris/engine/IrisComplex.java b/src/main/java/com/volmit/iris/engine/IrisComplex.java index ba89bbe8b..2ad1c02cd 100644 --- a/src/main/java/com/volmit/iris/engine/IrisComplex.java +++ b/src/main/java/com/volmit/iris/engine/IrisComplex.java @@ -33,6 +33,7 @@ import com.volmit.iris.engine.object.IrisRegion; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.collection.KSet; +import com.volmit.iris.util.context.IrisContext; import com.volmit.iris.util.data.DataProvider; import com.volmit.iris.util.math.M; import com.volmit.iris.util.math.RNG; @@ -118,9 +119,9 @@ public class IrisComplex implements DataProvider { overlayStream = ProceduralStream.ofDouble((x, z) -> 0.0D).waste("Overlay Stream"); engine.getDimension().getOverlayNoise().forEach(i -> overlayStream = overlayStream.add((x, z) -> i.get(rng, getData(), x, z))); rockStream = engine.getDimension().getRockPalette().getLayerGenerator(rng.nextParallelRNG(45), data).stream() - .select(engine.getDimension().getRockPalette().getBlockData(data)).waste("Rock Stream").contextInjecting((c,x,z)->c.getRock().get(x, z)); + .select(engine.getDimension().getRockPalette().getBlockData(data)).waste("Rock Stream"); fluidStream = engine.getDimension().getFluidPalette().getLayerGenerator(rng.nextParallelRNG(78), data).stream() - .select(engine.getDimension().getFluidPalette().getBlockData(data)).waste("Fluid Stream").contextInjecting((c,x,z)->c.getFluid().get(x, z)); + .select(engine.getDimension().getFluidPalette().getBlockData(data)).waste("Fluid Stream"); regionStyleStream = engine.getDimension().getRegionStyle().create(rng.nextParallelRNG(883), getData()).stream() .zoom(engine.getDimension().getRegionZoom()).waste("Region Style"); regionIdentityStream = regionStyleStream.fit(Integer.MIN_VALUE, Integer.MAX_VALUE).waste("Region Identity Stream"); @@ -129,33 +130,35 @@ public class IrisComplex implements DataProvider { Interpolated.of(a -> 0D, a -> focusRegion)) : regionStyleStream .selectRarity(data.getRegionLoader().loadAll(engine.getDimension().getRegions())) - .cache2D("regionStream", engine, cacheSize).waste("Region Stream") - .contextInjecting((c,x,z)->c.getRegion().get(x, z)); + .cache2D("regionStream", engine, cacheSize).waste("Region Stream"); regionIDStream = regionIdentityStream.convertCached((i) -> new UUID(Double.doubleToLongBits(i), String.valueOf(i * 38445).hashCode() * 3245556666L)).waste("Region ID Stream"); - caveBiomeStream = regionStream.convert((r) + caveBiomeStream = regionStream.contextInjecting((c,x,z)-> IrisContext.getOr(engine).getChunkContext().getRegion().get(x, z)) + .convert((r) -> engine.getDimension().getCaveBiomeStyle().create(rng.nextParallelRNG(InferredType.CAVE.ordinal()), getData()).stream() .zoom(r.getCaveBiomeZoom()) .selectRarity(data.getBiomeLoader().loadAll(r.getCaveBiomes())) .onNull(emptyBiome) - ).convertAware2D(ProceduralStream::get).cache2D("caveBiomeStream", engine, cacheSize).waste("Cave Biome Stream") - .contextInjecting((c,x,z)->c.getCave().get(x, z)); + ).convertAware2D(ProceduralStream::get).cache2D("caveBiomeStream", engine, cacheSize).waste("Cave Biome Stream"); inferredStreams.put(InferredType.CAVE, caveBiomeStream); - landBiomeStream = regionStream.convert((r) + landBiomeStream = regionStream.contextInjecting((c,x,z)-> IrisContext.getOr(engine).getChunkContext().getRegion().get(x, z)) + .convert((r) -> engine.getDimension().getLandBiomeStyle().create(rng.nextParallelRNG(InferredType.LAND.ordinal()), getData()).stream() .zoom(r.getLandBiomeZoom()) .selectRarity(data.getBiomeLoader().loadAll(r.getLandBiomes(), (t) -> t.setInferredType(InferredType.LAND))) ).convertAware2D(ProceduralStream::get) .cache2D("landBiomeStream", engine, cacheSize).waste("Land Biome Stream"); inferredStreams.put(InferredType.LAND, landBiomeStream); - seaBiomeStream = regionStream.convert((r) + seaBiomeStream = regionStream.contextInjecting((c,x,z)-> IrisContext.getOr(engine).getChunkContext().getRegion().get(x, z)) + .convert((r) -> engine.getDimension().getSeaBiomeStyle().create(rng.nextParallelRNG(InferredType.SEA.ordinal()), getData()).stream() .zoom(r.getSeaBiomeZoom()) .selectRarity(data.getBiomeLoader().loadAll(r.getSeaBiomes(), (t) -> t.setInferredType(InferredType.SEA))) ).convertAware2D(ProceduralStream::get) .cache2D("seaBiomeStream", engine, cacheSize).waste("Sea Biome Stream"); inferredStreams.put(InferredType.SEA, seaBiomeStream); - shoreBiomeStream = regionStream.convert((r) + shoreBiomeStream = regionStream.contextInjecting((c,x,z)-> IrisContext.getOr(engine).getChunkContext().getRegion().get(x, z)) + .convert((r) -> engine.getDimension().getShoreBiomeStyle().create(rng.nextParallelRNG(InferredType.SHORE.ordinal()), getData()).stream() .zoom(r.getShoreBiomeZoom()) .selectRarity(data.getBiomeLoader().loadAll(r.getShoreBiomes(), (t) -> t.setInferredType(InferredType.SHORE))) @@ -175,37 +178,39 @@ public class IrisComplex implements DataProvider { heightStream = ProceduralStream.of((x, z) -> { IrisBiome b = focusBiome != null ? focusBiome : baseBiomeStream.get(x, z); return getHeight(engine, b, x, z, engine.getSeedManager().getHeight()); - }, Interpolated.DOUBLE).cache2D("heightStream", engine, cacheSize).waste("Height Stream") - .contextInjecting((c,x,z)->c.getHeight().get(x, z)); - roundedHeighteightStream = heightStream.round().waste("Rounded Height Stream") - .contextInjecting((c,x,z)->(int)Math.round(c.getHeight().get(x, z))); - slopeStream = heightStream.slope(3).cache2D("slopeStream", engine, cacheSize).waste("Slope Stream"); + }, Interpolated.DOUBLE).cache2D("heightStream", engine, cacheSize).waste("Height Stream"); + roundedHeighteightStream = heightStream.contextInjecting((c,x,z)-> IrisContext.getOr(engine).getChunkContext().getHeight().get(x, z)) + .round().waste("Rounded Height Stream"); + slopeStream = heightStream.contextInjecting((c,x,z)-> IrisContext.getOr(engine).getChunkContext().getHeight().get(x, z)) + .slope(3).cache2D("slopeStream", engine, cacheSize).waste("Slope Stream"); trueBiomeStream = focusBiome != null ? ProceduralStream.of((x, y) -> focusBiome, Interpolated.of(a -> 0D, b -> focusBiome)) .cache2D("trueBiomeStream-focus", engine, cacheSize) : heightStream .convertAware2D((h, x, z) -> fixBiomeType(h, baseBiomeStream.get(x, z), - regionStream.get(x, z), x, z, fluidHeight)) - .cache2D("trueBiomeStream", engine, cacheSize).waste("True Biome Stream") - .contextInjecting((c,x,z)->c.getBiome().get(x, z)); - trueBiomeDerivativeStream = trueBiomeStream.convert(IrisBiome::getDerivative).cache2D("trueBiomeDerivativeStream", engine, cacheSize).waste("True Biome Derivative Stream"); - heightFluidStream = heightStream.max(fluidHeight).cache2D("heightFluidStream", engine, cacheSize).waste("Height Fluid Stream"); + regionStream.contextInjecting((c,xx,zz)-> IrisContext.getOr(engine).getChunkContext().getRegion().get(xx, zz)).get(x, z), x, z, fluidHeight)) + .cache2D("trueBiomeStream", engine, cacheSize).waste("True Biome Stream"); + trueBiomeDerivativeStream = trueBiomeStream.contextInjecting((c,x,z)-> IrisContext.getOr(engine).getChunkContext().getBiome().get(x, z)) + .convert(IrisBiome::getDerivative).cache2D("trueBiomeDerivativeStream", engine, cacheSize).waste("True Biome Derivative Stream"); + heightFluidStream = heightStream.contextInjecting((c,x,z)-> IrisContext.getOr(engine).getChunkContext().getHeight().get(x, z)) + .max(fluidHeight).cache2D("heightFluidStream", engine, cacheSize).waste("Height Fluid Stream"); maxHeightStream = ProceduralStream.ofDouble((x, z) -> height).waste("Max Height Stream"); - terrainSurfaceDecoration = trueBiomeStream + terrainSurfaceDecoration = trueBiomeStream.contextInjecting((c,x,z)-> IrisContext.getOr(engine).getChunkContext().getBiome().get(x, z)) .convertAware2D((b, xx, zz) -> decorateFor(b, xx, zz, IrisDecorationPart.NONE)).cache2D("terrainSurfaceDecoration", engine, cacheSize).waste("Surface Decoration Stream"); - terrainCeilingDecoration = trueBiomeStream + terrainCeilingDecoration = trueBiomeStream.contextInjecting((c,x,z)-> IrisContext.getOr(engine).getChunkContext().getBiome().get(x, z)) .convertAware2D((b, xx, zz) -> decorateFor(b, xx, zz, IrisDecorationPart.CEILING)).cache2D("terrainCeilingDecoration", engine, cacheSize).waste("Ceiling Decoration Stream"); - terrainCaveSurfaceDecoration = caveBiomeStream + terrainCaveSurfaceDecoration = caveBiomeStream.contextInjecting((c,x,z)-> IrisContext.getOr(engine).getChunkContext().getCave().get(x, z)) .convertAware2D((b, xx, zz) -> decorateFor(b, xx, zz, IrisDecorationPart.NONE)).cache2D("terrainCaveSurfaceDecoration", engine, cacheSize).waste("Cave Surface Stream"); - terrainCaveCeilingDecoration = caveBiomeStream + terrainCaveCeilingDecoration = caveBiomeStream.contextInjecting((c,x,z)-> IrisContext.getOr(engine).getChunkContext().getCave().get(x, z)) .convertAware2D((b, xx, zz) -> decorateFor(b, xx, zz, IrisDecorationPart.CEILING)).cache2D("terrainCaveCeilingDecoration", engine, cacheSize).waste("Cave Ceiling Stream"); - shoreSurfaceDecoration = trueBiomeStream + shoreSurfaceDecoration = trueBiomeStream.contextInjecting((c,x,z)-> IrisContext.getOr(engine).getChunkContext().getBiome().get(x, z)) .convertAware2D((b, xx, zz) -> decorateFor(b, xx, zz, IrisDecorationPart.SHORE_LINE)).cache2D("shoreSurfaceDecoration", engine, cacheSize).waste("Shore Surface Stream"); - seaSurfaceDecoration = trueBiomeStream + seaSurfaceDecoration = trueBiomeStream.contextInjecting((c,x,z)-> IrisContext.getOr(engine).getChunkContext().getBiome().get(x, z)) .convertAware2D((b, xx, zz) -> decorateFor(b, xx, zz, IrisDecorationPart.SEA_SURFACE)).cache2D("seaSurfaceDecoration", engine, cacheSize).waste("Sea Surface Stream"); - seaFloorDecoration = trueBiomeStream + seaFloorDecoration = trueBiomeStream.contextInjecting((c,x,z)-> IrisContext.getOr(engine).getChunkContext().getBiome().get(x, z)) .convertAware2D((b, xx, zz) -> decorateFor(b, xx, zz, IrisDecorationPart.SEA_FLOOR)).cache2D("seaFloorDecoration", engine, cacheSize).waste("Sea Floor Stream"); - baseBiomeIDStream = trueBiomeStream.convertAware2D((b, x, z) -> { + baseBiomeIDStream = trueBiomeStream.contextInjecting((c,x,z)-> IrisContext.getOr(engine).getChunkContext().getBiome().get(x, z)) + .convertAware2D((b, x, z) -> { UUID d = regionIDStream.get(x, z); return new UUID(b.getLoadKey().hashCode() * 818223L, d.hashCode()); diff --git a/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java b/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java index ff1b5a14f..71d0ffb43 100644 --- a/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java +++ b/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java @@ -78,50 +78,45 @@ public class IrisBiomeActuator extends EngineAssignedActuator { @Override public void onActuate(int x, int z, Hunk h, boolean multicore, ChunkContext context) { PrecisionStopwatch p = PrecisionStopwatch.start(); - BurstExecutor burst = burst().burst(PaperLib.isPaper() && multicore); for(int xf = 0; xf < h.getWidth(); xf++) { - int finalXf = xf; - burst.queue(() -> { - IrisBiome ib; - for(int zf = 0; zf < h.getDepth(); zf++) { - ib = context.getBiome().get(finalXf, zf); - int maxHeight = (int) (getComplex().getFluidHeight() + ib.getMaxWithObjectHeight(getData())); - if(ib.isCustom()) { - try { - IrisBiomeCustom custom = ib.getCustomBiome(rng, x, 0, z); - Object biomeBase = INMS.get().getCustomBiomeBaseHolderFor(getDimension().getLoadKey() + ":" + custom.getId()); + IrisBiome ib; + for(int zf = 0; zf < h.getDepth(); zf++) { + ib = context.getBiome().get(xf, zf); + int maxHeight = (int) (getComplex().getFluidHeight() + ib.getMaxWithObjectHeight(getData())); + if(ib.isCustom()) { + try { + IrisBiomeCustom custom = ib.getCustomBiome(rng, x, 0, z); + Object biomeBase = INMS.get().getCustomBiomeBaseHolderFor(getDimension().getLoadKey() + ":" + custom.getId()); - if(biomeBase == null || !injectBiome(h, x, 0, z, biomeBase)) { - throw new RuntimeException("Cant inject biome!"); - } - - for(int i = 0; i < maxHeight; i++) { - injectBiome(h, finalXf, i, zf, biomeBase); - } - } catch(Throwable e) { - Iris.reportError(e); - Biome v = ib.getSkyBiome(rng, x, 0, z); - for(int i = 0; i < maxHeight; i++) { - h.set(finalXf, i, zf, v); - } + if(biomeBase == null || !injectBiome(h, x, 0, z, biomeBase)) { + throw new RuntimeException("Cant inject biome!"); } - } else { - Biome v = ib.getSkyBiome(rng, x, 0, z); - if(v != null) { - for(int i = 0; i < maxHeight; i++) { - h.set(finalXf, i, zf, v); - } - } else if(cl.flip()) { - Iris.error("No biome provided for " + ib.getLoadKey()); + for(int i = 0; i < maxHeight; i++) { + injectBiome(h, xf, i, zf, biomeBase); + } + } catch(Throwable e) { + Iris.reportError(e); + Biome v = ib.getSkyBiome(rng, x, 0, z); + for(int i = 0; i < maxHeight; i++) { + h.set(xf, i, zf, v); } } + } else { + Biome v = ib.getSkyBiome(rng, x, 0, z); + + if(v != null) { + for(int i = 0; i < maxHeight; i++) { + h.set(xf, i, zf, v); + } + } else if(cl.flip()) { + Iris.error("No biome provided for " + ib.getLoadKey()); + } } - }); + } } - burst.complete(); getEngine().getMetrics().getBiome().put(p.getMilliseconds()); } } diff --git a/src/main/java/com/volmit/iris/engine/actuator/IrisDecorantActuator.java b/src/main/java/com/volmit/iris/engine/actuator/IrisDecorantActuator.java index 801861312..9002ea03e 100644 --- a/src/main/java/com/volmit/iris/engine/actuator/IrisDecorantActuator.java +++ b/src/main/java/com/volmit/iris/engine/actuator/IrisDecorantActuator.java @@ -73,69 +73,64 @@ public class IrisDecorantActuator extends EngineAssignedActuator { } PrecisionStopwatch p = PrecisionStopwatch.start(); - BurstExecutor burst = burst().burst(multicore); for(int i = 0; i < output.getWidth(); i++) { - int finalI = i; - burst.queue(() -> { - int height; - int realX = Math.round(x + finalI); - int realZ; - IrisBiome biome, cave; - for(int j = 0; j < output.getDepth(); j++) { - boolean solid; - int emptyFor = 0; - int lastSolid = 0; - realZ = Math.round(z + j); - height = (int) Math.round(context.getHeight().get(finalI, j)); - biome = context.getBiome().get(finalI, j); - cave = shouldRay ? context.getCave().get(finalI, j) : null; + int height; + int realX = Math.round(x + i); + int realZ; + IrisBiome biome, cave; + for(int j = 0; j < output.getDepth(); j++) { + boolean solid; + int emptyFor = 0; + int lastSolid = 0; + realZ = Math.round(z + j); + height = (int) Math.round(context.getHeight().get(i, j)); + biome = context.getBiome().get(i, j); + cave = shouldRay ? context.getCave().get(i, j) : null; - if(biome.getDecorators().isEmpty() && (cave == null || cave.getDecorators().isEmpty())) { - continue; - } + if(biome.getDecorators().isEmpty() && (cave == null || cave.getDecorators().isEmpty())) { + continue; + } - if(height < getDimension().getFluidHeight()) { - getSeaSurfaceDecorator().decorate(finalI, j, - realX, Math.round(finalI + 1), Math.round(x + finalI - 1), - realZ, Math.round(z + j + 1), Math.round(z + j - 1), - output, biome, getDimension().getFluidHeight(), getEngine().getHeight()); - getSeaFloorDecorator().decorate(finalI, j, - realX, realZ, output, biome, height + 1, - getDimension().getFluidHeight() + 1); - } + if(height < getDimension().getFluidHeight()) { + getSeaSurfaceDecorator().decorate(i, j, + realX, Math.round(i + 1), Math.round(x + i - 1), + realZ, Math.round(z + j + 1), Math.round(z + j - 1), + output, biome, getDimension().getFluidHeight(), getEngine().getHeight()); + getSeaFloorDecorator().decorate(i, j, + realX, realZ, output, biome, height + 1, + getDimension().getFluidHeight() + 1); + } - if(height == getDimension().getFluidHeight()) { - getShoreLineDecorator().decorate(finalI, j, - realX, Math.round(x + finalI + 1), Math.round(x + finalI - 1), - realZ, Math.round(z + j + 1), Math.round(z + j - 1), - output, biome, height, getEngine().getHeight()); - } + if(height == getDimension().getFluidHeight()) { + getShoreLineDecorator().decorate(i, j, + realX, Math.round(x + i + 1), Math.round(x + i - 1), + realZ, Math.round(z + j + 1), Math.round(z + j - 1), + output, biome, height, getEngine().getHeight()); + } - getSurfaceDecorator().decorate(finalI, j, realX, realZ, output, biome, height, getEngine().getHeight() - height); + getSurfaceDecorator().decorate(i, j, realX, realZ, output, biome, height, getEngine().getHeight() - height); - if(cave != null && cave.getDecorators().isNotEmpty()) { - for(int k = height; k > 0; k--) { - solid = PREDICATE_SOLID.test(output.get(finalI, k, j)); + if(cave != null && cave.getDecorators().isNotEmpty()) { + for(int k = height; k > 0; k--) { + solid = PREDICATE_SOLID.test(output.get(i, k, j)); - if(solid) { - if(emptyFor > 0) { - getSurfaceDecorator().decorate(finalI, j, realX, realZ, output, cave, k, lastSolid); - getCeilingDecorator().decorate(finalI, j, realX, realZ, output, cave, lastSolid - 1, emptyFor); - emptyFor = 0; - } - lastSolid = k; - } else { - emptyFor++; + if(solid) { + if(emptyFor > 0) { + getSurfaceDecorator().decorate(i, j, realX, realZ, output, cave, k, lastSolid); + getCeilingDecorator().decorate(i, j, realX, realZ, output, cave, lastSolid - 1, emptyFor); + emptyFor = 0; } + lastSolid = k; + } else { + emptyFor++; } } } - }); + } } - burst.complete(); getEngine().getMetrics().getDecoration().put(p.getMilliseconds()); } diff --git a/src/main/java/com/volmit/iris/engine/actuator/IrisTerrainNormalActuator.java b/src/main/java/com/volmit/iris/engine/actuator/IrisTerrainNormalActuator.java index f6f257f90..ac15fc913 100644 --- a/src/main/java/com/volmit/iris/engine/actuator/IrisTerrainNormalActuator.java +++ b/src/main/java/com/volmit/iris/engine/actuator/IrisTerrainNormalActuator.java @@ -27,7 +27,6 @@ import com.volmit.iris.util.context.ChunkContext; import com.volmit.iris.util.documentation.BlockCoordinates; import com.volmit.iris.util.hunk.Hunk; import com.volmit.iris.util.math.RNG; -import com.volmit.iris.util.parallel.BurstExecutor; import com.volmit.iris.util.scheduling.PrecisionStopwatch; import lombok.Getter; import org.bukkit.Material; @@ -54,14 +53,10 @@ public class IrisTerrainNormalActuator extends EngineAssignedActuator public void onActuate(int x, int z, Hunk h, boolean multicore, ChunkContext context) { PrecisionStopwatch p = PrecisionStopwatch.start(); - BurstExecutor e = burst().burst(multicore); for(int xf = 0; xf < h.getWidth(); xf++) { - int finalXf = xf; - e.queue(() -> terrainSliver(x, z, finalXf, h, context)); + terrainSliver(x, z, xf, h, context); } - e.complete(); - getEngine().getMetrics().getTerrain().put(p.getMilliseconds()); } diff --git a/src/main/java/com/volmit/iris/engine/mode/ModeOverworld.java b/src/main/java/com/volmit/iris/engine/mode/ModeOverworld.java index 4c4a64e91..bd19cf06a 100644 --- a/src/main/java/com/volmit/iris/engine/mode/ModeOverworld.java +++ b/src/main/java/com/volmit/iris/engine/mode/ModeOverworld.java @@ -23,6 +23,7 @@ import com.volmit.iris.engine.actuator.IrisDecorantActuator; import com.volmit.iris.engine.actuator.IrisTerrainNormalActuator; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.EngineMode; +import com.volmit.iris.engine.framework.EngineStage; import com.volmit.iris.engine.framework.IrisEngineMode; import com.volmit.iris.engine.modifier.IrisCarveModifier; import com.volmit.iris.engine.modifier.IrisDepositModifier; @@ -40,17 +41,31 @@ public class ModeOverworld extends IrisEngineMode implements EngineMode { var post = new IrisPostModifier(getEngine()); var deposit = new IrisDepositModifier(getEngine()); var perfection = new IrisPerfectionModifier(getEngine()); + EngineStage sBiome = (x, z, k, p, m, c) -> biome.actuate(x, z, p, m, c); + EngineStage sGenMatter = (x, z, k, p, m, c) -> generateMatter(x >> 4, z >> 4, m, c); + EngineStage sTerrain = (x, z, k, p, m, c) -> terrain.actuate(x, z, k, m, c); + EngineStage sDecorant = (x, z, k, p, m, c) -> decorant.actuate(x, z, k, m, c); + EngineStage sCave = (x, z, k, p, m, c) -> cave.modify(x >> 4, z >> 4, k, m, c); + EngineStage sDeposit = (x, z, k, p, m, c) -> deposit.modify(x, z, k, m,c); + EngineStage sPost = (x, z, k, p, m, c) -> post.modify(x, z, k, m, c); + EngineStage sInsertMatter = (x, z, K, p, m, c) -> getMantle().insertMatter(x >> 4, z >> 4, BlockData.class, K, m); + EngineStage sPerfection = (x, z, k, p, m, c) -> perfection.modify(x, z, k, m, c); - registerStage((x, z, k, p, m, c) -> biome.actuate(x, z, p, m, c)); registerStage(burst( - (x, z, k, p, m, c) -> generateMatter(x >> 4, z >> 4, m, c), - (x, z, k, p, m, c) -> terrain.actuate(x, z, k, m, c) + sBiome, + sGenMatter, + sTerrain )); - registerStage((x, z, k, p, m, c) -> cave.modify(x >> 4, z >> 4, k, m, c)); - registerStage((x, z, k, p, m, c) -> deposit.modify(x, z, k, m,c)); - registerStage((x, z, k, p, m, c) -> decorant.actuate(x, z, k, m, c)); - registerStage((x, z, k, p, m, c) -> post.modify(x, z, k, m, c)); - registerStage((x, z, K, p, m, c) -> getMantle().insertMatter(x >> 4, z >> 4, BlockData.class, K, m)); - registerStage((x, z, k, p, m, c) -> perfection.modify(x, z, k, m, c)); + registerStage(burst( + sCave, + sPost + )); + registerStage(burst( + sDeposit, + sInsertMatter, + sDecorant + )); + registerStage(sPerfection); + } } diff --git a/src/main/java/com/volmit/iris/util/cache/ChunkCache2D.java b/src/main/java/com/volmit/iris/util/cache/ChunkCache2D.java new file mode 100644 index 000000000..a0fa5261a --- /dev/null +++ b/src/main/java/com/volmit/iris/util/cache/ChunkCache2D.java @@ -0,0 +1,27 @@ +package com.volmit.iris.util.cache; + +import com.volmit.iris.util.data.ChunkCache; +import com.volmit.iris.util.function.Function2; + +import java.util.concurrent.atomic.AtomicReferenceArray; +import java.util.function.Function; + +public class ChunkCache2D { + private final AtomicReferenceArray cache; + + public ChunkCache2D() { + this.cache = new AtomicReferenceArray<>(256); + } + + public T get(int x, int z, Function2 resolver) { + int key = ((z & 15) * 16) + (x & 15); + T t = cache.get(key); + + if(t == null) { + t = resolver.apply(x, z); + cache.set(key, t); + } + + return t; + } +} diff --git a/src/main/java/com/volmit/iris/util/cache/WorldCache2D.java b/src/main/java/com/volmit/iris/util/cache/WorldCache2D.java new file mode 100644 index 000000000..2ccfbe77d --- /dev/null +++ b/src/main/java/com/volmit/iris/util/cache/WorldCache2D.java @@ -0,0 +1,34 @@ +package com.volmit.iris.util.cache; + +import com.volmit.iris.engine.data.cache.Cache; +import com.volmit.iris.util.collection.KMap; +import com.volmit.iris.util.context.ChunkedDataCache; +import com.volmit.iris.util.data.KCache; +import com.volmit.iris.util.function.Function2; +import com.volmit.iris.util.mantle.Mantle; +import com.volmit.iris.util.scheduling.ChronoLatch; +import it.unimi.dsi.fastutil.longs.Long2LongMaps; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.locks.ReentrantLock; + +public class WorldCache2D { + private final KCache> chunks; + private final Function2 resolver; + + public WorldCache2D(Function2 resolver) { + this.resolver = resolver; + chunks = new KCache<>((x) -> new ChunkCache2D<>(), 1024); + } + + public T get(int x, int z) { + ChunkCache2D chunk = chunks.get(Cache.key(x >> 4, z >> 4)); + return chunk.get(x, z, resolver); + } + + public long getSize() { + return chunks.getSize() * 256L; + } +} diff --git a/src/main/java/com/volmit/iris/util/data/KCache.java b/src/main/java/com/volmit/iris/util/data/KCache.java index eaa504571..c596e8844 100644 --- a/src/main/java/com/volmit/iris/util/data/KCache.java +++ b/src/main/java/com/volmit/iris/util/data/KCache.java @@ -24,6 +24,10 @@ import com.github.benmanes.caffeine.cache.LoadingCache; import com.volmit.iris.engine.framework.MeteredCache; import com.volmit.iris.util.math.RollingSequence; +import java.time.Duration; +import java.time.temporal.TemporalUnit; +import java.util.concurrent.TimeUnit; + public class KCache implements MeteredCache { private final long max; private CacheLoader loader; @@ -46,7 +50,6 @@ public class KCache implements MeteredCache { return Caffeine .newBuilder() .maximumSize(max) - .softValues() .initialCapacity((int) (max)) .build((k) -> loader == null ? null : loader.load(k)); } diff --git a/src/main/java/com/volmit/iris/util/hunk/view/ChunkDataHunkHolder.java b/src/main/java/com/volmit/iris/util/hunk/view/ChunkDataHunkHolder.java index cec67eb41..e110ad4dc 100644 --- a/src/main/java/com/volmit/iris/util/hunk/view/ChunkDataHunkHolder.java +++ b/src/main/java/com/volmit/iris/util/hunk/view/ChunkDataHunkHolder.java @@ -65,8 +65,7 @@ public class ChunkDataHunkHolder extends AtomicHunk { for(int k = 0; k < getDepth(); k++) { BlockData b = super.getRaw(j, i, k); - if(b != null) - { + if(b != null) { chunk.setBlock(j, i + chunk.getMinHeight(), k, b); } } diff --git a/src/main/java/com/volmit/iris/util/hunk/view/ChunkDataHunkView.java b/src/main/java/com/volmit/iris/util/hunk/view/ChunkDataHunkView.java index aa7fb9569..c8e7ca177 100644 --- a/src/main/java/com/volmit/iris/util/hunk/view/ChunkDataHunkView.java +++ b/src/main/java/com/volmit/iris/util/hunk/view/ChunkDataHunkView.java @@ -18,12 +18,14 @@ package com.volmit.iris.util.hunk.view; +import com.volmit.iris.util.data.B; import com.volmit.iris.util.hunk.Hunk; import org.bukkit.block.data.BlockData; import org.bukkit.generator.ChunkGenerator.ChunkData; @SuppressWarnings("ClassCanBeRecord") public class ChunkDataHunkView implements Hunk { + private static final BlockData AIR = B.getAir(); private final ChunkData chunk; public ChunkDataHunkView(ChunkData chunk) { @@ -54,17 +56,44 @@ public class ChunkDataHunkView implements Hunk { chunk.setRegion(x1, y1 + chunk.getMinHeight(), z1, x2, y2 + chunk.getMinHeight(), z2, t); } + + public BlockData get(int x, int y, int z) { + return getRaw(x, y, z); + } + + public void set(int x, int y, int z, BlockData t) { + setRaw(x, y, z, t); + } + @Override public void setRaw(int x, int y, int z, BlockData t) { if(t == null) { return; } - chunk.setBlock(x, y + chunk.getMinHeight(), z, t); + try { + + chunk.setBlock(x, y + chunk.getMinHeight(), z, t); + } + + catch(Throwable ignored) + { + + } } @Override public BlockData getRaw(int x, int y, int z) { - return chunk.getBlockData(x, y + chunk.getMinHeight(), z); + try { + + return chunk.getBlockData(x, y + chunk.getMinHeight(), z); + } + + catch(Throwable e) + { + + } + + return AIR; } } diff --git a/src/main/java/com/volmit/iris/util/stream/utility/CachedStream2D.java b/src/main/java/com/volmit/iris/util/stream/utility/CachedStream2D.java index 605a6587e..fb834874e 100644 --- a/src/main/java/com/volmit/iris/util/stream/utility/CachedStream2D.java +++ b/src/main/java/com/volmit/iris/util/stream/utility/CachedStream2D.java @@ -23,6 +23,7 @@ import com.volmit.iris.core.service.PreservationSVC; import com.volmit.iris.engine.data.cache.Cache; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.MeteredCache; +import com.volmit.iris.util.cache.WorldCache2D; import com.volmit.iris.util.data.KCache; import com.volmit.iris.util.hunk.Hunk; import com.volmit.iris.util.hunk.storage.ArrayHunk; @@ -31,7 +32,7 @@ import com.volmit.iris.util.stream.ProceduralStream; public class CachedStream2D extends BasicStream implements ProceduralStream, MeteredCache { private final ProceduralStream stream; - private final KCache cache; + private final WorldCache2D cache; private final Engine engine; private boolean chunked = true; @@ -39,7 +40,7 @@ public class CachedStream2D extends BasicStream implements ProceduralStrea super(); this.stream = stream; this.engine = engine; - cache = new KCache<>(k -> stream.get(Cache.keyX(k), Cache.keyZ(k)), size); + cache = new WorldCache2D<>(stream::get); Iris.service(PreservationSVC.class).registerCache(this); } @@ -56,7 +57,7 @@ public class CachedStream2D extends BasicStream implements ProceduralStrea @Override public T get(double x, double z) { //return stream.get(x, z); - return cache.get(Cache.key((int) x, (int) z)); + return cache.get((int) x, (int) z); } @Override @@ -71,12 +72,12 @@ public class CachedStream2D extends BasicStream implements ProceduralStrea @Override public KCache getRawCache() { - return cache; + return null; } @Override public long getMaxSize() { - return cache.getMaxSize(); + return 256 * 32; } @Override diff --git a/src/main/java/com/volmit/iris/util/stream/utility/ContextInjectingStream.java b/src/main/java/com/volmit/iris/util/stream/utility/ContextInjectingStream.java index cc31692e6..bb887855e 100644 --- a/src/main/java/com/volmit/iris/util/stream/utility/ContextInjectingStream.java +++ b/src/main/java/com/volmit/iris/util/stream/utility/ContextInjectingStream.java @@ -25,7 +25,11 @@ public class ContextInjectingStream extends BasicStream { ChunkContext chunkContext = context.getChunkContext(); if(chunkContext != null && (int)x >> 4 == chunkContext.getX() >> 4 && (int)z >> 4 == chunkContext.getZ() >> 4) { - return contextAccessor.apply(chunkContext, (int)x&15, (int)z&15); + T t = contextAccessor.apply(chunkContext, (int)x&15, (int)z&15); + + if(t != null) { + return t; + } } } From 251c52a2eeebc993cb59f8854a6258fd164255a9 Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Mon, 12 Sep 2022 17:26:14 -0400 Subject: [PATCH 10/31] Fix cave mod engine npe --- .../volmit/iris/engine/modifier/IrisCarveModifier.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/volmit/iris/engine/modifier/IrisCarveModifier.java b/src/main/java/com/volmit/iris/engine/modifier/IrisCarveModifier.java index b22c6df49..693688c7d 100644 --- a/src/main/java/com/volmit/iris/engine/modifier/IrisCarveModifier.java +++ b/src/main/java/com/volmit/iris/engine/modifier/IrisCarveModifier.java @@ -157,7 +157,7 @@ public class IrisCarveModifier extends EngineAssignedModifier { if(i == buf + 1) { buf = i; zone.ceiling = buf; - } else if(zone.isValid()) { + } else if(zone.isValid(getEngine())) { processZone(output, mc, mantle, zone, rx, rz, rx + (x << 4), rz + (z << 4)); zone = new CaveZone(); zone.setFloor(i); @@ -165,7 +165,7 @@ public class IrisCarveModifier extends EngineAssignedModifier { } } - if(zone.isValid()) { + if(zone.isValid(getEngine())) { processZone(output, mc, mantle, zone, rx, rz, rx + (x << 4), rz + (z << 4)); } }); @@ -276,8 +276,8 @@ public class IrisCarveModifier extends EngineAssignedModifier { return (ceiling - floor) - 1; } - public boolean isValid() { - return floor < ceiling && ceiling - floor >= 1 && floor >= 0 && ceiling <= IrisContext.get().getEngine().getHeight() && airThickness() > 0; + public boolean isValid(Engine engine) { + return floor < ceiling && ceiling - floor >= 1 && floor >= 0 && ceiling <= engine.getHeight() && airThickness() > 0; } public String toString() { From 563e0a7cd4269fca578afd7ad77fa991230d7cf5 Mon Sep 17 00:00:00 2001 From: Brian Fopiano Date: Mon, 12 Sep 2022 16:00:14 -0700 Subject: [PATCH 11/31] V+ --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 315311080..cfced68df 100644 --- a/build.gradle +++ b/build.gradle @@ -24,7 +24,7 @@ plugins { id "de.undercouch.download" version "5.0.1" } -version '2.2.18-1.19.2' // Needs to be version specific +version '2.2.19-1.19.2' // Needs to be version specific def nmsVersion = "1.19.2" //[NMS] def apiVersion = '1.19' def specialSourceVersion = '1.11.0' //[NMS] From cc850522e6e31e5ecce4daa90c498881980d69cd Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Tue, 13 Sep 2022 09:29:07 -0400 Subject: [PATCH 12/31] BRRRRRRRRRRRRRRRRRRR --- .../engine/data/chunk/LinkedTerrainChunk.java | 2 +- .../volmit/iris/engine/object/IrisWorld.java | 9 ++ .../engine/platform/BukkitChunkGenerator.java | 97 +++++++++++++++---- .../iris/engine/platform/DummyBiomeGrid.java | 29 ++++++ 4 files changed, 115 insertions(+), 22 deletions(-) create mode 100644 src/main/java/com/volmit/iris/engine/platform/DummyBiomeGrid.java diff --git a/src/main/java/com/volmit/iris/engine/data/chunk/LinkedTerrainChunk.java b/src/main/java/com/volmit/iris/engine/data/chunk/LinkedTerrainChunk.java index 38e9535b4..dc7775b19 100644 --- a/src/main/java/com/volmit/iris/engine/data/chunk/LinkedTerrainChunk.java +++ b/src/main/java/com/volmit/iris/engine/data/chunk/LinkedTerrainChunk.java @@ -38,7 +38,7 @@ public class LinkedTerrainChunk implements TerrainChunk { private final BiomeGrid storage; private ChunkData rawChunkData; @Setter - private boolean unsafe = false; + private boolean unsafe = true; public LinkedTerrainChunk(World world) { this(null, Bukkit.createChunkData(world)); diff --git a/src/main/java/com/volmit/iris/engine/object/IrisWorld.java b/src/main/java/com/volmit/iris/engine/object/IrisWorld.java index 0589521d8..2b5090d20 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisWorld.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisWorld.java @@ -32,6 +32,7 @@ import org.bukkit.Location; import org.bukkit.World; import org.bukkit.entity.Entity; import org.bukkit.entity.Player; +import org.bukkit.generator.WorldInfo; import java.io.File; import java.util.Collection; @@ -109,6 +110,14 @@ public class IrisWorld { } } + public void bind(WorldInfo worldInfo) { + name(worldInfo.getName()) + .worldFolder(new File(worldInfo.getName())) + .minHeight(worldInfo.getMinHeight()) + .maxHeight(worldInfo.getMaxHeight()) + .environment(worldInfo.getEnvironment()); + } + public void bind(World world) { if(hasRealWorld()) { return; diff --git a/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java b/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java index eff5384cc..c4a7da32a 100644 --- a/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java +++ b/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java @@ -46,6 +46,7 @@ import lombok.EqualsAndHashCode; import lombok.Setter; import org.bukkit.Bukkit; import org.bukkit.Chunk; +import org.bukkit.HeightMap; import org.bukkit.Material; import org.bukkit.World; import org.bukkit.block.Biome; @@ -64,6 +65,8 @@ import java.util.List; import java.util.Random; import java.util.concurrent.Semaphore; import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.locks.ReentrantLock; import java.util.function.Consumer; @EqualsAndHashCode(callSuper = true) @@ -75,6 +78,7 @@ public class BukkitChunkGenerator extends ChunkGenerator implements PlatformChun private final File dataLocation; private final String dimensionKey; private final ReactiveFolder folder; + private final ReentrantLock lock = new ReentrantLock(); private final KList populators; private final ChronoLatch hotloadChecker; private final AtomicBoolean setup; @@ -197,34 +201,42 @@ public class BukkitChunkGenerator extends ChunkGenerator implements PlatformChun } } - private Engine getEngine(World world) { + private Engine getEngine(WorldInfo world) { if(setup.get()) { return getEngine(); } - synchronized(this) { - getWorld().setRawWorldSeed(world.getSeed()); - setupEngine(); - this.hotloader = studio ? new Looper() { - @Override - protected long loop() { - if(hotloadChecker.flip()) { - folder.check(); - } + lock.lock(); - return 250; - } - } : null; - - if(studio) { - hotloader.setPriority(Thread.MIN_PRIORITY); - hotloader.start(); - hotloader.setName(getTarget().getWorld().name() + " Hotloader"); - } - - setup.set(true); + if(setup.get()) + { + return getEngine(); } + + setup.set(true); + getWorld().setRawWorldSeed(world.getSeed()); + setupEngine(); + this.hotloader = studio ? new Looper() { + @Override + protected long loop() { + if(hotloadChecker.flip()) { + folder.check(); + } + + return 250; + } + } : null; + + if(studio) { + hotloader.setPriority(Thread.MIN_PRIORITY); + hotloader.start(); + hotloader.setName(getTarget().getWorld().name() + " Hotloader"); + } + + lock.unlock(); + + return engine; } @@ -273,8 +285,51 @@ public class BukkitChunkGenerator extends ChunkGenerator implements PlatformChun getEngine(world); } + private final AtomicInteger a = new AtomicInteger(0); + + @Override + public void generateNoise(@NotNull WorldInfo world, @NotNull Random random, int x, int z, @NotNull ChunkGenerator.ChunkData d) { + try { + getEngine(world); + computeStudioGenerator(); + TerrainChunk tc = TerrainChunk.create(d, new IrisBiomeStorage()); + this.world.bind(world); + if(studioGenerator != null) { + studioGenerator.generateChunk(getEngine(), tc, x, z); + } else { + ChunkDataHunkHolder blocks = new ChunkDataHunkHolder(tc); + BiomeGridHunkHolder biomes = new BiomeGridHunkHolder(tc, tc.getMinHeight(), tc.getMaxHeight()); + getEngine().generate(x << 4, z << 4, blocks, biomes, true); + blocks.apply(); + biomes.apply(); + } + + Iris.debug("Generated " + x + " " + z); + } catch(Throwable e) { + Iris.error("======================================"); + e.printStackTrace(); + Iris.reportErrorChunk(x, z, e, "CHUNK"); + Iris.error("======================================"); + + for(int i = 0; i < 16; i++) { + for(int j = 0; j < 16; j++) { + d.setBlock(i, 0, j, Material.RED_GLAZED_TERRACOTTA.createBlockData()); + } + } + } + } + + @Override + public int getBaseHeight(@NotNull WorldInfo worldInfo, @NotNull Random random, int x, int z, @NotNull HeightMap heightMap) { + return 4; + } + @Override public @NotNull ChunkData generateChunkData(@NotNull World world, @NotNull Random ignored, int x, int z, @NotNull BiomeGrid biome) { + if(true) { + super.generateChunkData(world, ignored, x, z, biome); + } + try { getEngine(world); computeStudioGenerator(); diff --git a/src/main/java/com/volmit/iris/engine/platform/DummyBiomeGrid.java b/src/main/java/com/volmit/iris/engine/platform/DummyBiomeGrid.java new file mode 100644 index 000000000..0d9db538f --- /dev/null +++ b/src/main/java/com/volmit/iris/engine/platform/DummyBiomeGrid.java @@ -0,0 +1,29 @@ +package com.volmit.iris.engine.platform; + +import org.bukkit.block.Biome; +import org.bukkit.generator.ChunkGenerator; +import org.jetbrains.annotations.NotNull; + +public class DummyBiomeGrid implements ChunkGenerator.BiomeGrid { + @NotNull + @Override + public Biome getBiome(int x, int z) { + return null; + } + + @NotNull + @Override + public Biome getBiome(int x, int y, int z) { + return null; + } + + @Override + public void setBiome(int x, int z, @NotNull Biome bio) { + + } + + @Override + public void setBiome(int x, int y, int z, @NotNull Biome bio) { + + } +} From 3aa3c1347773f8cc542801dc4eb607ccefa1ae27 Mon Sep 17 00:00:00 2001 From: DanMB Date: Tue, 13 Sep 2022 22:55:26 -0400 Subject: [PATCH 13/31] Test speed --- .../engine/platform/BukkitChunkGenerator.java | 46 +------------------ 1 file changed, 1 insertion(+), 45 deletions(-) diff --git a/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java b/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java index c4a7da32a..abc506d11 100644 --- a/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java +++ b/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java @@ -299,7 +299,7 @@ public class BukkitChunkGenerator extends ChunkGenerator implements PlatformChun } else { ChunkDataHunkHolder blocks = new ChunkDataHunkHolder(tc); BiomeGridHunkHolder biomes = new BiomeGridHunkHolder(tc, tc.getMinHeight(), tc.getMaxHeight()); - getEngine().generate(x << 4, z << 4, blocks, biomes, true); + getEngine().generate(x << 4, z << 4, blocks, biomes, false); blocks.apply(); biomes.apply(); } @@ -324,50 +324,6 @@ public class BukkitChunkGenerator extends ChunkGenerator implements PlatformChun return 4; } - @Override - public @NotNull ChunkData generateChunkData(@NotNull World world, @NotNull Random ignored, int x, int z, @NotNull BiomeGrid biome) { - if(true) { - super.generateChunkData(world, ignored, x, z, biome); - } - - try { - getEngine(world); - computeStudioGenerator(); - TerrainChunk tc = TerrainChunk.create(world, biome); - this.world.bind(world); - - if(studioGenerator != null) { - studioGenerator.generateChunk(getEngine(), tc, x, z); - } else { - ChunkDataHunkHolder blocks = new ChunkDataHunkHolder(tc); - BiomeGridHunkHolder biomes = new BiomeGridHunkHolder(tc, tc.getMinHeight(), tc.getMaxHeight()); - getEngine().generate(x << 4, z << 4, blocks, biomes, true); - blocks.apply(); - biomes.apply(); - } - - ChunkData c = tc.getRaw(); - Iris.debug("Generated " + x + " " + z); - - return c; - } catch(Throwable e) { - Iris.error("======================================"); - e.printStackTrace(); - Iris.reportErrorChunk(x, z, e, "CHUNK"); - Iris.error("======================================"); - - ChunkData d = Bukkit.createChunkData(world); - - for(int i = 0; i < 16; i++) { - for(int j = 0; j < 16; j++) { - d.setBlock(i, 0, j, Material.RED_GLAZED_TERRACOTTA.createBlockData()); - } - } - - return d; - } - } - private void computeStudioGenerator() { if(!getEngine().getDimension().getStudioMode().equals(lastMode)) { lastMode = getEngine().getDimension().getStudioMode(); From a66d60eaeaa596ede1b303d27ac155ae94941783 Mon Sep 17 00:00:00 2001 From: DanMB Date: Tue, 13 Sep 2022 23:06:52 -0400 Subject: [PATCH 14/31] woah --- .../engine/platform/BukkitChunkGenerator.java | 2 +- .../iris/engine/platform/DummyBiomeProvider.java | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java b/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java index abc506d11..33a800179 100644 --- a/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java +++ b/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java @@ -299,7 +299,7 @@ public class BukkitChunkGenerator extends ChunkGenerator implements PlatformChun } else { ChunkDataHunkHolder blocks = new ChunkDataHunkHolder(tc); BiomeGridHunkHolder biomes = new BiomeGridHunkHolder(tc, tc.getMinHeight(), tc.getMaxHeight()); - getEngine().generate(x << 4, z << 4, blocks, biomes, false); + getEngine().generate(x << 4, z << 4, blocks, biomes, true); blocks.apply(); biomes.apply(); } diff --git a/src/main/java/com/volmit/iris/engine/platform/DummyBiomeProvider.java b/src/main/java/com/volmit/iris/engine/platform/DummyBiomeProvider.java index c453d5a62..4b6d74812 100644 --- a/src/main/java/com/volmit/iris/engine/platform/DummyBiomeProvider.java +++ b/src/main/java/com/volmit/iris/engine/platform/DummyBiomeProvider.java @@ -1,5 +1,6 @@ package com.volmit.iris.engine.platform; +import com.volmit.iris.Iris; import com.volmit.iris.util.collection.KList; import org.bukkit.block.Biome; import org.bukkit.generator.BiomeProvider; @@ -14,6 +15,20 @@ public class DummyBiomeProvider extends BiomeProvider { @NotNull @Override public Biome getBiome(@NotNull WorldInfo worldInfo, int x, int y, int z) { + if(x == 10000 && z == 10000) { + try + { + Iris.error("Im biome provider, who am i?"); + Iris.error(getClass().getCanonicalName()); + throw new RuntimeException("WHATS GOING ON"); + } + + catch(Throwable e) + { + e.printStackTrace(); + } + } + return Biome.PLAINS; } From 78e9f2143939b867bf0aecb72fe61c0beb493013 Mon Sep 17 00:00:00 2001 From: DanMB Date: Tue, 13 Sep 2022 23:32:11 -0400 Subject: [PATCH 15/31] f --- .../iris/core/nms/v19_2/NMSBinding19_2.java | 16 ++++++++++++---- .../iris/engine/platform/DummyBiomeProvider.java | 14 -------------- 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/volmit/iris/core/nms/v19_2/NMSBinding19_2.java b/src/main/java/com/volmit/iris/core/nms/v19_2/NMSBinding19_2.java index 6663b563f..c595ca6ac 100644 --- a/src/main/java/com/volmit/iris/core/nms/v19_2/NMSBinding19_2.java +++ b/src/main/java/com/volmit/iris/core/nms/v19_2/NMSBinding19_2.java @@ -22,7 +22,9 @@ package com.volmit.iris.core.nms.v19_2; import com.volmit.iris.Iris; import com.volmit.iris.core.nms.INMSBinding; import com.volmit.iris.engine.data.cache.AtomicCache; +import com.volmit.iris.engine.object.IrisBiome; import com.volmit.iris.util.collection.KMap; +import com.volmit.iris.util.hunk.Hunk; import com.volmit.iris.util.nbt.io.NBTUtil; import com.volmit.iris.util.nbt.mca.NBTWorld; import com.volmit.iris.util.nbt.mca.palette.MCABiomeContainer; @@ -37,20 +39,20 @@ import com.volmit.iris.util.nbt.mca.palette.MCAWrappedPalettedContainer; import com.volmit.iris.util.nbt.tag.CompoundTag; import it.unimi.dsi.fastutil.objects.Object2IntMap; import net.minecraft.core.*; +import net.minecraft.core.Registry; import net.minecraft.nbt.NbtIo; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.chunk.ChunkAccess; -import org.bukkit.Bukkit; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.World; +import net.minecraft.world.level.chunk.LevelChunk; +import org.bukkit.*; import org.bukkit.block.Biome; import org.bukkit.block.data.BlockData; +import org.bukkit.craftbukkit.v1_19_R1.CraftChunk; import org.bukkit.craftbukkit.v1_19_R1.CraftServer; import org.bukkit.craftbukkit.v1_19_R1.CraftWorld; import org.bukkit.craftbukkit.v1_19_R1.block.data.CraftBlockData; @@ -333,6 +335,12 @@ public class NMSBinding19_2 implements INMSBinding { return true; } + public void setBiomes(int cx, int cz, World world, Hunk biomes) { + LevelChunk c = ((CraftWorld)world).getHandle().getChunk(cx, cz); + biomes.iterateSync((x,y,z,b) -> c.setBiome(x, y, z, (Holder)b)); + c.setUnsaved(true); + } + @Override public void forceBiomeInto(int x, int y, int z, Object somethingVeryDirty, ChunkGenerator.BiomeGrid chunk) { try { diff --git a/src/main/java/com/volmit/iris/engine/platform/DummyBiomeProvider.java b/src/main/java/com/volmit/iris/engine/platform/DummyBiomeProvider.java index 4b6d74812..5a5f4c4b7 100644 --- a/src/main/java/com/volmit/iris/engine/platform/DummyBiomeProvider.java +++ b/src/main/java/com/volmit/iris/engine/platform/DummyBiomeProvider.java @@ -15,20 +15,6 @@ public class DummyBiomeProvider extends BiomeProvider { @NotNull @Override public Biome getBiome(@NotNull WorldInfo worldInfo, int x, int y, int z) { - if(x == 10000 && z == 10000) { - try - { - Iris.error("Im biome provider, who am i?"); - Iris.error(getClass().getCanonicalName()); - throw new RuntimeException("WHATS GOING ON"); - } - - catch(Throwable e) - { - e.printStackTrace(); - } - } - return Biome.PLAINS; } From 2ad9a525bd3420c54d8cc4c2abb61fbc005427bf Mon Sep 17 00:00:00 2001 From: DanMB Date: Wed, 14 Sep 2022 03:56:06 -0400 Subject: [PATCH 16/31] Biome holder injection post gen --- .../com/volmit/iris/core/nms/INMSBinding.java | 4 + .../iris/core/nms/v19_2/NMSBinding19_2.java | 20 +++++ .../iris/core/nms/v1X/NMSBinding1X.java | 7 ++ .../volmit/iris/engine/IrisWorldManager.java | 20 ++++- .../engine/actuator/IrisBiomeActuator.java | 63 +++------------ .../iris/util/matter/MatterBiomeInject.java | 31 +++++++ .../util/matter/slices/BiomeInjectMatter.java | 80 +++++++++++++++++++ 7 files changed, 170 insertions(+), 55 deletions(-) create mode 100644 src/main/java/com/volmit/iris/util/matter/MatterBiomeInject.java create mode 100644 src/main/java/com/volmit/iris/util/matter/slices/BiomeInjectMatter.java diff --git a/src/main/java/com/volmit/iris/core/nms/INMSBinding.java b/src/main/java/com/volmit/iris/core/nms/INMSBinding.java index 031766349..5cb491a2e 100644 --- a/src/main/java/com/volmit/iris/core/nms/INMSBinding.java +++ b/src/main/java/com/volmit/iris/core/nms/INMSBinding.java @@ -18,9 +18,11 @@ package com.volmit.iris.core.nms; +import com.volmit.iris.util.mantle.Mantle; import com.volmit.iris.util.nbt.mca.palette.MCABiomeContainer; import com.volmit.iris.util.nbt.mca.palette.MCAPaletteAccess; import com.volmit.iris.util.nbt.tag.CompoundTag; +import org.bukkit.Chunk; import org.bukkit.Location; import org.bukkit.World; import org.bukkit.WorldCreator; @@ -83,4 +85,6 @@ public interface INMSBinding { } MCAPaletteAccess createPalette(); + + void injectBiomesFromMantle(Chunk e, Mantle mantle); } diff --git a/src/main/java/com/volmit/iris/core/nms/v19_2/NMSBinding19_2.java b/src/main/java/com/volmit/iris/core/nms/v19_2/NMSBinding19_2.java index c595ca6ac..9dab95d52 100644 --- a/src/main/java/com/volmit/iris/core/nms/v19_2/NMSBinding19_2.java +++ b/src/main/java/com/volmit/iris/core/nms/v19_2/NMSBinding19_2.java @@ -25,6 +25,8 @@ import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.object.IrisBiome; import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.hunk.Hunk; +import com.volmit.iris.util.mantle.Mantle; +import com.volmit.iris.util.matter.MatterBiomeInject; import com.volmit.iris.util.nbt.io.NBTUtil; import com.volmit.iris.util.nbt.mca.NBTWorld; import com.volmit.iris.util.nbt.mca.palette.MCABiomeContainer; @@ -399,6 +401,24 @@ public class NMSBinding19_2 implements INMSBinding { i -> ((CraftBlockData) NBTWorld.getBlockData(i)).getState()); } + @Override + public void injectBiomesFromMantle(Chunk e, Mantle mantle) { + LevelChunk chunk = ((CraftChunk)e).getHandle(); + mantle.iterateChunk(e.getX(), e.getZ(), MatterBiomeInject.class, (x,y,z,b) -> { + if(b != null) { + if(b.isCustom()) { + chunk.setBiome(x, y, z, (Holder) getBiomeBaseFromId(b.getBiomeId())); + } + + else { + chunk.setBiome(x, y, z, (Holder) getBiomeBase(e.getWorld(), b.getBiome())); + } + } + }); + + chunk.setUnsaved(true); + } + private static Object getFor(Class type, Object source) { Object o = fieldFor(type, source); diff --git a/src/main/java/com/volmit/iris/core/nms/v1X/NMSBinding1X.java b/src/main/java/com/volmit/iris/core/nms/v1X/NMSBinding1X.java index 6db7933ca..59cf364fc 100644 --- a/src/main/java/com/volmit/iris/core/nms/v1X/NMSBinding1X.java +++ b/src/main/java/com/volmit/iris/core/nms/v1X/NMSBinding1X.java @@ -20,9 +20,11 @@ package com.volmit.iris.core.nms.v1X; import com.volmit.iris.Iris; import com.volmit.iris.core.nms.INMSBinding; +import com.volmit.iris.util.mantle.Mantle; import com.volmit.iris.util.nbt.mca.palette.MCABiomeContainer; import com.volmit.iris.util.nbt.mca.palette.MCAPaletteAccess; import com.volmit.iris.util.nbt.tag.CompoundTag; +import org.bukkit.Chunk; import org.bukkit.Location; import org.bukkit.World; import org.bukkit.block.Biome; @@ -57,6 +59,11 @@ public class NMSBinding1X implements INMSBinding { return null; } + @Override + public void injectBiomesFromMantle(Chunk e, Mantle mantle) { + + } + @Override public void deserializeTile(CompoundTag s, Location newPosition) { diff --git a/src/main/java/com/volmit/iris/engine/IrisWorldManager.java b/src/main/java/com/volmit/iris/engine/IrisWorldManager.java index fe8920c60..c03b3c51a 100644 --- a/src/main/java/com/volmit/iris/engine/IrisWorldManager.java +++ b/src/main/java/com/volmit/iris/engine/IrisWorldManager.java @@ -21,6 +21,7 @@ package com.volmit.iris.engine; import com.volmit.iris.Iris; import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.loader.IrisData; +import com.volmit.iris.core.nms.INMS; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.EngineAssignedWorldManager; import com.volmit.iris.engine.object.*; @@ -31,14 +32,14 @@ import com.volmit.iris.util.format.Form; import com.volmit.iris.util.mantle.Mantle; import com.volmit.iris.util.mantle.MantleFlag; import com.volmit.iris.util.math.M; +import com.volmit.iris.util.math.Position2; import com.volmit.iris.util.math.RNG; +import com.volmit.iris.util.matter.MatterBiomeInject; import com.volmit.iris.util.matter.MatterMarker; import com.volmit.iris.util.parallel.MultiBurst; import com.volmit.iris.util.plugin.Chunks; import com.volmit.iris.util.plugin.VolmitSender; -import com.volmit.iris.util.scheduling.ChronoLatch; -import com.volmit.iris.util.scheduling.J; -import com.volmit.iris.util.scheduling.Looper; +import com.volmit.iris.util.scheduling.*; import com.volmit.iris.util.scheduling.jobs.QueueJob; import io.papermc.lib.PaperLib; import lombok.Data; @@ -81,6 +82,7 @@ public class IrisWorldManager extends EngineAssignedWorldManager { private int actuallySpawned = 0; private int cooldown = 0; private List precount = new KList<>(); + private KSet injectBiomes = new KSet<>(); public IrisWorldManager() { super(null); @@ -463,6 +465,10 @@ public class IrisWorldManager extends EngineAssignedWorldManager { getEngine().getMantle().save(); } + public void requestBiomeInject(Position2 p) { + injectBiomes.add(p); + } + @Override public void onChunkLoad(Chunk e, boolean generated) { if(getEngine().isClosed()) { @@ -472,6 +478,14 @@ public class IrisWorldManager extends EngineAssignedWorldManager { energy += 0.3; fixEnergy(); getEngine().cleanupMantleChunk(e.getX(), e.getZ()); + + if(generated && !injectBiomes.isEmpty()) { + Position2 p = new Position2(e.getX(), e.getZ()); + + if(injectBiomes.remove(p)) { + INMS.get().injectBiomesFromMantle(e, getMantle()); + } + } } private void spawn(IrisPosition block, IrisSpawner spawner, boolean initial) { diff --git a/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java b/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java index 71d0ffb43..c3946d3a5 100644 --- a/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java +++ b/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java @@ -31,6 +31,8 @@ import com.volmit.iris.util.hunk.Hunk; import com.volmit.iris.util.hunk.view.BiomeGridHunkHolder; import com.volmit.iris.util.hunk.view.BiomeGridHunkView; import com.volmit.iris.util.math.RNG; +import com.volmit.iris.util.matter.MatterBiomeInject; +import com.volmit.iris.util.matter.slices.BiomeInjectMatter; import com.volmit.iris.util.parallel.BurstExecutor; import com.volmit.iris.util.scheduling.ChronoLatch; import com.volmit.iris.util.scheduling.PrecisionStopwatch; @@ -47,33 +49,6 @@ public class IrisBiomeActuator extends EngineAssignedActuator { rng = new RNG(engine.getSeedManager().getBiome()); } - @BlockCoordinates - private boolean injectBiome(Hunk h, int x, int y, int z, Object bb) { - try { - if(h instanceof BiomeGridHunkView hh) { - ChunkGenerator.BiomeGrid g = hh.getChunk(); - if(g instanceof TerrainChunk) { - ((TerrainChunk) g).getBiomeBaseInjector().setBiome(x, y, z, bb); - } else { - hh.forceBiomeBaseInto(x, y, z, bb); - } - return true; - } else if(h instanceof BiomeGridHunkHolder hh) { - ChunkGenerator.BiomeGrid g = hh.getChunk(); - if(g instanceof TerrainChunk) { - ((TerrainChunk) g).getBiomeBaseInjector().setBiome(x, y, z, bb); - } else { - hh.forceBiomeBaseInto(x, y, z, bb); - } - return true; - } - } catch(Throwable e) { - e.printStackTrace(); - } - - return false; - } - @BlockCoordinates @Override public void onActuate(int x, int z, Hunk h, boolean multicore, ChunkContext context) { @@ -84,35 +59,19 @@ public class IrisBiomeActuator extends EngineAssignedActuator { for(int zf = 0; zf < h.getDepth(); zf++) { ib = context.getBiome().get(xf, zf); int maxHeight = (int) (getComplex().getFluidHeight() + ib.getMaxWithObjectHeight(getData())); + MatterBiomeInject matter = null; + if(ib.isCustom()) { - try { - IrisBiomeCustom custom = ib.getCustomBiome(rng, x, 0, z); - Object biomeBase = INMS.get().getCustomBiomeBaseHolderFor(getDimension().getLoadKey() + ":" + custom.getId()); - - if(biomeBase == null || !injectBiome(h, x, 0, z, biomeBase)) { - throw new RuntimeException("Cant inject biome!"); - } - - for(int i = 0; i < maxHeight; i++) { - injectBiome(h, xf, i, zf, biomeBase); - } - } catch(Throwable e) { - Iris.reportError(e); - Biome v = ib.getSkyBiome(rng, x, 0, z); - for(int i = 0; i < maxHeight; i++) { - h.set(xf, i, zf, v); - } - } + IrisBiomeCustom custom = ib.getCustomBiome(rng, x, 0, z); + Object biomeBase = INMS.get().getCustomBiomeBaseHolderFor(getDimension().getLoadKey() + ":" + custom.getId()); + matter = BiomeInjectMatter.get(INMS.get().getTrueBiomeBaseId(biomeBase)); } else { Biome v = ib.getSkyBiome(rng, x, 0, z); + matter = BiomeInjectMatter.get(v); + } - if(v != null) { - for(int i = 0; i < maxHeight; i++) { - h.set(xf, i, zf, v); - } - } else if(cl.flip()) { - Iris.error("No biome provided for " + ib.getLoadKey()); - } + for(int i = 0; i < maxHeight; i++) { + getEngine().getMantle().getMantle().set(x, i, z, matter); } } } diff --git a/src/main/java/com/volmit/iris/util/matter/MatterBiomeInject.java b/src/main/java/com/volmit/iris/util/matter/MatterBiomeInject.java new file mode 100644 index 000000000..038dad4ba --- /dev/null +++ b/src/main/java/com/volmit/iris/util/matter/MatterBiomeInject.java @@ -0,0 +1,31 @@ +/* + * Iris is a World Generator for Minecraft Bukkit Servers + * Copyright (c) 2022 Arcane Arts (Volmit Software) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.volmit.iris.util.matter; + +import lombok.AllArgsConstructor; +import lombok.Data; +import org.bukkit.block.Biome; + +@Data +@AllArgsConstructor +public class MatterBiomeInject { + private final boolean custom; + private final Integer biomeId; + private final Biome biome; +} diff --git a/src/main/java/com/volmit/iris/util/matter/slices/BiomeInjectMatter.java b/src/main/java/com/volmit/iris/util/matter/slices/BiomeInjectMatter.java new file mode 100644 index 000000000..2db4194b3 --- /dev/null +++ b/src/main/java/com/volmit/iris/util/matter/slices/BiomeInjectMatter.java @@ -0,0 +1,80 @@ +/* + * Iris is a World Generator for Minecraft Bukkit Servers + * Copyright (c) 2022 Arcane Arts (Volmit Software) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.volmit.iris.util.matter.slices; + +import com.volmit.iris.util.data.palette.Palette; +import com.volmit.iris.util.matter.MatterBiomeInject; +import com.volmit.iris.util.matter.MatterCavern; +import com.volmit.iris.util.matter.Sliced; +import org.bukkit.block.Biome; + +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; + +@Sliced +public class BiomeInjectMatter extends RawMatter { + public BiomeInjectMatter() { + this(1, 1, 1); + } + + @Override + public Palette getGlobalPalette() { + return null; + } + + public BiomeInjectMatter(int width, int height, int depth) { + super(width, height, depth, MatterBiomeInject.class); + } + + public static MatterBiomeInject get(Biome biome) + { + return get(false, 0, biome); + } + + public static MatterBiomeInject get(int customBiome) { + return get(true, customBiome, null); + } + + public static MatterBiomeInject get(boolean custom, int customBiome, Biome biome) { + return new MatterBiomeInject(custom, customBiome, biome); + } + + @Override + public void writeNode(MatterBiomeInject b, DataOutputStream dos) throws IOException { + dos.writeBoolean(b.isCustom()); + + if(b.isCustom()) { + dos.writeShort(b.getBiomeId()); + } + + else { + dos.writeByte(b.getBiome().ordinal()); + } + } + + @Override + public MatterBiomeInject readNode(DataInputStream din) throws IOException { + boolean b = din.readBoolean(); + int id = b ? din.readShort() : 0; + Biome biome = !b ? Biome.values()[din.readByte()] : Biome.PLAINS; + + return new MatterBiomeInject(b, id, biome); + } +} From 60843b3bb9dd60ad763df676c4685814a9e2ff62 Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Wed, 14 Sep 2022 13:30:39 -0400 Subject: [PATCH 17/31] f --- .../com/volmit/iris/core/nms/INMSBinding.java | 2 + .../iris/core/nms/v19_2/NMSBinding19_2.java | 13 +++-- .../iris/core/nms/v1X/NMSBinding1X.java | 5 ++ .../volmit/iris/engine/IrisWorldManager.java | 8 +--- .../engine/actuator/IrisBiomeActuator.java | 48 ++++++++++++------- 5 files changed, 49 insertions(+), 27 deletions(-) diff --git a/src/main/java/com/volmit/iris/core/nms/INMSBinding.java b/src/main/java/com/volmit/iris/core/nms/INMSBinding.java index 5cb491a2e..2420cc6eb 100644 --- a/src/main/java/com/volmit/iris/core/nms/INMSBinding.java +++ b/src/main/java/com/volmit/iris/core/nms/INMSBinding.java @@ -58,6 +58,8 @@ public interface INMSBinding { Object getCustomBiomeBaseFor(String mckey); Object getCustomBiomeBaseHolderFor(String mckey); + int getBiomeBaseIdForKey(String key); + String getKeyForBiomeBase(Object biomeBase); Object getBiomeBase(World world, Biome biome); diff --git a/src/main/java/com/volmit/iris/core/nms/v19_2/NMSBinding19_2.java b/src/main/java/com/volmit/iris/core/nms/v19_2/NMSBinding19_2.java index 9dab95d52..2243292e8 100644 --- a/src/main/java/com/volmit/iris/core/nms/v19_2/NMSBinding19_2.java +++ b/src/main/java/com/volmit/iris/core/nms/v19_2/NMSBinding19_2.java @@ -22,7 +22,6 @@ package com.volmit.iris.core.nms.v19_2; import com.volmit.iris.Iris; import com.volmit.iris.core.nms.INMSBinding; import com.volmit.iris.engine.data.cache.AtomicCache; -import com.volmit.iris.engine.object.IrisBiome; import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.hunk.Hunk; import com.volmit.iris.util.mantle.Mantle; @@ -196,7 +195,7 @@ public class NMSBinding19_2 implements INMSBinding { @Override public int getTrueBiomeBaseId(Object biomeBase) { - return getCustomBiomeRegistry().getId((net.minecraft.world.level.biome.Biome) biomeBase); + return getCustomBiomeRegistry().getId(((Holder) biomeBase).value()); } @Override @@ -218,6 +217,10 @@ public class NMSBinding19_2 implements INMSBinding { return getCustomBiomeRegistry().getHolder(getTrueBiomeBaseId(getCustomBiomeRegistry().get(new ResourceLocation(mckey)))).get(); } + public int getBiomeBaseIdForKey(String key) { + return getCustomBiomeRegistry().getId(getCustomBiomeRegistry().get(new ResourceLocation(key))); + } + @Override public String getKeyForBiomeBase(Object biomeBase) { return getCustomBiomeRegistry().getKey((net.minecraft.world.level.biome.Biome) biomeBase).getPath(); // something, not something:something @@ -404,19 +407,23 @@ public class NMSBinding19_2 implements INMSBinding { @Override public void injectBiomesFromMantle(Chunk e, Mantle mantle) { LevelChunk chunk = ((CraftChunk)e).getHandle(); + AtomicInteger c = new AtomicInteger(); + AtomicInteger r = new AtomicInteger(); mantle.iterateChunk(e.getX(), e.getZ(), MatterBiomeInject.class, (x,y,z,b) -> { if(b != null) { if(b.isCustom()) { chunk.setBiome(x, y, z, (Holder) getBiomeBaseFromId(b.getBiomeId())); + c.getAndIncrement(); } else { chunk.setBiome(x, y, z, (Holder) getBiomeBase(e.getWorld(), b.getBiome())); + r.getAndIncrement(); } } }); - chunk.setUnsaved(true); + Iris.info("Injected " + c.get() + " custom biomes and " + r.get() + " vanilla biomes into chunk " + e.getX() + "," + e.getZ()); } private static Object getFor(Class type, Object source) { diff --git a/src/main/java/com/volmit/iris/core/nms/v1X/NMSBinding1X.java b/src/main/java/com/volmit/iris/core/nms/v1X/NMSBinding1X.java index 59cf364fc..15bf05294 100644 --- a/src/main/java/com/volmit/iris/core/nms/v1X/NMSBinding1X.java +++ b/src/main/java/com/volmit/iris/core/nms/v1X/NMSBinding1X.java @@ -124,6 +124,11 @@ public class NMSBinding1X implements INMSBinding { return null; } + @Override + public int getBiomeBaseIdForKey(String key) { + return 0; + } + @Override public String getKeyForBiomeBase(Object biomeBase) { return null; diff --git a/src/main/java/com/volmit/iris/engine/IrisWorldManager.java b/src/main/java/com/volmit/iris/engine/IrisWorldManager.java index c03b3c51a..3792052bd 100644 --- a/src/main/java/com/volmit/iris/engine/IrisWorldManager.java +++ b/src/main/java/com/volmit/iris/engine/IrisWorldManager.java @@ -479,12 +479,8 @@ public class IrisWorldManager extends EngineAssignedWorldManager { fixEnergy(); getEngine().cleanupMantleChunk(e.getX(), e.getZ()); - if(generated && !injectBiomes.isEmpty()) { - Position2 p = new Position2(e.getX(), e.getZ()); - - if(injectBiomes.remove(p)) { - INMS.get().injectBiomesFromMantle(e, getMantle()); - } + if(generated) { + INMS.get().injectBiomesFromMantle(e, getMantle()); } } diff --git a/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java b/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java index c3946d3a5..c2f54ac56 100644 --- a/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java +++ b/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java @@ -52,30 +52,42 @@ public class IrisBiomeActuator extends EngineAssignedActuator { @BlockCoordinates @Override public void onActuate(int x, int z, Hunk h, boolean multicore, ChunkContext context) { - PrecisionStopwatch p = PrecisionStopwatch.start(); + try + { + PrecisionStopwatch p = PrecisionStopwatch.start(); - for(int xf = 0; xf < h.getWidth(); xf++) { - IrisBiome ib; - for(int zf = 0; zf < h.getDepth(); zf++) { - ib = context.getBiome().get(xf, zf); - int maxHeight = (int) (getComplex().getFluidHeight() + ib.getMaxWithObjectHeight(getData())); - MatterBiomeInject matter = null; + int m = 0; + for(int xf = 0; xf < h.getWidth(); xf++) { + IrisBiome ib; + for(int zf = 0; zf < h.getDepth(); zf++) { + ib = context.getBiome().get(xf, zf); + int maxHeight = (int) (getComplex().getFluidHeight() + ib.getMaxWithObjectHeight(getData())); + MatterBiomeInject matter = null; - if(ib.isCustom()) { - IrisBiomeCustom custom = ib.getCustomBiome(rng, x, 0, z); - Object biomeBase = INMS.get().getCustomBiomeBaseHolderFor(getDimension().getLoadKey() + ":" + custom.getId()); - matter = BiomeInjectMatter.get(INMS.get().getTrueBiomeBaseId(biomeBase)); - } else { - Biome v = ib.getSkyBiome(rng, x, 0, z); - matter = BiomeInjectMatter.get(v); - } + if(ib.isCustom()) { + IrisBiomeCustom custom = ib.getCustomBiome(rng, x, 0, z); + matter = BiomeInjectMatter.get(INMS.get().getBiomeBaseIdForKey(getDimension().getLoadKey() + ":" + custom.getId())); + } else { + Biome v = ib.getSkyBiome(rng, x, 0, z); + matter = BiomeInjectMatter.get(v); + } + + for(int i = 0; i < maxHeight; i++) { + getEngine().getMantle().getMantle().set(x, i, z, matter); + m++; + } - for(int i = 0; i < maxHeight; i++) { - getEngine().getMantle().getMantle().set(x, i, z, matter); } } + + getEngine().getMetrics().getBiome().put(p.getMilliseconds()); + Iris.info("Biome Actuator: " + p.getMilliseconds() + "ms"); + Iris.info("Mantle: " + m + " blocks"); } - getEngine().getMetrics().getBiome().put(p.getMilliseconds()); + catch(Throwable e) + { + e.printStackTrace(); + } } } From 148261f8768ceeb0ff15c7047c4ab6dd466d97c1 Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Thu, 15 Sep 2022 02:32:29 -0400 Subject: [PATCH 18/31] Dirrrrrrrrrrrrty --- .../core/nms/v19_2/CustomBiomeSource.java | 150 ++++++++++++++++++ .../iris/core/nms/v19_2/NMSBinding19_2.java | 25 +-- .../volmit/iris/engine/IrisWorldManager.java | 2 +- .../engine/actuator/IrisBiomeActuator.java | 25 +-- .../iris/engine/mode/ModeOverworld.java | 1 - .../engine/platform/BukkitChunkGenerator.java | 55 ++++++- 6 files changed, 212 insertions(+), 46 deletions(-) create mode 100644 src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java diff --git a/src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java b/src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java new file mode 100644 index 000000000..0c295e79b --- /dev/null +++ b/src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java @@ -0,0 +1,150 @@ +package com.volmit.iris.core.nms.v19_2; + +import com.mojang.serialization.Codec; +import com.volmit.iris.Iris; +import com.volmit.iris.engine.data.cache.AtomicCache; +import com.volmit.iris.engine.framework.Engine; +import com.volmit.iris.engine.object.IrisBiome; +import com.volmit.iris.engine.object.IrisBiomeCustom; +import com.volmit.iris.util.collection.KMap; +import com.volmit.iris.util.math.RNG; +import net.minecraft.core.Holder; +import net.minecraft.core.Registry; +import net.minecraft.core.RegistryAccess; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.biome.Biome; +import net.minecraft.world.level.biome.BiomeSource; +import net.minecraft.world.level.biome.Climate; +import org.bukkit.Bukkit; +import org.bukkit.World; +import org.bukkit.craftbukkit.v1_19_R1.CraftServer; +import org.bukkit.craftbukkit.v1_19_R1.CraftWorld; +import org.bukkit.craftbukkit.v1_19_R1.block.CraftBlock; + +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.List; + +public class CustomBiomeSource extends BiomeSource { + private final long seed; + private final Engine engine; + private final Registry biomeCustomRegistry; + private final Registry biomeRegistry; + private final AtomicCache registryAccess = new AtomicCache<>(); + private final RNG rng; + private final KMap> customBiomes; + + public CustomBiomeSource(long seed, Engine engine, World world) { + super(getAllBiomes( + ((RegistryAccess) getFor(RegistryAccess.Frozen.class, ((CraftServer) Bukkit.getServer()).getHandle().getServer())) + .registry(Registry.BIOME_REGISTRY).orElse(null), + ((CraftWorld) world).getHandle().registryAccess().registry(Registry.BIOME_REGISTRY).orElse(null), + engine)); + this.engine = engine; + this.seed = seed; + this.biomeCustomRegistry = registry().registry(Registry.BIOME_REGISTRY).orElse(null); + this.biomeRegistry = ((CraftWorld) world).getHandle().registryAccess().registry(Registry.BIOME_REGISTRY).orElse(null); + this.rng = new RNG(engine.getSeedManager().getBiome()); + this.customBiomes = fillCustomBiomes(biomeCustomRegistry, engine); + } + + private KMap> fillCustomBiomes(Registry customRegistry, Engine engine) { + KMap> m = new KMap<>(); + + for(IrisBiome i : engine.getAllBiomes()) { + if(i.isCustom()) { + for(IrisBiomeCustom j : i.getCustomDerivitives()) { + m.put(j.getId(), customRegistry.getHolder(customRegistry.getResourceKey(customRegistry + .get(new ResourceLocation(engine.getDimension().getLoadKey() + ":" + j.getId()))).get()).get()); + } + } + } + + return m; + } + + private static List> getAllBiomes(Registry customRegistry, Registry registry, Engine engine) { + List> b = new ArrayList<>(); + + for(IrisBiome i : engine.getAllBiomes()) { + if(i.isCustom()) { + for(IrisBiomeCustom j : i.getCustomDerivitives()) { + b.add(customRegistry.getHolder(customRegistry.getResourceKey(customRegistry + .get(new ResourceLocation(engine.getDimension().getLoadKey() + ":" + j.getId()))).get()).get()); + } + } else { + b.add(CraftBlock.biomeToBiomeBase(registry, i.getVanillaDerivative())); + } + } + + return b; + } + + private RegistryAccess registry() { + return registryAccess.aquire(() -> (RegistryAccess) getFor(RegistryAccess.Frozen.class, ((CraftServer) Bukkit.getServer()).getHandle().getServer())); + } + + private static Object getFor(Class type, Object source) { + Object o = fieldFor(type, source); + + if(o != null) { + return o; + } + + return invokeFor(type, source); + } + + private static Object fieldFor(Class returns, Object in) { + return fieldForClass(returns, in.getClass(), in); + } + + + private static Object invokeFor(Class returns, Object in) { + for(Method i : in.getClass().getMethods()) { + if(i.getReturnType().equals(returns)) { + i.setAccessible(true); + try { + Iris.debug("[NMS] Found " + returns.getSimpleName() + " in " + in.getClass().getSimpleName() + "." + i.getName() + "()"); + return i.invoke(in); + } catch(Throwable e) { + e.printStackTrace(); + } + } + } + + return null; + } + + @SuppressWarnings("unchecked") + private static T fieldForClass(Class returnType, Class sourceType, Object in) { + for(Field i : sourceType.getDeclaredFields()) { + if(i.getType().equals(returnType)) { + i.setAccessible(true); + try { + Iris.debug("[NMS] Found " + returnType.getSimpleName() + " in " + sourceType.getSimpleName() + "." + i.getName()); + return (T) i.get(in); + } catch(IllegalAccessException e) { + e.printStackTrace(); + } + } + } + return null; + } + + @Override + protected Codec codec() { + throw new UnsupportedOperationException("Not supported"); + } + + @Override + public Holder getNoiseBiome(int x, int y, int z, Climate.Sampler sampler) { + IrisBiome ib = engine.getComplex().getTrueBiomeStream().get(x, z); + if(ib.isCustom()) { + return customBiomes.get(ib.getCustomBiome(rng, x, 0, z).getId()); + } else { + org.bukkit.block.Biome v = ib.getSkyBiome(rng, x, 0, z); + return CraftBlock.biomeToBiomeBase(biomeRegistry, v); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/volmit/iris/core/nms/v19_2/NMSBinding19_2.java b/src/main/java/com/volmit/iris/core/nms/v19_2/NMSBinding19_2.java index 2243292e8..3d46e42eb 100644 --- a/src/main/java/com/volmit/iris/core/nms/v19_2/NMSBinding19_2.java +++ b/src/main/java/com/volmit/iris/core/nms/v19_2/NMSBinding19_2.java @@ -164,23 +164,7 @@ public class NMSBinding19_2 implements INMSBinding { @Override public Object getBiomeBaseFromId(int id) { - try { - return byIdRef.aquire(() -> { - for(Method i : IdMap.class.getDeclaredMethods()) { - if(i.getParameterCount() == 1 && i.getParameterTypes()[0].equals(int.class)) { - Iris.info("[NMS] Found byId method in " + IdMap.class.getSimpleName() + "." + i.getName() + "(int) => " + Biome.class.getSimpleName()); - return i; - } - } - - Iris.error("Cannot find byId method!"); - return null; - }).invoke(getCustomBiomeRegistry(), id); - } catch(IllegalAccessException | InvocationTargetException e) { - e.printStackTrace(); - } - - return null; + return getCustomBiomeRegistry().getHolder(id); } @Override @@ -228,7 +212,8 @@ public class NMSBinding19_2 implements INMSBinding { @Override public Object getBiomeBase(World world, Biome biome) { - return getBiomeBase(((CraftWorld) world).getHandle().registryAccess().registry(Registry.BIOME_REGISTRY).orElse(null), biome); + return org.bukkit.craftbukkit.v1_19_R1.block.CraftBlock.biomeToBiomeBase(((CraftWorld) world).getHandle() + .registryAccess().registry(Registry.BIOME_REGISTRY).orElse(null), biome); } @Override @@ -412,7 +397,7 @@ public class NMSBinding19_2 implements INMSBinding { mantle.iterateChunk(e.getX(), e.getZ(), MatterBiomeInject.class, (x,y,z,b) -> { if(b != null) { if(b.isCustom()) { - chunk.setBiome(x, y, z, (Holder) getBiomeBaseFromId(b.getBiomeId())); + chunk.setBiome(x, y, z, getCustomBiomeRegistry().getHolder(b.getBiomeId()).get()); c.getAndIncrement(); } @@ -422,8 +407,6 @@ public class NMSBinding19_2 implements INMSBinding { } } }); - - Iris.info("Injected " + c.get() + " custom biomes and " + r.get() + " vanilla biomes into chunk " + e.getX() + "," + e.getZ()); } private static Object getFor(Class type, Object source) { diff --git a/src/main/java/com/volmit/iris/engine/IrisWorldManager.java b/src/main/java/com/volmit/iris/engine/IrisWorldManager.java index 3792052bd..3f39742e0 100644 --- a/src/main/java/com/volmit/iris/engine/IrisWorldManager.java +++ b/src/main/java/com/volmit/iris/engine/IrisWorldManager.java @@ -480,7 +480,7 @@ public class IrisWorldManager extends EngineAssignedWorldManager { getEngine().cleanupMantleChunk(e.getX(), e.getZ()); if(generated) { - INMS.get().injectBiomesFromMantle(e, getMantle()); + //INMS.get().injectBiomesFromMantle(e, getMantle()); } } diff --git a/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java b/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java index c2f54ac56..7530f61c2 100644 --- a/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java +++ b/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java @@ -18,9 +18,7 @@ package com.volmit.iris.engine.actuator; -import com.volmit.iris.Iris; import com.volmit.iris.core.nms.INMS; -import com.volmit.iris.engine.data.chunk.TerrainChunk; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.EngineAssignedActuator; import com.volmit.iris.engine.object.IrisBiome; @@ -28,17 +26,12 @@ import com.volmit.iris.engine.object.IrisBiomeCustom; import com.volmit.iris.util.context.ChunkContext; import com.volmit.iris.util.documentation.BlockCoordinates; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.util.hunk.view.BiomeGridHunkHolder; -import com.volmit.iris.util.hunk.view.BiomeGridHunkView; import com.volmit.iris.util.math.RNG; import com.volmit.iris.util.matter.MatterBiomeInject; import com.volmit.iris.util.matter.slices.BiomeInjectMatter; -import com.volmit.iris.util.parallel.BurstExecutor; import com.volmit.iris.util.scheduling.ChronoLatch; import com.volmit.iris.util.scheduling.PrecisionStopwatch; -import io.papermc.lib.PaperLib; import org.bukkit.block.Biome; -import org.bukkit.generator.ChunkGenerator; public class IrisBiomeActuator extends EngineAssignedActuator { private final RNG rng; @@ -52,8 +45,7 @@ public class IrisBiomeActuator extends EngineAssignedActuator { @BlockCoordinates @Override public void onActuate(int x, int z, Hunk h, boolean multicore, ChunkContext context) { - try - { + try { PrecisionStopwatch p = PrecisionStopwatch.start(); int m = 0; @@ -61,7 +53,6 @@ public class IrisBiomeActuator extends EngineAssignedActuator { IrisBiome ib; for(int zf = 0; zf < h.getDepth(); zf++) { ib = context.getBiome().get(xf, zf); - int maxHeight = (int) (getComplex().getFluidHeight() + ib.getMaxWithObjectHeight(getData())); MatterBiomeInject matter = null; if(ib.isCustom()) { @@ -72,21 +63,13 @@ public class IrisBiomeActuator extends EngineAssignedActuator { matter = BiomeInjectMatter.get(v); } - for(int i = 0; i < maxHeight; i++) { - getEngine().getMantle().getMantle().set(x, i, z, matter); - m++; - } - + getEngine().getMantle().getMantle().set(x + xf, 0, z + zf, matter); + m++; } } getEngine().getMetrics().getBiome().put(p.getMilliseconds()); - Iris.info("Biome Actuator: " + p.getMilliseconds() + "ms"); - Iris.info("Mantle: " + m + " blocks"); - } - - catch(Throwable e) - { + } catch(Throwable e) { e.printStackTrace(); } } diff --git a/src/main/java/com/volmit/iris/engine/mode/ModeOverworld.java b/src/main/java/com/volmit/iris/engine/mode/ModeOverworld.java index bd19cf06a..ab4b0bbb4 100644 --- a/src/main/java/com/volmit/iris/engine/mode/ModeOverworld.java +++ b/src/main/java/com/volmit/iris/engine/mode/ModeOverworld.java @@ -52,7 +52,6 @@ public class ModeOverworld extends IrisEngineMode implements EngineMode { EngineStage sPerfection = (x, z, k, p, m, c) -> perfection.modify(x, z, k, m, c); registerStage(burst( - sBiome, sGenMatter, sTerrain )); diff --git a/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java b/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java index 33a800179..7684de59a 100644 --- a/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java +++ b/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java @@ -20,6 +20,7 @@ package com.volmit.iris.engine.platform; import com.volmit.iris.Iris; import com.volmit.iris.core.loader.IrisData; +import com.volmit.iris.core.nms.v19_2.CustomBiomeSource; import com.volmit.iris.core.service.StudioSVC; import com.volmit.iris.engine.IrisEngine; import com.volmit.iris.engine.data.chunk.TerrainChunk; @@ -44,6 +45,10 @@ import com.volmit.iris.util.stream.utility.ProfiledStream; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.Setter; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.level.ServerLevelAccessor; +import net.minecraft.world.level.WorldGenLevel; +import org.apache.commons.lang3.reflect.FieldUtils; import org.bukkit.Bukkit; import org.bukkit.Chunk; import org.bukkit.HeightMap; @@ -51,16 +56,26 @@ import org.bukkit.Material; import org.bukkit.World; import org.bukkit.block.Biome; import org.bukkit.block.data.BlockData; +import org.bukkit.craftbukkit.v1_19_R1.CraftServer; +import org.bukkit.craftbukkit.v1_19_R1.CraftWorld; +import org.bukkit.craftbukkit.v1_19_R1.generator.CustomChunkGenerator; +import org.bukkit.craftbukkit.v1_19_R1.generator.InternalChunkGenerator; import org.bukkit.entity.Entity; import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.world.WorldInitEvent; import org.bukkit.generator.BiomeProvider; import org.bukkit.generator.BlockPopulator; import org.bukkit.generator.ChunkGenerator; import org.bukkit.generator.WorldInfo; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import sun.misc.Unsafe; import java.io.File; +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; import java.util.List; import java.util.Random; import java.util.concurrent.Semaphore; @@ -71,7 +86,7 @@ import java.util.function.Consumer; @EqualsAndHashCode(callSuper = true) @Data -public class BukkitChunkGenerator extends ChunkGenerator implements PlatformChunkGenerator { +public class BukkitChunkGenerator extends ChunkGenerator implements PlatformChunkGenerator, Listener { private static final int LOAD_LOCKS = Runtime.getRuntime().availableProcessors() * 4; private final Semaphore loadLock; private final IrisWorld world; @@ -102,6 +117,43 @@ public class BukkitChunkGenerator extends ChunkGenerator implements PlatformChun this.dataLocation = dataLocation; this.dimensionKey = dimensionKey; this.folder = new ReactiveFolder(dataLocation, (_a, _b, _c) -> hotload()); + Bukkit.getServer().getPluginManager().registerEvents(this, Iris.instance); + } + + @EventHandler + public void onWorldInit(WorldInitEvent event) { + try { + ServerLevel serverLevel = ((CraftWorld)event.getWorld()).getHandle(); + Engine engine = getEngine(event.getWorld()); + Class clazz = serverLevel.getChunkSource().chunkMap.generator.getClass(); + Field biomeSource = getField(clazz, "c"); + biomeSource.setAccessible(true); + Field unsafeField = Unsafe.class.getDeclaredField("theUnsafe"); + unsafeField.setAccessible(true); + Unsafe unsafe = (Unsafe) unsafeField.get(null); + CustomBiomeSource customBiomeSource = new CustomBiomeSource(event.getWorld().getSeed(), engine, event.getWorld()); + unsafe.putObject(biomeSource.get(serverLevel.getChunkSource().chunkMap.generator), unsafe.objectFieldOffset(biomeSource), customBiomeSource); + biomeSource.set(serverLevel.getChunkSource().chunkMap.generator, customBiomeSource); + Iris.info("Injected Iris Biome Source into " + event.getWorld().getName()); + } + + catch(Throwable e) { + e.printStackTrace(); + } + } + + private static Field getField(Class clazz, String fieldName) + throws NoSuchFieldException { + try { + return clazz.getDeclaredField(fieldName); + } catch (NoSuchFieldException e) { + Class superClass = clazz.getSuperclass(); + if (superClass == null) { + throw e; + } else { + return getField(superClass, fieldName); + } + } } private void setupEngine() { @@ -236,7 +288,6 @@ public class BukkitChunkGenerator extends ChunkGenerator implements PlatformChun lock.unlock(); - return engine; } From 2f5198d533a8bdcb49e11ab1c594b178e2467199 Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Thu, 15 Sep 2022 02:35:34 -0400 Subject: [PATCH 19/31] Safe --- .../com/volmit/iris/engine/platform/BukkitChunkGenerator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java b/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java index 7684de59a..026c4f46c 100644 --- a/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java +++ b/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java @@ -199,7 +199,7 @@ public class BukkitChunkGenerator extends ChunkGenerator implements PlatformChun Hunk blocks = Hunk.view(tc); Hunk biomes = Hunk.view(tc, tc.getMinHeight(), tc.getMaxHeight()); this.world.bind(world); - getEngine().generate(x << 4, z << 4, blocks, biomes, true); + getEngine().generate(x << 4, z << 4, blocks, biomes, false); Iris.debug("Regenerated " + x + " " + z); int t = 0; for(int i = getEngine().getHeight() >> 4; i >= 0; i--) { From 00f4d8b1eed93ee503c93dea265ec22aa39ca691 Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Fri, 16 Sep 2022 03:16:04 -0400 Subject: [PATCH 20/31] Hmm? --- .../com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java b/src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java index 0c295e79b..682a1c15c 100644 --- a/src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java +++ b/src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java @@ -12,6 +12,7 @@ import net.minecraft.core.Holder; import net.minecraft.core.Registry; import net.minecraft.core.RegistryAccess; import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.level.ServerLevel; import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.biome.BiomeSource; import net.minecraft.world.level.biome.Climate; @@ -20,6 +21,9 @@ import org.bukkit.World; import org.bukkit.craftbukkit.v1_19_R1.CraftServer; import org.bukkit.craftbukkit.v1_19_R1.CraftWorld; import org.bukkit.craftbukkit.v1_19_R1.block.CraftBlock; +import org.bukkit.craftbukkit.v1_19_R1.generator.CustomChunkGenerator; +import org.bukkit.craftbukkit.v1_19_R1.generator.InternalChunkGenerator; +import org.bukkit.generator.BiomeProvider; import java.lang.reflect.Field; import java.lang.reflect.Method; @@ -141,9 +145,9 @@ public class CustomBiomeSource extends BiomeSource { public Holder getNoiseBiome(int x, int y, int z, Climate.Sampler sampler) { IrisBiome ib = engine.getComplex().getTrueBiomeStream().get(x, z); if(ib.isCustom()) { - return customBiomes.get(ib.getCustomBiome(rng, x, 0, z).getId()); + return customBiomes.get(ib.getCustomBiome(rng, x>>2, 0, z>>2).getId()); } else { - org.bukkit.block.Biome v = ib.getSkyBiome(rng, x, 0, z); + org.bukkit.block.Biome v = ib.getSkyBiome(rng, x>>2, 0, z>>2); return CraftBlock.biomeToBiomeBase(biomeRegistry, v); } } From dda3f0b8e939d66ad5eb4d2c7dc8d37b76f74402 Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Fri, 16 Sep 2022 03:16:57 -0400 Subject: [PATCH 21/31] Mhmmmmm --- .../com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java b/src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java index 682a1c15c..9990c4886 100644 --- a/src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java +++ b/src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java @@ -145,9 +145,9 @@ public class CustomBiomeSource extends BiomeSource { public Holder getNoiseBiome(int x, int y, int z, Climate.Sampler sampler) { IrisBiome ib = engine.getComplex().getTrueBiomeStream().get(x, z); if(ib.isCustom()) { - return customBiomes.get(ib.getCustomBiome(rng, x>>2, 0, z>>2).getId()); + return customBiomes.get(ib.getCustomBiome(rng, x<<2, 0, z<<2).getId()); } else { - org.bukkit.block.Biome v = ib.getSkyBiome(rng, x>>2, 0, z>>2); + org.bukkit.block.Biome v = ib.getSkyBiome(rng, x<<2, 0, z<<2); return CraftBlock.biomeToBiomeBase(biomeRegistry, v); } } From 00d099383b280ca4f2ebcc69fcd6bdf3e50155e3 Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Fri, 16 Sep 2022 03:22:56 -0400 Subject: [PATCH 22/31] Fix --- .../com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java b/src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java index 9990c4886..bfb3f2ddc 100644 --- a/src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java +++ b/src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java @@ -143,11 +143,11 @@ public class CustomBiomeSource extends BiomeSource { @Override public Holder getNoiseBiome(int x, int y, int z, Climate.Sampler sampler) { - IrisBiome ib = engine.getComplex().getTrueBiomeStream().get(x, z); + IrisBiome ib = engine.getBiome(x << 2, y << 2, z << 2); if(ib.isCustom()) { - return customBiomes.get(ib.getCustomBiome(rng, x<<2, 0, z<<2).getId()); + return customBiomes.get(ib.getCustomBiome(rng, x << 2, 0, z << 2).getId()); } else { - org.bukkit.block.Biome v = ib.getSkyBiome(rng, x<<2, 0, z<<2); + org.bukkit.block.Biome v = ib.getSkyBiome(rng, x << 2, 0, z << 2); return CraftBlock.biomeToBiomeBase(biomeRegistry, v); } } From 243ef8c0be2e6d6fe194d2ea885bf9c38c9139de Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Fri, 16 Sep 2022 03:24:56 -0400 Subject: [PATCH 23/31] f --- .../engine/platform/BukkitChunkGenerator.java | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java b/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java index 026c4f46c..0c5136f0c 100644 --- a/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java +++ b/src/main/java/com/volmit/iris/engine/platform/BukkitChunkGenerator.java @@ -123,18 +123,24 @@ public class BukkitChunkGenerator extends ChunkGenerator implements PlatformChun @EventHandler public void onWorldInit(WorldInitEvent event) { try { - ServerLevel serverLevel = ((CraftWorld)event.getWorld()).getHandle(); - Engine engine = getEngine(event.getWorld()); - Class clazz = serverLevel.getChunkSource().chunkMap.generator.getClass(); - Field biomeSource = getField(clazz, "c"); - biomeSource.setAccessible(true); - Field unsafeField = Unsafe.class.getDeclaredField("theUnsafe"); - unsafeField.setAccessible(true); - Unsafe unsafe = (Unsafe) unsafeField.get(null); - CustomBiomeSource customBiomeSource = new CustomBiomeSource(event.getWorld().getSeed(), engine, event.getWorld()); - unsafe.putObject(biomeSource.get(serverLevel.getChunkSource().chunkMap.generator), unsafe.objectFieldOffset(biomeSource), customBiomeSource); - biomeSource.set(serverLevel.getChunkSource().chunkMap.generator, customBiomeSource); - Iris.info("Injected Iris Biome Source into " + event.getWorld().getName()); + if(world.name().equals(event.getWorld().getName()) && world.getRawWorldSeed() == event.getWorld().getSeed()) { + ServerLevel serverLevel = ((CraftWorld)event.getWorld()).getHandle(); + Engine engine = getEngine(event.getWorld()); + Class clazz = serverLevel.getChunkSource().chunkMap.generator.getClass(); + Field biomeSource = getField(clazz, "c"); + biomeSource.setAccessible(true); + Field unsafeField = Unsafe.class.getDeclaredField("theUnsafe"); + unsafeField.setAccessible(true); + Unsafe unsafe = (Unsafe) unsafeField.get(null); + CustomBiomeSource customBiomeSource = new CustomBiomeSource(event.getWorld().getSeed(), engine, event.getWorld()); + unsafe.putObject(biomeSource.get(serverLevel.getChunkSource().chunkMap.generator), unsafe.objectFieldOffset(biomeSource), customBiomeSource); + biomeSource.set(serverLevel.getChunkSource().chunkMap.generator, customBiomeSource); + Iris.info("Injected Iris Biome Source into " + event.getWorld().getName()); + } + + else { + Iris.info("World " + event.getWorld().getName() + " is not an Iris world in this context"); + } } catch(Throwable e) { From a37ccddd38a397e66ee972d8affe8bbbce92f1dc Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Fri, 16 Sep 2022 03:26:23 -0400 Subject: [PATCH 24/31] f --- .../java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java b/src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java index bfb3f2ddc..5bc9b063f 100644 --- a/src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java +++ b/src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java @@ -143,7 +143,7 @@ public class CustomBiomeSource extends BiomeSource { @Override public Holder getNoiseBiome(int x, int y, int z, Climate.Sampler sampler) { - IrisBiome ib = engine.getBiome(x << 2, y << 2, z << 2); + IrisBiome ib = engine.getBiome(x << 2, (y - engine.getMinHeight()) << 2, z << 2); if(ib.isCustom()) { return customBiomes.get(ib.getCustomBiome(rng, x << 2, 0, z << 2).getId()); } else { From f4ea1343b489c79aec14fc80680b01780f1eedb9 Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Fri, 16 Sep 2022 03:27:32 -0400 Subject: [PATCH 25/31] m --- .../com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java b/src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java index 5bc9b063f..cb1b67c35 100644 --- a/src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java +++ b/src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java @@ -143,11 +143,12 @@ public class CustomBiomeSource extends BiomeSource { @Override public Holder getNoiseBiome(int x, int y, int z, Climate.Sampler sampler) { - IrisBiome ib = engine.getBiome(x << 2, (y - engine.getMinHeight()) << 2, z << 2); + int m = (y - engine.getMinHeight()) << 2; + IrisBiome ib = engine.getBiome(x << 2, m, z << 2); if(ib.isCustom()) { - return customBiomes.get(ib.getCustomBiome(rng, x << 2, 0, z << 2).getId()); + return customBiomes.get(ib.getCustomBiome(rng, x << 2, m, z << 2).getId()); } else { - org.bukkit.block.Biome v = ib.getSkyBiome(rng, x << 2, 0, z << 2); + org.bukkit.block.Biome v = ib.getSkyBiome(rng, x << 2, m, z << 2); return CraftBlock.biomeToBiomeBase(biomeRegistry, v); } } From bdf181e34821e6a795e0d034410a200e1a3a77e6 Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Fri, 16 Sep 2022 03:28:47 -0400 Subject: [PATCH 26/31] ff --- .../java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java b/src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java index cb1b67c35..dcd4c999f 100644 --- a/src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java +++ b/src/main/java/com/volmit/iris/core/nms/v19_2/CustomBiomeSource.java @@ -144,7 +144,7 @@ public class CustomBiomeSource extends BiomeSource { @Override public Holder getNoiseBiome(int x, int y, int z, Climate.Sampler sampler) { int m = (y - engine.getMinHeight()) << 2; - IrisBiome ib = engine.getBiome(x << 2, m, z << 2); + IrisBiome ib = engine.getComplex().getTrueBiomeStream().get(x << 2, z << 2); if(ib.isCustom()) { return customBiomes.get(ib.getCustomBiome(rng, x << 2, m, z << 2).getId()); } else { From c4a516a858b2617518d00275079f4ecbb43008ea Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Fri, 16 Sep 2022 03:37:36 -0400 Subject: [PATCH 27/31] f --- .../com/volmit/iris/core/pregenerator/IrisPregenerator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/volmit/iris/core/pregenerator/IrisPregenerator.java b/src/main/java/com/volmit/iris/core/pregenerator/IrisPregenerator.java index 00f7fd6a0..50ce8af2d 100644 --- a/src/main/java/com/volmit/iris/core/pregenerator/IrisPregenerator.java +++ b/src/main/java/com/volmit/iris/core/pregenerator/IrisPregenerator.java @@ -61,7 +61,7 @@ public class IrisPregenerator { public IrisPregenerator(PregenTask task, PregeneratorMethod generator, PregenListener listener) { this.listener = listenify(listener); cl = new ChronoLatch(5000); - limiter = new Semaphore(Runtime.getRuntime().availableProcessors()); + limiter = new Semaphore(Runtime.getRuntime().availableProcessors() * 4); generatedRegions = new KSet<>(); this.shutdown = new AtomicBoolean(false); this.paused = new AtomicBoolean(false); From 7e217b5fbac36ea6507907155fad7e8579389d97 Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Fri, 16 Sep 2022 03:40:31 -0400 Subject: [PATCH 28/31] More permits --- .../com/volmit/iris/core/pregenerator/IrisPregenerator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/volmit/iris/core/pregenerator/IrisPregenerator.java b/src/main/java/com/volmit/iris/core/pregenerator/IrisPregenerator.java index 50ce8af2d..fb0e45e0f 100644 --- a/src/main/java/com/volmit/iris/core/pregenerator/IrisPregenerator.java +++ b/src/main/java/com/volmit/iris/core/pregenerator/IrisPregenerator.java @@ -61,7 +61,7 @@ public class IrisPregenerator { public IrisPregenerator(PregenTask task, PregeneratorMethod generator, PregenListener listener) { this.listener = listenify(listener); cl = new ChronoLatch(5000); - limiter = new Semaphore(Runtime.getRuntime().availableProcessors() * 4); + limiter = new Semaphore(1024); generatedRegions = new KSet<>(); this.shutdown = new AtomicBoolean(false); this.paused = new AtomicBoolean(false); From 380f191f6a670226eb68cf5e3abba5ebd7fd1c12 Mon Sep 17 00:00:00 2001 From: Brian Fopiano Date: Fri, 16 Sep 2022 00:48:27 -0700 Subject: [PATCH 29/31] V+ --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index cfced68df..d1c56c2c6 100644 --- a/build.gradle +++ b/build.gradle @@ -24,7 +24,7 @@ plugins { id "de.undercouch.download" version "5.0.1" } -version '2.2.19-1.19.2' // Needs to be version specific +version '2.3.0-1.19.2' // Needs to be version specific def nmsVersion = "1.19.2" //[NMS] def apiVersion = '1.19' def specialSourceVersion = '1.11.0' //[NMS] From bd66fa3bf561fb5bb4aa4c8b13e99d1108d2359e Mon Sep 17 00:00:00 2001 From: Brian Fopiano Date: Fri, 16 Sep 2022 00:50:38 -0700 Subject: [PATCH 30/31] Tag Bump --- src/main/java/com/volmit/iris/Iris.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/volmit/iris/Iris.java b/src/main/java/com/volmit/iris/Iris.java index 5ac77569f..1cb3d09a9 100644 --- a/src/main/java/com/volmit/iris/Iris.java +++ b/src/main/java/com/volmit/iris/Iris.java @@ -87,7 +87,7 @@ import java.util.Objects; @SuppressWarnings("CanBeFinal") public class Iris extends VolmitPlugin implements Listener { - public static final String OVERWORLD_TAG = "2086"; + public static final String OVERWORLD_TAG = "2087"; private static final Queue syncJobs = new ShurikenQueue<>(); From f9c98b0a602f54566ae89827aff4ae0523eeb47d Mon Sep 17 00:00:00 2001 From: Brian Fopiano Date: Fri, 16 Sep 2022 01:52:17 -0700 Subject: [PATCH 31/31] Needs to be Sync now --- src/main/java/com/volmit/iris/Iris.java | 16 ++++++++-------- .../com/volmit/iris/core/service/StudioSVC.java | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/volmit/iris/Iris.java b/src/main/java/com/volmit/iris/Iris.java index 1cb3d09a9..28e5f1470 100644 --- a/src/main/java/com/volmit/iris/Iris.java +++ b/src/main/java/com/volmit/iris/Iris.java @@ -23,7 +23,9 @@ import com.google.gson.JsonParseException; import com.google.gson.JsonParser; import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.ServerConfigurator; -import com.volmit.iris.core.link.*; +import com.volmit.iris.core.link.IrisPapiExpansion; +import com.volmit.iris.core.link.MultiverseCoreLink; +import com.volmit.iris.core.link.MythicMobsLink; import com.volmit.iris.core.loader.IrisData; import com.volmit.iris.core.nms.INMS; import com.volmit.iris.core.pregenerator.LazyPregenerator; @@ -41,7 +43,10 @@ import com.volmit.iris.util.exceptions.IrisException; import com.volmit.iris.util.format.C; import com.volmit.iris.util.format.Form; import com.volmit.iris.util.function.NastyRunnable; -import com.volmit.iris.util.io.*; +import com.volmit.iris.util.io.FileWatcher; +import com.volmit.iris.util.io.IO; +import com.volmit.iris.util.io.InstanceState; +import com.volmit.iris.util.io.JarScanner; import com.volmit.iris.util.math.M; import com.volmit.iris.util.math.RNG; import com.volmit.iris.util.parallel.MultiBurst; @@ -56,11 +61,7 @@ import com.volmit.iris.util.scheduling.ShurikenQueue; import io.papermc.lib.PaperLib; import net.kyori.adventure.platform.bukkit.BukkitAudiences; import net.kyori.adventure.text.serializer.ComponentSerializer; -import org.bukkit.Bukkit; -import org.bukkit.GameMode; -import org.bukkit.Location; -import org.bukkit.World; -import org.bukkit.WorldCreator; +import org.bukkit.*; import org.bukkit.block.data.BlockData; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; @@ -82,7 +83,6 @@ import java.lang.annotation.Annotation; import java.net.URL; import java.util.Date; import java.util.Map; -import java.util.Objects; @SuppressWarnings("CanBeFinal") public class Iris extends VolmitPlugin implements Listener { diff --git a/src/main/java/com/volmit/iris/core/service/StudioSVC.java b/src/main/java/com/volmit/iris/core/service/StudioSVC.java index e97ca5440..39165fb09 100644 --- a/src/main/java/com/volmit/iris/core/service/StudioSVC.java +++ b/src/main/java/com/volmit/iris/core/service/StudioSVC.java @@ -57,7 +57,7 @@ public class StudioSVC implements IrisService { @Override public void onEnable() { - J.a(() -> { + J.s(() -> { String pack = IrisSettings.get().getGenerator().getDefaultWorldType(); File f = IrisPack.packsPack(pack);