mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-19 02:36:59 +00:00
Hmm
This commit is contained in:
parent
d47da11ce8
commit
0fb5cbdb06
@ -22,6 +22,7 @@ import org.bukkit.generator.ChunkGenerator.ChunkData;
|
|||||||
import org.bukkit.material.MaterialData;
|
import org.bukkit.material.MaterialData;
|
||||||
|
|
||||||
import com.mojang.serialization.Codec;
|
import com.mojang.serialization.Codec;
|
||||||
|
import com.volmit.iris.Iris;
|
||||||
import com.volmit.iris.gen.IrisTerrainProvider;
|
import com.volmit.iris.gen.IrisTerrainProvider;
|
||||||
import com.volmit.iris.gen.provisions.ProvisionBukkit;
|
import com.volmit.iris.gen.provisions.ProvisionBukkit;
|
||||||
import com.volmit.iris.gen.scaffold.GeneratedChunk;
|
import com.volmit.iris.gen.scaffold.GeneratedChunk;
|
||||||
@ -34,7 +35,6 @@ import it.unimi.dsi.fastutil.objects.ObjectList;
|
|||||||
import it.unimi.dsi.fastutil.objects.ObjectListIterator;
|
import it.unimi.dsi.fastutil.objects.ObjectListIterator;
|
||||||
import net.minecraft.server.v1_16_R2.BiomeBase;
|
import net.minecraft.server.v1_16_R2.BiomeBase;
|
||||||
import net.minecraft.server.v1_16_R2.BiomeManager;
|
import net.minecraft.server.v1_16_R2.BiomeManager;
|
||||||
import net.minecraft.server.v1_16_R2.BiomeSettingsGeneration;
|
|
||||||
import net.minecraft.server.v1_16_R2.BiomeSettingsMobs;
|
import net.minecraft.server.v1_16_R2.BiomeSettingsMobs;
|
||||||
import net.minecraft.server.v1_16_R2.Block;
|
import net.minecraft.server.v1_16_R2.Block;
|
||||||
import net.minecraft.server.v1_16_R2.BlockColumn;
|
import net.minecraft.server.v1_16_R2.BlockColumn;
|
||||||
@ -83,7 +83,6 @@ import net.minecraft.server.v1_16_R2.StructureStart;
|
|||||||
import net.minecraft.server.v1_16_R2.SystemUtils;
|
import net.minecraft.server.v1_16_R2.SystemUtils;
|
||||||
import net.minecraft.server.v1_16_R2.WorldChunkManager;
|
import net.minecraft.server.v1_16_R2.WorldChunkManager;
|
||||||
import net.minecraft.server.v1_16_R2.WorldChunkManagerTheEnd;
|
import net.minecraft.server.v1_16_R2.WorldChunkManagerTheEnd;
|
||||||
import net.minecraft.server.v1_16_R2.WorldGenFeatureConfigured;
|
|
||||||
import net.minecraft.server.v1_16_R2.WorldGenFeatureDefinedStructureJigsawJunction;
|
import net.minecraft.server.v1_16_R2.WorldGenFeatureDefinedStructureJigsawJunction;
|
||||||
import net.minecraft.server.v1_16_R2.WorldGenFeatureDefinedStructurePoolTemplate;
|
import net.minecraft.server.v1_16_R2.WorldGenFeatureDefinedStructurePoolTemplate;
|
||||||
import net.minecraft.server.v1_16_R2.WorldGenFeaturePillagerOutpostPoolPiece;
|
import net.minecraft.server.v1_16_R2.WorldGenFeaturePillagerOutpostPoolPiece;
|
||||||
@ -92,33 +91,6 @@ import net.minecraft.server.v1_16_R2.WorldServer;
|
|||||||
|
|
||||||
public class NMSChunkGenerator16_2 extends ChunkGenerator
|
public class NMSChunkGenerator16_2 extends ChunkGenerator
|
||||||
{
|
{
|
||||||
private static final float[] i = SystemUtils.a((new float[13824]), (afloat) ->
|
|
||||||
{ // CraftBukkit - decompile error
|
|
||||||
for(int i = 0; i < 24; ++i)
|
|
||||||
{
|
|
||||||
for(int j = 0; j < 24; ++j)
|
|
||||||
{
|
|
||||||
for(int k = 0; k < 24; ++k)
|
|
||||||
{
|
|
||||||
afloat[i * 24 * 24 + j * 24 + k] = (float) b(j - 12, k - 12, i - 12);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
private static final float[] j = SystemUtils.a((new float[25]), (afloat) ->
|
|
||||||
{ // CraftBukkit - decompile error
|
|
||||||
for(int i = -2; i <= 2; ++i)
|
|
||||||
{
|
|
||||||
for(int j = -2; j <= 2; ++j)
|
|
||||||
{
|
|
||||||
float f = 10.0F / MathHelper.c((float) (i * i + j * j) + 0.2F);
|
|
||||||
|
|
||||||
afloat[i + 2 + (j + 2) * 5] = f;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
private static final IBlockData k = Blocks.AIR.getBlockData();
|
private static final IBlockData k = Blocks.AIR.getBlockData();
|
||||||
private final Provisioned provisioned;
|
private final Provisioned provisioned;
|
||||||
private final int maxHeight;
|
private final int maxHeight;
|
||||||
@ -138,6 +110,7 @@ public class NMSChunkGenerator16_2 extends ChunkGenerator
|
|||||||
private final long w;
|
private final long w;
|
||||||
protected final Supplier<GeneratorSettingBase> h;
|
protected final Supplier<GeneratorSettingBase> h;
|
||||||
private final O<WorldServer> ws;
|
private final O<WorldServer> ws;
|
||||||
|
private BlockColumn BC;
|
||||||
|
|
||||||
public NMSChunkGenerator16_2(Provisioned p, O<WorldServer> ws, WorldChunkManager worldchunkmanager, long i, Supplier<GeneratorSettingBase> supplier)
|
public NMSChunkGenerator16_2(Provisioned p, O<WorldServer> ws, WorldChunkManager worldchunkmanager, long i, Supplier<GeneratorSettingBase> supplier)
|
||||||
{
|
{
|
||||||
@ -180,6 +153,7 @@ public class NMSChunkGenerator16_2 extends ChunkGenerator
|
|||||||
{
|
{
|
||||||
this.v = null;
|
this.v = null;
|
||||||
}
|
}
|
||||||
|
BC = new BlockColumn(new IBlockData[this.xzSize * this.maxHeight]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getSpawnHeight()
|
public int getSpawnHeight()
|
||||||
@ -216,255 +190,46 @@ public class NMSChunkGenerator16_2 extends ChunkGenerator
|
|||||||
return this.w == i && this.h.get().a(resourcekey);
|
return this.w == i && this.h.get().a(resourcekey);
|
||||||
}
|
}
|
||||||
|
|
||||||
private double a(int i, int j, int k, double d0, double d1, double d2, double d3)
|
|
||||||
{
|
|
||||||
double d4 = 0.0D;
|
|
||||||
double d5 = 0.0D;
|
|
||||||
double d6 = 0.0D;
|
|
||||||
double d7 = 1.0D;
|
|
||||||
|
|
||||||
for(int l = 0; l < 16; ++l)
|
|
||||||
{
|
|
||||||
double d8 = NoiseGeneratorOctaves.a((double) i * d0 * d7);
|
|
||||||
double d9 = NoiseGeneratorOctaves.a((double) j * d1 * d7);
|
|
||||||
double d10 = NoiseGeneratorOctaves.a((double) k * d0 * d7);
|
|
||||||
double d11 = d1 * d7;
|
|
||||||
NoiseGeneratorPerlin noisegeneratorperlin = this.q.a(l);
|
|
||||||
|
|
||||||
if(noisegeneratorperlin != null)
|
|
||||||
{
|
|
||||||
d4 += noisegeneratorperlin.a(d8, d9, d10, d11, (double) j * d11) / d7;
|
|
||||||
}
|
|
||||||
|
|
||||||
NoiseGeneratorPerlin noisegeneratorperlin1 = this.r.a(l);
|
|
||||||
|
|
||||||
if(noisegeneratorperlin1 != null)
|
|
||||||
{
|
|
||||||
d5 += noisegeneratorperlin1.a(d8, d9, d10, d11, (double) j * d11) / d7;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(l < 8)
|
|
||||||
{
|
|
||||||
NoiseGeneratorPerlin noisegeneratorperlin2 = this.s.a(l);
|
|
||||||
|
|
||||||
if(noisegeneratorperlin2 != null)
|
|
||||||
{
|
|
||||||
d6 += noisegeneratorperlin2.a(NoiseGeneratorOctaves.a((double) i * d2 * d7), NoiseGeneratorOctaves.a((double) j * d3 * d7), NoiseGeneratorOctaves.a((double) k * d2 * d7), d3 * d7, (double) j * d3 * d7) / d7;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
d7 /= 2.0D;
|
|
||||||
}
|
|
||||||
|
|
||||||
return MathHelper.b(d4 / 512.0D, d5 / 512.0D, (d6 / 10.0D + 1.0D) / 2.0D);
|
|
||||||
}
|
|
||||||
|
|
||||||
private double[] getFilledNoiseArray(int x, int z)
|
|
||||||
{
|
|
||||||
double[] noiseArray = new double[this.xzSize + 1];
|
|
||||||
|
|
||||||
this.fillNoiseArray(noiseArray, x, z);
|
|
||||||
return noiseArray;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void fillNoiseArray(double[] noiseArray, int x, int z)
|
|
||||||
{
|
|
||||||
NoiseSettings noisesettings = this.h.get().b();
|
|
||||||
double d0;
|
|
||||||
double d1;
|
|
||||||
double d2;
|
|
||||||
double d3;
|
|
||||||
|
|
||||||
if(this.v != null)
|
|
||||||
{
|
|
||||||
d0 = (double) (WorldChunkManagerTheEnd.a(this.v, x, z) - 8.0F);
|
|
||||||
if(d0 > 0.0D)
|
|
||||||
{
|
|
||||||
d1 = 0.25D;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
d1 = 1.0D;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
float f = 0.0F;
|
|
||||||
float f1 = 0.0F;
|
|
||||||
float f2 = 0.0F;
|
|
||||||
int k = this.getSeaLevel();
|
|
||||||
float f3 = this.b.getBiome(x, k, z).h();
|
|
||||||
|
|
||||||
for(int l = -2; l <= 2; ++l)
|
|
||||||
{
|
|
||||||
for(int i1 = -2; i1 <= 2; ++i1)
|
|
||||||
{
|
|
||||||
BiomeBase biomebase = this.b.getBiome(x + l, k, z + i1);
|
|
||||||
float f4 = biomebase.h();
|
|
||||||
float f5 = biomebase.j();
|
|
||||||
float f6;
|
|
||||||
float f7;
|
|
||||||
|
|
||||||
if(noisesettings.l() && f4 > 0.0F)
|
|
||||||
{
|
|
||||||
f6 = 1.0F + f4 * 2.0F;
|
|
||||||
f7 = 1.0F + f5 * 4.0F;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
f6 = f4;
|
|
||||||
f7 = f5;
|
|
||||||
}
|
|
||||||
// CraftBukkit start - fix MC-54738
|
|
||||||
if(f6 < -1.8F)
|
|
||||||
{
|
|
||||||
f6 = -1.8F;
|
|
||||||
}
|
|
||||||
// CraftBukkit end
|
|
||||||
|
|
||||||
float f8 = f4 > f3 ? 0.5F : 1.0F;
|
|
||||||
float f9 = f8 * NMSChunkGenerator16_2.j[l + 2 + (i1 + 2) * 5] / (f6 + 2.0F);
|
|
||||||
|
|
||||||
f += f7 * f9;
|
|
||||||
f1 += f6 * f9;
|
|
||||||
f2 += f9;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
float f10 = f1 / f2;
|
|
||||||
float f11 = f / f2;
|
|
||||||
|
|
||||||
d2 = (double) (f10 * 0.5F - 0.125F);
|
|
||||||
d3 = (double) (f11 * 0.9F + 0.1F);
|
|
||||||
d0 = d2 * 0.265625D;
|
|
||||||
d1 = 96.0D / d3;
|
|
||||||
}
|
|
||||||
|
|
||||||
double d4 = 684.412D * noisesettings.b().a();
|
|
||||||
double d5 = 684.412D * noisesettings.b().b();
|
|
||||||
double d6 = d4 / noisesettings.b().c();
|
|
||||||
double d7 = d5 / noisesettings.b().d();
|
|
||||||
|
|
||||||
d2 = (double) noisesettings.c().a();
|
|
||||||
d3 = (double) noisesettings.c().b();
|
|
||||||
double d8 = (double) noisesettings.c().c();
|
|
||||||
double d9 = (double) noisesettings.d().a();
|
|
||||||
double d10 = (double) noisesettings.d().b();
|
|
||||||
double d11 = (double) noisesettings.d().c();
|
|
||||||
double d12 = noisesettings.j() ? this.c(x, z) : 0.0D;
|
|
||||||
double d13 = noisesettings.g();
|
|
||||||
double d14 = noisesettings.h();
|
|
||||||
|
|
||||||
for(int j1 = 0; j1 <= this.xzSize; ++j1)
|
|
||||||
{
|
|
||||||
double d15 = this.a(x, j1, z, d4, d5, d6, d7);
|
|
||||||
double d16 = 1.0D - (double) j1 * 2.0D / (double) this.xzSize + d12;
|
|
||||||
double d17 = d16 * d13 + d14;
|
|
||||||
double d18 = (d17 + d0) * d1;
|
|
||||||
|
|
||||||
if(d18 > 0.0D)
|
|
||||||
{
|
|
||||||
d15 += d18 * 4.0D;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
d15 += d18;
|
|
||||||
}
|
|
||||||
|
|
||||||
double d19;
|
|
||||||
|
|
||||||
if(d3 > 0.0D)
|
|
||||||
{
|
|
||||||
d19 = ((double) (this.xzSize - j1) - d8) / d3;
|
|
||||||
d15 = MathHelper.b(d2, d15, d19);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(d10 > 0.0D)
|
|
||||||
{
|
|
||||||
d19 = ((double) j1 - d11) / d10;
|
|
||||||
d15 = MathHelper.b(d9, d15, d19);
|
|
||||||
}
|
|
||||||
|
|
||||||
noiseArray[j1] = d15;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private double c(int x, int z)
|
|
||||||
{
|
|
||||||
double noiseOrSomething = this.u.a((double) (x * 200), 10.0D, (double) (z * 200), 1.0D, 0.0D, true);
|
|
||||||
double noiseOrSomething2;
|
|
||||||
|
|
||||||
if(noiseOrSomething < 0.0D)
|
|
||||||
{
|
|
||||||
noiseOrSomething2 = -noiseOrSomething * 0.3D;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
noiseOrSomething2 = noiseOrSomething;
|
|
||||||
}
|
|
||||||
|
|
||||||
double result = noiseOrSomething2 * 24.575625D - 2.0D;
|
|
||||||
|
|
||||||
return result < 0.0D ? result * 0.009486607142857142D : Math.min(result, 1.0D) * 0.006640625D;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getBaseHeight(int i, int j, HeightMap.Type heightmap_type)
|
public int getBaseHeight(int i, int j, HeightMap.Type heightmap_type)
|
||||||
{
|
{
|
||||||
return this.a(i, j, (IBlockData[]) null, heightmap_type.e());
|
if(heightmap_type.equals(HeightMap.Type.MOTION_BLOCKING))
|
||||||
|
{
|
||||||
|
return (int) ((IrisTerrainProvider) provisioned.getProvider()).getNoiseHeight(i, j);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(heightmap_type.equals(HeightMap.Type.MOTION_BLOCKING_NO_LEAVES))
|
||||||
|
{
|
||||||
|
return (int) ((IrisTerrainProvider) provisioned.getProvider()).getNoiseHeight(i, j);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(heightmap_type.equals(HeightMap.Type.OCEAN_FLOOR))
|
||||||
|
{
|
||||||
|
return (int) ((IrisTerrainProvider) provisioned.getProvider()).getNoiseHeight(i, j);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(heightmap_type.equals(HeightMap.Type.OCEAN_FLOOR_WG))
|
||||||
|
{
|
||||||
|
return (int) ((IrisTerrainProvider) provisioned.getProvider()).getNoiseHeight(i, j);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(heightmap_type.equals(HeightMap.Type.WORLD_SURFACE))
|
||||||
|
{
|
||||||
|
return (int) ((IrisTerrainProvider) provisioned.getProvider()).getTerrainWaterHeight(i, j);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(heightmap_type.equals(HeightMap.Type.WORLD_SURFACE_WG))
|
||||||
|
{
|
||||||
|
return (int) ((IrisTerrainProvider) provisioned.getProvider()).getTerrainWaterHeight(i, j);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (int) ((IrisTerrainProvider) provisioned.getProvider()).getTerrainWaterHeight(i, j);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IBlockAccess a(int x, int z)
|
public IBlockAccess a(int x, int z)
|
||||||
{
|
{
|
||||||
IBlockData[] aiblockdata = new IBlockData[this.xzSize * this.maxHeight];
|
return BC;
|
||||||
|
|
||||||
this.a(x, z, aiblockdata, (Predicate<IBlockData>) null);
|
|
||||||
return new BlockColumn(aiblockdata);
|
|
||||||
}
|
|
||||||
|
|
||||||
private int a(int i, int j, @Nullable IBlockData[] aiblockdata, @Nullable Predicate<IBlockData> predicate)
|
|
||||||
{
|
|
||||||
int k = Math.floorDiv(i, this.m);
|
|
||||||
int l = Math.floorDiv(j, this.m);
|
|
||||||
int i1 = Math.floorMod(i, this.m);
|
|
||||||
int j1 = Math.floorMod(j, this.m);
|
|
||||||
double d0 = (double) i1 / (double) this.m;
|
|
||||||
double d1 = (double) j1 / (double) this.m;
|
|
||||||
double[][] noiseArrayNeighbors = new double[][] {this.getFilledNoiseArray(k, l), this.getFilledNoiseArray(k, l + 1), this.getFilledNoiseArray(k + 1, l), this.getFilledNoiseArray(k + 1, l + 1)};
|
|
||||||
|
|
||||||
for(int k1 = this.xzSize - 1; k1 >= 0; --k1)
|
|
||||||
{
|
|
||||||
double d2 = noiseArrayNeighbors[0][k1];
|
|
||||||
double d3 = noiseArrayNeighbors[1][k1];
|
|
||||||
double d4 = noiseArrayNeighbors[2][k1];
|
|
||||||
double d5 = noiseArrayNeighbors[3][k1];
|
|
||||||
double d6 = noiseArrayNeighbors[0][k1 + 1];
|
|
||||||
double d7 = noiseArrayNeighbors[1][k1 + 1];
|
|
||||||
double d8 = noiseArrayNeighbors[2][k1 + 1];
|
|
||||||
double d9 = noiseArrayNeighbors[3][k1 + 1];
|
|
||||||
|
|
||||||
for(int l1 = this.maxHeight - 1; l1 >= 0; --l1)
|
|
||||||
{
|
|
||||||
double d10 = (double) l1 / (double) this.maxHeight;
|
|
||||||
double d11 = MathHelper.a(d10, d0, d1, d2, d6, d4, d8, d3, d7, d5, d9);
|
|
||||||
int i2 = k1 * this.maxHeight + l1;
|
|
||||||
IBlockData iblockdata = this.a(d11, i2);
|
|
||||||
|
|
||||||
if(aiblockdata != null)
|
|
||||||
{
|
|
||||||
aiblockdata[i2] = iblockdata;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(predicate != null && predicate.test(iblockdata))
|
|
||||||
{
|
|
||||||
return i2 + 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected IBlockData a(double d0, int i)
|
protected IBlockData a(double d0, int i)
|
||||||
@ -559,9 +324,6 @@ public class NMSChunkGenerator16_2 extends ChunkGenerator
|
|||||||
ProtoChunk protochunk = (ProtoChunk) ichunkaccess;
|
ProtoChunk protochunk = (ProtoChunk) ichunkaccess;
|
||||||
HeightMap heightmap = protochunk.a(HeightMap.Type.OCEAN_FLOOR_WG);
|
HeightMap heightmap = protochunk.a(HeightMap.Type.OCEAN_FLOOR_WG);
|
||||||
HeightMap heightmap1 = protochunk.a(HeightMap.Type.WORLD_SURFACE_WG);
|
HeightMap heightmap1 = protochunk.a(HeightMap.Type.WORLD_SURFACE_WG);
|
||||||
BlockPosition.MutableBlockPosition blockposition_mutableblockposition = new BlockPosition.MutableBlockPosition();
|
|
||||||
ObjectListIterator<StructurePiece> objectlistiterator = objectlist.iterator();
|
|
||||||
ObjectListIterator<WorldGenFeatureDefinedStructureJigsawJunction> objectlistiterator1 = objectlist1.iterator();
|
|
||||||
GeneratedChunk gc = ((ProvisionBukkit) provisioned).generateNMSChunkData(ws.get().getWorld(), new Random(i + j), i, j, new ChunkData()
|
GeneratedChunk gc = ((ProvisionBukkit) provisioned).generateNMSChunkData(ws.get().getWorld(), new Random(i + j), i, j, new ChunkData()
|
||||||
{
|
{
|
||||||
public int getMaxHeight()
|
public int getMaxHeight()
|
||||||
@ -821,6 +583,47 @@ public class NMSChunkGenerator16_2 extends ChunkGenerator
|
|||||||
while(iterator.hasNext())
|
while(iterator.hasNext())
|
||||||
{
|
{
|
||||||
var13 = (StructureGenerator<?>) iterator.next();
|
var13 = (StructureGenerator<?>) iterator.next();
|
||||||
|
|
||||||
|
if(var13.equals(StructureGenerator.VILLAGE))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(var13.equals(StructureGenerator.JUNGLE_PYRAMID))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(var13.equals(StructureGenerator.IGLOO))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(var13.equals(StructureGenerator.NETHER_FOSSIL))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(var13.equals(StructureGenerator.SHIPWRECK))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(var13.equals(StructureGenerator.SHIPWRECK))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(var13.equals(StructureGenerator.MONUMENT))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(var13.equals(StructureGenerator.BASTION_REMNANT))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
var5.b(var3, var10, stage);
|
var5.b(var3, var10, stage);
|
||||||
int var14 = var6.getX() >> 4;
|
int var14 = var6.getX() >> 4;
|
||||||
int var15 = var6.getZ() >> 4;
|
int var15 = var6.getZ() >> 4;
|
||||||
@ -831,6 +634,7 @@ public class NMSChunkGenerator16_2 extends ChunkGenerator
|
|||||||
{
|
{
|
||||||
var0.a(SectionPosition.a((BlockPosition) var6), var13).forEach(var8 -> var8.a((GeneratorAccessSeed) var2, var0, var1, (Random) var5, new StructureBoundingBox(var16, var17, var16 + 15, var17 + 15), new ChunkCoordIntPair(var14, var15)));
|
var0.a(SectionPosition.a((BlockPosition) var6), var13).forEach(var8 -> var8.a((GeneratorAccessSeed) var2, var0, var1, (Random) var5, new StructureBoundingBox(var16, var17, var16 + 15, var17 + 15), new ChunkCoordIntPair(var14, var15)));
|
||||||
}
|
}
|
||||||
|
|
||||||
catch(Exception var18)
|
catch(Exception var18)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user