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

Remove Ceiling Gen & Post Block Sep

This commit is contained in:
Daniel Mills
2020-08-16 22:08:57 -04:00
parent 81f6ce26d4
commit af22751210
14 changed files with 137 additions and 291 deletions

View File

@@ -1,12 +1,13 @@
package com.volmit.iris.util;
import org.bukkit.block.data.BlockData;
import org.bukkit.generator.ChunkGenerator.ChunkData;
public interface IPostBlockAccess
{
public BlockData getPostBlock(int x, int y, int z);
public BlockData getPostBlock(int x, int y, int z, int currentPostX, int currentPostZ, ChunkData currentData);
public void setPostBlock(int x, int y, int z, BlockData d);
public void setPostBlock(int x, int y, int z, BlockData d, int currentPostX, int currentPostZ, ChunkData currentData);
public int highestTerrainOrFluidBlock(int x, int z);

View File

@@ -5,6 +5,7 @@ import org.bukkit.block.data.BlockData;
import org.bukkit.block.data.Levelled;
import org.bukkit.block.data.Waterlogged;
import org.bukkit.block.data.type.Slab;
import org.bukkit.generator.ChunkGenerator.ChunkData;
import com.volmit.iris.gen.PostBlockChunkGenerator;
import com.volmit.iris.gen.post.Post;
@@ -32,18 +33,18 @@ public abstract class IrisPostBlockFilter implements IPostBlockAccess
this(gen, 0);
}
public abstract void onPost(int x, int z);
public abstract void onPost(int x, int z, int currentPostX, int currentPostZ, ChunkData currentData);
@Override
public BlockData getPostBlock(int x, int y, int z)
public BlockData getPostBlock(int x, int y, int z, int currentPostX, int currentPostZ, ChunkData currentData)
{
return gen.getPostBlock(x, y, z);
return gen.getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
}
@Override
public void setPostBlock(int x, int y, int z, BlockData d)
public void setPostBlock(int x, int y, int z, BlockData d, int currentPostX, int currentPostZ, ChunkData currentData)
{
gen.setPostBlock(x, y, z, d);
gen.setPostBlock(x, y, z, d, currentPostX, currentPostZ, currentData);
}
@Override
@@ -58,57 +59,57 @@ public abstract class IrisPostBlockFilter implements IPostBlockAccess
return gen.highestTerrainBlock(x, z);
}
public boolean isAir(int x, int y, int z)
public boolean isAir(int x, int y, int z, int currentPostX, int currentPostZ, ChunkData currentData)
{
BlockData d = getPostBlock(x, y, z);
BlockData d = getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
return d.getMaterial().equals(Material.AIR) || d.getMaterial().equals(Material.CAVE_AIR);
}
public boolean hasGravity(int x, int y, int z)
public boolean hasGravity(int x, int y, int z, int currentPostX, int currentPostZ, ChunkData currentData)
{
BlockData d = getPostBlock(x, y, z);
BlockData d = getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
return d.getMaterial().equals(Material.SAND) || d.getMaterial().equals(Material.RED_SAND) || d.getMaterial().equals(Material.BLACK_CONCRETE_POWDER) || d.getMaterial().equals(Material.BLUE_CONCRETE_POWDER) || d.getMaterial().equals(Material.BROWN_CONCRETE_POWDER) || d.getMaterial().equals(Material.CYAN_CONCRETE_POWDER) || d.getMaterial().equals(Material.GRAY_CONCRETE_POWDER) || d.getMaterial().equals(Material.GREEN_CONCRETE_POWDER) || d.getMaterial().equals(Material.LIGHT_BLUE_CONCRETE_POWDER) || d.getMaterial().equals(Material.LIGHT_GRAY_CONCRETE_POWDER) || d.getMaterial().equals(Material.LIME_CONCRETE_POWDER) || d.getMaterial().equals(Material.MAGENTA_CONCRETE_POWDER) || d.getMaterial().equals(Material.ORANGE_CONCRETE_POWDER) || d.getMaterial().equals(Material.PINK_CONCRETE_POWDER) || d.getMaterial().equals(Material.PURPLE_CONCRETE_POWDER) || d.getMaterial().equals(Material.RED_CONCRETE_POWDER) || d.getMaterial().equals(Material.WHITE_CONCRETE_POWDER) || d.getMaterial().equals(Material.YELLOW_CONCRETE_POWDER);
}
public boolean isSolid(int x, int y, int z)
public boolean isSolid(int x, int y, int z, int currentPostX, int currentPostZ, ChunkData currentData)
{
BlockData d = getPostBlock(x, y, z);
BlockData d = getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
return d.getMaterial().isSolid();
}
public boolean isAirOrWater(int x, int y, int z)
public boolean isAirOrWater(int x, int y, int z, int currentPostX, int currentPostZ, ChunkData currentData)
{
BlockData d = getPostBlock(x, y, z);
BlockData d = getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
return d.getMaterial().equals(Material.WATER) || d.getMaterial().equals(Material.AIR) || d.getMaterial().equals(Material.CAVE_AIR);
}
public boolean isSlab(int x, int y, int z)
public boolean isSlab(int x, int y, int z, int currentPostX, int currentPostZ, ChunkData currentData)
{
BlockData d = getPostBlock(x, y, z);
BlockData d = getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
return d instanceof Slab;
}
public boolean isSnowLayer(int x, int y, int z)
public boolean isSnowLayer(int x, int y, int z, int currentPostX, int currentPostZ, ChunkData currentData)
{
BlockData d = getPostBlock(x, y, z);
BlockData d = getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
return d.getMaterial().equals(Material.SNOW);
}
public boolean isWater(int x, int y, int z)
public boolean isWater(int x, int y, int z, int currentPostX, int currentPostZ, ChunkData currentData)
{
BlockData d = getPostBlock(x, y, z);
BlockData d = getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
return d.getMaterial().equals(Material.WATER);
}
public boolean isWaterOrWaterlogged(int x, int y, int z)
public boolean isWaterOrWaterlogged(int x, int y, int z, int currentPostX, int currentPostZ, ChunkData currentData)
{
BlockData d = getPostBlock(x, y, z);
BlockData d = getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
return d.getMaterial().equals(Material.WATER) || (d instanceof Waterlogged && ((Waterlogged) d).isWaterlogged());
}
public boolean isLiquid(int x, int y, int z)
public boolean isLiquid(int x, int y, int z, int currentPostX, int currentPostZ, ChunkData currentData)
{
BlockData d = getPostBlock(x, y, z);
BlockData d = getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
return d instanceof Levelled;
}