mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-19 10:43:14 +00:00
Revert "Block Compat"
This reverts commit 2a849c417f1d564f53caf8ad0b8d6e7926788608.
This commit is contained in:
parent
2a849c417f
commit
05ab44d50b
@ -23,7 +23,7 @@ import org.bukkit.generator.ChunkGenerator;
|
|||||||
import com.volmit.iris.Iris;
|
import com.volmit.iris.Iris;
|
||||||
import com.volmit.iris.IrisContext;
|
import com.volmit.iris.IrisContext;
|
||||||
import com.volmit.iris.IrisMetrics;
|
import com.volmit.iris.IrisMetrics;
|
||||||
import com.volmit.iris.util.B;
|
import com.volmit.iris.util.BlockDataTools;
|
||||||
import com.volmit.iris.util.CNG;
|
import com.volmit.iris.util.CNG;
|
||||||
import com.volmit.iris.util.ChronoLatch;
|
import com.volmit.iris.util.ChronoLatch;
|
||||||
import com.volmit.iris.util.J;
|
import com.volmit.iris.util.J;
|
||||||
@ -220,12 +220,12 @@ public abstract class ContextualChunkGenerator extends ChunkGenerator implements
|
|||||||
|
|
||||||
if(j == i || j + i == 16)
|
if(j == i || j + i == 16)
|
||||||
{
|
{
|
||||||
c.setBlock(i, h, j, B.getBlockData("RED_TERRACOTTA"));
|
c.setBlock(i, h, j, BlockDataTools.getBlockData("RED_TERRACOTTA"));
|
||||||
}
|
}
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
c.setBlock(i, h, j, B.getBlockData("BLACK_TERRACOTTA"));
|
c.setBlock(i, h, j, BlockDataTools.getBlockData("BLACK_TERRACOTTA"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -245,12 +245,12 @@ public abstract class ContextualChunkGenerator extends ChunkGenerator implements
|
|||||||
|
|
||||||
if(j == i || j + i == 16)
|
if(j == i || j + i == 16)
|
||||||
{
|
{
|
||||||
c.setBlock(i, h, j, B.getBlockData("BLUE_TERRACOTTA"));
|
c.setBlock(i, h, j, BlockDataTools.getBlockData("BLUE_TERRACOTTA"));
|
||||||
}
|
}
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
c.setBlock(i, h, j, B.getBlockData("WHITE_TERRACOTTA"));
|
c.setBlock(i, h, j, BlockDataTools.getBlockData("WHITE_TERRACOTTA"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,6 @@ import com.volmit.iris.object.InferredType;
|
|||||||
import com.volmit.iris.object.IrisBiome;
|
import com.volmit.iris.object.IrisBiome;
|
||||||
import com.volmit.iris.object.IrisDimension;
|
import com.volmit.iris.object.IrisDimension;
|
||||||
import com.volmit.iris.object.IrisRegion;
|
import com.volmit.iris.object.IrisRegion;
|
||||||
import com.volmit.iris.util.B;
|
|
||||||
import com.volmit.iris.util.BiomeResult;
|
import com.volmit.iris.util.BiomeResult;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@ -20,7 +19,7 @@ public abstract class DimensionChunkGenerator extends ContextualChunkGenerator
|
|||||||
{
|
{
|
||||||
protected final String dimensionName;
|
protected final String dimensionName;
|
||||||
protected static final BlockData AIR = Material.AIR.createBlockData();
|
protected static final BlockData AIR = Material.AIR.createBlockData();
|
||||||
protected static final BlockData CAVE_AIR = B.get("CAVE_AIR");
|
protected static final BlockData CAVE_AIR = Material.CAVE_AIR.createBlockData();
|
||||||
protected static final BlockData BEDROCK = Material.BEDROCK.createBlockData();
|
protected static final BlockData BEDROCK = Material.BEDROCK.createBlockData();
|
||||||
|
|
||||||
public DimensionChunkGenerator(String dimensionName)
|
public DimensionChunkGenerator(String dimensionName)
|
||||||
|
@ -18,7 +18,7 @@ import com.volmit.iris.object.IrisDepositGenerator;
|
|||||||
import com.volmit.iris.object.IrisRegion;
|
import com.volmit.iris.object.IrisRegion;
|
||||||
import com.volmit.iris.util.BiomeMap;
|
import com.volmit.iris.util.BiomeMap;
|
||||||
import com.volmit.iris.util.BiomeResult;
|
import com.volmit.iris.util.BiomeResult;
|
||||||
import com.volmit.iris.util.B;
|
import com.volmit.iris.util.BlockDataTools;
|
||||||
import com.volmit.iris.util.CaveResult;
|
import com.volmit.iris.util.CaveResult;
|
||||||
import com.volmit.iris.util.HeightMap;
|
import com.volmit.iris.util.HeightMap;
|
||||||
import com.volmit.iris.util.IrisLock;
|
import com.volmit.iris.util.IrisLock;
|
||||||
@ -323,7 +323,7 @@ public abstract class TerrainChunkGenerator extends ParallelChunkGenerator
|
|||||||
|
|
||||||
if(d != null)
|
if(d != null)
|
||||||
{
|
{
|
||||||
if(!B.canPlaceOnto(d.getMaterial(), block.getMaterial()))
|
if(!BlockDataTools.canPlaceOnto(d.getMaterial(), block.getMaterial()))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -332,7 +332,7 @@ public abstract class TerrainChunkGenerator extends ParallelChunkGenerator
|
|||||||
{
|
{
|
||||||
if(!block.getMaterial().equals(Material.SAND) && !block.getMaterial().equals(Material.RED_SAND))
|
if(!block.getMaterial().equals(Material.SAND) && !block.getMaterial().equals(Material.RED_SAND))
|
||||||
{
|
{
|
||||||
sliver.set(k, B.getBlockData("RED_SAND"));
|
sliver.set(k, BlockDataTools.getBlockData("RED_SAND"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -340,7 +340,7 @@ public abstract class TerrainChunkGenerator extends ParallelChunkGenerator
|
|||||||
{
|
{
|
||||||
if(!block.getMaterial().equals(Material.FARMLAND))
|
if(!block.getMaterial().equals(Material.FARMLAND))
|
||||||
{
|
{
|
||||||
sliver.set(k, B.getBlockData("FARMLAND"));
|
sliver.set(k, BlockDataTools.getBlockData("FARMLAND"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -392,7 +392,7 @@ public abstract class TerrainChunkGenerator extends ParallelChunkGenerator
|
|||||||
|
|
||||||
if(d != null)
|
if(d != null)
|
||||||
{
|
{
|
||||||
if(!B.canPlaceOnto(d.getMaterial(), block.getMaterial()))
|
if(!BlockDataTools.canPlaceOnto(d.getMaterial(), block.getMaterial()))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -401,7 +401,7 @@ public abstract class TerrainChunkGenerator extends ParallelChunkGenerator
|
|||||||
{
|
{
|
||||||
if(!block.getMaterial().equals(Material.SAND) && !block.getMaterial().equals(Material.RED_SAND))
|
if(!block.getMaterial().equals(Material.SAND) && !block.getMaterial().equals(Material.RED_SAND))
|
||||||
{
|
{
|
||||||
sliver.set(k, B.getBlockData("SAND"));
|
sliver.set(k, BlockDataTools.getBlockData("SAND"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,15 +9,13 @@ public class AtomicCache<T>
|
|||||||
{
|
{
|
||||||
private transient volatile T t;
|
private transient volatile T t;
|
||||||
private transient volatile long a;
|
private transient volatile long a;
|
||||||
private boolean nullSupport;
|
|
||||||
private transient volatile int validations;
|
private transient volatile int validations;
|
||||||
private final IrisLock check;
|
private final IrisLock check;
|
||||||
private final IrisLock time;
|
private final IrisLock time;
|
||||||
private final IrisLock write;
|
private final IrisLock write;
|
||||||
|
|
||||||
public AtomicCache(boolean nullSupport)
|
public AtomicCache()
|
||||||
{
|
{
|
||||||
this.nullSupport = nullSupport;
|
|
||||||
check = new IrisLock("Check");
|
check = new IrisLock("Check");
|
||||||
write = new IrisLock("Write");
|
write = new IrisLock("Write");
|
||||||
time = new IrisLock("Time");
|
time = new IrisLock("Time");
|
||||||
@ -26,11 +24,6 @@ public class AtomicCache<T>
|
|||||||
t = null;
|
t = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public AtomicCache()
|
|
||||||
{
|
|
||||||
this(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void reset()
|
public void reset()
|
||||||
{
|
{
|
||||||
check.lock();
|
check.lock();
|
||||||
@ -43,43 +36,8 @@ public class AtomicCache<T>
|
|||||||
check.unlock();
|
check.unlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
public T aquireNullex(Supplier<T> t)
|
|
||||||
{
|
|
||||||
if(validations > 1000)
|
|
||||||
{
|
|
||||||
return this.t;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(M.ms() - a > 1000)
|
|
||||||
{
|
|
||||||
validations++;
|
|
||||||
return this.t;
|
|
||||||
}
|
|
||||||
|
|
||||||
check.lock();
|
|
||||||
write.lock();
|
|
||||||
this.t = t.get();
|
|
||||||
|
|
||||||
time.lock();
|
|
||||||
|
|
||||||
if(a == -1)
|
|
||||||
{
|
|
||||||
a = M.ms();
|
|
||||||
}
|
|
||||||
|
|
||||||
time.unlock();
|
|
||||||
write.unlock();
|
|
||||||
check.unlock();
|
|
||||||
return this.t;
|
|
||||||
}
|
|
||||||
|
|
||||||
public T aquire(Supplier<T> t)
|
public T aquire(Supplier<T> t)
|
||||||
{
|
{
|
||||||
if(nullSupport)
|
|
||||||
{
|
|
||||||
return aquireNullex(t);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(this.t != null && validations > 1000)
|
if(this.t != null && validations > 1000)
|
||||||
{
|
{
|
||||||
return this.t;
|
return this.t;
|
||||||
@ -97,7 +55,7 @@ public class AtomicCache<T>
|
|||||||
|
|
||||||
check.lock();
|
check.lock();
|
||||||
|
|
||||||
if(this.t != null)
|
if(this.t == null)
|
||||||
{
|
{
|
||||||
write.lock();
|
write.lock();
|
||||||
this.t = t.get();
|
this.t = t.get();
|
||||||
|
@ -11,7 +11,7 @@ import org.bukkit.generator.ChunkGenerator.BiomeGrid;
|
|||||||
import org.bukkit.generator.ChunkGenerator.ChunkData;
|
import org.bukkit.generator.ChunkGenerator.ChunkData;
|
||||||
|
|
||||||
import com.volmit.iris.object.IrisBiome;
|
import com.volmit.iris.object.IrisBiome;
|
||||||
import com.volmit.iris.util.B;
|
import com.volmit.iris.util.BlockDataTools;
|
||||||
import com.volmit.iris.util.HeightMap;
|
import com.volmit.iris.util.HeightMap;
|
||||||
import com.volmit.iris.util.IrisLock;
|
import com.volmit.iris.util.IrisLock;
|
||||||
import com.volmit.iris.util.KList;
|
import com.volmit.iris.util.KList;
|
||||||
@ -23,7 +23,7 @@ import lombok.Data;
|
|||||||
@Data
|
@Data
|
||||||
public class AtomicSliver
|
public class AtomicSliver
|
||||||
{
|
{
|
||||||
public static final BlockData AIR = B.getBlockData("AIR");
|
public static final BlockData AIR = BlockDataTools.getBlockData("AIR");
|
||||||
private KMap<Integer, BlockData> block;
|
private KMap<Integer, BlockData> block;
|
||||||
private KMap<Integer, IrisBiome> truebiome;
|
private KMap<Integer, IrisBiome> truebiome;
|
||||||
private KMap<Integer, Biome> biome;
|
private KMap<Integer, Biome> biome;
|
||||||
@ -75,7 +75,7 @@ public class AtomicSliver
|
|||||||
lock.unlock();
|
lock.unlock();
|
||||||
modified = true;
|
modified = true;
|
||||||
|
|
||||||
if(d.getMaterial().equals(Material.AIR) || d.getMaterial().equals(B.mat("CAVE_AIR")))
|
if(d.getMaterial().equals(Material.AIR) || d.getMaterial().equals(Material.CAVE_AIR))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -181,7 +181,7 @@ public class AtomicSliver
|
|||||||
|
|
||||||
for(int i = 0; i < p; i++)
|
for(int i = 0; i < p; i++)
|
||||||
{
|
{
|
||||||
palette.add(B.getBlockData(din.readUTF()));
|
palette.add(BlockDataTools.getBlockData(din.readUTF()));
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i = 0; i <= h; i++)
|
for(int i = 0; i <= h; i++)
|
||||||
|
@ -5,7 +5,7 @@ import org.bukkit.block.data.BlockData;
|
|||||||
|
|
||||||
import com.volmit.iris.gen.DimensionChunkGenerator;
|
import com.volmit.iris.gen.DimensionChunkGenerator;
|
||||||
import com.volmit.iris.gen.atomics.AtomicSliver;
|
import com.volmit.iris.gen.atomics.AtomicSliver;
|
||||||
import com.volmit.iris.util.B;
|
import com.volmit.iris.util.BlockDataTools;
|
||||||
import com.volmit.iris.util.CNG;
|
import com.volmit.iris.util.CNG;
|
||||||
import com.volmit.iris.util.CaveResult;
|
import com.volmit.iris.util.CaveResult;
|
||||||
import com.volmit.iris.util.FastNoise;
|
import com.volmit.iris.util.FastNoise;
|
||||||
@ -18,8 +18,8 @@ import com.volmit.iris.util.FastNoise.NoiseType;
|
|||||||
|
|
||||||
public class GenLayerCave extends GenLayer
|
public class GenLayerCave extends GenLayer
|
||||||
{
|
{
|
||||||
public static final BlockData CAVE_AIR = B.getBlockData("CAVE_AIR");
|
public static final BlockData CAVE_AIR = BlockDataTools.getBlockData("CAVE_AIR");
|
||||||
public static final BlockData AIR = B.getBlockData("AIR");
|
public static final BlockData AIR = BlockDataTools.getBlockData("AIR");
|
||||||
private static final KList<CaveResult> EMPTY = new KList<>();
|
private static final KList<CaveResult> EMPTY = new KList<>();
|
||||||
private CNG gincline;
|
private CNG gincline;
|
||||||
private CNG shuffle;
|
private CNG shuffle;
|
||||||
@ -174,7 +174,7 @@ public class GenLayerCave extends GenLayer
|
|||||||
|
|
||||||
public boolean canAir(Material m)
|
public boolean canAir(Material m)
|
||||||
{
|
{
|
||||||
return (m.isSolid() || (B.isDecorant(m)) || m.equals(Material.AIR) || m.equals(B.mat("CAVE_AIR"))) && !m.equals(Material.BEDROCK);
|
return (m.isSolid() || (BlockDataTools.isDecorant(m)) || m.equals(Material.AIR) || m.equals(Material.CAVE_AIR)) && !m.equals(Material.BEDROCK);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canWater(Material m)
|
public boolean canWater(Material m)
|
||||||
|
@ -3,13 +3,13 @@ package com.volmit.iris.gen.post;
|
|||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
|
|
||||||
import com.volmit.iris.gen.PostBlockChunkGenerator;
|
import com.volmit.iris.gen.PostBlockChunkGenerator;
|
||||||
import com.volmit.iris.util.B;
|
import com.volmit.iris.util.BlockDataTools;
|
||||||
import com.volmit.iris.util.IrisPostBlockFilter;
|
import com.volmit.iris.util.IrisPostBlockFilter;
|
||||||
|
|
||||||
@Post("floating-block-remover")
|
@Post("floating-block-remover")
|
||||||
public class PostFloatingNibDeleter extends IrisPostBlockFilter
|
public class PostFloatingNibDeleter extends IrisPostBlockFilter
|
||||||
{
|
{
|
||||||
private static final BlockData AIR = B.getBlockData("AIR");
|
private static final BlockData AIR = BlockDataTools.getBlockData("AIR");
|
||||||
|
|
||||||
public PostFloatingNibDeleter(PostBlockChunkGenerator gen, int phase)
|
public PostFloatingNibDeleter(PostBlockChunkGenerator gen, int phase)
|
||||||
{
|
{
|
||||||
|
@ -5,13 +5,13 @@ import org.bukkit.block.data.BlockData;
|
|||||||
import org.bukkit.block.data.Waterlogged;
|
import org.bukkit.block.data.Waterlogged;
|
||||||
|
|
||||||
import com.volmit.iris.gen.PostBlockChunkGenerator;
|
import com.volmit.iris.gen.PostBlockChunkGenerator;
|
||||||
import com.volmit.iris.util.B;
|
import com.volmit.iris.util.BlockDataTools;
|
||||||
import com.volmit.iris.util.IrisPostBlockFilter;
|
import com.volmit.iris.util.IrisPostBlockFilter;
|
||||||
|
|
||||||
@Post("waterlogger")
|
@Post("waterlogger")
|
||||||
public class PostWaterlogger extends IrisPostBlockFilter
|
public class PostWaterlogger extends IrisPostBlockFilter
|
||||||
{
|
{
|
||||||
private static final BlockData WATER = B.getBlockData("WATER");
|
private static final BlockData WATER = BlockDataTools.getBlockData("WATER");
|
||||||
|
|
||||||
public PostWaterlogger(PostBlockChunkGenerator gen, int phase)
|
public PostWaterlogger(PostBlockChunkGenerator gen, int phase)
|
||||||
{
|
{
|
||||||
|
@ -0,0 +1,40 @@
|
|||||||
|
package com.volmit.iris.gen.standalone;
|
||||||
|
|
||||||
|
import org.bukkit.block.Biome;
|
||||||
|
import org.bukkit.generator.ChunkGenerator.BiomeGrid;
|
||||||
|
|
||||||
|
import com.volmit.iris.util.BiomeStorage;
|
||||||
|
|
||||||
|
public class StandaloneBiomeGrid implements BiomeGrid
|
||||||
|
{
|
||||||
|
private final BiomeStorage storage;
|
||||||
|
|
||||||
|
public StandaloneBiomeGrid()
|
||||||
|
{
|
||||||
|
storage = new BiomeStorage();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Biome getBiome(int x, int z)
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Use GetBiome x, y, z");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Biome getBiome(int x, int y, int z)
|
||||||
|
{
|
||||||
|
return storage.getBiome(x, y, z);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setBiome(int arg0, int arg1, Biome arg2)
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Use SetBiome x, y, z, b");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setBiome(int x, int y, int z, Biome b)
|
||||||
|
{
|
||||||
|
storage.setBiome(x, y, z, b);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,81 @@
|
|||||||
|
package com.volmit.iris.gen.standalone;
|
||||||
|
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.block.data.BlockData;
|
||||||
|
import org.bukkit.generator.ChunkGenerator.ChunkData;
|
||||||
|
import org.bukkit.material.MaterialData;
|
||||||
|
|
||||||
|
import com.volmit.iris.gen.atomics.AtomicSliverMap;
|
||||||
|
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
|
public class StandaloneChunkData extends AtomicSliverMap implements ChunkData
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public BlockData getBlockData(int x, int y, int z)
|
||||||
|
{
|
||||||
|
return getSliver(x, z).get(y);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public byte getData(int x, int y, int z)
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Use getBlockData");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getMaxHeight()
|
||||||
|
{
|
||||||
|
return 256;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Material getType(int x, int y, int z)
|
||||||
|
{
|
||||||
|
return getBlockData(x, y, z).getMaterial();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
|
@Override
|
||||||
|
public MaterialData getTypeAndData(int x, int y, int z)
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Use GetBlockData");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setBlock(int x, int y, int z, Material arg3)
|
||||||
|
{
|
||||||
|
setBlock(x, y, z, arg3.createBlockData());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
|
@Override
|
||||||
|
public void setBlock(int arg0, int arg1, int arg2, MaterialData arg3)
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Use SetBlock (bd)");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setBlock(int x, int y, int z, BlockData b)
|
||||||
|
{
|
||||||
|
getSliver(x, z).set(y, b);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setRegion(int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, Material arg6)
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Use SetBlock (bd)");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
|
@Override
|
||||||
|
public void setRegion(int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, MaterialData arg6)
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Use SetBlock (bd)");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setRegion(int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, BlockData arg6)
|
||||||
|
{
|
||||||
|
throw new UnsupportedOperationException("Use SetBlock (bd)");
|
||||||
|
}
|
||||||
|
}
|
1364
src/main/java/com/volmit/iris/gen/standalone/StandaloneWorld.java
Normal file
1364
src/main/java/com/volmit/iris/gen/standalone/StandaloneWorld.java
Normal file
File diff suppressed because it is too large
Load Diff
@ -3,7 +3,7 @@ package com.volmit.iris.object;
|
|||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
|
|
||||||
import com.volmit.iris.gen.atomics.AtomicCache;
|
import com.volmit.iris.gen.atomics.AtomicCache;
|
||||||
import com.volmit.iris.util.B;
|
import com.volmit.iris.util.BlockDataTools;
|
||||||
import com.volmit.iris.util.CNG;
|
import com.volmit.iris.util.CNG;
|
||||||
import com.volmit.iris.util.Desc;
|
import com.volmit.iris.util.Desc;
|
||||||
import com.volmit.iris.util.DontObfuscate;
|
import com.volmit.iris.util.DontObfuscate;
|
||||||
@ -145,7 +145,7 @@ public class IrisBiomeDecorator
|
|||||||
KList<BlockData> blockData = new KList<>();
|
KList<BlockData> blockData = new KList<>();
|
||||||
for(String i : palette)
|
for(String i : palette)
|
||||||
{
|
{
|
||||||
BlockData bx = B.getBlockData(i);
|
BlockData bx = BlockDataTools.getBlockData(i);
|
||||||
if(bx != null)
|
if(bx != null)
|
||||||
{
|
{
|
||||||
blockData.add(bx);
|
blockData.add(bx);
|
||||||
|
@ -3,7 +3,7 @@ package com.volmit.iris.object;
|
|||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
|
|
||||||
import com.volmit.iris.gen.atomics.AtomicCache;
|
import com.volmit.iris.gen.atomics.AtomicCache;
|
||||||
import com.volmit.iris.util.B;
|
import com.volmit.iris.util.BlockDataTools;
|
||||||
import com.volmit.iris.util.CNG;
|
import com.volmit.iris.util.CNG;
|
||||||
import com.volmit.iris.util.Desc;
|
import com.volmit.iris.util.Desc;
|
||||||
import com.volmit.iris.util.DontObfuscate;
|
import com.volmit.iris.util.DontObfuscate;
|
||||||
@ -103,7 +103,7 @@ public class IrisBiomePaletteLayer
|
|||||||
KList<BlockData> blockData = new KList<>();
|
KList<BlockData> blockData = new KList<>();
|
||||||
for(String ix : palette)
|
for(String ix : palette)
|
||||||
{
|
{
|
||||||
BlockData bx = B.getBlockData(ix);
|
BlockData bx = BlockDataTools.getBlockData(ix);
|
||||||
if(bx != null)
|
if(bx != null)
|
||||||
{
|
{
|
||||||
blockData.add(bx);
|
blockData.add(bx);
|
||||||
|
@ -2,9 +2,8 @@ package com.volmit.iris.object;
|
|||||||
|
|
||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
|
|
||||||
import com.volmit.iris.Iris;
|
|
||||||
import com.volmit.iris.gen.atomics.AtomicCache;
|
import com.volmit.iris.gen.atomics.AtomicCache;
|
||||||
import com.volmit.iris.util.B;
|
import com.volmit.iris.util.BlockDataTools;
|
||||||
import com.volmit.iris.util.Desc;
|
import com.volmit.iris.util.Desc;
|
||||||
import com.volmit.iris.util.DontObfuscate;
|
import com.volmit.iris.util.DontObfuscate;
|
||||||
|
|
||||||
@ -23,8 +22,8 @@ public class IrisCompatabilityFilter
|
|||||||
@DontObfuscate
|
@DontObfuscate
|
||||||
private boolean exact = false;
|
private boolean exact = false;
|
||||||
|
|
||||||
private transient AtomicCache<BlockData> findData = new AtomicCache<>(true);
|
private transient AtomicCache<BlockData> findData = new AtomicCache<>();
|
||||||
private transient AtomicCache<BlockData> replaceData = new AtomicCache<>(true);
|
private transient AtomicCache<BlockData> replaceData = new AtomicCache<>();
|
||||||
|
|
||||||
public IrisCompatabilityFilter(String when, String supplement)
|
public IrisCompatabilityFilter(String when, String supplement)
|
||||||
{
|
{
|
||||||
@ -45,18 +44,11 @@ public class IrisCompatabilityFilter
|
|||||||
|
|
||||||
public BlockData getFind()
|
public BlockData getFind()
|
||||||
{
|
{
|
||||||
return findData.aquire(() -> B.getBlockData(when));
|
return findData.aquire(() -> BlockDataTools.getBlockData(when));
|
||||||
}
|
}
|
||||||
|
|
||||||
public BlockData getReplace()
|
public BlockData getReplace()
|
||||||
{
|
{
|
||||||
return replaceData.aquire(() ->
|
return replaceData.aquire(() -> BlockDataTools.getBlockData(supplement));
|
||||||
{
|
|
||||||
BlockData b = B.getBlockData(supplement);
|
|
||||||
|
|
||||||
Iris.warn("Compat: Using " + supplement + " in place of " + when + " since this server doesnt support '" + supplement + "'");
|
|
||||||
|
|
||||||
return b;
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,7 @@ import org.bukkit.util.BlockVector;
|
|||||||
|
|
||||||
import com.volmit.iris.gen.TerrainChunkGenerator;
|
import com.volmit.iris.gen.TerrainChunkGenerator;
|
||||||
import com.volmit.iris.gen.atomics.AtomicCache;
|
import com.volmit.iris.gen.atomics.AtomicCache;
|
||||||
import com.volmit.iris.util.B;
|
import com.volmit.iris.util.BlockDataTools;
|
||||||
import com.volmit.iris.util.Desc;
|
import com.volmit.iris.util.Desc;
|
||||||
import com.volmit.iris.util.DontObfuscate;
|
import com.volmit.iris.util.DontObfuscate;
|
||||||
import com.volmit.iris.util.KList;
|
import com.volmit.iris.util.KList;
|
||||||
@ -114,7 +114,7 @@ public class IrisDepositGenerator
|
|||||||
|
|
||||||
for(String ix : palette)
|
for(String ix : palette)
|
||||||
{
|
{
|
||||||
BlockData bx = B.getBlockData(ix);
|
BlockData bx = BlockDataTools.getBlockData(ix);
|
||||||
|
|
||||||
if(bx != null)
|
if(bx != null)
|
||||||
{
|
{
|
||||||
@ -178,7 +178,7 @@ public class IrisDepositGenerator
|
|||||||
|
|
||||||
BlockData b = data.getBlockData(nx, ny, nz);
|
BlockData b = data.getBlockData(nx, ny, nz);
|
||||||
|
|
||||||
if(b.getMaterial().equals(Material.ICE) || b.getMaterial().equals(Material.PACKED_ICE) || b.getMaterial().equals(B.mat("BLUE_ICE")) || b.getMaterial().equals(B.mat("FROSTED_ICE")) || b.getMaterial().equals(Material.SAND) || b.getMaterial().equals(Material.RED_SAND) || !b.getMaterial().isSolid())
|
if(b.getMaterial().equals(Material.ICE) || b.getMaterial().equals(Material.SAND) || b.getMaterial().equals(Material.RED_SAND) || !b.getMaterial().isSolid())
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@ import org.bukkit.util.BlockVector;
|
|||||||
import com.volmit.iris.Iris;
|
import com.volmit.iris.Iris;
|
||||||
import com.volmit.iris.gen.PostBlockChunkGenerator;
|
import com.volmit.iris.gen.PostBlockChunkGenerator;
|
||||||
import com.volmit.iris.gen.atomics.AtomicCache;
|
import com.volmit.iris.gen.atomics.AtomicCache;
|
||||||
import com.volmit.iris.util.B;
|
import com.volmit.iris.util.BlockDataTools;
|
||||||
import com.volmit.iris.util.CNG;
|
import com.volmit.iris.util.CNG;
|
||||||
import com.volmit.iris.util.ChunkPosition;
|
import com.volmit.iris.util.ChunkPosition;
|
||||||
import com.volmit.iris.util.Desc;
|
import com.volmit.iris.util.Desc;
|
||||||
@ -250,49 +250,15 @@ public class IrisDimension extends IrisRegistrant
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public static KList<IrisCompatabilityFilter> getDefaultCompatability()
|
private KList<IrisCompatabilityFilter> getDefaultCompatability()
|
||||||
{
|
{
|
||||||
KList<IrisCompatabilityFilter> filters = new KList<>();
|
KList<IrisCompatabilityFilter> filters = new KList<>();
|
||||||
|
|
||||||
// Below 1.16
|
// Below 1.16
|
||||||
filters.add(new IrisCompatabilityFilter("WEEPING_VINES", "NETHER_FENCE"));
|
// TODO MORE
|
||||||
filters.add(new IrisCompatabilityFilter("WEEPING_VINES_PLANT", "NETHER_FENCE"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("WARPED_WART_BLOCK", "NETHER_WART_BLOCK"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("TWISTING_VINES", "BAMBOO"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("TWISTING_VINES_PLANT", "BAMBOO"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("TARGET", "COBBLESTONE"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("SOUL_SOIL", "SOULSAND"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("SOUL_TORCH", "TORCH"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("SOUL_LANTERN", "LANTERN"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("SOUL_FIRE", "FIRE"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("SOUL_CAMPFIRE", "CAMPFIRE"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("SHROOMLIGHT", "GLOWSTONE"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("RESPAWN_ANCHOR", "OBSIDIAN"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("NETHER_SPROUTS", "RED_MUSHROOM"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("NETHER_GOLD_ORE", "GOLD_ORE"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("LODESTONE", "STONE"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("STRIPPED_WARPED_HYPHAE", "BROWN_MUSHROOM_BLOCK"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("STRIPPED_CRIMSON_HYPHAE", "RED_MUSHROOM_BLOCK"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("WARPED_HYPHAE", "MUSHROOM_STEM"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("CRIMSON_HYPHAE", "RED_MUSHROOM_BLOCK"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("GILDED_BLACKSTONE", "COBBLESTONE"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("CRYING_OBSIDIAN", "OBSIDIAN"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("STRIPPED_WARPED_STEM", "MUSHROOM_STEM"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("STRIPPED_CRIMSON_STEM", "MUSHROOM_STEM"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("WARPED_STEM", "MUSHROOM_STEM"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("CRIMSON_STEM", "MUSHROOM_STEM"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("CRIMSON_ROOTS", "RED_MUSHROOM"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("WARPED_ROOTS", "BROWN_MUSHROOM"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("CRIMSON_PLANKS", "OAK_PLANKS"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("WARPED_PLANKS", "OAK_PLANKS"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("WARPED_NYLIUM", "MYCELIUM"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("CRIMSON_NYLIUM", "MYCELIUM"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("WARPED_FUNGUS", "BROWN_MUSHROOM"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("CRIMSON_FUNGUS", "RED_MUSHROOM"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("CRACKED_NETHER_BRICKS", "NETHER_BRICKS"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("CHISELED_NETHER_BRICKS", "NETHER_BRICKS"));
|
filters.add(new IrisCompatabilityFilter("CHISELED_NETHER_BRICKS", "NETHER_BRICKS"));
|
||||||
filters.add(new IrisCompatabilityFilter("NETHER_FENCE", "LEGACY_NETHER_FENCE"));
|
filters.add(new IrisCompatabilityFilter("NETHER_FENCE", "LEGACY_NETHER_FENCE"));
|
||||||
filters.add(new IrisCompatabilityFilter("CHAIN", "IRON_BARS"));
|
filters.add(new IrisCompatabilityFilter("CHAIN", "LEGACY_NETHER_FENCE"));
|
||||||
filters.add(new IrisCompatabilityFilter("NETHERITE_BLOCK", "QUARTZ_BLOCK"));
|
filters.add(new IrisCompatabilityFilter("NETHERITE_BLOCK", "QUARTZ_BLOCK"));
|
||||||
filters.add(new IrisCompatabilityFilter("BLACKSTONE", "COBBLESTONE"));
|
filters.add(new IrisCompatabilityFilter("BLACKSTONE", "COBBLESTONE"));
|
||||||
filters.add(new IrisCompatabilityFilter("BASALT", "STONE"));
|
filters.add(new IrisCompatabilityFilter("BASALT", "STONE"));
|
||||||
@ -306,7 +272,6 @@ public class IrisDimension extends IrisRegistrant
|
|||||||
|
|
||||||
// Below 1.14
|
// Below 1.14
|
||||||
filters.add(new IrisCompatabilityFilter("GRANITE_WALL", "COBBLESTONE_WALL"));
|
filters.add(new IrisCompatabilityFilter("GRANITE_WALL", "COBBLESTONE_WALL"));
|
||||||
filters.add(new IrisCompatabilityFilter("BLUE_ICE", "PACKED_ICE"));
|
|
||||||
filters.add(new IrisCompatabilityFilter("DIORITE_WALL", "COBBLESTONE_WALL"));
|
filters.add(new IrisCompatabilityFilter("DIORITE_WALL", "COBBLESTONE_WALL"));
|
||||||
filters.add(new IrisCompatabilityFilter("ANDESITE_WALL", "COBBLESTONE_WALL"));
|
filters.add(new IrisCompatabilityFilter("ANDESITE_WALL", "COBBLESTONE_WALL"));
|
||||||
filters.add(new IrisCompatabilityFilter("SWEET_BERRY_BUSH", "GRASS"));
|
filters.add(new IrisCompatabilityFilter("SWEET_BERRY_BUSH", "GRASS"));
|
||||||
@ -386,6 +351,7 @@ public class IrisDimension extends IrisRegistrant
|
|||||||
filters.add(new IrisCompatabilityFilter("BAMBOO", "BIRCH_FENCE"));
|
filters.add(new IrisCompatabilityFilter("BAMBOO", "BIRCH_FENCE"));
|
||||||
filters.add(new IrisCompatabilityFilter("BAMBOO_SAPLING", "BIRCH_SAPLING"));
|
filters.add(new IrisCompatabilityFilter("BAMBOO_SAPLING", "BIRCH_SAPLING"));
|
||||||
filters.add(new IrisCompatabilityFilter("POTTED_BAMBOO", "POTTED_BIRCH_SAPLING"));
|
filters.add(new IrisCompatabilityFilter("POTTED_BAMBOO", "POTTED_BIRCH_SAPLING"));
|
||||||
|
filters.add(new IrisCompatabilityFilter("*", "STONE"));
|
||||||
|
|
||||||
return filters;
|
return filters;
|
||||||
}
|
}
|
||||||
@ -404,6 +370,9 @@ public class IrisDimension extends IrisRegistrant
|
|||||||
{
|
{
|
||||||
KList<IrisPostProcessor> p = new KList<IrisPostProcessor>();
|
KList<IrisPostProcessor> p = new KList<IrisPostProcessor>();
|
||||||
|
|
||||||
|
p.add(new IrisPostProcessor("nib-smoother"));
|
||||||
|
p.add(new IrisPostProcessor("floating-block-remover"));
|
||||||
|
p.add(new IrisPostProcessor("pothole-filler"));
|
||||||
p.add(new IrisPostProcessor("wall-painter"));
|
p.add(new IrisPostProcessor("wall-painter"));
|
||||||
p.add(new IrisPostProcessor("slabber"));
|
p.add(new IrisPostProcessor("slabber"));
|
||||||
p.add(new IrisPostProcessor("waterlogger", 1));
|
p.add(new IrisPostProcessor("waterlogger", 1));
|
||||||
@ -461,7 +430,7 @@ public class IrisDimension extends IrisRegistrant
|
|||||||
KList<BlockData> rockData = new KList<>();
|
KList<BlockData> rockData = new KList<>();
|
||||||
for(String ix : rockPalette)
|
for(String ix : rockPalette)
|
||||||
{
|
{
|
||||||
BlockData bx = B.getBlockData(ix);
|
BlockData bx = BlockDataTools.getBlockData(ix);
|
||||||
if(bx != null)
|
if(bx != null)
|
||||||
{
|
{
|
||||||
rockData.add(bx);
|
rockData.add(bx);
|
||||||
@ -522,7 +491,7 @@ public class IrisDimension extends IrisRegistrant
|
|||||||
KList<BlockData> fluidData = new KList<>();
|
KList<BlockData> fluidData = new KList<>();
|
||||||
for(String ix : fluidPalette)
|
for(String ix : fluidPalette)
|
||||||
{
|
{
|
||||||
BlockData bx = B.getBlockData(ix);
|
BlockData bx = BlockDataTools.getBlockData(ix);
|
||||||
if(bx != null)
|
if(bx != null)
|
||||||
{
|
{
|
||||||
fluidData.add(bx);
|
fluidData.add(bx);
|
||||||
@ -641,17 +610,4 @@ public class IrisDimension extends IrisRegistrant
|
|||||||
return new ChunkPosition(x, z);
|
return new ChunkPosition(x, z);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public BlockData resolve(String bd)
|
|
||||||
{
|
|
||||||
for(IrisCompatabilityFilter i : getCompatability())
|
|
||||||
{
|
|
||||||
if(i.getWhen().equalsIgnoreCase(bd))
|
|
||||||
{
|
|
||||||
return i.getReplace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@ import org.bukkit.block.data.BlockData;
|
|||||||
import org.bukkit.block.data.type.Leaves;
|
import org.bukkit.block.data.type.Leaves;
|
||||||
import org.bukkit.util.BlockVector;
|
import org.bukkit.util.BlockVector;
|
||||||
|
|
||||||
import com.volmit.iris.util.B;
|
import com.volmit.iris.util.BlockDataTools;
|
||||||
import com.volmit.iris.util.ChunkPosition;
|
import com.volmit.iris.util.ChunkPosition;
|
||||||
import com.volmit.iris.util.IObjectPlacer;
|
import com.volmit.iris.util.IObjectPlacer;
|
||||||
import com.volmit.iris.util.KMap;
|
import com.volmit.iris.util.KMap;
|
||||||
@ -29,8 +29,8 @@ import lombok.EqualsAndHashCode;
|
|||||||
public class IrisObject extends IrisRegistrant
|
public class IrisObject extends IrisRegistrant
|
||||||
{
|
{
|
||||||
private static final Material SNOW = Material.SNOW;
|
private static final Material SNOW = Material.SNOW;
|
||||||
private static final BlockData AIR = B.getBlockData("CAVE_AIR");
|
private static final BlockData AIR = BlockDataTools.getBlockData("CAVE_AIR");
|
||||||
private static final BlockData[] SNOW_LAYERS = new BlockData[] {B.getBlockData("minecraft:snow[layers=1]"), B.getBlockData("minecraft:snow[layers=2]"), B.getBlockData("minecraft:snow[layers=3]"), B.getBlockData("minecraft:snow[layers=4]"), B.getBlockData("minecraft:snow[layers=5]"), B.getBlockData("minecraft:snow[layers=6]"), B.getBlockData("minecraft:snow[layers=7]"), B.getBlockData("minecraft:snow[layers=8]")};
|
private static final BlockData[] SNOW_LAYERS = new BlockData[] {BlockDataTools.getBlockData("minecraft:snow[layers=1]"), BlockDataTools.getBlockData("minecraft:snow[layers=2]"), BlockDataTools.getBlockData("minecraft:snow[layers=3]"), BlockDataTools.getBlockData("minecraft:snow[layers=4]"), BlockDataTools.getBlockData("minecraft:snow[layers=5]"), BlockDataTools.getBlockData("minecraft:snow[layers=6]"), BlockDataTools.getBlockData("minecraft:snow[layers=7]"), BlockDataTools.getBlockData("minecraft:snow[layers=8]")};
|
||||||
private KMap<BlockVector, BlockData> blocks;
|
private KMap<BlockVector, BlockData> blocks;
|
||||||
private int w;
|
private int w;
|
||||||
private int d;
|
private int d;
|
||||||
@ -66,7 +66,7 @@ public class IrisObject extends IrisRegistrant
|
|||||||
|
|
||||||
for(int i = 0; i < s; i++)
|
for(int i = 0; i < s; i++)
|
||||||
{
|
{
|
||||||
blocks.put(new BlockVector(din.readShort(), din.readShort(), din.readShort()), B.getBlockData(din.readUTF()));
|
blocks.put(new BlockVector(din.readShort(), din.readShort(), din.readShort()), BlockDataTools.getBlockData(din.readUTF()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ package com.volmit.iris.object;
|
|||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
|
|
||||||
import com.volmit.iris.gen.atomics.AtomicCache;
|
import com.volmit.iris.gen.atomics.AtomicCache;
|
||||||
import com.volmit.iris.util.B;
|
import com.volmit.iris.util.BlockDataTools;
|
||||||
import com.volmit.iris.util.Desc;
|
import com.volmit.iris.util.Desc;
|
||||||
import com.volmit.iris.util.DontObfuscate;
|
import com.volmit.iris.util.DontObfuscate;
|
||||||
|
|
||||||
@ -32,11 +32,11 @@ public class IrisObjectReplace
|
|||||||
|
|
||||||
public BlockData getFind()
|
public BlockData getFind()
|
||||||
{
|
{
|
||||||
return findData.aquire(() -> B.getBlockData(find));
|
return findData.aquire(() -> BlockDataTools.getBlockData(find));
|
||||||
}
|
}
|
||||||
|
|
||||||
public BlockData getReplace()
|
public BlockData getReplace()
|
||||||
{
|
{
|
||||||
return replaceData.aquire(() -> B.getBlockData(replace));
|
return replaceData.aquire(() -> BlockDataTools.getBlockData(replace));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,36 +5,17 @@ import org.bukkit.Material;
|
|||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
|
|
||||||
import com.volmit.iris.Iris;
|
import com.volmit.iris.Iris;
|
||||||
import com.volmit.iris.object.IrisDimension;
|
|
||||||
|
|
||||||
public class B
|
public class BlockDataTools
|
||||||
{
|
{
|
||||||
private static final BlockData AIR = Material.AIR.createBlockData();
|
private static final BlockData AIR = Material.AIR.createBlockData();
|
||||||
private static final KMap<String, BlockData> bdc = new KMap<>();
|
private static final KMap<String, BlockData> bdc = new KMap<>();
|
||||||
private static final KList<String> nulls = new KList<>();
|
private static final KList<String> nulls = new KList<>();
|
||||||
private static final IrisDimension defaultCompat = new IrisDimension();
|
|
||||||
|
|
||||||
public static BlockData get(String bd)
|
|
||||||
{
|
|
||||||
return getBlockData(bd);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Material mat(String bd)
|
|
||||||
{
|
|
||||||
return getBlockData(bd).getMaterial();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static BlockData getBlockData(String bd)
|
public static BlockData getBlockData(String bd)
|
||||||
{
|
|
||||||
return getBlockData(bd, defaultCompat);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static BlockData getBlockData(String bdxf, IrisDimension resolver)
|
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
String bd = bdxf.trim();
|
|
||||||
|
|
||||||
if(bdc.containsKey(bd))
|
if(bdc.containsKey(bd))
|
||||||
{
|
{
|
||||||
return bdc.get(bd).clone();
|
return bdc.get(bd).clone();
|
||||||
@ -42,11 +23,6 @@ public class B
|
|||||||
|
|
||||||
BlockData bdx = parseBlockData(bd);
|
BlockData bdx = parseBlockData(bd);
|
||||||
|
|
||||||
if(bdx == null)
|
|
||||||
{
|
|
||||||
bdx = resolver.resolve(bd);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(bdx == null)
|
if(bdx == null)
|
||||||
{
|
{
|
||||||
Iris.warn("Unknown Block Data '" + bd + "'");
|
Iris.warn("Unknown Block Data '" + bd + "'");
|
||||||
@ -61,7 +37,7 @@ public class B
|
|||||||
|
|
||||||
catch(Throwable e)
|
catch(Throwable e)
|
||||||
{
|
{
|
||||||
Iris.warn("Unknown Block Data '" + bdxf + "'");
|
Iris.warn("Unknown Block Data '" + bd + "'");
|
||||||
}
|
}
|
||||||
|
|
||||||
return AIR;
|
return AIR;
|
||||||
@ -110,7 +86,7 @@ public class B
|
|||||||
|
|
||||||
public static boolean isLit(Material mat)
|
public static boolean isLit(Material mat)
|
||||||
{
|
{
|
||||||
if(mat.equals(B.mat("GLOWSTONE")) || mat.equals(B.mat("TORCH")) || mat.equals(Material.REDSTONE_TORCH) || mat.equals(B.mat("SOUL_TORCH")) || mat.equals(Material.REDSTONE_WALL_TORCH) || mat.equals(Material.WALL_TORCH) || mat.equals(B.mat("SOUL_WALL_TORCH")) || mat.equals(B.mat("LANTERN")) || mat.equals(Material.JACK_O_LANTERN) || mat.equals(Material.REDSTONE_LAMP) || mat.equals(Material.MAGMA_BLOCK) || mat.equals(B.mat("SEA_LANTERN")) || mat.equals(B.mat("SOUL_LANTERN")) || mat.equals(Material.FIRE) || mat.equals(B.mat("SOUL_FIRE")) || mat.equals(B.mat("SEA_PICKLE")) || mat.equals(Material.BREWING_STAND) || mat.equals(Material.REDSTONE_ORE))
|
if(mat.equals(Material.GLOWSTONE) || mat.equals(Material.TORCH) || mat.equals(Material.REDSTONE_TORCH) || mat.equals(Material.SOUL_TORCH) || mat.equals(Material.REDSTONE_WALL_TORCH) || mat.equals(Material.WALL_TORCH) || mat.equals(Material.SOUL_WALL_TORCH) || mat.equals(Material.LANTERN) || mat.equals(Material.JACK_O_LANTERN) || mat.equals(Material.REDSTONE_LAMP) || mat.equals(Material.MAGMA_BLOCK) || mat.equals(Material.SEA_LANTERN) || mat.equals(Material.SOUL_LANTERN) || mat.equals(Material.FIRE) || mat.equals(Material.SOUL_FIRE) || mat.equals(Material.SEA_PICKLE) || mat.equals(Material.BREWING_STAND) || mat.equals(Material.REDSTONE_ORE))
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -120,7 +96,7 @@ public class B
|
|||||||
|
|
||||||
public static boolean canPlaceOnto(Material mat, Material onto)
|
public static boolean canPlaceOnto(Material mat, Material onto)
|
||||||
{
|
{
|
||||||
if(onto.equals(Material.AIR) || onto.equals(B.mat("CAVE_AIR")))
|
if(onto.equals(Material.AIR) || onto.equals(Material.CAVE_AIR))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -138,9 +114,9 @@ public class B
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(onto.equals(Material.STONE) || onto.equals(Material.GRAVEL) || onto.equals(Material.GRAVEL) || onto.equals(Material.ANDESITE) || onto.equals(Material.GRANITE) || onto.equals(Material.DIORITE) || onto.equals(B.mat("BLACKSTONE")) || onto.equals(B.mat("BASALT")))
|
if(onto.equals(Material.STONE) || onto.equals(Material.GRAVEL) || onto.equals(Material.GRAVEL) || onto.equals(Material.ANDESITE) || onto.equals(Material.GRANITE) || onto.equals(Material.DIORITE) || onto.equals(Material.BLACKSTONE) || onto.equals(Material.BASALT))
|
||||||
{
|
{
|
||||||
if(mat.equals(Material.POPPY) || mat.equals(Material.DANDELION) || mat.equals(B.mat("CORNFLOWER")) || mat.equals(Material.ORANGE_TULIP) || mat.equals(Material.PINK_TULIP) || mat.equals(Material.RED_TULIP) || mat.equals(Material.WHITE_TULIP) || mat.equals(Material.FERN) || mat.equals(Material.LARGE_FERN) || mat.equals(Material.GRASS) || mat.equals(Material.TALL_GRASS))
|
if(mat.equals(Material.POPPY) || mat.equals(Material.DANDELION) || mat.equals(Material.CORNFLOWER) || mat.equals(Material.ORANGE_TULIP) || mat.equals(Material.PINK_TULIP) || mat.equals(Material.RED_TULIP) || mat.equals(Material.WHITE_TULIP) || mat.equals(Material.FERN) || mat.equals(Material.LARGE_FERN) || mat.equals(Material.GRASS) || mat.equals(Material.TALL_GRASS))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -162,7 +138,7 @@ public class B
|
|||||||
//@builder
|
//@builder
|
||||||
return m.equals(Material.GRASS)
|
return m.equals(Material.GRASS)
|
||||||
|| m.equals(Material.TALL_GRASS)
|
|| m.equals(Material.TALL_GRASS)
|
||||||
|| m.equals(B.mat("CORNFLOWER"))
|
|| m.equals(Material.CORNFLOWER)
|
||||||
|| m.equals(Material.SUNFLOWER)
|
|| m.equals(Material.SUNFLOWER)
|
||||||
|| m.equals(Material.CHORUS_FLOWER)
|
|| m.equals(Material.CHORUS_FLOWER)
|
||||||
|| m.equals(Material.POPPY)
|
|| m.equals(Material.POPPY)
|
||||||
@ -174,44 +150,44 @@ public class B
|
|||||||
|| m.equals(Material.WHITE_TULIP)
|
|| m.equals(Material.WHITE_TULIP)
|
||||||
|| m.equals(Material.LILAC)
|
|| m.equals(Material.LILAC)
|
||||||
|| m.equals(Material.DEAD_BUSH)
|
|| m.equals(Material.DEAD_BUSH)
|
||||||
|| m.equals(B.mat("SWEET_BERRY_BUSH"))
|
|| m.equals(Material.SWEET_BERRY_BUSH)
|
||||||
|| m.equals(Material.ROSE_BUSH)
|
|| m.equals(Material.ROSE_BUSH)
|
||||||
|| m.equals(B.mat("WITHER_ROSE"))
|
|| m.equals(Material.WITHER_ROSE)
|
||||||
|| m.equals(Material.ALLIUM)
|
|| m.equals(Material.ALLIUM)
|
||||||
|| m.equals(Material.BLUE_ORCHID)
|
|| m.equals(Material.BLUE_ORCHID)
|
||||||
|| m.equals(B.mat("LILY_OF_THE_VALLEY"))
|
|| m.equals(Material.LILY_OF_THE_VALLEY)
|
||||||
|| m.equals(B.mat("CRIMSON_FUNGUS"))
|
|| m.equals(Material.CRIMSON_FUNGUS)
|
||||||
|| m.equals(B.mat("WARPED_FUNGUS"))
|
|| m.equals(Material.WARPED_FUNGUS)
|
||||||
|| m.equals(Material.RED_MUSHROOM)
|
|| m.equals(Material.RED_MUSHROOM)
|
||||||
|| m.equals(Material.BROWN_MUSHROOM)
|
|| m.equals(Material.BROWN_MUSHROOM)
|
||||||
|| m.equals(B.mat("CRIMSON_ROOTS"))
|
|| m.equals(Material.CRIMSON_ROOTS)
|
||||||
|| m.equals(B.mat("AZURE_BLUET"))
|
|| m.equals(Material.AZURE_BLUET)
|
||||||
|| m.equals(B.mat("WEEPING_VINES"))
|
|| m.equals(Material.WEEPING_VINES)
|
||||||
|| m.equals(B.mat("WEEPING_VINES_PLANT"))
|
|| m.equals(Material.WEEPING_VINES_PLANT)
|
||||||
|| m.equals(B.mat("WARPED_ROOTS"))
|
|| m.equals(Material.WARPED_ROOTS)
|
||||||
|| m.equals(B.mat("NETHER_SPROUTS"))
|
|| m.equals(Material.NETHER_SPROUTS)
|
||||||
|| m.equals(B.mat("TWISTING_VINES"))
|
|| m.equals(Material.TWISTING_VINES)
|
||||||
|| m.equals(B.mat("TWISTING_VINES_PLANT"))
|
|| m.equals(Material.TWISTING_VINES_PLANT)
|
||||||
|| m.equals(Material.SUGAR_CANE)
|
|| m.equals(Material.SUGAR_CANE)
|
||||||
|| m.equals(Material.WHEAT)
|
|| m.equals(Material.WHEAT)
|
||||||
|| m.equals(Material.POTATOES)
|
|| m.equals(Material.POTATOES)
|
||||||
|| m.equals(Material.CARROTS)
|
|| m.equals(Material.CARROTS)
|
||||||
|| m.equals(Material.BEETROOTS)
|
|| m.equals(Material.BEETROOTS)
|
||||||
|| m.equals(Material.NETHER_WART)
|
|| m.equals(Material.NETHER_WART)
|
||||||
|| m.equals(B.mat("SEA_PICKLE"))
|
|| m.equals(Material.SEA_PICKLE)
|
||||||
|| m.equals(B.mat("SEAGRASS"))
|
|| m.equals(Material.SEAGRASS)
|
||||||
|| m.equals(B.mat("ACACIA_BUTTON"))
|
|| m.equals(Material.ACACIA_BUTTON)
|
||||||
|| m.equals(B.mat("BIRCH_BUTTON"))
|
|| m.equals(Material.BIRCH_BUTTON)
|
||||||
|| m.equals(B.mat("CRIMSON_BUTTON"))
|
|| m.equals(Material.CRIMSON_BUTTON)
|
||||||
|| m.equals(B.mat("DARK_OAK_BUTTON"))
|
|| m.equals(Material.DARK_OAK_BUTTON)
|
||||||
|| m.equals(B.mat("JUNGLE_BUTTON"))
|
|| m.equals(Material.JUNGLE_BUTTON)
|
||||||
|| m.equals(B.mat("OAK_BUTTON"))
|
|| m.equals(Material.OAK_BUTTON)
|
||||||
|| m.equals(B.mat("POLISHED_BLACKSTONE_BUTTON"))
|
|| m.equals(Material.POLISHED_BLACKSTONE_BUTTON)
|
||||||
|| m.equals(B.mat("SPRUCE_BUTTON"))
|
|| m.equals(Material.SPRUCE_BUTTON)
|
||||||
|| m.equals(B.mat("STONE_BUTTON"))
|
|| m.equals(Material.STONE_BUTTON)
|
||||||
|| m.equals(B.mat("WARPED_BUTTON"))
|
|| m.equals(Material.WARPED_BUTTON)
|
||||||
|| m.equals(Material.TORCH)
|
|| m.equals(Material.TORCH)
|
||||||
|| m.equals(B.mat("SOUL_TORCH"));
|
|| m.equals(Material.SOUL_TORCH);
|
||||||
//@done
|
//@done
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,6 +1,5 @@
|
|||||||
package com.volmit.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
@SuppressWarnings("hiding")
|
|
||||||
@FunctionalInterface
|
@FunctionalInterface
|
||||||
public interface Consumer2<A, B>
|
public interface Consumer2<A, B>
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package com.volmit.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
@SuppressWarnings("hiding")
|
|
||||||
@FunctionalInterface
|
@FunctionalInterface
|
||||||
public interface Consumer3<A, B, C>
|
public interface Consumer3<A, B, C>
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package com.volmit.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
@SuppressWarnings("hiding")
|
|
||||||
@FunctionalInterface
|
@FunctionalInterface
|
||||||
public interface Function2<A, B, R>
|
public interface Function2<A, B, R>
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package com.volmit.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
@SuppressWarnings("hiding")
|
|
||||||
@FunctionalInterface
|
@FunctionalInterface
|
||||||
public interface Function3<A, B, C, R>
|
public interface Function3<A, B, C, R>
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package com.volmit.iris.util;
|
package com.volmit.iris.util;
|
||||||
|
|
||||||
@SuppressWarnings("hiding")
|
|
||||||
@FunctionalInterface
|
@FunctionalInterface
|
||||||
public interface Function4<A, B, C, D, R>
|
public interface Function4<A, B, C, D, R>
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user