Vector3 class

Пакет: com.hypixel.hytale.builtin.hytalegenerator.noise

Файл: com/hypixel/hytale/builtin/hytalegenerator/noise/FastNoiseLite.java

Поля (3)

МодификаторыТипИмя
public double x
public double y
public double z

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.noise;

class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.codecs.EnumCodec;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector2d;
class="kw">import org.joml.Vector3d;

class="kw">public class FastNoiseLite {
   class="kw">private int mSeed = 1337;
   class="kw">private float mFrequency = 0.01F;
   class="kw">private FastNoiseLite.NoiseType mNoiseType = FastNoiseLite.NoiseType.OpenSimplex2;
   class="kw">private FastNoiseLite.RotationType3D mRotationType3D = FastNoiseLite.RotationType3D.None;
   @Nonnull
   class="kw">private FastNoiseLite.TransformType3D mTransformType3D = FastNoiseLite.TransformType3D.DefaultOpenSimplex2;
   class="kw">private FastNoiseLite.FractalType mFractalType = FastNoiseLite.FractalType.None;
   class="kw">private int mOctaves = 3;
   class="kw">private float mLacunarity = 2.0F;
   class="kw">private float mGain = 0.5F;
   class="kw">private float mWeightedStrength = 0.0F;
   class="kw">private float mPingPongStrength = 2.0F;
   class="kw">private float mFractalBounding = 0.5714286F;
   class="kw">private FastNoiseLite.CellularDistanceFunction mCellularDistanceFunction = FastNoiseLite.CellularDistanceFunction.EuclideanSq;
   class="kw">private FastNoiseLite.CellularReturnType mCellularReturnType = FastNoiseLite.CellularReturnType.Distance;
   class="kw">private float mCellularJitterModifier = 1.0F;
   class="kw">private FastNoiseLite.DomainWarpType mDomainWarpType = FastNoiseLite.DomainWarpType.OpenSimplex2;
   @Nonnull
   class="kw">private FastNoiseLite.TransformType3D mWarpTransformType3D = FastNoiseLite.TransformType3D.DefaultOpenSimplex2;
   class="kw">private float mDomainWarpAmp = 1.0F;
   class="kw">private float mDomainWarpFreq = 1.0F;
   @Nonnull
   class="kw">private class="kw">static class="kw">final float[] Gradients2D = new float[]{
      0.13052619F,
      0.9914449F,
      0.38268343F,
      0.9238795F,
      0.6087614F,
      0.7933533F,
      0.7933533F,
      0.6087614F,
      0.9238795F,
      0.38268343F,
      0.9914449F,
      0.13052619F,
      0.9914449F,
      -0.13052619F,
      0.9238795F,
      -0.38268343F,
      0.7933533F,
      -0.6087614F,
      0.6087614F,
      -0.7933533F,
      0.38268343F,
      -0.9238795F,
      0.13052619F,
      -0.9914449F,
      -0.13052619F,
      -0.9914449F,
      -0.38268343F,
      -0.9238795F,
      -0.6087614F,
      -0.7933533F,
      -0.7933533F,
      -0.6087614F,
      -0.9238795F,
      -0.38268343F,
      -0.9914449F,
      -0.13052619F,
      -0.9914449F,
      0.13052619F,
      -0.9238795F,
      0.38268343F,
      -0.7933533F,
      0.6087614F,
      -0.6087614F,
      0.7933533F,
      -0.38268343F,
      0.9238795F,
      -0.13052619F,
      0.9914449F,
      0.13052619F,
      0.9914449F,
      0.38268343F,
      0.9238795F,
      0.6087614F,
      0.7933533F,
      0.7933533F,
      0.6087614F,
      0.9238795F,
      0.38268343F,
      0.9914449F,
      0.13052619F,
      0.9914449F,
      -0.13052619F,
      0.9238795F,
      -0.38268343F,
      0.7933533F,
      -0.6087614F,
      0.6087614F,
      -0.7933533F,
      0.38268343F,
      -0.9238795F,
      0.13052619F,
      -0.9914449F,
      -0.13052619F,
      -0.9914449F,
      -0.38268343F,
      -0.9238795F,
      -0.6087614F,
      -0.7933533F,
      -0.7933533F,
      -0.6087614F,
      -0.9238795F,
      -0.38268343F,
      -0.9914449F,
      -0.13052619F,
      -0.9914449F,
      0.13052619F,
      -0.9238795F,
      0.38268343F,
      -0.7933533F,
      0.6087614F,
      -0.6087614F,
      0.7933533F,
      -0.38268343F,
      0.9238795F,
      -0.13052619F,
      0.9914449F,
      0.13052619F,
      0.9914449F,
      0.38268343F,
      0.9238795F,
      0.6087614F,
      0.7933533F,
      0.7933533F,
      0.6087614F,
      0.9238795F,
      0.38268343F,
      0.9914449F,
      0.13052619F,
      0.9914449F,
      -0.13052619F,
      0.9238795F,
      -0.38268343F,
      0.7933533F,
      -0.6087614F,
      0.6087614F,
      -0.7933533F,
      0.38268343F,
      -0.9238795F,
      0.13052619F,
      -0.9914449F,
      -0.13052619F,
      -0.9914449F,
      -0.38268343F,
      -0.9238795F,
      -0.6087614F,
      -0.7933533F,
      -0.7933533F,
      -0.6087614F,
      -0.9238795F,
      -0.38268343F,
      -0.9914449F,
      -0.13052619F,
      -0.9914449F,
      0.13052619F,
      -0.9238795F,
      0.38268343F,
      -0.7933533F,
      0.6087614F,
      -0.6087614F,
      0.7933533F,
      -0.38268343F,
      0.9238795F,
      -0.13052619F,
      0.9914449F,
      0.13052619F,
      0.9914449F,
      0.38268343F,
      0.9238795F,
      0.6087614F,
      0.7933533F,
      0.7933533F,
      0.6087614F,
      0.9238795F,
      0.38268343F,
      0.9914449F,
      0.13052619F,
      0.9914449F,
      -0.13052619F,
      0.9238795F,
      -0.38268343F,
      0.7933533F,
      -0.6087614F,
      0.6087614F,
      -0.7933533F,
      0.38268343F,
      -0.9238795F,
      0.13052619F,
      -0.9914449F,
      -0.13052619F,
      -0.9914449F,
      -0.38268343F,
      -0.9238795F,
      -0.6087614F,
      -0.7933533F,
      -0.7933533F,
      -0.6087614F,
      -0.9238795F,
      -0.38268343F,
      -0.9914449F,
      -0.13052619F,
      -0.9914449F,
      0.13052619F,
      -0.9238795F,
      0.38268343F,
      -0.7933533F,
      0.6087614F,
      -0.6087614F,
      0.7933533F,
      -0.38268343F,
      0.9238795F,
      -0.13052619F,
      0.9914449F,
      0.13052619F,
      0.9914449F,
      0.38268343F,
      0.9238795F,
      0.6087614F,
      0.7933533F,
      0.7933533F,
      0.6087614F,
      0.9238795F,
      0.38268343F,
      0.9914449F,
      0.13052619F,
      0.9914449F,
      -0.13052619F,
      0.9238795F,
      -0.38268343F,
      0.7933533F,
      -0.6087614F,
      0.6087614F,
      -0.7933533F,
      0.38268343F,
      -0.9238795F,
      0.13052619F,
      -0.9914449F,
      -0.13052619F,
      -0.9914449F,
      -0.38268343F,
      -0.9238795F,
      -0.6087614F,
      -0.7933533F,
      -0.7933533F,
      -0.6087614F,
      -0.9238795F,
      -0.38268343F,
      -0.9914449F,
      -0.13052619F,
      -0.9914449F,
      0.13052619F,
      -0.9238795F,
      0.38268343F,
      -0.7933533F,
      0.6087614F,
      -0.6087614F,
      0.7933533F,
      -0.38268343F,
      0.9238795F,
      -0.13052619F,
      0.9914449F,
      0.38268343F,
      0.9238795F,
      0.9238795F,
      0.38268343F,
      0.9238795F,
      -0.38268343F,
      0.38268343F,
      -0.9238795F,
      -0.38268343F,
      -0.9238795F,
      -0.9238795F,
      -0.38268343F,
      -0.9238795F,
      0.38268343F,
      -0.38268343F,
      0.9238795F
   };
   @Nonnull
   class="kw">private class="kw">static class="kw">final float[] RandVecs2D = new float[]{
      -0.2700222F,
      -0.9628541F,
      0.38630927F,
      -0.9223693F,
      0.04444859F,
      -0.9990117F,
      -0.59925234F,
      -0.80056024F,
      -0.781928F,
      0.62336874F,
      0.9464672F,
      0.32279992F,
      -0.6514147F,
      -0.7587219F,
      0.93784726F,
      0.34704837F,
      -0.8497876F,
      -0.52712524F,
      -0.87904257F,
      0.47674325F,
      -0.8923003F,
      -0.45144236F,
      -0.37984443F,
      -0.9250504F,
      -0.9951651F,
      0.09821638F,
      0.7724398F,
      -0.635088F,
      0.75732833F,
      -0.6530343F,
      -0.9928005F,
      -0.119780056F,
      -0.05326657F,
      0.99858034F,
      0.97542536F,
      -0.22033007F,
      -0.76650184F,
      0.64224213F,
      0.9916367F,
      0.12906061F,
      -0.99469686F,
      0.10285038F,
      -0.53792053F,
      -0.8429955F,
      0.50228155F,
      -0.86470413F,
      0.45598215F,
      -0.8899889F,
      -0.8659131F,
      -0.50019443F,
      0.08794584F,
      -0.9961253F,
      -0.5051685F,
      0.8630207F,
      0.7753185F,
      -0.6315704F,
      -0.69219446F,
      0.72171104F,
      -0.51916593F,
      -0.85467345F,
      0.8978623F,
      -0.4402764F,
      -0.17067741F,
      0.98532695F,
      -0.935343F,
      -0.35374206F,
      -0.99924046F,
      0.038967468F,
      -0.2882064F,
      -0.9575683F,
      -0.96638113F,
      0.2571138F,
      -0.87597144F,
      -0.48236302F,
      -0.8303123F,
      -0.55729836F,
      0.051101338F,
      -0.99869347F,
      -0.85583735F,
      -0.51724505F,
      0.098870255F,
      0.9951003F,
      0.9189016F,
      0.39448678F,
      -0.24393758F,
      -0.96979094F,
      -0.81214094F,
      -0.5834613F,
      -0.99104315F,
      0.13354214F,
      0.8492424F,
      -0.52800316F,
      -0.9717839F,
      -0.23587295F,
      0.9949457F,
      0.10041421F,
      0.6241065F,
      -0.7813392F,
      0.6629103F,
      0.74869883F,
      -0.7197418F,
      0.6942418F,
      -0.8143371F,
      -0.58039224F,
      0.10452105F,
      -0.9945227F,
      -0.10659261F,
      -0.99430275F,
      0.44579968F,
      -0.8951328F,
      0.105547406F,
      0.99441427F,
      -0.9927903F,
      0.11986445F,
      -0.83343667F,
      0.55261505F,
      0.9115562F,
      -0.4111756F,
      0.8285545F,
      -0.55990845F,
      0.7217098F,
      -0.6921958F,
      0.49404928F,
      -0.8694339F,
      -0.36523214F,
      -0.9309165F,
      -0.9696607F,
      0.24445485F,
      0.089255095F,
      -0.9960088F,
      0.5354071F,
      -0.8445941F,
      -0.10535762F,
      0.9944344F,
      -0.98902845F,
      0.1477251F,
      0.004856105F,
      0.9999882F,
      0.98855984F,
      0.15082914F,
      0.92861295F,
      -0.37104982F,
      -0.5832394F,
      -0.8123003F,
      0.30152076F,
      0.9534596F,
      -0.95751107F,
      0.28839657F,
      0.9715802F,
      -0.23671055F,
      0.2299818F,
      0.97319496F,
      0.9557638F,
      -0.2941352F,
      0.7409561F,
      0.67155343F,
      -0.9971514F,
      -0.07542631F,
      0.69057107F,
      -0.7232645F,
      -0.2907137F,
      -0.9568101F,
      0.5912778F,
      -0.80646795F,
      -0.94545925F,
      -0.3257405F,
      0.66644555F,
      0.7455537F,
      0.6236135F,
      0.78173286F,
      0.9126994F,
      -0.40863165F,
      -0.8191762F,
      0.57354194F,
      -0.8812746F,
      -0.4726046F,
      0.99533135F,
      0.09651673F,
      0.98556507F,
      -0.16929697F,
      -0.8495981F,
      0.52743065F,
      0.6174854F,
      -0.78658235F,
      0.85081565F,
      0.5254643F,
      0.99850327F,
      -0.0546925F,
      0.19713716F,
      -0.98037595F,
      0.66078556F,
      -0.7505747F,
      -0.030974941F,
      0.9995202F,
      -0.6731661F,
      0.73949134F,
      -0.71950185F,
      -0.69449055F,
      0.97275114F,
      0.2318516F,
      0.9997059F,
      -0.02425069F,
      0.44217876F,
      -0.89692694F,
      0.9981351F,
      -0.061043672F,
      -0.9173661F,
      -0.39804456F,
      -0.81500566F,
      -0.579453F,
      -0.87893313F,
      0.476945F,
      0.015860584F,
      0.99987423F,
      -0.8095465F,
      0.5870558F,
      -0.9165899F,
      -0.39982867F,
      -0.8023543F,
      0.5968481F,
      -0.5176738F,
      0.85557806F,
      -0.8154407F,
      -0.57884055F,
      0.40220103F,
      -0.91555136F,
      -0.9052557F,
      -0.4248672F,
      0.7317446F,
      0.681579F,
      -0.56476325F,
      -0.825253F,
      -0.8403276F,
      -0.54207885F,
      -0.93142813F,
      0.36392525F,
      0.52381986F,
      0.85182905F,
      0.7432804F,
      -0.66898F,
      -0.9853716F,
      -0.17041974F,
      0.46014687F,
      0.88784283F,
      0.8258554F,
      0.56388193F,
      0.6182366F,
      0.785992F,
      0.83315027F,
      -0.55304664F,
      0.15003075F,
      0.9886813F,
      -0.6623304F,
      -0.7492119F,
      -0.66859865F,
      0.74362344F,
      0.7025606F,
      0.7116239F,
      -0.54193896F,
      -0.84041786F,
      -0.33886164F,
      0.9408362F,
      0.833153F,
      0.55304253F,
      -0.29897207F,
      -0.95426184F,
      0.2638523F,
      0.9645631F,
      0.12410874F,
      -0.9922686F,
      -0.7282649F,
      -0.6852957F,
      0.69625F,
      0.71779937F,
      -0.91835356F,
      0.395761F,
      -0.6326102F,
      -0.7744703F,
      -0.9331892F,
      -0.35938552F,
      -0.11537793F,
      -0.99332166F,
      0.9514975F,
      -0.30765656F,
      -0.08987977F,
      -0.9959526F,
      0.6678497F,
      0.7442962F,
      0.79524004F,
      -0.6062947F,
      -0.6462007F,
      -0.7631675F,
      -0.27335986F,
      0.96191186F,
      0.966959F,
      -0.25493184F,
      -0.9792895F,
      0.20246519F,
      -0.5369503F,
      -0.84361386F,
      -0.27003646F,
      -0.9628501F,
      -0.6400277F,
      0.76835185F,
      -0.78545374F,
      -0.6189204F,
      0.060059056F,
      -0.9981948F,
      -0.024557704F,
      0.9996984F,
      -0.65983623F,
      0.7514095F,
      -0.62538946F,
      -0.7803128F,
      -0.6210409F,
      -0.7837782F,
      0.8348889F,
      0.55041856F,
      -0.15922752F,
      0.9872419F,
      0.83676225F,
      0.54756635F,
      -0.8675754F,
      -0.4973057F,
      -0.20226626F,
      -0.97933054F,
      0.939919F,
      0.34139755F,
      0.98774046F,
      -0.1561049F,
      -0.90344554F,
      0.42870283F,
      0.12698042F,
      -0.9919052F,
      -0.3819601F,
      0.92417884F,
      0.9754626F,
      0.22016525F,
      -0.32040158F,
      -0.94728184F,
      -0.9874761F,
      0.15776874F,
      0.025353484F,
      -0.99967855F,
      0.4835131F,
      -0.8753371F,
      -0.28508F,
      -0.9585037F,
      -0.06805516F,
      -0.99768156F,
      -0.7885244F,
      -0.61500347F,
      0.3185392F,
      -0.9479097F,
      0.8880043F,
      0.45983514F,
      0.64769214F,
      -0.76190215F,
      0.98202413F,
      0.18875542F,
      0.93572754F,
      -0.35272372F,
      -0.88948953F,
      0.45695552F,
      0.7922791F,
      0.6101588F,
      0.74838185F,
      0.66326815F,
      -0.728893F,
      -0.68462765F,
      0.8729033F,
      -0.48789328F,
      0.8288346F,
      0.5594937F,
      0.08074567F,
      0.99673474F,
      0.97991484F,
      -0.1994165F,
      -0.5807307F,
      -0.81409574F,
      -0.47000498F,
      -0.8826638F,
      0.2409493F,
      0.9705377F,
      0.9437817F,
      -0.33056942F,
      -0.89279985F,
      -0.45045355F,
      -0.80696225F,
      0.59060305F,
      0.062589735F,
      0.99803936F,
      -0.93125975F,
      0.36435598F,
      0.57774496F,
      0.81621736F,
      -0.3360096F,
      -0.9418586F,
      0.69793206F,
      -0.71616393F,
      -0.0020081573F,
      -0.999998F,
      -0.18272944F,
      -0.98316324F,
      -0.6523912F,
      0.7578824F,
      -0.43026268F,
      -0.9027037F,
      -0.9985126F,
      -0.054520912F,
      -0.010281022F,
      -0.99994713F,
      -0.49460712F,
      0.86911666F,
      -0.299935F,
      0.95395964F,
      0.8165472F,
      0.5772787F,
      0.26974604F,
      0.9629315F,
      -0.7306287F,
      -0.68277496F,
      -0.7590952F,
      -0.65097964F,
      -0.9070538F,
      0.4210146F,
      -0.5104861F,
      -0.859886F,
      0.86133504F,
      0.5080373F,
      0.50078815F,
      -0.8655699F,
      -0.6541582F,
      0.7563578F,
      -0.83827555F,
      -0.54524684F,
      0.6940071F,
      0.7199682F,
      0.06950936F,
      0.9975813F,
      0.17029423F,
      -0.9853933F,
      0.26959732F,
      0.9629731F,
      0.55196124F,
      -0.83386976F,
      0.2256575F,
      -0.9742067F,
      0.42152628F,
      -0.9068162F,
      0.48818734F,
      -0.87273884F,
      -0.3683855F,
      -0.92967314F,
      -0.98253906F,
      0.18605645F,
      0.81256473F,
      0.582871F,
      0.3196461F,
      -0.947537F,
      0.9570914F,
      0.28978625F,
      -0.6876655F,
      -0.7260276F,
      -0.9988771F,
      -0.04737673F,
      -0.1250179F,
      0.9921545F,
      -0.82801336F,
      0.56070834F,
      0.93248636F,
      -0.36120513F,
      0.63946533F,
      0.7688199F,
      -0.016238471F,
      -0.99986815F,
      -0.99550146F,
      -0.094746135F,
      -0.8145332F,
      0.580117F,
      0.4037328F,
      -0.91487694F,
      0.9944263F,
      0.10543368F,
      -0.16247116F,
      0.9867133F,
      -0.9949488F,
      -0.10038388F,
      -0.69953024F,
      0.714603F,
      0.5263415F,
      -0.85027325F,
      -0.5395222F,
      0.8419714F,
      0.65793705F,
      0.7530729F,
      0.014267588F,
      -0.9998982F,
      -0.6734384F,
      0.7392433F,
      0.6394121F,
      -0.7688642F,
      0.9211571F,
      0.38919085F,
      -0.14663722F,
      -0.98919034F,
      -0.7823181F,
      0.6228791F,
      -0.5039611F,
      -0.8637264F,
      -0.774312F,
      -0.632804F
   };
   @Nonnull
   class="kw">private class="kw">static class="kw">final float[] Gradients3D = new float[]{
      0.0F,
      1.0F,
      1.0F,
      0.0F,
      0.0F,
      -1.0F,
      1.0F,
      0.0F,
      0.0F,
      1.0F,
      -1.0F,
      0.0F,
      0.0F,
      -1.0F,
      -1.0F,
      0.0F,
      1.0F,
      0.0F,
      1.0F,
      0.0F,
      -1.0F,
      0.0F,
      1.0F,
      0.0F,
      1.0F,
      0.0F,
      -1.0F,
      0.0F,
      -1.0F,
      0.0F,
      -1.0F,
      0.0F,
      1.0F,
      1.0F,
      0.0F,
      0.0F,
      -1.0F,
      1.0F,
      0.0F,
      0.0F,
      1.0F,
      -1.0F,
      0.0F,
      0.0F,
      -1.0F,
      -1.0F,
      0.0F,
      0.0F,
      0.0F,
      1.0F,
      1.0F,
      0.0F,
      0.0F,
      -1.0F,
      1.0F,
      0.0F,
      0.0F,
      1.0F,
      -1.0F,
      0.0F,
      0.0F,
      -1.0F,
      -1.0F,
      0.0F,
      1.0F,
      0.0F,
      1.0F,
      0.0F,
      -1.0F,
      0.0F,
      1.0F,
      0.0F,
      1.0F,
      0.0F,
      -1.0F,
      0.0F,
      -1.0F,
      0.0F,
      -1.0F,
      0.0F,
      1.0F,
      1.0F,
      0.0F,
      0.0F,
      -1.0F,
      1.0F,
      0.0F,
      0.0F,
      1.0F,
      -1.0F,
      0.0F,
      0.0F,
      -1.0F,
      -1.0F,
      0.0F,
      0.0F,
      0.0F,
      1.0F,
      1.0F,
      0.0F,
      0.0F,
      -1.0F,
      1.0F,
      0.0F,
      0.0F,
      1.0F,
      -1.0F,
      0.0F,
      0.0F,
      -1.0F,
      -1.0F,
      0.0F,
      1.0F,
      0.0F,
      1.0F,
      0.0F,
      -1.0F,
      0.0F,
      1.0F,
      0.0F,
      1.0F,
      0.0F,
      -1.0F,
      0.0F,
      -1.0F,
      0.0F,
      -1.0F,
      0.0F,
      1.0F,
      1.0F,
      0.0F,
      0.0F,
      -1.0F,
      1.0F,
      0.0F,
      0.0F,
      1.0F,
      -1.0F,
      0.0F,
      0.0F,
      -1.0F,
      -1.0F,
      0.0F,
      0.0F,
      0.0F,
      1.0F,
      1.0F,
      0.0F,
      0.0F,
      -1.0F,
      1.0F,
      0.0F,
      0.0F,
      1.0F,
      -1.0F,
      0.0F,
      0.0F,
      -1.0F,
      -1.0F,
      0.0F,
      1.0F,
      0.0F,
      1.0F,
      0.0F,
      -1.0F,
      0.0F,
      1.0F,
      0.0F,
      1.0F,
      0.0F,
      -1.0F,
      0.0F,
      -1.0F,
      0.0F,
      -1.0F,
      0.0F,
      1.0F,
      1.0F,
      0.0F,
      0.0F,
      -1.0F,
      1.0F,
      0.0F,
      0.0F,
      1.0F,
      -1.0F,
      0.0F,
      0.0F,
      -1.0F,
      -1.0F,
      0.0F,
      0.0F,
      0.0F,
      1.0F,
      1.0F,
      0.0F,
      0.0F,
      -1.0F,
      1.0F,
      0.0F,
      0.0F,
      1.0F,
      -1.0F,
      0.0F,
      0.0F,
      -1.0F,
      -1.0F,
      0.0F,
      1.0F,
      0.0F,
      1.0F,
      0.0F,
      -1.0F,
      0.0F,
      1.0F,
      0.0F,
      1.0F,
      0.0F,
      -1.0F,
      0.0F,
      -1.0F,
      0.0F,
      -1.0F,
      0.0F,
      1.0F,
      1.0F,
      0.0F,
      0.0F,
      -1.0F,
      1.0F,
      0.0F,
      0.0F,
      1.0F,
      -1.0F,
      0.0F,
      0.0F,
      -1.0F,
      -1.0F,
      0.0F,
      0.0F,
      1.0F,
      1.0F,
      0.0F,
      0.0F,
      0.0F,
      -1.0F,
      1.0F,
      0.0F,
      -1.0F,
      1.0F,
      0.0F,
      0.0F,
      0.0F,
      -1.0F,
      -1.0F,
      0.0F
   };
   @Nonnull
   class="kw">private class="kw">static class="kw">final float[] randVecs3D = new float[]{
      -0.7292737F,
      -0.66184396F,
      0.17355819F,
      0.0F,
      0.7902921F,
      -0.5480887F,
      -0.2739291F,
      0.0F,
      0.7217579F,
      0.62262124F,
      -0.3023381F,
      0.0F,
      0.5656831F,
      -0.8208298F,
      -0.079000026F,
      0.0F,
      0.76004905F,
      -0.55559796F,
      -0.33709997F,
      0.0F,
      0.37139457F,
      0.50112647F,
      0.78162545F,
      0.0F,
      -0.12770624F,
      -0.4254439F,
      -0.8959289F,
      0.0F,
      -0.2881561F,
      -0.5815839F,
      0.7607406F,
      0.0F,
      0.5849561F,
      -0.6628202F,
      -0.4674352F,
      0.0F,
      0.33071712F,
      0.039165374F,
      0.94291687F,
      0.0F,
      0.8712122F,
      -0.41133744F,
      -0.26793817F,
      0.0F,
      0.580981F,
      0.7021916F,
      0.41156778F,
      0.0F,
      0.5037569F,
      0.6330057F,
      -0.5878204F,
      0.0F,
      0.44937122F,
      0.6013902F,
      0.6606023F,
      0.0F,
      -0.6878404F,
      0.090188906F,
      -0.7202372F,
      0.0F,
      -0.59589565F,
      -0.64693505F,
      0.47579765F,
      0.0F,
      -0.5127052F,
      0.1946922F,
      -0.83619875F,
      0.0F,
      -0.99115074F,
      -0.054102764F,
      -0.12121531F,
      0.0F,
      -0.21497211F,
      0.9720882F,
      -0.09397608F,
      0.0F,
      -0.7518651F,
      -0.54280573F,
      0.37424695F,
      0.0F,
      0.5237069F,
      0.8516377F,
      -0.021078179F,
      0.0F,
      0.6333505F,
      0.19261672F,
      -0.74951047F,
      0.0F,
      -0.06788242F,
      0.39983058F,
      0.9140719F,
      0.0F,
      -0.55386287F,
      -0.47298968F,
      -0.6852129F,
      0.0F,
      -0.72614557F,
      -0.5911991F,
      0.35099334F,
      0.0F,
      -0.9229275F,
      -0.17828088F,
      0.34120494F,
      0.0F,
      -0.6968815F,
      0.65112746F,
      0.30064803F,
      0.0F,
      0.96080446F,
      -0.20983632F,
      -0.18117249F,
      0.0F,
      0.068171464F,
      -0.9743405F,
      0.21450691F,
      0.0F,
      -0.3577285F,
      -0.6697087F,
      -0.65078455F,
      0.0F,
      -0.18686211F,
      0.7648617F,
      -0.61649746F,
      0.0F,
      -0.65416974F,
      0.3967915F,
      0.64390874F,
      0.0F,
      0.699334F,
      -0.6164538F,
      0.36182392F,
      0.0F,
      -0.15466657F,
      0.6291284F,
      0.7617583F,
      0.0F,
      -0.6841613F,
      -0.2580482F,
      -0.68215424F,
      0.0F,
      0.5383981F,
      0.4258655F,
      0.727163F,
      0.0F,
      -0.5026988F,
      -0.7939833F,
      -0.3418837F,
      0.0F,
      0.32029718F,
      0.28344154F,
      0.9039196F,
      0.0F,
      0.86832273F,
      -3.7626564E-4F,
      -0.49599952F,
      0.0F,
      0.79112005F,
      -0.085110456F,
      0.60571057F,
      0.0F,
      -0.04011016F,
      -0.43972486F,
      0.8972364F,
      0.0F,
      0.914512F,
      0.35793462F,
      -0.18854876F,
      0.0F,
      -0.96120393F,
      -0.27564842F,
      0.010246669F,
      0.0F,
      0.65103614F,
      -0.28777993F,
      -0.70237786F,
      0.0F,
      -0.20417863F,
      0.73652375F,
      0.6448596F,
      0.0F,
      -0.7718264F,
      0.37906268F,
      0.5104856F,
      0.0F,
      -0.30600828F,
      -0.7692988F,
      0.56083715F,
      0.0F,
      0.45400733F,
      -0.5024843F,
      0.73578995F,
      0.0F,
      0.48167956F,
      0.6021208F,
      -0.636738F,
      0.0F,
      0.69619805F,
      -0.32221973F,
      0.6414692F,
      0.0F,
      -0.65321606F,
      -0.6781149F,
      0.33685157F,
      0.0F,
      0.50893015F,
      -0.61546624F,
      -0.60182345F,
      0.0F,
      -0.16359198F,
      -0.9133605F,
      -0.37284088F,
      0.0F,
      0.5240802F,
      -0.8437664F,
      0.11575059F,
      0.0F,
      0.5902587F,
      0.4983818F,
      -0.63498837F,
      0.0F,
      0.5863228F,
      0.49476475F,
      0.6414308F,
      0.0F,
      0.6779335F,
      0.23413453F,
      0.6968409F,
      0.0F,
      0.7177054F,
      -0.68589795F,
      0.12017863F,
      0.0F,
      -0.532882F,
      -0.5205125F,
      0.6671608F,
      0.0F,
      -0.8654874F,
      -0.07007271F,
      -0.4960054F,
      0.0F,
      -0.286181F,
      0.79520893F,
      0.53454953F,
      0.0F,
      -0.048495296F,
      0.98108363F,
      -0.18741156F,
      0.0F,
      -0.63585216F,
      0.60583484F,
      0.47818002F,
      0.0F,
      0.62547946F,
      -0.28616196F,
      0.72586966F,
      0.0F,
      -0.258526F,
      0.50619495F,
      -0.8227582F,
      0.0F,
      0.021363068F,
      0.50640166F,
      -0.862033F,
      0.0F,
      0.20011178F,
      0.85992634F,
      0.46955505F,
      0.0F,
      0.47435614F,
      0.6014985F,
      -0.6427953F,
      0.0F,
      0.6622994F,
      -0.52024746F,
      -0.539168F,
      0.0F,
      0.08084973F,
      -0.65327203F,
      0.7527941F,
      0.0F,
      -0.6893687F,
      0.059286036F,
      0.7219805F,
      0.0F,
      -0.11218871F,
      -0.96731853F,
      0.22739525F,
      0.0F,
      0.7344116F,
      0.59796685F,
      -0.3210533F,
      0.0F,
      0.5789393F,
      -0.24888498F,
      0.776457F,
      0.0F,
      0.69881827F,
      0.35571697F,
      -0.6205791F,
      0.0F,
      -0.86368454F,
      -0.27487713F,
      -0.4224826F,
      0.0F,
      -0.4247028F,
      -0.46408808F,
      0.77733505F,
      0.0F,
      0.5257723F,
      -0.84270173F,
      0.11583299F,
      0.0F,
      0.93438303F,
      0.31630248F,
      -0.16395439F,
      0.0F,
      -0.10168364F,
      -0.8057303F,
      -0.58348876F,
      0.0F,
      -0.6529239F,
      0.50602126F,
      -0.5635893F,
      0.0F,
      -0.24652861F,
      -0.9668206F,
      -0.06694497F,
      0.0F,
      -0.9776897F,
      -0.20992506F,
      -0.0073688254F,
      0.0F,
      0.7736893F,
      0.57342446F,
      0.2694238F,
      0.0F,
      -0.6095088F,
      0.4995679F,
      0.6155737F,
      0.0F,
      0.5794535F,
      0.7434547F,
      0.33392924F,
      0.0F,
      -0.8226211F,
      0.081425816F,
      0.56272936F,
      0.0F,
      -0.51038545F,
      0.47036678F,
      0.719904F,
      0.0F,
      -0.5764972F,
      -0.072316565F,
      -0.81389266F,
      0.0F,
      0.7250629F,
      0.39499715F,
      -0.56414634F,
      0.0F,
      -0.1525424F,
      0.48608407F,
      -0.8604958F,
      0.0F,
      -0.55509764F,
      -0.49578208F,
      0.6678823F,
      0.0F,
      -0.18836144F,
      0.91458696F,
      0.35784173F,
      0.0F,
      0.76255566F,
      -0.54144084F,
      -0.35404897F,
      0.0F,
      -0.5870232F,
      -0.3226498F,
      -0.7424964F,
      0.0F,
      0.30511242F,
      0.2262544F,
      -0.9250488F,
      0.0F,
      0.63795763F,
      0.57724243F,
      -0.50970703F,
      0.0F,
      -0.5966776F,
      0.14548524F,
      -0.7891831F,
      0.0F,
      -0.65833056F,
      0.65554875F,
      -0.36994147F,
      0.0F,
      0.74348927F,
      0.23510846F,
      0.6260573F,
      0.0F,
      0.5562114F,
      0.82643604F,
      -0.08736329F,
      0.0F,
      -0.302894F,
      -0.8251527F,
      0.47684193F,
      0.0F,
      0.11293438F,
      -0.9858884F,
      -0.123571075F,
      0.0F,
      0.5937653F,
      -0.5896814F,
      0.5474657F,
      0.0F,
      0.6757964F,
      -0.58357584F,
      -0.45026484F,
      0.0F,
      0.7242303F,
      -0.11527198F,
      0.67985505F,
      0.0F,
      -0.9511914F,
      0.0753624F,
      -0.29925808F,
      0.0F,
      0.2539471F,
      -0.18863393F,
      0.9486454F,
      0.0F,
      0.5714336F,
      -0.16794509F,
      -0.8032796F,
      0.0F,
      -0.06778235F,
      0.39782694F,
      0.9149532F,
      0.0F,
      0.6074973F,
      0.73306F,
      -0.30589226F,
      0.0F,
      -0.54354787F,
      0.16758224F,
      0.8224791F,
      0.0F,
      -0.5876678F,
      -0.3380045F,
      -0.7351187F,
      0.0F,
      -0.79675627F,
      0.040978227F,
      -0.60290986F,
      0.0F,
      -0.19963509F,
      0.8706295F,
      0.4496111F,
      0.0F,
      -0.027876602F,
      -0.91062325F,
      -0.4122962F,
      0.0F,
      -0.7797626F,
      -0.6257635F,
      0.019757755F,
      0.0F,
      -0.5211233F,
      0.74016446F,
      -0.42495546F,
      0.0F,
      0.8575425F,
      0.4053273F,
      -0.31675017F,
      0.0F,
      0.10452233F,
      0.8390196F,
      -0.53396744F,
      0.0F,
      0.3501823F,
      0.9242524F,
      -0.15208502F,
      0.0F,
      0.19878499F,
      0.076476134F,
      0.9770547F,
      0.0F,
      0.78459966F,
      0.6066257F,
      -0.12809642F,
      0.0F,
      0.09006737F,
      -0.97509897F,
      -0.20265691F,
      0.0F,
      -0.82743436F,
      -0.54229957F,
      0.14582036F,
      0.0F,
      -0.34857976F,
      -0.41580227F,
      0.8400004F,
      0.0F,
      -0.2471779F,
      -0.730482F,
      -0.6366311F,
      0.0F,
      -0.3700155F,
      0.8577948F,
      0.35675845F,
      0.0F,
      0.59133947F,
      -0.54831195F,
      -0.59133035F,
      0.0F,
      0.120487355F,
      -0.7626472F,
      -0.6354935F,
      0.0F,
      0.6169593F,
      0.03079648F,
      0.7863923F,
      0.0F,
      0.12581569F,
      -0.664083F,
      -0.73699677F,
      0.0F,
      -0.6477565F,
      -0.17401473F,
      -0.74170774F,
      0.0F,
      0.6217889F,
      -0.7804431F,
      -0.06547655F,
      0.0F,
      0.6589943F,
      -0.6096988F,
      0.44044736F,
      0.0F,
      -0.26898375F,
      -0.6732403F,
      -0.68876356F,
      0.0F,
      -0.38497752F,
      0.56765425F,
      0.7277094F,
      0.0F,
      0.57544446F,
      0.81104714F,
      -0.10519635F,
      0.0F,
      0.91415936F,
      0.3832948F,
      0.13190056F,
      0.0F,
      -0.10792532F,
      0.9245494F,
      0.36545935F,
      0.0F,
      0.3779771F,
      0.30431488F,
      0.87437165F,
      0.0F,
      -0.21428852F,
      -0.8259286F,
      0.5214617F,
      0.0F,
      0.58025444F,
      0.41480985F,
      -0.7008834F,
      0.0F,
      -0.19826609F,
      0.85671616F,
      -0.47615966F,
      0.0F,
      -0.033815537F,
      0.37731808F,
      -0.9254661F,
      0.0F,
      -0.68679225F,
      -0.6656598F,
      0.29191336F,
      0.0F,
      0.7731743F,
      -0.28757936F,
      -0.565243F,
      0.0F,
      -0.09655942F,
      0.91937083F,
      -0.3813575F,
      0.0F,
      0.27157024F,
      -0.957791F,
      -0.09426606F,
      0.0F,
      0.24510157F,
      -0.6917999F,
      -0.6792188F,
      0.0F,
      0.97770077F,
      -0.17538553F,
      0.115503654F,
      0.0F,
      -0.522474F,
      0.8521607F,
      0.029036159F,
      0.0F,
      -0.77348804F,
      -0.52612925F,
      0.35341796F,
      0.0F,
      -0.71344924F,
      -0.26954725F,
      0.6467878F,
      0.0F,
      0.16440372F,
      0.5105846F,
      -0.84396374F,
      0.0F,
      0.6494636F,
      0.055856112F,
      0.7583384F,
      0.0F,
      -0.4711971F,
      0.50172806F,
      -0.7254256F,
      0.0F,
      -0.63357645F,
      -0.23816863F,
      -0.7361091F,
      0.0F,
      -0.9021533F,
      -0.2709478F,
      -0.33571818F,
      0.0F,
      -0.3793711F,
      0.8722581F,
      0.3086152F,
      0.0F,
      -0.68555987F,
      -0.32501432F,
      0.6514394F,
      0.0F,
      0.29009423F,
      -0.7799058F,
      -0.5546101F,
      0.0F,
      -0.20983194F,
      0.8503707F,
      0.48253515F,
      0.0F,
      -0.45926037F,
      0.6598504F,
      -0.5947077F,
      0.0F,
      0.87159455F,
      0.09616365F,
      -0.48070312F,
      0.0F,
      -0.6776666F,
      0.71185046F,
      -0.1844907F,
      0.0F,
      0.7044378F,
      0.3124276F,
      0.637304F,
      0.0F,
      -0.7052319F,
      -0.24010932F,
      -0.6670798F,
      0.0F,
      0.081921004F,
      -0.72073364F,
      -0.68835455F,
      0.0F,
      -0.6993681F,
      -0.5875763F,
      -0.4069869F,
      0.0F,
      -0.12814544F,
      0.6419896F,
      0.75592864F,
      0.0F,
      -0.6337388F,
      -0.67854714F,
      -0.3714147F,
      0.0F,
      0.5565052F,
      -0.21688876F,
      -0.8020357F,
      0.0F,
      -0.57915545F,
      0.7244372F,
      -0.3738579F,
      0.0F,
      0.11757791F,
      -0.7096451F,
      0.69467926F,
      0.0F,
      -0.613462F,
      0.13236311F,
      0.7785528F,
      0.0F,
      0.69846356F,
      -0.029805163F,
      -0.7150247F,
      0.0F,
      0.83180827F,
      -0.3930172F,
      0.39195976F,
      0.0F,
      0.14695764F,
      0.055416517F,
      -0.98758924F,
      0.0F,
      0.70886856F,
      -0.2690504F,
      0.65201014F,
      0.0F,
      0.27260533F,
      0.67369765F,
      -0.68688995F,
      0.0F,
      -0.65912956F,
      0.30354586F,
      -0.68804663F,
      0.0F,
      0.48151314F,
      -0.752827F,
      0.4487723F,
      0.0F,
      0.943001F,
      0.16756473F,
      -0.28752613F,
      0.0F,
      0.43480295F,
      0.7695305F,
      -0.46772778F,
      0.0F,
      0.39319962F,
      0.5944736F,
      0.70142365F,
      0.0F,
      0.72543365F,
      -0.60392565F,
      0.33018148F,
      0.0F,
      0.75902355F,
      -0.6506083F,
      0.024333132F,
      0.0F,
      -0.8552769F,
      -0.3430043F,
      0.38839358F,
      0.0F,
      -0.6139747F,
      0.6981725F,
      0.36822575F,
      0.0F,
      -0.74659055F,
      -0.575201F,
      0.33428493F,
      0.0F,
      0.5730066F,
      0.8105555F,
      -0.12109168F,
      0.0F,
      -0.92258775F,
      -0.3475211F,
      -0.16751404F,
      0.0F,
      -0.71058166F,
      -0.47196922F,
      -0.5218417F,
      0.0F,
      -0.0856461F,
      0.35830015F,
      0.9296697F,
      0.0F,
      -0.8279698F,
      -0.2043157F,
      0.5222271F,
      0.0F,
      0.42794403F,
      0.278166F,
      0.8599346F,
      0.0F,
      0.539908F,
      -0.78571206F,
      -0.3019204F,
      0.0F,
      0.5678404F,
      -0.5495414F,
      -0.61283076F,
      0.0F,
      -0.9896071F,
      0.13656391F,
      -0.045034185F,
      0.0F,
      -0.6154343F,
      -0.64408755F,
      0.45430374F,
      0.0F,
      0.10742044F,
      -0.79463404F,
      0.59750944F,
      0.0F,
      -0.359545F,
      -0.888553F,
      0.28495783F,
      0.0F,
      -0.21804053F,
      0.1529889F,
      0.9638738F,
      0.0F,
      -0.7277432F,
      -0.61640507F,
      -0.30072346F,
      0.0F,
      0.7249729F,
      -0.0066971947F,
      0.68874484F,
      0.0F,
      -0.5553659F,
      -0.5336586F,
      0.6377908F,
      0.0F,
      0.5137558F,
      0.79762083F,
      -0.316F,
      0.0F,
      -0.3794025F,
      0.92456084F,
      -0.035227515F,
      0.0F,
      0.82292485F,
      0.27453658F,
      -0.49741766F,
      0.0F,
      -0.5404114F,
      0.60911417F,
      0.5804614F,
      0.0F,
      0.8036582F,
      -0.27030295F,
      0.5301602F,
      0.0F,
      0.60443187F,
      0.68329686F,
      0.40959433F,
      0.0F,
      0.06389989F,
      0.96582085F,
      -0.2512108F,
      0.0F,
      0.10871133F,
      0.74024713F,
      -0.6634878F,
      0.0F,
      -0.7134277F,
      -0.6926784F,
      0.10591285F,
      0.0F,
      0.64588976F,
      -0.57245487F,
      -0.50509584F,
      0.0F,
      -0.6553931F,
      0.73814714F,
      0.15999562F,
      0.0F,
      0.39109614F,
      0.91888714F,
      -0.05186756F,
      0.0F,
      -0.48790225F,
      -0.5904377F,
      0.64291114F,
      0.0F,
      0.601479F,
      0.77074414F,
      -0.21018201F,
      0.0F,
      -0.5677173F,
      0.7511361F,
      0.33688518F,
      0.0F,
      0.7858574F,
      0.22667466F,
      0.5753667F,
      0.0F,
      -0.45203456F,
      -0.6042227F,
      -0.65618575F,
      0.0F,
      0.0022721163F,
      0.4132844F,
      -0.9105992F,
      0.0F,
      -0.58157516F,
      -0.5162926F,
      0.6286591F,
      0.0F,
      -0.03703705F,
      0.8273786F,
      0.5604221F,
      0.0F,
      -0.51196927F,
      0.79535437F,
      -0.324498F,
      0.0F,
      -0.26824173F,
      -0.957229F,
      -0.10843876F,
      0.0F,
      -0.23224828F,
      -0.9679131F,
      -0.09594243F,
      0.0F,
      0.3554329F,
      -0.8881506F,
      0.29130062F,
      0.0F,
      0.73465204F,
      -0.4371373F,
      0.5188423F,
      0.0F,
      0.998512F,
      0.046590112F,
      -0.028339446F,
      0.0F,
      -0.37276876F,
      -0.9082481F,
      0.19007573F,
      0.0F,
      0.9173738F,
      -0.3483642F,
      0.19252984F,
      0.0F,
      0.2714911F,
      0.41475296F,
      -0.86848867F,
      0.0F,
      0.5131763F,
      -0.71163344F,
      0.4798207F,
      0.0F,
      -0.87373537F,
      0.18886992F,
      -0.44823506F,
      0.0F,
      0.84600437F,
      -0.3725218F,
      0.38145F,
      0.0F,
      0.89787275F,
      -0.17802091F,
      -0.40265754F,
      0.0F,
      0.21780656F,
      -0.9698323F,
      -0.10947895F,
      0.0F,
      -0.15180314F,
      -0.7788918F,
      -0.6085091F,
      0.0F,
      -0.2600385F,
      -0.4755398F,
      -0.840382F,
      0.0F,
      0.5723135F,
      -0.7474341F,
      -0.33734185F,
      0.0F,
      -0.7174141F,
      0.16990171F,
      -0.67561114F,
      0.0F,
      -0.6841808F,
      0.021457076F,
      -0.72899675F,
      0.0F,
      -0.2007448F,
      0.06555606F,
      -0.9774477F,
      0.0F,
      -0.11488037F,
      -0.8044887F,
      0.5827524F,
      0.0F,
      -0.787035F,
      0.03447489F,
      0.6159443F,
      0.0F,
      -0.20155965F,
      0.68598723F,
      0.69913894F,
      0.0F,
      -0.085810825F,
      -0.10920836F,
      -0.99030805F,
      0.0F,
      0.5532693F,
      0.73252505F,
      -0.39661077F,
      0.0F,
      -0.18424894F,
      -0.9777375F,
      -0.100407675F,
      0.0F,
      0.07754738F,
      -0.9111506F,
      0.40471104F,
      0.0F,
      0.13998385F,
      0.7601631F,
      -0.63447344F,
      0.0F,
      0.44844192F,
      -0.84528923F,
      0.29049253F,
      0.0F
   };
   class="kw">private class="kw">static class="kw">final int primeX = 501125321;
   class="kw">private class="kw">static class="kw">final int primeY = 1136930381;
   class="kw">private class="kw">static class="kw">final int primeZ = 1720413743;

