mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-18 18:23:06 +00:00
Deep ocean tech
This commit is contained in:
parent
b49c1e6e47
commit
f645589cda
@ -42,7 +42,7 @@ public class Settings
|
|||||||
public double heightScale = 0.56;
|
public double heightScale = 0.56;
|
||||||
public double baseHeight = 0.065;
|
public double baseHeight = 0.065;
|
||||||
public int seaLevel = 63;
|
public int seaLevel = 63;
|
||||||
public double biomeScale = 0.5;
|
public double biomeScale = 0.75;
|
||||||
public boolean flatBedrock = false;
|
public boolean flatBedrock = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -538,144 +538,6 @@ public class IrisGenerator extends ParallaxWorldGenerator
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
KList<Integer> hs = plan.getCaveHeights(x, z);
|
|
||||||
|
|
||||||
if(hs != null && !hs.isEmpty())
|
|
||||||
{
|
|
||||||
int h = 0;
|
|
||||||
int border = 0;
|
|
||||||
for(int hx : hs)
|
|
||||||
{
|
|
||||||
h = hx - 1;
|
|
||||||
border = 0;
|
|
||||||
|
|
||||||
if(x == 0 || x == 15)
|
|
||||||
{
|
|
||||||
border++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(z == 0 || z == 15)
|
|
||||||
{
|
|
||||||
border++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(h > 1)
|
|
||||||
{
|
|
||||||
above = 0;
|
|
||||||
below = 0;
|
|
||||||
|
|
||||||
if(x + 1 <= 15)
|
|
||||||
{
|
|
||||||
v = plan.getRealHeight(x + 1, z);
|
|
||||||
|
|
||||||
if(v > h)
|
|
||||||
{
|
|
||||||
above++;
|
|
||||||
}
|
|
||||||
|
|
||||||
else if(v < h)
|
|
||||||
{
|
|
||||||
below++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(x - 1 >= 0)
|
|
||||||
{
|
|
||||||
v = plan.getRealHeight(x - 1, z);
|
|
||||||
|
|
||||||
if(v > h)
|
|
||||||
{
|
|
||||||
above++;
|
|
||||||
}
|
|
||||||
|
|
||||||
else if(v < h)
|
|
||||||
{
|
|
||||||
below++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(z + 1 <= 15)
|
|
||||||
{
|
|
||||||
v = plan.getRealHeight(x, z + 1);
|
|
||||||
|
|
||||||
if(v > h)
|
|
||||||
{
|
|
||||||
above++;
|
|
||||||
}
|
|
||||||
|
|
||||||
else if(v < h)
|
|
||||||
{
|
|
||||||
below++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(z - 1 >= 0)
|
|
||||||
{
|
|
||||||
v = plan.getRealHeight(x, z - 1);
|
|
||||||
|
|
||||||
if(v > h)
|
|
||||||
{
|
|
||||||
above++;
|
|
||||||
}
|
|
||||||
|
|
||||||
else if(v < h)
|
|
||||||
{
|
|
||||||
below++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Patch Hole
|
|
||||||
if(above >= 4 - border)
|
|
||||||
{
|
|
||||||
data.setBlock(x, h + 1, z, data.getMB(x, h, z));
|
|
||||||
plan.setRealHeight(x, z, h + 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Remove Nipple
|
|
||||||
else if(below >= 4 - border)
|
|
||||||
{
|
|
||||||
data.setBlock(x, h - 1, z, data.getMB(x, h, z));
|
|
||||||
data.setBlock(x, h, z, Material.AIR);
|
|
||||||
plan.setRealHeight(x, z, h - 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Slab Smoothing
|
|
||||||
else if(below == 0 && above > 0 && f == Iris.settings.gen.blockSmoothing - 1)
|
|
||||||
{
|
|
||||||
MB d = data.getMB(x, h, z);
|
|
||||||
|
|
||||||
if(d.material.equals(Material.STAINED_CLAY) && d.data == 1)
|
|
||||||
{
|
|
||||||
data.setBlock(x, h + 1, z, Material.STONE_SLAB2);
|
|
||||||
}
|
|
||||||
|
|
||||||
else if(d.material.equals(Material.SAND))
|
|
||||||
{
|
|
||||||
if(d.data == 0)
|
|
||||||
{
|
|
||||||
data.setBlock(x, h + 1, z, Material.STEP, (byte) 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(d.data == 1)
|
|
||||||
{
|
|
||||||
data.setBlock(x, h + 1, z, Material.STONE_SLAB2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
else if(d.material.equals(Material.SNOW_BLOCK))
|
|
||||||
{
|
|
||||||
data.setBlock(x, h + 1, z, Material.SNOW, (byte) 4);
|
|
||||||
}
|
|
||||||
|
|
||||||
else if(d.material.equals(Material.STONE) || d.material.equals(Material.SMOOTH_BRICK) || d.material.equals(Material.COBBLESTONE) || d.material.equals(Material.GRAVEL))
|
|
||||||
{
|
|
||||||
data.setBlock(x, h + 1, z, Material.STEP, (byte) 5);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,7 @@ import ninja.bytecode.iris.generator.IrisGenerator;
|
|||||||
import ninja.bytecode.iris.pack.IrisBiome;
|
import ninja.bytecode.iris.pack.IrisBiome;
|
||||||
import ninja.bytecode.iris.pack.IrisRegion;
|
import ninja.bytecode.iris.pack.IrisRegion;
|
||||||
import ninja.bytecode.iris.util.BiomeLayer;
|
import ninja.bytecode.iris.util.BiomeLayer;
|
||||||
|
import ninja.bytecode.iris.util.Borders;
|
||||||
import ninja.bytecode.iris.util.GenLayer;
|
import ninja.bytecode.iris.util.GenLayer;
|
||||||
import ninja.bytecode.iris.util.PolygonGenerator;
|
import ninja.bytecode.iris.util.PolygonGenerator;
|
||||||
import ninja.bytecode.shuriken.collections.KList;
|
import ninja.bytecode.shuriken.collections.KList;
|
||||||
@ -156,6 +157,17 @@ public class GenLayerBiome extends GenLayer
|
|||||||
return biome;
|
return biome;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!Borders.isBorderWithin(x, z, 24, 45, (x / 10D) + (z / 10D), (a, b) -> ocean.getIndex(a, b)))
|
||||||
|
{
|
||||||
|
if(region.getDeepOcean() == null)
|
||||||
|
{
|
||||||
|
L.f(C.YELLOW + "Cannot find Deep Ocean in Region" + C.RED + biome.getRegionID());
|
||||||
|
return biome;
|
||||||
|
}
|
||||||
|
|
||||||
|
return getRegion(biome.getRegionID()).getDeepOcean();
|
||||||
|
}
|
||||||
|
|
||||||
if(region.getOcean() == null)
|
if(region.getOcean() == null)
|
||||||
{
|
{
|
||||||
L.f(C.YELLOW + "Cannot find Ocean in Region" + C.RED + biome.getRegionID());
|
L.f(C.YELLOW + "Cannot find Ocean in Region" + C.RED + biome.getRegionID());
|
||||||
|
@ -82,11 +82,6 @@ public class GenLayerCaves extends GenLayer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(lowest < 256)
|
|
||||||
{
|
|
||||||
plan.setCaveHeight(x, z, lowest);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,6 +12,7 @@ public class IrisRegion
|
|||||||
private String name;
|
private String name;
|
||||||
private KList<IrisBiome> biomes;
|
private KList<IrisBiome> biomes;
|
||||||
private IrisBiome ocean;
|
private IrisBiome ocean;
|
||||||
|
private IrisBiome deepOcean;
|
||||||
private IrisBiome lake;
|
private IrisBiome lake;
|
||||||
private IrisBiome lakeBeach;
|
private IrisBiome lakeBeach;
|
||||||
private IrisBiome channel;
|
private IrisBiome channel;
|
||||||
@ -23,6 +24,7 @@ public class IrisRegion
|
|||||||
this.biomes = new KList<>();
|
this.biomes = new KList<>();
|
||||||
beach = null;
|
beach = null;
|
||||||
ocean = null;
|
ocean = null;
|
||||||
|
deepOcean = null;
|
||||||
lake = null;
|
lake = null;
|
||||||
lakeBeach = null;
|
lakeBeach = null;
|
||||||
channel = null;
|
channel = null;
|
||||||
@ -35,6 +37,7 @@ public class IrisRegion
|
|||||||
JSONObject o = Iris.pack().loadJSON("pack/regions/" + name + ".json");
|
JSONObject o = Iris.pack().loadJSON("pack/regions/" + name + ".json");
|
||||||
J.attempt(() -> name = o.getString("name"));
|
J.attempt(() -> name = o.getString("name"));
|
||||||
J.attempt(() -> ocean = Iris.pack().getBiomeById(o.getString("ocean")));
|
J.attempt(() -> ocean = Iris.pack().getBiomeById(o.getString("ocean")));
|
||||||
|
J.attempt(() -> deepOcean = Iris.pack().getBiomeById(o.getString("deepOcean")));
|
||||||
J.attempt(() -> beach = Iris.pack().getBiomeById(o.getString("beach")));
|
J.attempt(() -> beach = Iris.pack().getBiomeById(o.getString("beach")));
|
||||||
J.attempt(() -> lake = Iris.pack().getBiomeById(o.getString("lake")));
|
J.attempt(() -> lake = Iris.pack().getBiomeById(o.getString("lake")));
|
||||||
J.attempt(() -> lakeBeach = Iris.pack().getBiomeById(o.getString("shore")));
|
J.attempt(() -> lakeBeach = Iris.pack().getBiomeById(o.getString("shore")));
|
||||||
@ -77,6 +80,11 @@ public class IrisRegion
|
|||||||
return ocean;
|
return ocean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public IrisBiome getDeepOcean()
|
||||||
|
{
|
||||||
|
return deepOcean;
|
||||||
|
}
|
||||||
|
|
||||||
public IrisBiome getLake()
|
public IrisBiome getLake()
|
||||||
{
|
{
|
||||||
return lake;
|
return lake;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user