9
0
mirror of https://github.com/VolmitSoftware/Iris.git synced 2025-12-29 12:09:07 +00:00

Config options & fix cave slabs for 2x lines

This commit is contained in:
Daniel Mills
2020-09-07 11:56:22 -04:00
parent 90a5398e98
commit 1993639bf6
18 changed files with 456 additions and 610 deletions

View File

@@ -8,7 +8,6 @@ import org.bukkit.block.data.type.Slab;
import org.bukkit.generator.ChunkGenerator.ChunkData;
import com.volmit.iris.gen.PostBlockTerrainProvider;
import com.volmit.iris.gen.post.Post;
import lombok.Data;
@@ -17,16 +16,12 @@ public abstract class IrisPostBlockFilter implements IPostBlockAccess
{
public PostBlockTerrainProvider gen;
private int phase;
private String key;
private KList<Runnable> queue = new KList<>();
@DontObfuscate
public IrisPostBlockFilter(PostBlockTerrainProvider gen, int phase)
{
this.gen = gen;
this.phase = phase;
queue = new KList<>();
key = getClass().getDeclaredAnnotation(Post.class).value();
}
@DontObfuscate
@@ -35,7 +30,7 @@ public abstract class IrisPostBlockFilter implements IPostBlockAccess
this(gen, 0);
}
public abstract void onPost(int x, int z, int currentPostX, int currentPostZ, ChunkData currentData);
public abstract void onPost(int x, int z, int currentPostX, int currentPostZ, ChunkData currentData, KList<Runnable> q);
@Override
public BlockData getPostBlock(int x, int y, int z, int currentPostX, int currentPostZ, ChunkData currentData)
@@ -84,6 +79,12 @@ public abstract class IrisPostBlockFilter implements IPostBlockAccess
return d.getMaterial().isSolid();
}
public boolean isSolidNonSlab(int x, int y, int z, int currentPostX, int currentPostZ, ChunkData currentData)
{
BlockData d = getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
return d.getMaterial().isSolid() && !(d instanceof Slab);
}
public boolean isAirOrWater(int x, int y, int z, int currentPostX, int currentPostZ, ChunkData currentData)
{
BlockData d = getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
@@ -126,11 +127,6 @@ public abstract class IrisPostBlockFilter implements IPostBlockAccess
return gen.caveFloors(x, z);
}
public void queue(Runnable a)
{
queue.add(a);
}
@Override
public void updateHeight(int x, int z, int h)
{