   class="kw">public FastNoiseLite() {
   }

   class="kw">public FastNoiseLite(int var1) {
      this.setSeed(var1);
   }

   class="kw">public void setSeed(int var1) {
      this.mSeed = var1;
   }

   class="kw">public void setFrequency(float var1) {
      this.mFrequency = var1;
   }

   class="kw">public void setNoiseType(FastNoiseLite.NoiseType var1) {
      this.mNoiseType = var1;
      this.UpdateTransformType3D();
   }

   class="kw">public void SetRotationType3D(FastNoiseLite.RotationType3D var1) {
      this.mRotationType3D = var1;
      this.UpdateTransformType3D();
      this.UpdateWarpTransformType3D();
   }

   class="kw">public void setFractalType(FastNoiseLite.FractalType var1) {
      this.mFractalType = var1;
   }

   class="kw">public void setFractalOctaves(int var1) {
      this.mOctaves = var1;
      this.CalculateFractalBounding();
   }

   class="kw">public void SetFractalLacunarity(float var1) {
      this.mLacunarity = var1;
   }

   class="kw">public void SetFractalGain(float var1) {
      this.mGain = var1;
      this.CalculateFractalBounding();
   }

   class="kw">public void SetFractalWeightedStrength(float var1) {
      this.mWeightedStrength = var1;
   }

   class="kw">public void SetFractalPingPongStrength(float var1) {
      this.mPingPongStrength = var1;
   }

   class="kw">public void setCellularDistanceFunction(FastNoiseLite.CellularDistanceFunction var1) {
      this.mCellularDistanceFunction = var1;
   }

   class="kw">public void setCellularReturnType(FastNoiseLite.CellularReturnType var1) {
      this.mCellularReturnType = var1;
   }

   class="kw">public void setCellularJitter(float var1) {
      this.mCellularJitterModifier = var1;
   }

   class="kw">public void setDomainWarpType(FastNoiseLite.DomainWarpType var1) {
      this.mDomainWarpType = var1;
      this.UpdateWarpTransformType3D();
   }

   class="kw">public void setDomainWarpAmp(float var1) {
      this.mDomainWarpAmp = var1;
   }

   class="kw">public void setDomainWarpFreq(float var1) {
      this.mDomainWarpFreq = var1;
   }

   class="kw">public float getNoise(double var1, double var3) {
      var1 *= this.mFrequency;
      var3 *= this.mFrequency;
      class="kw">switch (this.mNoiseType) {
         case OpenSimplex2:
         case OpenSimplex2S:
            double var5 = 1.7320508075688772;
            double var7 = 0.3660254037844386;
            double var9 = (var1 + var3) * 0.3660254037844386;
            var1 += var9;
            var3 += var9;
         class="kw">default:
            class="kw">return class="kw">switch (this.mFractalType) {
               case FBm -> this.GenFractalFBm(var1, var3);
               case Ridged -> this.GenFractalRidged(var1, var3);
               case PingPong -> this.GenFractalPingPong(var1, var3);
               class="kw">default -> this.GenNoiseSingle(this.mSeed, var1, var3);
            };
      }
   }

   class="kw">public float getNoise(double var1, double var3, double var5) {
      var1 *= this.mFrequency;
      var3 *= this.mFrequency;
      var5 *= this.mFrequency;
      class="kw">switch (this.mTransformType3D) {
         case ImproveXYPlanes: {
            double var17 = var1 + var3;
            double var19 = var17 * -0.211324865405187;
            var5 *= 0.577350269189626;
            var1 += var19 - var5;
            var3 = var3 + var19 - var5;
            var5 += var17 * 0.577350269189626;
            break;
         }
         case ImproveXZPlanes: {
            double var16 = var1 + var5;
            double var18 = var16 * -0.211324865405187;
            var3 *= 0.577350269189626;
            var1 += var18 - var3;
            var5 += var18 - var3;
            var3 += var16 * 0.577350269189626;
            break;
         }
         case DefaultOpenSimplex2:
            double var7 = 0.6666666666666666;
            double var9 = (var1 + var3 + var5) * 0.6666666666666666;
            var1 = var9 - var1;
            var3 = var9 - var3;
            var5 = var9 - var5;
      }
      class="kw">return class="kw">switch (this.mFractalType) {
         case FBm -> this.GenFractalFBm(var1, var3, var5);
         case Ridged -> this.GenFractalRidged(var1, var3, var5);
         case PingPong -> this.GenFractalPingPong(var1, var3, var5);
         class="kw">default -> this.GenNoiseSingle(this.mSeed, var1, var3, var5);
      };
   }

   class="kw">public void DomainWarp(@Nonnull FastNoiseLite.Vector2 var1) {
      class="kw">switch (this.mFractalType) {
         case DomainWarpProgressive:
            this.DomainWarpFractalProgressive(var1);
            break;
         case DomainWarpIndependent:
            this.DomainWarpFractalIndependent(var1);
            break;
         class="kw">default:
            this.DomainWarpSingle(var1);
      }
   }

   class="kw">public void DomainWarp(@Nonnull FastNoiseLite.Vector3 var1) {
      class="kw">switch (this.mFractalType) {
         case DomainWarpProgressive:
            this.DomainWarpFractalProgressive(var1);
            break;
         case DomainWarpIndependent:
            this.DomainWarpFractalIndependent(var1);
            break;
         class="kw">default:
            this.DomainWarpSingle(var1);
      }
   }

   class="kw">private class="kw">static float FastMin(float var0, float var1) {
      class="kw">return var0 < var1 ? var0 : var1;
   }

   class="kw">private class="kw">static float FastMax(float var0, float var1) {
      class="kw">return var0 > var1 ? var0 : var1;
   }

   class="kw">private class="kw">static float FastAbs(float var0) {
      class="kw">return var0 < 0.0F ? -var0 : var0;
   }

   class="kw">private class="kw">static float FastSqrt(float var0) {
      class="kw">return (float)Math.sqrt(var0);
   }

   class="kw">private class="kw">static int FastFloor(double var0) {
      class="kw">return var0 >= 0.0 ? (int)var0 : (int)var0 - 1;
   }

   class="kw">public class="kw">static int fastRound(double var0) {
      class="kw">return var0 >= 0.0 ? (int)(var0 + 0.5) : (int)(var0 - 0.5);
   }

   class="kw">private class="kw">static float Lerp(float var0, float var1, float var2) {
      class="kw">return var0 + var2 * (var1 - var0);
   }

   class="kw">private class="kw">static float InterpHermite(float var0) {
      class="kw">return var0 * var0 * (3.0F - 2.0F * var0);
   }

   class="kw">private class="kw">static float InterpQuintic(float var0) {
      class="kw">return var0 * var0 * var0 * (var0 * (var0 * 6.0F - 15.0F) + 10.0F);
   }

   class="kw">private class="kw">static float CubicLerp(float var0, float var1, float var2, float var3, float var4) {
      float var5 = var3 - var2 - (var0 - var1);
      class="kw">return var4 * var4 * var4 * var5 + var4 * var4 * (var0 - var1 - var5) + var4 * (var2 - var0) + var1;
   }

   class="kw">private class="kw">static float PingPong(float var0) {
      var0 -= (int)(var0 * 0.5F) * 2;
      class="kw">return var0 < 1.0F ? var0 : 2.0F - var0;
   }

   class="kw">private void CalculateFractalBounding() {
      float var1 = FastAbs(this.mGain);
      float var2 = var1;
      float var3 = 1.0F;

      for (int var4 = 1; var4 < this.mOctaves; var4++) {
         var3 += var2;
         var2 *= var1;
      }

      this.mFractalBounding = 1.0F / var3;
   }

   class="kw">private class="kw">static int hash(int var0, int var1, int var2) {
      int var3 = var0 ^ var1 ^ var2;
      class="kw">return var3 * 668265261;
   }

   class="kw">private class="kw">static int hash(int var0, int var1, int var2, int var3) {
      int var4 = var0 ^ var1 ^ var2 ^ var3;
      class="kw">return var4 * 668265261;
   }

   class="kw">private class="kw">static float ValCoord(int var0, int var1, int var2) {
      int var3 = hash(var0, var1, var2);
      var3 *= var3;
      var3 ^= var3 << 19;
      class="kw">return var3 * 4.656613E-10F;
   }

   class="kw">private class="kw">static float ValCoord(int var0, int var1, int var2, int var3) {
      int var4 = hash(var0, var1, var2, var3);
      var4 *= var4;
      var4 ^= var4 << 19;
      class="kw">return var4 * 4.656613E-10F;
   }

   class="kw">private class="kw">static float GradCoord(int var0, int var1, int var2, float var3, float var4) {
      int var5 = hash(var0, var1, var2);
      var5 ^= var5 >> 15;
      var5 &= 254;
      float var6 = Gradients2D[var5];
      float var7 = Gradients2D[var5 | 1];
      class="kw">return var3 * var6 + var4 * var7;
   }

   class="kw">private class="kw">static float GradCoord(int var0, int var1, int var2, int var3, float var4, float var5, float var6) {
      int var7 = hash(var0, var1, var2, var3);
      var7 ^= var7 >> 15;
      var7 &= 252;
      float var8 = Gradients3D[var7];
      float var9 = Gradients3D[var7 | 1];
      float var10 = Gradients3D[var7 | 2];
      class="kw">return var4 * var8 + var5 * var9 + var6 * var10;
   }

   class="kw">private float GenNoiseSingle(int var1, double var2, double var4) {
      class="kw">return class="kw">switch (this.mNoiseType) {
         case OpenSimplex2 -> this.SingleSimplex(var1, var2, var4);
         case OpenSimplex2S -> this.SingleOpenSimplex2S(var1, var2, var4);
         case Cellular -> this.SingleCellular(var1, var2, var4);
         case Perlin -> this.SinglePerlin(var1, var2, var4);
         case ValueCubic -> this.SingleValueCubic(var1, var2, var4);
         case Value -> this.SingleValue(var1, var2, var4);
      };
   }

   class="kw">private float GenNoiseSingle(int var1, double var2, double var4, double var6) {
      class="kw">return class="kw">switch (this.mNoiseType) {
         case OpenSimplex2 -> this.SingleOpenSimplex2(var1, var2, var4, var6);
         case OpenSimplex2S -> this.SingleOpenSimplex2S(var1, var2, var4, var6);
         case Cellular -> this.SingleCellular(var1, var2, var4, var6);
         case Perlin -> this.SinglePerlin(var1, var2, var4, var6);
         case ValueCubic -> this.SingleValueCubic(var1, var2, var4, var6);
         case Value -> this.SingleValue(var1, var2, var4, var6);
      };
   }

   class="kw">private void UpdateTransformType3D() {
      class="kw">switch (this.mRotationType3D) {
         case ImproveXYPlanes:
            this.mTransformType3D = FastNoiseLite.TransformType3D.ImproveXYPlanes;
            break;
         case ImproveXZPlanes:
            this.mTransformType3D = FastNoiseLite.TransformType3D.ImproveXZPlanes;
            break;
         class="kw">default:
            class="kw">switch (this.mNoiseType) {
               case OpenSimplex2:
               case OpenSimplex2S:
                  this.mTransformType3D = FastNoiseLite.TransformType3D.DefaultOpenSimplex2;
                  break;
               class="kw">default:
                  this.mTransformType3D = FastNoiseLite.TransformType3D.None;
            }
      }
   }

   class="kw">private void UpdateWarpTransformType3D() {
      class="kw">switch (this.mRotationType3D) {
         case ImproveXYPlanes:
            this.mWarpTransformType3D = FastNoiseLite.TransformType3D.ImproveXYPlanes;
            break;
         case ImproveXZPlanes:
            this.mWarpTransformType3D = FastNoiseLite.TransformType3D.ImproveXZPlanes;
            break;
         class="kw">default:
            class="kw">switch (this.mDomainWarpType) {
               case OpenSimplex2:
               case OpenSimplex2Reduced:
                  this.mWarpTransformType3D = FastNoiseLite.TransformType3D.DefaultOpenSimplex2;
                  break;
               class="kw">default:
                  this.mWarpTransformType3D = FastNoiseLite.TransformType3D.None;
            }
      }
   }

   class="kw">private float GenFractalFBm(double var1, double var3) {
      int var5 = this.mSeed;
      float var6 = 0.0F;
      float var7 = this.mFractalBounding;

      for (int var8 = 0; var8 < this.mOctaves; var8++) {
         float var9 = this.GenNoiseSingle(var5++, var1, var3);
         var6 += var9 * var7;
         var7 *= Lerp(1.0F, FastMin(var9 + 1.0F, 2.0F) * 0.5F, this.mWeightedStrength);
         var1 *= this.mLacunarity;
         var3 *= this.mLacunarity;
         var7 *= this.mGain;
      }

      class="kw">return var6;
   }

   class="kw">private float GenFractalFBm(double var1, double var3, double var5) {
      int var7 = this.mSeed;
      float var8 = 0.0F;
      float var9 = this.mFractalBounding;

      for (int var10 = 0; var10 < this.mOctaves; var10++) {
         float var11 = this.GenNoiseSingle(var7++, var1, var3, var5);
         var8 += var11 * var9;
         var9 *= Lerp(1.0F, (var11 + 1.0F) * 0.5F, this.mWeightedStrength);
         var1 *= this.mLacunarity;
         var3 *= this.mLacunarity;
         var5 *= this.mLacunarity;
         var9 *= this.mGain;
      }

      class="kw">return var8;
   }

   class="kw">private float GenFractalRidged(double var1, double var3) {
      int var5 = this.mSeed;
      float var6 = 0.0F;
      float var7 = this.mFractalBounding;

      for (int var8 = 0; var8 < this.mOctaves; var8++) {
         float var9 = FastAbs(this.GenNoiseSingle(var5++, var1, var3));
         var6 += (var9 * -2.0F + 1.0F) * var7;
         var7 *= Lerp(1.0F, 1.0F - var9, this.mWeightedStrength);
         var1 *= this.mLacunarity;
         var3 *= this.mLacunarity;
         var7 *= this.mGain;
      }

      class="kw">return var6;
   }

   class="kw">private float GenFractalRidged(double var1, double var3, double var5) {
      int var7 = this.mSeed;
      float var8 = 0.0F;
      float var9 = this.mFractalBounding;

      for (int var10 = 0; var10 < this.mOctaves; var10++) {
         float var11 = FastAbs(this.GenNoiseSingle(var7++, var1, var3, var5));
         var8 += (var11 * -2.0F + 1.0F) * var9;
         var9 *= Lerp(1.0F, 1.0F - var11, this.mWeightedStrength);
         var1 *= this.mLacunarity;
         var3 *= this.mLacunarity;
         var5 *= this.mLacunarity;
         var9 *= this.mGain;
      }

      class="kw">return var8;
   }

   class="kw">private float GenFractalPingPong(double var1, double var3) {
      int var5 = this.mSeed;
      float var6 = 0.0F;
      float var7 = this.mFractalBounding;

      for (int var8 = 0; var8 < this.mOctaves; var8++) {
         float var9 = PingPong((this.GenNoiseSingle(var5++, var1, var3) + 1.0F) * this.mPingPongStrength);
         var6 += (var9 - 0.5F) * 2.0F * var7;
         var7 *= Lerp(1.0F, var9, this.mWeightedStrength);
         var1 *= this.mLacunarity;
         var3 *= this.mLacunarity;
         var7 *= this.mGain;
      }

      class="kw">return var6;
   }

   class="kw">private float GenFractalPingPong(double var1, double var3, double var5) {
      int var7 = this.mSeed;
      float var8 = 0.0F;
      float var9 = this.mFractalBounding;

      for (int var10 = 0; var10 < this.mOctaves; var10++) {
         float var11 = PingPong((this.GenNoiseSingle(var7++, var1, var3, var5) + 1.0F) * this.mPingPongStrength);
         var8 += (var11 - 0.5F) * 2.0F * var9;
         var9 *= Lerp(1.0F, var11, this.mWeightedStrength);
         var1 *= this.mLacunarity;
         var3 *= this.mLacunarity;
         var5 *= this.mLacunarity;
         var9 *= this.mGain;
      }

      class="kw">return var8;
   }

   class="kw">private float SingleSimplex(int var1, double var2, double var4) {
      float var6 = 1.7320508F;
      float var7 = 0.21132487F;
      int var8 = FastFloor(var2);
      int var9 = FastFloor(var4);
      float var10 = (float)(var2 - var8);
      float var11 = (float)(var4 - var9);
      float var12 = (var10 + var11) * 0.21132487F;
      float var13 = var10 - var12;
      float var14 = var11 - var12;
      var8 *= 501125321;
      var9 *= 1136930381;
      float var18 = 0.5F - var13 * var13 - var14 * var14;
      float var15;
      if (var18 <= 0.0F) {
         var15 = 0.0F;
      } else {
         var15 = var18 * var18 * (var18 * var18) * GradCoord(var1, var8, var9, var13, var14);
      }

      float var19 = 3.1547005F * var12 + (-0.6666666F + var18);
      float var17;
      if (var19 <= 0.0F) {
         var17 = 0.0F;
      } else {
         float var20 = var13 + -0.57735026F;
         float var21 = var14 + -0.57735026F;
         var17 = var19 * var19 * (var19 * var19) * GradCoord(var1, var8 + 501125321, var9 + 1136930381, var20, var21);
      }

      float var16;
      if (var14 > var13) {
         float var25 = var13 + 0.21132487F;
         float var27 = var14 + -0.7886751F;
         float var22 = 0.5F - var25 * var25 - var27 * var27;
         if (var22 <= 0.0F) {
            var16 = 0.0F;
         } else {
            var16 = var22 * var22 * (var22 * var22) * GradCoord(var1, var8, var9 + 1136930381, var25, var27);
         }
      } else {
         float var26 = var13 + -0.7886751F;
         float var28 = var14 + 0.21132487F;
         float var29 = 0.5F - var26 * var26 - var28 * var28;
         if (var29 <= 0.0F) {
            var16 = 0.0F;
         } else {
            var16 = var29 * var29 * (var29 * var29) * GradCoord(var1, var8 + 501125321, var9, var26, var28);
         }
      }

      class="kw">return (var15 + var16 + var17) * 99.83685F;
   }

   class="kw">private float SingleOpenSimplex2(int var1, double var2, double var4, double var6) {
      int var8 = fastRound(var2);
      int var9 = fastRound(var4);
      int var10 = fastRound(var6);
      float var11 = (float)(var2 - var8);
      float var12 = (float)(var4 - var9);
      float var13 = (float)(var6 - var10);
      int var14 = (int)(-1.0F - var11) | 1;
      int var15 = (int)(-1.0F - var12) | 1;
      int var16 = (int)(-1.0F - var13) | 1;
      float var17 = var14 * -var11;
      float var18 = var15 * -var12;
      float var19 = var16 * -var13;
      var8 *= 501125321;
      var9 *= 1136930381;
      var10 *= 1720413743;
      float var20 = 0.0F;
      float var21 = 0.6F - var11 * var11 - (var12 * var12 + var13 * var13);
      int var22 = 0;

      while (true) {
         if (var21 > 0.0F) {
            var20 += var21 * var21 * (var21 * var21) * GradCoord(var1, var8, var9, var10, var11, var12, var13);
         }

         if (var17 >= var18 && var17 >= var19) {
            float var30 = var21 + var17 + var17;
            if (var30 > 1.0F) {
               var20 += --var30 * var30 * (var30 * var30) * GradCoord(var1, var8 - var14 * 501125321, var9, var10, var11 + var14, var12, var13);
            }
         } else if (var18 > var17 && var18 >= var19) {
            float var28 = var21 + var18 + var18;
            if (var28 > 1.0F) {
               var20 += --var28 * var28 * (var28 * var28) * GradCoord(var1, var8, var9 - var15 * 1136930381, var10, var11, var12 + var15, var13);
            }
         } else {
            float var23 = var21 + var19 + var19;
            if (var23 > 1.0F) {
               var20 += --var23 * var23 * (var23 * var23) * GradCoord(var1, var8, var9, var10 - var16 * 1720413743, var11, var12, var13 + var16);
            }
         }

         if (var22 == 1) {
            class="kw">return var20 * 32.694283F;
         }

         var17 = 0.5F - var17;
         var18 = 0.5F - var18;
         var19 = 0.5F - var19;
         var11 = var14 * var17;
         var12 = var15 * var18;
         var13 = var16 * var19;
         var21 += 0.75F - var17 - (var18 + var19);
         var8 += var14 >> 1 & 501125321;
         var9 += var15 >> 1 & 1136930381;
         var10 += var16 >> 1 & 1720413743;
         var14 = -var14;
         var15 = -var15;
         var16 = -var16;
         var1 = ~var1;
         var22++;
      }
   }

   class="kw">private float SingleOpenSimplex2S(int var1, double var2, double var4) {
      double var6 = 1.7320508075688772;
      double var8 = 0.21132486540518713;
      int var10 = FastFloor(var2);
      int var11 = FastFloor(var4);
      float var12 = (float)(var2 - var10);
      float var13 = (float)(var4 - var11);
      var10 *= 501125321;
      var11 *= 1136930381;
      int var14 = var10 + 501125321;
      int var15 = var11 + 1136930381;
      float var16 = (var12 + var13) * 0.21132487F;
      float var17 = var12 - var16;
      float var18 = var13 - var16;
      float var19 = 0.6666667F - var17 * var17 - var18 * var18;
      float var20 = var19 * var19 * (var19 * var19) * GradCoord(var1, var10, var11, var17, var18);
      float var21 = 3.1547005F * var16 + (-0.6666667F + var19);
      float var22 = var17 - 0.57735026F;
      float var23 = var18 - 0.57735026F;
      var20 += var21 * var21 * (var21 * var21) * GradCoord(var1, var14, var15, var22, var23);
      float var24 = var12 - var13;
      if (var16 > 0.21132486540518713) {
         if (var12 + var24 > 1.0F) {
            float var25 = var17 + -1.3660254F;
            float var26 = var18 + -0.36602542F;
            float var27 = 0.6666667F - var25 * var25 - var26 * var26;
            if (var27 > 0.0F) {
               var20 += var27 * var27 * (var27 * var27) * GradCoord(var1, var10 + 1002250642, var11 + 1136930381, var25, var26);
            }
         } else {
            float var31 = var17 + 0.21132487F;
            float var38 = var18 + -0.7886751F;
            float var45 = 0.6666667F - var31 * var31 - var38 * var38;
            if (var45 > 0.0F) {
               var20 += var45 * var45 * (var45 * var45) * GradCoord(var1, var10, var11 + 1136930381, var31, var38);
            }
         }

         if (var13 - var24 > 1.0F) {
            float var32 = var17 + -0.36602542F;
            float var39 = var18 + -1.3660254F;
            float var46 = 0.6666667F - var32 * var32 - var39 * var39;
            if (var46 > 0.0F) {
               var20 += var46 * var46 * (var46 * var46) * GradCoord(var1, var10 + 501125321, var11 + -2021106534, var32, var39);
            }
         } else {
            float var33 = var17 + -0.7886751F;
            float var40 = var18 + 0.21132487F;
            float var47 = 0.6666667F - var33 * var33 - var40 * var40;
            if (var47 > 0.0F) {
               var20 += var47 * var47 * (var47 * var47) * GradCoord(var1, var10 + 501125321, var11, var33, var40);
            }
         }
      } else {
         if (var12 + var24 < 0.0F) {
            float var34 = var17 + 0.7886751F;
            float var41 = var18 - 0.21132487F;
            float var48 = 0.6666667F - var34 * var34 - var41 * var41;
            if (var48 > 0.0F) {
               var20 += var48 * var48 * (var48 * var48) * GradCoord(var1, var10 - 501125321, var11, var34, var41);
            }
         } else {
            float var35 = var17 + -0.7886751F;
            float var42 = var18 + 0.21132487F;
            float var49 = 0.6666667F - var35 * var35 - var42 * var42;
            if (var49 > 0.0F) {
               var20 += var49 * var49 * (var49 * var49) * GradCoord(var1, var10 + 501125321, var11, var35, var42);
            }
         }

         if (var13 < var24) {
            float var36 = var17 - 0.21132487F;
            float var43 = var18 - -0.7886751F;
            float var50 = 0.6666667F - var36 * var36 - var43 * var43;
            if (var50 > 0.0F) {
               var20 += var50 * var50 * (var50 * var50) * GradCoord(var1, var10, var11 - 1136930381, var36, var43);
            }
         } else {
            float var37 = var17 + 0.21132487F;
            float var44 = var18 + -0.7886751F;
            float var51 = 0.6666667F - var37 * var37 - var44 * var44;
            if (var51 > 0.0F) {
               var20 += var51 * var51 * (var51 * var51) * GradCoord(var1, var10, var11 + 1136930381, var37, var44);
            }
         }
      }

      class="kw">return var20 * 18.241962F;
   }

   class="kw">private float SingleOpenSimplex2S(int var1, double var2, double var4, double var6) {
      int var8 = FastFloor(var2);
      int var9 = FastFloor(var4);
      int var10 = FastFloor(var6);
      float var11 = (float)(var2 - var8);
      float var12 = (float)(var4 - var9);
      float var13 = (float)(var6 - var10);
      var8 *= 501125321;
      var9 *= 1136930381;
      var10 *= 1720413743;
      int var14 = var1 + 1293373;
      int var15 = (int)(-0.5F - var11);
      int var16 = (int)(-0.5F - var12);
      int var17 = (int)(-0.5F - var13);
      float var18 = var11 + var15;
      float var19 = var12 + var16;
      float var20 = var13 + var17;
      float var21 = 0.75F - var18 * var18 - var19 * var19 - var20 * var20;
      float var22 = var21
         * var21
         * (var21 * var21)
         * GradCoord(var1, var8 + (var15 & 501125321), var9 + (var16 & 1136930381), var10 + (var17 & 1720413743), var18, var19, var20);
      float var23 = var11 - 0.5F;
      float var24 = var12 - 0.5F;
      float var25 = var13 - 0.5F;
      float var26 = 0.75F - var23 * var23 - var24 * var24 - var25 * var25;
      var22 += var26 * var26 * (var26 * var26) * GradCoord(var14, var8 + 501125321, var9 + 1136930381, var10 + 1720413743, var23, var24, var25);
      float var27 = ((var15 | 1) << 1) * var23;
      float var28 = ((var16 | 1) << 1) * var24;
      float var29 = ((var17 | 1) << 1) * var25;
      float var30 = (-2 - (var15 << 2)) * var23 - 1.0F;
      float var31 = (-2 - (var16 << 2)) * var24 - 1.0F;
      float var32 = (-2 - (var17 << 2)) * var25 - 1.0F;
      boolean var33 = false;
      float var34 = var27 + var21;
      if (var34 > 0.0F) {
         float var35 = var18 - (var15 | 1);
         float var36 = var19;
         float var37 = var20;
         var22 += var34
            * var34
            * (var34 * var34)
            * GradCoord(var1, var8 + (~var15 & 501125321), var9 + (var16 & 1136930381), var10 + (var17 & 1720413743), var35, var36, var37);
      } else {
         float var48 = var28 + var29 + var21;
         if (var48 > 0.0F) {
            float var50 = var18;
            float var53 = var19 - (var16 | 1);
            float var38 = var20 - (var17 | 1);
            var22 += var48
               * var48
               * (var48 * var48)
               * GradCoord(var1, var8 + (var15 & 501125321), var9 + (~var16 & 1136930381), var10 + (~var17 & 1720413743), var50, var53, var38);
         }

         float var51 = var30 + var26;
         if (var51 > 0.0F) {
            float var54 = (var15 | 1) + var23;
            float var58 = var24;
            float var39 = var25;
            var22 += var51
               * var51
               * (var51 * var51)
               * GradCoord(var14, var8 + (var15 & 1002250642), var9 + 1136930381, var10 + 1720413743, var54, var58, var39);
            var33 = true;
         }
      }

      boolean var49 = false;
      float var52 = var28 + var21;
      if (var52 > 0.0F) {
         float var55 = var18;
         float var59 = var19 - (var16 | 1);
         float var63 = var20;
         var22 += var52
            * var52
            * (var52 * var52)
            * GradCoord(var1, var8 + (var15 & 501125321), var9 + (~var16 & 1136930381), var10 + (var17 & 1720413743), var55, var59, var63);
      } else {
         float var56 = var27 + var29 + var21;
         if (var56 > 0.0F) {
            float var60 = var18 - (var15 | 1);
            float var64 = var19;
            float var40 = var20 - (var17 | 1);
            var22 += var56
               * var56
               * (var56 * var56)
               * GradCoord(var1, var8 + (~var15 & 501125321), var9 + (var16 & 1136930381), var10 + (~var17 & 1720413743), var60, var64, var40);
         }

         float var61 = var31 + var26;
         if (var61 > 0.0F) {
            float var65 = var23;
            float var71 = (var16 | 1) + var24;
            float var41 = var25;
            var22 += var61
               * var61
               * (var61 * var61)
               * GradCoord(var14, var8 + 501125321, var9 + (var16 & -2021106534), var10 + 1720413743, var65, var71, var41);
            var49 = true;
         }
      }

      boolean var57 = false;
      float var62 = var29 + var21;
      if (var62 > 0.0F) {
         float var66 = var18;
         float var72 = var19;
         float var78 = var20 - (var17 | 1);
         var22 += var62
            * var62
            * (var62 * var62)
            * GradCoord(var1, var8 + (var15 & 501125321), var9 + (var16 & 1136930381), var10 + (~var17 & 1720413743), var66, var72, var78);
      } else {
         float var67 = var27 + var28 + var21;
         if (var67 > 0.0F) {
            float var73 = var18 - (var15 | 1);
            float var79 = var19 - (var16 | 1);
            float var42 = var20;
            var22 += var67
               * var67
               * (var67 * var67)
               * GradCoord(var1, var8 + (~var15 & 501125321), var9 + (~var16 & 1136930381), var10 + (var17 & 1720413743), var73, var79, var42);
         }

         float var74 = var32 + var26;
         if (var74 > 0.0F) {
            float var80 = var23;
            float var84 = var24;
            float var43 = (var17 | 1) + var25;
            var22 += var74 * var74 * (var74 * var74) * GradCoord(var14, var8 + 501125321, var9 + 1136930381, var10 + (var17 & -854139810), var80, var84, var43);
            var57 = true;
         }
      }

      if (!var33) {
         float var68 = var31 + var32 + var26;
         if (var68 > 0.0F) {
            float var75 = var23;
            float var81 = (var16 | 1) + var24;
            float var85 = (var17 | 1) + var25;
            var22 += var68
               * var68
               * (var68 * var68)
               * GradCoord(var14, var8 + 501125321, var9 + (var16 & -2021106534), var10 + (var17 & -854139810), var75, var81, var85);
         }
      }

      if (!var49) {
         float var69 = var30 + var32 + var26;
         if (var69 > 0.0F) {
            float var76 = (var15 | 1) + var23;
            float var82 = var24;
            float var86 = (var17 | 1) + var25;
            var22 += var69
               * var69
               * (var69 * var69)
               * GradCoord(var14, var8 + (var15 & 1002250642), var9 + 1136930381, var10 + (var17 & -854139810), var76, var82, var86);
         }
      }

      if (!var57) {
         float var70 = var30 + var31 + var26;
         if (var70 > 0.0F) {
            float var77 = (var15 | 1) + var23;
            float var83 = (var16 | 1) + var24;
            float var87 = var25;
            var22 += var70
               * var70
               * (var70 * var70)
               * GradCoord(var14, var8 + (var15 & 1002250642), var9 + (var16 & -2021106534), var10 + 1720413743, var77, var83, var87);
         }
      }

      class="kw">return var22 * 9.046026F;
   }

   @Nonnull
   class="kw">public Vector3d pointFor(int var1, double var2, double var4, double var6, double var8) {
      int var10 = fastRound(var4);
      int var11 = fastRound(var6);
      int var12 = fastRound(var8);
      int var13 = hash(var1, var10 * 501125321, var11 * 1136930381, var12 * 1720413743);
      int var14 = var13 & 1020;
      double var15 = randVecs3D[var14] * var2 + var10;
      double var17 = randVecs3D[var14 | 1] * var2 + var11;
      double var19 = randVecs3D[var14 | 2] * var2 + var12;
      class="kw">return new Vector3d(var15, var17, var19);
   }

   @Nonnull
   class="kw">public Vector2d pointFor(int var1, double var2, double var4, double var6) {
      int var8 = fastRound(var4);
      int var9 = fastRound(var6);
      int var10 = hash(var1, var8 * 501125321, var9 * 1136930381);
      int var11 = var10 & 1020;
      double var12 = randVecs3D[var11] * var2 + var8;
      double var14 = randVecs3D[var11 | 1] * var2 + var9;
      class="kw">return new Vector2d(var12, var14);
   }

   class="kw">public double pointFor(int var1, double var2, double var4) {
      int var6 = fastRound(var4);
      int var7 = hash(var1, var6 * 501125321, 0);
      int var8 = var7 & 1020;
      class="kw">return randVecs3D[var8] * var2 + var6;
   }

   class="kw">public float SingleCellular(int var1, double var2, double var4) {
      int var6 = fastRound(var2);
      int var7 = fastRound(var4);
      float var8 = Float.MAX_VALUE;
      float var9 = Float.MAX_VALUE;
      int var10 = 0;
      float var11 = 0.5F * this.mCellularJitterModifier;
      int var12 = (var6 - 1) * 501125321;
      int var13 = (var7 - 1) * 1136930381;
      class="kw">switch (this.mCellularDistanceFunction) {
         case Euclidean:
         case EuclideanSq:
         class="kw">default:
            for (int var23 = var6 - 1; var23 <= var6 + 1; var23++) {
               int var25 = var13;

               for (int var27 = var7 - 1; var27 <= var7 + 1; var27++) {
                  int var29 = hash(var1, var12, var25);
                  int var31 = var29 & 510;
                  float var33 = (float)(var23 - var2) + RandVecs2D[var31] * var11;
                  float var35 = (float)(var27 - var4) + RandVecs2D[var31 | 1] * var11;
                  float var37 = var33 * var33 + var35 * var35;
                  var9 = FastMax(FastMin(var9, var37), var8);
                  if (var37 < var8) {
                     var8 = var37;
                     var10 = var29;
                  }

                  var25 += 1136930381;
               }

               var12 += 501125321;
            }
            break;
         case Manhattan:
            for (int var22 = var6 - 1; var22 <= var6 + 1; var22++) {
               int var24 = var13;

               for (int var26 = var7 - 1; var26 <= var7 + 1; var26++) {
                  int var28 = hash(var1, var12, var24);
                  int var30 = var28 & 510;
                  float var32 = (float)(var22 - var2) + RandVecs2D[var30] * var11;
                  float var34 = (float)(var26 - var4) + RandVecs2D[var30 | 1] * var11;
                  float var36 = FastAbs(var32) + FastAbs(var34);
                  var9 = FastMax(FastMin(var9, var36), var8);
                  if (var36 < var8) {
                     var8 = var36;
                     var10 = var28;
                  }

                  var24 += 1136930381;
               }

               var12 += 501125321;
            }
            break;
         case Hybrid:
            for (int var14 = var6 - 1; var14 <= var6 + 1; var14++) {
               int var15 = var13;

               for (int var16 = var7 - 1; var16 <= var7 + 1; var16++) {
                  int var17 = hash(var1, var12, var15);
                  int var18 = var17 & 510;
                  float var19 = (float)(var14 - var2) + RandVecs2D[var18] * var11;
                  float var20 = (float)(var16 - var4) + RandVecs2D[var18 | 1] * var11;
                  float var21 = FastAbs(var19) + FastAbs(var20) + (var19 * var19 + var20 * var20);
                  var9 = FastMax(FastMin(var9, var21), var8);
                  if (var21 < var8) {
                     var8 = var21;
                     var10 = var17;
                  }

                  var15 += 1136930381;
               }

               var12 += 501125321;
            }
      }

      if (this.mCellularDistanceFunction == FastNoiseLite.CellularDistanceFunction.Euclidean
         && this.mCellularReturnType != FastNoiseLite.CellularReturnType.CellValue) {
         var8 = FastSqrt(var8);
         if (this.mCellularReturnType != FastNoiseLite.CellularReturnType.Distance) {
            var9 = FastSqrt(var9);
         }
      }
      class="kw">return class="kw">switch (this.mCellularReturnType) {
         case CellValue -> var10 * 4.656613E-10F;
         case Distance -> var8 - 1.0F;
         case Distance2 -> var9 - 1.0F;
         case Distance2Add -> (var9 + var8) * 0.5F - 1.0F;
         case Distance2Sub -> var9 - var8 - 1.0F;
         case Distance2Mul -> var9 * var8 * 0.5F - 1.0F;
         case Distance2Div -> var8 / var9 - 1.0F;
      };
   }

   class="kw">private float SingleCellular(int var1, double var2, double var4, double var6) {
      int var8 = fastRound(var2);
      int var9 = fastRound(var4);
      int var10 = fastRound(var6);
      float var11 = Float.MAX_VALUE;
      float var12 = Float.MAX_VALUE;
      int var13 = 0;
      float var14 = 0.5F * this.mCellularJitterModifier;
      int var15 = (var8 - 1) * 501125321;
      int var16 = (var9 - 1) * 1136930381;
      int var17 = (var10 - 1) * 1720413743;
      class="kw">switch (this.mCellularDistanceFunction) {
         case Euclidean:
         case EuclideanSq:
            for (int var30 = var8 - 1; var30 <= var8 + 1; var30++) {
               int var32 = var16;

               for (int var34 = var9 - 1; var34 <= var9 + 1; var34++) {
                  int var36 = var17;

                  for (int var38 = var10 - 1; var38 <= var10 + 1; var38++) {
                     int var40 = hash(var1, var15, var32, var36);
                     int var42 = var40 & 1020;
                     float var44 = (float)(var30 - var2) + randVecs3D[var42] * var14;
                     float var46 = (float)(var34 - var4) + randVecs3D[var42 | 1] * var14;
                     float var48 = (float)(var38 - var6) + randVecs3D[var42 | 2] * var14;
                     float var50 = var44 * var44 + var46 * var46 + var48 * var48;
                     var12 = FastMax(FastMin(var12, var50), var11);
                     if (var50 < var11) {
                        var11 = var50;
                        var13 = var40;
                     }

                     var36 += 1720413743;
                  }

                  var32 += 1136930381;
               }

               var15 += 501125321;
            }
            break;
         case Manhattan:
            for (int var29 = var8 - 1; var29 <= var8 + 1; var29++) {
               int var31 = var16;

               for (int var33 = var9 - 1; var33 <= var9 + 1; var33++) {
                  int var35 = var17;

                  for (int var37 = var10 - 1; var37 <= var10 + 1; var37++) {
                     int var39 = hash(var1, var15, var31, var35);
                     int var41 = var39 & 1020;
                     float var43 = (float)(var29 - var2) + randVecs3D[var41] * var14;
                     float var45 = (float)(var33 - var4) + randVecs3D[var41 | 1] * var14;
                     float var47 = (float)(var37 - var6) + randVecs3D[var41 | 2] * var14;
                     float var49 = FastAbs(var43) + FastAbs(var45) + FastAbs(var47);
                     var12 = FastMax(FastMin(var12, var49), var11);
                     if (var49 < var11) {
                        var11 = var49;
                        var13 = var39;
                     }

                     var35 += 1720413743;
                  }

                  var31 += 1136930381;
               }

               var15 += 501125321;
            }
            break;
         case Hybrid:
            for (int var18 = var8 - 1; var18 <= var8 + 1; var18++) {
               int var19 = var16;

               for (int var20 = var9 - 1; var20 <= var9 + 1; var20++) {
                  int var21 = var17;

                  for (int var22 = var10 - 1; var22 <= var10 + 1; var22++) {
                     int var23 = hash(var1, var15, var19, var21);
                     int var24 = var23 & 1020;
                     float var25 = (float)(var18 - var2) + randVecs3D[var24] * var14;
                     float var26 = (float)(var20 - var4) + randVecs3D[var24 | 1] * var14;
                     float var27 = (float)(var22 - var6) + randVecs3D[var24 | 2] * var14;
                     float var28 = FastAbs(var25) + FastAbs(var26) + FastAbs(var27) + (var25 * var25 + var26 * var26 + var27 * var27);
                     var12 = FastMax(FastMin(var12, var28), var11);
                     if (var28 < var11) {
                        var11 = var28;
                        var13 = var23;
                     }

                     var21 += 1720413743;
                  }

                  var19 += 1136930381;
               }

               var15 += 501125321;
            }
      }

      if (this.mCellularDistanceFunction == FastNoiseLite.CellularDistanceFunction.Euclidean
         && this.mCellularReturnType != FastNoiseLite.CellularReturnType.CellValue) {
         var11 = FastSqrt(var11);
         if (this.mCellularReturnType != FastNoiseLite.CellularReturnType.Distance) {
            var12 = FastSqrt(var12);
         }
      }
      class="kw">return class="kw">switch (this.mCellularReturnType) {
         case CellValue -> var13 * 4.656613E-10F;
         case Distance -> var11 - 1.0F;
         case Distance2 -> var12 - 1.0F;
         case Distance2Add -> (var12 + var11) * 0.5F - 1.0F;
         case Distance2Sub -> var12 - var11 - 1.0F;
         case Distance2Mul -> var12 * var11 * 0.5F - 1.0F;
         case Distance2Div -> var11 / var12 - 1.0F;
      };
   }

   class="kw">private float SinglePerlin(int var1, double var2, double var4) {
      int var6 = FastFloor(var2);
      int var7 = FastFloor(var4);
      float var8 = (float)(var2 - var6);
      float var9 = (float)(var4 - var7);
      float var10 = var8 - 1.0F;
      float var11 = var9 - 1.0F;
      float var12 = InterpQuintic(var8);
      float var13 = InterpQuintic(var9);
      var6 *= 501125321;
      var7 *= 1136930381;
      int var14 = var6 + 501125321;
      int var15 = var7 + 1136930381;
      float var16 = Lerp(GradCoord(var1, var6, var7, var8, var9), GradCoord(var1, var14, var7, var10, var9), var12);
      float var17 = Lerp(GradCoord(var1, var6, var15, var8, var11), GradCoord(var1, var14, var15, var10, var11), var12);
      class="kw">return Lerp(var16, var17, var13) * 1.4247692F;
   }

   class="kw">private float SinglePerlin(int var1, double var2, double var4, double var6) {
      int var8 = FastFloor(var2);
      int var9 = FastFloor(var4);
      int var10 = FastFloor(var6);
      float var11 = (float)(var2 - var8);
      float var12 = (float)(var4 - var9);
      float var13 = (float)(var6 - var10);
      float var14 = var11 - 1.0F;
      float var15 = var12 - 1.0F;
      float var16 = var13 - 1.0F;
      float var17 = InterpQuintic(var11);
      float var18 = InterpQuintic(var12);
      float var19 = InterpQuintic(var13);
      var8 *= 501125321;
      var9 *= 1136930381;
      var10 *= 1720413743;
      int var20 = var8 + 501125321;
      int var21 = var9 + 1136930381;
      int var22 = var10 + 1720413743;
      float var23 = Lerp(GradCoord(var1, var8, var9, var10, var11, var12, var13), GradCoord(var1, var20, var9, var10, var14, var12, var13), var17);
      float var24 = Lerp(GradCoord(var1, var8, var21, var10, var11, var15, var13), GradCoord(var1, var20, var21, var10, var14, var15, var13), var17);
      float var25 = Lerp(GradCoord(var1, var8, var9, var22, var11, var12, var16), GradCoord(var1, var20, var9, var22, var14, var12, var16), var17);
      float var26 = Lerp(GradCoord(var1, var8, var21, var22, var11, var15, var16), GradCoord(var1, var20, var21, var22, var14, var15, var16), var17);
      float var27 = Lerp(var23, var24, var18);
      float var28 = Lerp(var25, var26, var18);
      class="kw">return Lerp(var27, var28, var19) * 0.9649214F;
   }

   class="kw">private float SingleValueCubic(int var1, double var2, double var4) {
      int var6 = FastFloor(var2);
      int var7 = FastFloor(var4);
      float var8 = (float)(var2 - var6);
      float var9 = (float)(var4 - var7);
      var6 *= 501125321;
      var7 *= 1136930381;
      int var10 = var6 - 501125321;
      int var11 = var7 - 1136930381;
      int var12 = var6 + 501125321;
      int var13 = var7 + 1136930381;
      int var14 = var6 + 1002250642;
      int var15 = var7 + -2021106534;
      class="kw">return CubicLerp(
            CubicLerp(ValCoord(var1, var10, var11), ValCoord(var1, var6, var11), ValCoord(var1, var12, var11), ValCoord(var1, var14, var11), var8),
            CubicLerp(ValCoord(var1, var10, var7), ValCoord(var1, var6, var7), ValCoord(var1, var12, var7), ValCoord(var1, var14, var7), var8),
            CubicLerp(ValCoord(var1, var10, var13), ValCoord(var1, var6, var13), ValCoord(var1, var12, var13), ValCoord(var1, var14, var13), var8),
            CubicLerp(ValCoord(var1, var10, var15), ValCoord(var1, var6, var15), ValCoord(var1, var12, var15), ValCoord(var1, var14, var15), var8),
            var9
         )
         * 0.44444445F;
   }

   class="kw">private float SingleValueCubic(int var1, double var2, double var4, double var6) {
      int var8 = FastFloor(var2);
      int var9 = FastFloor(var4);
      int var10 = FastFloor(var6);
      float var11 = (float)(var2 - var8);
      float var12 = (float)(var4 - var9);
      float var13 = (float)(var6 - var10);
      var8 *= 501125321;
      var9 *= 1136930381;
      var10 *= 1720413743;
      int var14 = var8 - 501125321;
      int var15 = var9 - 1136930381;
      int var16 = var10 - 1720413743;
      int var17 = var8 + 501125321;
      int var18 = var9 + 1136930381;
      int var19 = var10 + 1720413743;
      int var20 = var8 + 1002250642;
      int var21 = var9 + -2021106534;
      int var22 = var10 + -854139810;
      class="kw">return CubicLerp(
            CubicLerp(
               CubicLerp(
                  ValCoord(var1, var14, var15, var16),
                  ValCoord(var1, var8, var15, var16),
                  ValCoord(var1, var17, var15, var16),
                  ValCoord(var1, var20, var15, var16),
                  var11
               ),
               CubicLerp(
                  ValCoord(var1, var14, var9, var16),
                  ValCoord(var1, var8, var9, var16),
                  ValCoord(var1, var17, var9, var16),
                  ValCoord(var1, var20, var9, var16),
                  var11
               ),
               CubicLerp(
                  ValCoord(var1, var14, var18, var16),
                  ValCoord(var1, var8, var18, var16),
                  ValCoord(var1, var17, var18, var16),
                  ValCoord(var1, var20, var18, var16),
                  var11
               ),
               CubicLerp(
                  ValCoord(var1, var14, var21, var16),
                  ValCoord(var1, var8, var21, var16),
                  ValCoord(var1, var17, var21, var16),
                  ValCoord(var1, var20, var21, var16),
                  var11
               ),
               var12
            ),
            CubicLerp(
               CubicLerp(
                  ValCoord(var1, var14, var15, var10),
                  ValCoord(var1, var8, var15, var10),
                  ValCoord(var1, var17, var15, var10),
                  ValCoord(var1, var20, var15, var10),
                  var11
               ),
               CubicLerp(
                  ValCoord(var1, var14, var9, var10),
                  ValCoord(var1, var8, var9, var10),
                  ValCoord(var1, var17, var9, var10),
                  ValCoord(var1, var20, var9, var10),
                  var11
               ),
               CubicLerp(
                  ValCoord(var1, var14, var18, var10),
                  ValCoord(var1, var8, var18, var10),
                  ValCoord(var1, var17, var18, var10),
                  ValCoord(var1, var20, var18, var10),
                  var11
               ),
               CubicLerp(
                  ValCoord(var1, var14, var21, var10),
                  ValCoord(var1, var8, var21, var10),
                  ValCoord(var1, var17, var21, var10),
                  ValCoord(var1, var20, var21, var10),
                  var11
               ),
               var12
            ),
            CubicLerp(
               CubicLerp(
                  ValCoord(var1, var14, var15, var19),
                  ValCoord(var1, var8, var15, var19),
                  ValCoord(var1, var17, var15, var19),
                  ValCoord(var1, var20, var15, var19),
                  var11
               ),
               CubicLerp(
                  ValCoord(var1, var14, var9, var19),
                  ValCoord(var1, var8, var9, var19),
                  ValCoord(var1, var17, var9, var19),
                  ValCoord(var1, var20, var9, var19),
                  var11
               ),
               CubicLerp(
                  ValCoord(var1, var14, var18, var19),
                  ValCoord(var1, var8, var18, var19),
                  ValCoord(var1, var17, var18, var19),
                  ValCoord(var1, var20, var18, var19),
                  var11
               ),
               CubicLerp(
                  ValCoord(var1, var14, var21, var19),
                  ValCoord(var1, var8, var21, var19),
                  ValCoord(var1, var17, var21, var19),
                  ValCoord(var1, var20, var21, var19),
                  var11
               ),
               var12
            ),
            CubicLerp(
               CubicLerp(
                  ValCoord(var1, var14, var15, var22),
                  ValCoord(var1, var8, var15, var22),
                  ValCoord(var1, var17, var15, var22),
                  ValCoord(var1, var20, var15, var22),
                  var11
               ),
               CubicLerp(
                  ValCoord(var1, var14, var9, var22),
                  ValCoord(var1, var8, var9, var22),
                  ValCoord(var1, var17, var9, var22),
                  ValCoord(var1, var20, var9, var22),
                  var11
               ),
               CubicLerp(
                  ValCoord(var1, var14, var18, var22),
                  ValCoord(var1, var8, var18, var22),
                  ValCoord(var1, var17, var18, var22),
                  ValCoord(var1, var20, var18, var22),
                  var11
               ),
               CubicLerp(
                  ValCoord(var1, var14, var21, var22),
                  ValCoord(var1, var8, var21, var22),
                  ValCoord(var1, var17, var21, var22),
                  ValCoord(var1, var20, var21, var22),
                  var11
               ),
               var12
            ),
            var13
         )
         * 0.2962963F;
   }

   class="kw">private float SingleValue(int var1, double var2, double var4) {
      int var6 = FastFloor(var2);
      int var7 = FastFloor(var4);
      float var8 = InterpHermite((float)(var2 - var6));
      float var9 = InterpHermite((float)(var4 - var7));
      var6 *= 501125321;
      var7 *= 1136930381;
      int var10 = var6 + 501125321;
      int var11 = var7 + 1136930381;
      float var12 = Lerp(ValCoord(var1, var6, var7), ValCoord(var1, var10, var7), var8);
      float var13 = Lerp(ValCoord(var1, var6, var11), ValCoord(var1, var10, var11), var8);
      class="kw">return Lerp(var12, var13, var9);
   }

   class="kw">private float SingleValue(int var1, double var2, double var4, double var6) {
      int var8 = FastFloor(var2);
      int var9 = FastFloor(var4);
      int var10 = FastFloor(var6);
      float var11 = InterpHermite((float)(var2 - var8));
      float var12 = InterpHermite((float)(var4 - var9));
      float var13 = InterpHermite((float)(var6 - var10));
      var8 *= 501125321;
      var9 *= 1136930381;
      var10 *= 1720413743;
      int var14 = var8 + 501125321;
      int var15 = var9 + 1136930381;
      int var16 = var10 + 1720413743;
      float var17 = Lerp(ValCoord(var1, var8, var9, var10), ValCoord(var1, var14, var9, var10), var11);
      float var18 = Lerp(ValCoord(var1, var8, var15, var10), ValCoord(var1, var14, var15, var10), var11);
      float var19 = Lerp(ValCoord(var1, var8, var9, var16), ValCoord(var1, var14, var9, var16), var11);
      float var20 = Lerp(ValCoord(var1, var8, var15, var16), ValCoord(var1, var14, var15, var16), var11);
      float var21 = Lerp(var17, var18, var12);
      float var22 = Lerp(var19, var20, var12);
      class="kw">return Lerp(var21, var22, var13);
   }

   class="kw">private void DoSingleDomainWarp(int var1, float var2, float var3, double var4, double var6, @Nonnull FastNoiseLite.Vector2 var8) {
      class="kw">switch (this.mDomainWarpType) {
         case OpenSimplex2:
            this.SingleDomainWarpSimplexGradient(var1, var2 * 38.283688F, var3, var4, var6, var8, false);
            break;
         case OpenSimplex2Reduced:
            this.SingleDomainWarpSimplexGradient(var1, var2 * 16.0F, var3, var4, var6, var8, true);
            break;
         case BasicGrid:
            this.SingleDomainWarpBasicGrid(var1, var2, var3, var4, var6, var8);
      }
   }

   class="kw">private void DoSingleDomainWarp(int var1, float var2, float var3, double var4, double var6, double var8, @Nonnull FastNoiseLite.Vector3 var10) {
      class="kw">switch (this.mDomainWarpType) {
         case OpenSimplex2:
            this.SingleDomainWarpOpenSimplex2Gradient(var1, var2 * 32.694283F, var3, var4, var6, var8, var10, false);
            break;
         case OpenSimplex2Reduced:
            this.SingleDomainWarpOpenSimplex2Gradient(var1, var2 * 7.716049F, var3, var4, var6, var8, var10, true);
            break;
         case BasicGrid:
            this.SingleDomainWarpBasicGrid(var1, var2, var3, var4, var6, var8, var10);
      }
   }

   class="kw">private void DomainWarpSingle(@Nonnull FastNoiseLite.Vector2 var1) {
      int var2 = this.mSeed;
      float var3 = this.mDomainWarpAmp * this.mFractalBounding;
      float var4 = this.mDomainWarpFreq;
      double var5 = var1.x;
      double var7 = var1.y;
      class="kw">switch (this.mDomainWarpType) {
         case OpenSimplex2:
         case OpenSimplex2Reduced:
            double var9 = 1.7320508075688772;
            double var11 = 0.3660254037844386;
            double var13 = (var5 + var7) * 0.3660254037844386;
            var5 += var13;
            var7 += var13;
         class="kw">default:
            this.DoSingleDomainWarp(var2, var3, var4, var5, var7, var1);
      }
   }

   class="kw">public void DomainWarpSingle(@Nonnull FastNoiseLite.Vector3 var1) {
      int var2 = this.mSeed;
      float var3 = this.mDomainWarpAmp * this.mFractalBounding;
      float var4 = this.mDomainWarpFreq;
      double var5 = var1.x;
      double var7 = var1.y;
      double var9 = var1.z;
      class="kw">switch (this.mWarpTransformType3D) {
         case ImproveXYPlanes: {
            double var18 = var5 + var7;
            double var20 = var18 * -0.211324865405187;
            var9 *= 0.577350269189626;
            var5 += var20 - var9;
            var7 = var7 + var20 - var9;
            var9 += var18 * 0.577350269189626;
            break;
         }
         case ImproveXZPlanes: {
            double var17 = var5 + var9;
            double var19 = var17 * -0.211324865405187;
            var7 *= 0.577350269189626;
            var5 += var19 - var7;
            var9 += var19 - var7;
            var7 += var17 * 0.577350269189626;
            break;
         }
         case DefaultOpenSimplex2:
            double var11 = 0.6666666666666666;
            double var13 = (var5 + var7 + var9) * 0.6666666666666666;
            var5 = var13 - var5;
            var7 = var13 - var7;
            var9 = var13 - var9;
      }

      this.DoSingleDomainWarp(var2, var3, var4, var5, var7, var9, var1);
   }

   class="kw">public void DomainWarpFractalProgressive(@Nonnull FastNoiseLite.Vector2 var1) {
      int var2 = this.mSeed;
      float var3 = this.mDomainWarpAmp * this.mFractalBounding;
      float var4 = this.mDomainWarpFreq;

      for (int var5 = 0; var5 < this.mOctaves; var5++) {
         double var6 = var1.x;
         double var8 = var1.y;
         class="kw">switch (this.mDomainWarpType) {
            case OpenSimplex2:
            case OpenSimplex2Reduced:
               double var10 = 1.7320508075688772;
               double var12 = 0.3660254037844386;
               double var14 = (var6 + var8) * 0.3660254037844386;
               var6 += var14;
               var8 += var14;
            class="kw">default:
               this.DoSingleDomainWarp(var2, var3, var4, var6, var8, var1);
               var2++;
               var3 *= this.mGain;
               var4 *= this.mLacunarity;
         }
      }
   }

   class="kw">public void DomainWarpFractalProgressive(@Nonnull FastNoiseLite.Vector3 var1) {
      int var2 = this.mSeed;
      float var3 = this.mDomainWarpAmp * this.mFractalBounding;
      float var4 = this.mDomainWarpFreq;

      for (int var5 = 0; var5 < this.mOctaves; var5++) {
         double var6 = var1.x;
         double var8 = var1.y;
         double var10 = var1.z;
         class="kw">switch (this.mWarpTransformType3D) {
            case ImproveXYPlanes: {
               double var19 = var6 + var8;
               double var21 = var19 * -0.211324865405187;
               var10 *= 0.577350269189626;
               var6 += var21 - var10;
               var8 = var8 + var21 - var10;
               var10 += var19 * 0.577350269189626;
               break;
            }
            case ImproveXZPlanes: {
               double var18 = var6 + var10;
               double var20 = var18 * -0.211324865405187;
               var8 *= 0.577350269189626;
               var6 += var20 - var8;
               var10 += var20 - var8;
               var8 += var18 * 0.577350269189626;
               break;
            }
            case DefaultOpenSimplex2:
               double var12 = 0.6666666666666666;
               double var14 = (var6 + var8 + var10) * 0.6666666666666666;
               var6 = var14 - var6;
               var8 = var14 - var8;
               var10 = var14 - var10;
         }

         this.DoSingleDomainWarp(var2, var3, var4, var6, var8, var10, var1);
         var2++;
         var3 *= this.mGain;
         var4 *= this.mLacunarity;
      }
   }

   class="kw">private void DomainWarpFractalIndependent(@Nonnull FastNoiseLite.Vector2 var1) {
      double var2 = var1.x;
      double var4 = var1.y;
      class="kw">switch (this.mDomainWarpType) {
         case OpenSimplex2:
         case OpenSimplex2Reduced:
            double var6 = 1.7320508075688772;
            double var8 = 0.3660254037844386;
            double var10 = (var2 + var4) * 0.3660254037844386;
            var2 += var10;
            var4 += var10;
         class="kw">default:
            int var12 = this.mSeed;
            float var7 = this.mDomainWarpAmp * this.mFractalBounding;
            float var13 = this.mFrequency;

            for (int var9 = 0; var9 < this.mOctaves; var9++) {
               this.DoSingleDomainWarp(var12, var7, var13, var2, var4, var1);
               var12++;
               var7 *= this.mGain;
               var13 *= this.mLacunarity;
            }
      }
   }

   class="kw">private void DomainWarpFractalIndependent(@Nonnull FastNoiseLite.Vector3 var1) {
      double var2 = var1.x;
      double var4 = var1.y;
      double var6 = var1.z;
      class="kw">switch (this.mWarpTransformType3D) {
         case ImproveXYPlanes: {
            double var15 = var2 + var4;
            double var18 = var15 * -0.211324865405187;
            var6 *= 0.577350269189626;
            var2 += var18 - var6;
            var4 = var4 + var18 - var6;
            var6 += var15 * 0.577350269189626;
            break;
         }
         case ImproveXZPlanes: {
            double var14 = var2 + var6;
            double var17 = var14 * -0.211324865405187;
            var4 *= 0.577350269189626;
            var2 += var17 - var4;
            var6 += var17 - var4;
            var4 += var14 * 0.577350269189626;
            break;
         }
         case DefaultOpenSimplex2:
            double var8 = 0.6666666666666666;
            double var10 = (var2 + var4 + var6) * 0.6666666666666666;
            var2 = var10 - var2;
            var4 = var10 - var4;
            var6 = var10 - var6;
      }

      int var16 = this.mSeed;
      float var9 = this.mDomainWarpAmp * this.mFractalBounding;
      float var19 = this.mFrequency;

      for (int var11 = 0; var11 < this.mOctaves; var11++) {
         this.DoSingleDomainWarp(var16, var9, var19, var2, var4, var6, var1);
         var16++;
         var9 *= this.mGain;
         var19 *= this.mLacunarity;
      }
   }

   class="kw">private void SingleDomainWarpBasicGrid(int var1, float var2, float var3, double var4, double var6, @Nonnull FastNoiseLite.Vector2 var8) {
      double var9 = var4 * var3;
      double var11 = var6 * var3;
      int var13 = FastFloor(var9);
      int var14 = FastFloor(var11);
      float var15 = InterpHermite((float)(var9 - var13));
      float var16 = InterpHermite((float)(var11 - var14));
      var13 *= 501125321;
      var14 *= 1136930381;
      int var17 = var13 + 501125321;
      int var18 = var14 + 1136930381;
      int var19 = hash(var1, var13, var14) & 510;
      int var20 = hash(var1, var17, var14) & 510;
      float var21 = Lerp(RandVecs2D[var19], RandVecs2D[var20], var15);
      float var22 = Lerp(RandVecs2D[var19 | 1], RandVecs2D[var20 | 1], var15);
      var19 = hash(var1, var13, var18) & 510;
      var20 = hash(var1, var17, var18) & 510;
      float var23 = Lerp(RandVecs2D[var19], RandVecs2D[var20], var15);
      float var24 = Lerp(RandVecs2D[var19 | 1], RandVecs2D[var20 | 1], var15);
      var8.x = var8.x + Lerp(var21, var23, var16) * var2;
      var8.y = var8.y + Lerp(var22, var24, var16) * var2;
   }

   class="kw">private void SingleDomainWarpBasicGrid(int var1, float var2, float var3, double var4, double var6, double var8, @Nonnull FastNoiseLite.Vector3 var10) {
      double var11 = var4 * var3;
      double var13 = var6 * var3;
      double var15 = var8 * var3;
      int var17 = FastFloor(var11);
      int var18 = FastFloor(var13);
      int var19 = FastFloor(var15);
      float var20 = InterpHermite((float)(var11 - var17));
      float var21 = InterpHermite((float)(var13 - var18));
      float var22 = InterpHermite((float)(var15 - var19));
      var17 *= 501125321;
      var18 *= 1136930381;
      var19 *= 1720413743;
      int var23 = var17 + 501125321;
      int var24 = var18 + 1136930381;
      int var25 = var19 + 1720413743;
      int var26 = hash(var1, var17, var18, var19) & 1020;
      int var27 = hash(var1, var23, var18, var19) & 1020;
      float var28 = Lerp(randVecs3D[var26], randVecs3D[var27], var20);
      float var29 = Lerp(randVecs3D[var26 | 1], randVecs3D[var27 | 1], var20);
      float var30 = Lerp(randVecs3D[var26 | 2], randVecs3D[var27 | 2], var20);
      var26 = hash(var1, var17, var24, var19) & 1020;
      var27 = hash(var1, var23, var24, var19) & 1020;
      float var31 = Lerp(randVecs3D[var26], randVecs3D[var27], var20);
      float var32 = Lerp(randVecs3D[var26 | 1], randVecs3D[var27 | 1], var20);
      float var33 = Lerp(randVecs3D[var26 | 2], randVecs3D[var27 | 2], var20);
      float var34 = Lerp(var28, var31, var21);
      float var35 = Lerp(var29, var32, var21);
      float var36 = Lerp(var30, var33, var21);
      var26 = hash(var1, var17, var18, var25) & 1020;
      var27 = hash(var1, var23, var18, var25) & 1020;
      var28 = Lerp(randVecs3D[var26], randVecs3D[var27], var20);
      var29 = Lerp(randVecs3D[var26 | 1], randVecs3D[var27 | 1], var20);
      var30 = Lerp(randVecs3D[var26 | 2], randVecs3D[var27 | 2], var20);
      var26 = hash(var1, var17, var24, var25) & 1020;
      var27 = hash(var1, var23, var24, var25) & 1020;
      var31 = Lerp(randVecs3D[var26], randVecs3D[var27], var20);
      var32 = Lerp(randVecs3D[var26 | 1], randVecs3D[var27 | 1], var20);
      var33 = Lerp(randVecs3D[var26 | 2], randVecs3D[var27 | 2], var20);
      var10.x = var10.x + Lerp(var34, Lerp(var28, var31, var21), var22) * var2;
      var10.y = var10.y + Lerp(var35, Lerp(var29, var32, var21), var22) * var2;
      var10.z = var10.z + Lerp(var36, Lerp(var30, var33, var21), var22) * var2;
   }

   class="kw">private void SingleDomainWarpSimplexGradient(int var1, float var2, float var3, double var4, double var6, @Nonnull FastNoiseLite.Vector2 var8, boolean var9) {
      float var10 = 1.7320508F;
      float var11 = 0.21132487F;
      var4 *= var3;
      var6 *= var3;
      int var12 = FastFloor(var4);
      int var13 = FastFloor(var6);
      float var14 = (float)(var4 - var12);
      float var15 = (float)(var6 - var13);
      float var16 = (var14 + var15) * 0.21132487F;
      float var17 = var14 - var16;
      float var18 = var15 - var16;
      var12 *= 501125321;
      var13 *= 1136930381;
      float var20 = 0.0F;
      float var19 = 0.0F;
      float var21 = 0.5F - var17 * var17 - var18 * var18;
      if (var21 > 0.0F) {
         float var22 = var21 * var21 * (var21 * var21);
         float var23;
         float var24;
         if (var9) {
            int var25 = hash(var1, var12, var13) & 510;
            var23 = RandVecs2D[var25];
            var24 = RandVecs2D[var25 | 1];
         } else {
            int var48 = hash(var1, var12, var13);
            int var26 = var48 & 254;
            int var27 = var48 >> 7 & 510;
            float var28 = Gradients2D[var26];
            float var29 = Gradients2D[var26 | 1];
            float var30 = var17 * var28 + var18 * var29;
            float var31 = RandVecs2D[var27];
            float var32 = RandVecs2D[var27 | 1];
            var23 = var30 * var31;
            var24 = var30 * var32;
         }

         var19 += var22 * var23;
         var20 += var22 * var24;
      }

      float var41 = 3.1547005F * var16 + (-0.6666666F + var21);
      if (var41 > 0.0F) {
         float var42 = var17 + -0.57735026F;
         float var45 = var18 + -0.57735026F;
         float var49 = var41 * var41 * (var41 * var41);
         float var52;
         float var55;
         if (var9) {
            int var58 = hash(var1, var12 + 501125321, var13 + 1136930381) & 510;
            var52 = RandVecs2D[var58];
            var55 = RandVecs2D[var58 | 1];
         } else {
            int var59 = hash(var1, var12 + 501125321, var13 + 1136930381);
            int var62 = var59 & 254;
            int var67 = var59 >> 7 & 510;
            float var70 = Gradients2D[var62];
            float var73 = Gradients2D[var62 | 1];
            float var33 = var42 * var70 + var45 * var73;
            float var34 = RandVecs2D[var67];
            float var35 = RandVecs2D[var67 | 1];
            var52 = var33 * var34;
            var55 = var33 * var35;
         }

         var19 += var49 * var52;
         var20 += var49 * var55;
      }

      if (var18 > var17) {
         float var43 = var17 + 0.21132487F;
         float var46 = var18 + -0.7886751F;
         float var50 = 0.5F - var43 * var43 - var46 * var46;
         if (var50 > 0.0F) {
            float var53 = var50 * var50 * (var50 * var50);
            float var56;
            float var60;
            if (var9) {
               int var63 = hash(var1, var12, var13 + 1136930381) & 510;
               var56 = RandVecs2D[var63];
               var60 = RandVecs2D[var63 | 1];
            } else {
               int var64 = hash(var1, var12, var13 + 1136930381);
               int var68 = var64 & 254;
               int var71 = var64 >> 7 & 510;
               float var74 = Gradients2D[var68];
               float var76 = Gradients2D[var68 | 1];
               float var78 = var43 * var74 + var46 * var76;
               float var80 = RandVecs2D[var71];
               float var36 = RandVecs2D[var71 | 1];
               var56 = var78 * var80;
               var60 = var78 * var36;
            }

            var19 += var53 * var56;
            var20 += var53 * var60;
         }
      } else {
         float var44 = var17 + -0.7886751F;
         float var47 = var18 + 0.21132487F;
         float var51 = 0.5F - var44 * var44 - var47 * var47;
         if (var51 > 0.0F) {
            float var54 = var51 * var51 * (var51 * var51);
            float var57;
            float var61;
            if (var9) {
               int var65 = hash(var1, var12 + 501125321, var13) & 510;
               var57 = RandVecs2D[var65];
               var61 = RandVecs2D[var65 | 1];
            } else {
               int var66 = hash(var1, var12 + 501125321, var13);
               int var69 = var66 & 254;
               int var72 = var66 >> 7 & 510;
               float var75 = Gradients2D[var69];
               float var77 = Gradients2D[var69 | 1];
               float var79 = var44 * var75 + var47 * var77;
               float var81 = RandVecs2D[var72];
               float var82 = RandVecs2D[var72 | 1];
               var57 = var79 * var81;
               var61 = var79 * var82;
            }

            var19 += var54 * var57;
            var20 += var54 * var61;
         }
      }

      var8.x += var19 * var2;
      var8.y += var20 * var2;
   }

   class="kw">private void SingleDomainWarpOpenSimplex2Gradient(
      int var1, float var2, float var3, double var4, double var6, double var8, @Nonnull FastNoiseLite.Vector3 var10, boolean var11
   ) {
      var4 *= var3;
      var6 *= var3;
      var8 *= var3;
      int var12 = fastRound(var4);
      int var13 = fastRound(var6);
      int var14 = fastRound(var8);
      float var15 = (float)var4 - var12;
      float var16 = (float)var6 - var13;
      float var17 = (float)var8 - var14;
      int var18 = (int)(-var15 - 1.0F) | 1;
      int var19 = (int)(-var16 - 1.0F) | 1;
      int var20 = (int)(-var17 - 1.0F) | 1;
      float var21 = var18 * -var15;
      float var22 = var19 * -var16;
      float var23 = var20 * -var17;
      var12 *= 501125321;
      var13 *= 1136930381;
      var14 *= 1720413743;
      float var26 = 0.0F;
      float var25 = 0.0F;
      float var24 = 0.0F;
      float var27 = 0.6F - var15 * var15 - (var16 * var16 + var17 * var17);
      int var28 = 0;

      while (true) {
         if (var27 > 0.0F) {
            float var29 = var27 * var27 * (var27 * var27);
            float var30;
            float var31;
            float var32;
            if (var11) {
               int var33 = hash(var1, var12, var13, var14) & 1020;
               var30 = randVecs3D[var33];
               var31 = randVecs3D[var33 | 1];
               var32 = randVecs3D[var33 | 2];
            } else {
               int var62 = hash(var1, var12, var13, var14);
               int var34 = var62 & 252;
               int var35 = var62 >> 6 & 1020;
               float var36 = Gradients3D[var34];
               float var37 = Gradients3D[var34 | 1];
               float var38 = Gradients3D[var34 | 2];
               float var39 = var15 * var36 + var16 * var37 + var17 * var38;
               float var40 = randVecs3D[var35];
               float var41 = randVecs3D[var35 | 1];
               float var42 = randVecs3D[var35 | 2];
               var30 = var39 * var40;
               var31 = var39 * var41;
               var32 = var39 * var42;
            }

            var24 += var29 * var30;
            var25 += var29 * var31;
            var26 += var29 * var32;
         }

         float var56 = var27;
         int var59 = var12;
         int var60 = var13;
         int var61 = var14;
         float var63 = var15;
         float var64 = var16;
         float var65 = var17;
         if (var21 >= var22 && var21 >= var23) {
            var63 += var18;
            var56 = var56 + var21 + var21;
            var59 -= var18 * 501125321;
         } else if (var22 > var21 && var22 >= var23) {
            var64 += var19;
            var56 = var56 + var22 + var22;
            var60 -= var19 * 1136930381;
         } else {
            var65 += var20;
            var56 = var56 + var23 + var23;
            var61 -= var20 * 1720413743;
         }

         if (var56 > 1.0F) {
            float var66 = --var56 * var56 * (var56 * var56);
            float var67;
            float var68;
            float var69;
            if (var11) {
               int var70 = hash(var1, var59, var60, var61) & 1020;
               var67 = randVecs3D[var70];
               var68 = randVecs3D[var70 | 1];
               var69 = randVecs3D[var70 | 2];
            } else {
               int var71 = hash(var1, var59, var60, var61);
               int var72 = var71 & 252;
               int var73 = var71 >> 6 & 1020;
               float var43 = Gradients3D[var72];
               float var44 = Gradients3D[var72 | 1];
               float var45 = Gradients3D[var72 | 2];
               float var46 = var63 * var43 + var64 * var44 + var65 * var45;
               float var47 = randVecs3D[var73];
               float var48 = randVecs3D[var73 | 1];
               float var49 = randVecs3D[var73 | 2];
               var67 = var46 * var47;
               var68 = var46 * var48;
               var69 = var46 * var49;
            }

            var24 += var66 * var67;
            var25 += var66 * var68;
            var26 += var66 * var69;
         }

         if (var28 == 1) {
            var10.x += var24 * var2;
            var10.y += var25 * var2;
            var10.z += var26 * var2;
            class="kw">return;
         }

         var21 = 0.5F - var21;
         var22 = 0.5F - var22;
         var23 = 0.5F - var23;
         var15 = var18 * var21;
         var16 = var19 * var22;
         var17 = var20 * var23;
         var27 += 0.75F - var21 - (var22 + var23);
         var12 += var18 >> 1 & 501125321;
         var13 += var19 >> 1 & 1136930381;
         var14 += var20 >> 1 & 1720413743;
         var18 = -var18;
         var19 = -var19;
         var20 = -var20;
         var1 += 1293373;
         var28++;
      }
   }

   class="kw">public enum CellularDistanceFunction {
      Euclidean,
      EuclideanSq,
      Manhattan,
      Hybrid;

      CellularDistanceFunction() {
      }
   }

   class="kw">public enum CellularReturnType {
      CellValue,
      Distance,
      Distance2,
      Distance2Add,
      Distance2Sub,
      Distance2Mul,
      Distance2Div;

      @Nonnull
      class="kw">public class="kw">static class="kw">final Codec<FastNoiseLite.CellularReturnType> CODEC = new EnumCodec<>(FastNoiseLite.CellularReturnType.class);

      CellularReturnType() {
      }
   }

   class="kw">public enum DomainWarpType {
      OpenSimplex2,
      OpenSimplex2Reduced,
      BasicGrid;

      DomainWarpType() {
      }
   }

   class="kw">public enum FractalType {
      None,
      FBm,
      Ridged,
      PingPong,
      DomainWarpProgressive,
      DomainWarpIndependent;

      FractalType() {
      }
   }

   class="kw">public enum NoiseType {
      OpenSimplex2,
      OpenSimplex2S,
      Cellular,
      Perlin,
      ValueCubic,
      Value;

      NoiseType() {
      }
   }

   class="kw">public enum RotationType3D {
      None,
      ImproveXYPlanes,
      ImproveXZPlanes;

      RotationType3D() {
      }
   }

   class="kw">private enum TransformType3D {
      None,
      ImproveXYPlanes,
      ImproveXZPlanes,
      DefaultOpenSimplex2;

      TransformType3D() {
      }
   }

   class="kw">public class="kw">static class Vector2 {
      class="kw">public double x;
      class="kw">public double y;

      class="kw">public Vector2(double var1, double var3) {
         this.x = var1;
         this.y = var3;
      }
   }

   class="kw">public class="kw">static class Vector3 {
      class="kw">public double x;
      class="kw">public double y;
      class="kw">public double z;

      class="kw">public Vector3(double var1, double var3, double var5) {
         this.x = var1;
         this.y = var3;
         this.z = var5;
      }
   }
}