diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 74dc108f7..cbfc0c587 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -61,7 +61,7 @@
-
+
@@ -122,29 +122,41 @@
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/minelazz/epicworldgenerator/structures/StructureObject.java b/src/main/java/com/minelazz/epicworldgenerator/structures/StructureObject.java
index fd9dc8b59..31368e41d 100644
--- a/src/main/java/com/minelazz/epicworldgenerator/structures/StructureObject.java
+++ b/src/main/java/com/minelazz/epicworldgenerator/structures/StructureObject.java
@@ -54,18 +54,18 @@ public class StructureObject implements Serializable
if(i.blockData == null)
{
- FastBlockData f = map(i.id, i.data);
- bdx = f == null ? null : f.getBlockData();
+ BlockData f = map(i.id, i.data);
+ bdx = f == null ? null : f;
}
else
{
- bdx = B.get(i.blockData).getBlockData();
+ bdx = B.get(i.blockData);
}
if(bdx != null)
{
- iob.getBlocks().put(new BlockVector(i.x, -i.y, i.z), FastBlockData.of(bdx));
+ iob.getBlocks().put(new BlockVector(i.x, -i.y, i.z), bdx);
}
}
@@ -73,7 +73,7 @@ public class StructureObject implements Serializable
}
@SuppressWarnings("deprecation")
- private static final FastBlockData map(int id, int dat)
+ private static final BlockData map(int id, int dat)
{
for(Material i : EnumSet.allOf(Material.class))
{
@@ -84,7 +84,7 @@ public class StructureObject implements Serializable
if(i.getId() == id)
{
- return FastBlockData.of(Bukkit.getUnsafe().fromLegacy(i, (byte) dat));
+ return Bukkit.getUnsafe().fromLegacy(i, (byte) dat);
}
}
diff --git a/src/main/java/com/volmit/iris/Iris.java b/src/main/java/com/volmit/iris/Iris.java
index 8149d6e09..9d333c228 100644
--- a/src/main/java/com/volmit/iris/Iris.java
+++ b/src/main/java/com/volmit/iris/Iris.java
@@ -424,11 +424,6 @@ public class Iris extends MortarPlugin
public static void verbose(String string)
{
- if(true)
- {
- System.out.println(string);
- }
-
try
{
if(IrisSettings.get().verbose)
diff --git a/src/main/java/com/volmit/iris/command/CommandIrisWhatBlock.java b/src/main/java/com/volmit/iris/command/CommandIrisWhatBlock.java
index a3d3957a9..efb962dce 100644
--- a/src/main/java/com/volmit/iris/command/CommandIrisWhatBlock.java
+++ b/src/main/java/com/volmit/iris/command/CommandIrisWhatBlock.java
@@ -42,31 +42,31 @@ public class CommandIrisWhatBlock extends MortarCommand
sender.sendMessage("Material: " + C.GREEN + bd.getMaterial().name());
sender.sendMessage("Full: " + C.WHITE + bd.getAsString(true));
- if (B.isStorage(FastBlockData.of(bd))) {
+ if (B.isStorage(bd)) {
sender.sendMessage(C.YELLOW + "* Storage Block (Loot Capable)");
}
- if (B.isLit(FastBlockData.of(bd))) {
+ if (B.isLit(bd)) {
sender.sendMessage(C.YELLOW + "* Lit Block (Light Capable)");
}
- if (B.isFoliage(FastBlockData.of(bd))) {
+ if (B.isFoliage(bd)) {
sender.sendMessage(C.YELLOW + "* Foliage Block");
}
- if (B.isDecorant(FastBlockData.of(bd))) {
+ if (B.isDecorant(bd)) {
sender.sendMessage(C.YELLOW + "* Decorant Block");
}
- if (B.isFluid(FastBlockData.of(bd))) {
+ if (B.isFluid(bd)) {
sender.sendMessage(C.YELLOW + "* Fluid Block");
}
- if (B.isFoliagePlantable(FastBlockData.of(bd))) {
+ if (B.isFoliagePlantable(bd)) {
sender.sendMessage(C.YELLOW + "* Plantable Foliage Block");
}
- if (B.isSolid(FastBlockData.of(bd))) {
+ if (B.isSolid(bd)) {
sender.sendMessage(C.YELLOW + "* Solid Block");
}
}
diff --git a/src/main/java/com/volmit/iris/gen/ContextualTerrainProvider.java b/src/main/java/com/volmit/iris/gen/ContextualTerrainProvider.java
index 068720bbc..3222c9c4f 100644
--- a/src/main/java/com/volmit/iris/gen/ContextualTerrainProvider.java
+++ b/src/main/java/com/volmit/iris/gen/ContextualTerrainProvider.java
@@ -367,12 +367,12 @@ public abstract class ContextualTerrainProvider implements TerrainProvider, List
if(j == i || j + i == 16)
{
- chunk.setBlock(i, h, j, B.getBlockData("RED_TERRACOTTA").getType());
+ chunk.setBlock(i, h, j, B.getBlockData("RED_TERRACOTTA").getMaterial());
}
else
{
- chunk.setBlock(i, h, j, B.getBlockData("BLACK_TERRACOTTA").getType());
+ chunk.setBlock(i, h, j, B.getBlockData("BLACK_TERRACOTTA").getMaterial());
}
}
}
diff --git a/src/main/java/com/volmit/iris/gen/DimensionalTerrainProvider.java b/src/main/java/com/volmit/iris/gen/DimensionalTerrainProvider.java
index 436b7bb7a..7c20034b3 100644
--- a/src/main/java/com/volmit/iris/gen/DimensionalTerrainProvider.java
+++ b/src/main/java/com/volmit/iris/gen/DimensionalTerrainProvider.java
@@ -4,6 +4,7 @@ import java.io.File;
import org.bukkit.Bukkit;
import org.bukkit.Material;
+import org.bukkit.block.data.BlockData;
import org.bukkit.entity.Player;
import com.volmit.iris.Iris;
@@ -26,10 +27,10 @@ public abstract class DimensionalTerrainProvider extends ContextualTerrainProvid
{
private String dimensionName;
private IrisDimension forceDimension;
- protected static final FastBlockData AIR = FastBlockData.of(Material.AIR);
- protected static final FastBlockData CAVE_AIR = B.get("CAVE_AIR");
- protected static final FastBlockData BEDROCK = FastBlockData.of(Material.BEDROCK);
- protected static final FastBlockData WATER = FastBlockData.of(Material.WATER);
+ protected static final BlockData AIR = Material.AIR.createBlockData();
+ protected static final BlockData CAVE_AIR = B.get("CAVE_AIR");
+ protected static final BlockData BEDROCK = Material.BEDROCK.createBlockData();
+ protected static final BlockData WATER = Material.WATER.createBlockData();
public DimensionalTerrainProvider(TerrainTarget t, String dimensionName)
{
diff --git a/src/main/java/com/volmit/iris/gen/IrisTerrainProvider.java b/src/main/java/com/volmit/iris/gen/IrisTerrainProvider.java
index 3f2b4ce97..4608177a8 100644
--- a/src/main/java/com/volmit/iris/gen/IrisTerrainProvider.java
+++ b/src/main/java/com/volmit/iris/gen/IrisTerrainProvider.java
@@ -11,6 +11,7 @@ import java.util.function.Function;
import org.bukkit.Bukkit;
import org.bukkit.Chunk;
import org.bukkit.Location;
+import org.bukkit.block.data.BlockData;
import org.bukkit.entity.Player;
import org.bukkit.event.block.BlockDropItemEvent;
import org.bukkit.event.entity.EntitySpawnEvent;
@@ -348,7 +349,7 @@ public class IrisTerrainProvider extends PostBlockTerrainProvider implements Iri
return;
}
- FastBlockData data = FastBlockData.of(e.getBlockState().getBlockData());
+ BlockData data = e.getBlockState().getBlockData();
KList drops = new KList<>();
boolean skipParents = false;
diff --git a/src/main/java/com/volmit/iris/gen/ParallaxTerrainProvider.java b/src/main/java/com/volmit/iris/gen/ParallaxTerrainProvider.java
index da6035083..f9aee63bb 100644
--- a/src/main/java/com/volmit/iris/gen/ParallaxTerrainProvider.java
+++ b/src/main/java/com/volmit/iris/gen/ParallaxTerrainProvider.java
@@ -5,6 +5,7 @@ import java.util.List;
import org.bukkit.Chunk;
import org.bukkit.World;
+import org.bukkit.block.data.BlockData;
import org.bukkit.entity.Player;
import org.bukkit.generator.BlockPopulator;
@@ -128,15 +129,15 @@ public abstract class ParallaxTerrainProvider extends TopographicTerrainProvider
}
@Override
- public void set(int x, int y, int z, FastBlockData d)
+ public void set(int x, int y, int z, BlockData d)
{
getParallaxSliver(x, z).set(y, d);
}
@Override
- public FastBlockData get(int x, int y, int z)
+ public BlockData get(int x, int y, int z)
{
- FastBlockData b = sampleSliver(x, z).getBlock()[y];
+ BlockData b = sampleSliver(x, z).getBlock()[y];
return b == null ? AIR : b;
}
diff --git a/src/main/java/com/volmit/iris/gen/PostBlockTerrainProvider.java b/src/main/java/com/volmit/iris/gen/PostBlockTerrainProvider.java
index 89f9b2a2a..eccbb35f2 100644
--- a/src/main/java/com/volmit/iris/gen/PostBlockTerrainProvider.java
+++ b/src/main/java/com/volmit/iris/gen/PostBlockTerrainProvider.java
@@ -1,5 +1,6 @@
package com.volmit.iris.gen;
+import org.bukkit.block.data.BlockData;
import org.bukkit.generator.ChunkGenerator.ChunkData;
import com.volmit.iris.Iris;
@@ -84,7 +85,7 @@ public abstract class PostBlockTerrainProvider extends ParallaxTerrainProvider i
}
@Override
- public FastBlockData getPostBlock(int x, int y, int z, int currentPostX, int currentPostZ, ChunkData currentData)
+ public BlockData getPostBlock(int x, int y, int z, int currentPostX, int currentPostZ, ChunkData currentData)
{
if(y > 255 || y < 0)
{
@@ -94,7 +95,7 @@ public abstract class PostBlockTerrainProvider extends ParallaxTerrainProvider i
if(x >> 4 == currentPostX && z >> 4 == currentPostZ)
{
getPostLock().lock();
- FastBlockData d = FastBlockData.of(currentData.getBlockData(x & 15, y, z & 15));
+ BlockData d = currentData.getBlockData(x & 15, y, z & 15);
getPostLock().unlock();
return d;
}
@@ -103,22 +104,12 @@ public abstract class PostBlockTerrainProvider extends ParallaxTerrainProvider i
}
@Override
- public void setPostBlock(int x, int y, int z, FastBlockData d, int currentPostX, int currentPostZ, ChunkData currentData)
+ public void setPostBlock(int x, int y, int z, BlockData d, int currentPostX, int currentPostZ, ChunkData currentData)
{
if(x >> 4 == currentPostX && z >> 4 == currentPostZ)
{
getPostLock().lock();
-
- if(d.hasBlockData())
- {
- currentData.setBlock(x & 15, y, z & 15, d.getBlockData());
- }
-
- else
- {
- currentData.setBlock(x & 15, y, z & 15, d.getType());
- }
-
+ currentData.setBlock(x & 15, y, z & 15, d);
getPostLock().unlock();
}
diff --git a/src/main/java/com/volmit/iris/gen/TopographicTerrainProvider.java b/src/main/java/com/volmit/iris/gen/TopographicTerrainProvider.java
index 5971dec69..5f76f3036 100644
--- a/src/main/java/com/volmit/iris/gen/TopographicTerrainProvider.java
+++ b/src/main/java/com/volmit/iris/gen/TopographicTerrainProvider.java
@@ -40,6 +40,7 @@ import com.volmit.iris.util.RNG;
import lombok.Data;
import lombok.EqualsAndHashCode;
+import org.bukkit.block.data.BlockData;
@Data
@EqualsAndHashCode(callSuper = false)
@@ -128,7 +129,7 @@ public abstract class TopographicTerrainProvider extends ParallelTerrainProvider
}
RNG crand = getMasterRandom().nextParallelRNG(rx).nextParallelRNG(rz);
- FastBlockData block;
+ BlockData block;
int fluidHeight = getDimension().getFluidHeight();
double ox = getModifiedX(rx, rz);
double oz = getModifiedZ(rx, rz);
@@ -149,10 +150,10 @@ public abstract class TopographicTerrainProvider extends ParallelTerrainProvider
throw new RuntimeException("Null Biome!");
}
- KList layers = biome.generateLayers(rx, rz, getMasterRandom(), height, height - getFluidHeight(), getData());
- KList cavernLayers = null;
- KList seaLayers = biome.isAquatic() || biome.isShore() ? biome.generateSeaLayers(rx, rz, getMasterRandom(), fluidHeight - height, getData()) : new KList<>();
- FastBlockData biomeFluid = biome.getFluidType().isEmpty() ? null : B.get(biome.getFluidType());
+ KList layers = biome.generateLayers(rx, rz, getMasterRandom(), height, height - getFluidHeight(), getData());
+ KList cavernLayers = null;
+ KList seaLayers = biome.isAquatic() || biome.isShore() ? biome.generateSeaLayers(rx, rz, getMasterRandom(), fluidHeight - height, getData()) : new KList<>();
+ BlockData biomeFluid = biome.getFluidType().isEmpty() ? null : B.get(biome.getFluidType());
boolean caverning = false;
KList cavernHeights = new KList<>();
@@ -314,9 +315,9 @@ public abstract class TopographicTerrainProvider extends ParallelTerrainProvider
}
}
- KList floor = caveBiome.generateLayers(wx, wz, rockRandom, i.getFloor() - 2, i.getFloor() - 2, getData());
- KList ceiling = caveBiome.generateLayers(wx + 256, wz + 256, rockRandom, (carvable ? getCarvedWaterHeight(rx, rz) : height) - i.getCeiling() - 2, (carvable ? getCarvedWaterHeight(rx, rz) : height) - i.getCeiling() - 2, getData());
- FastBlockData blockc = null;
+ KList floor = caveBiome.generateLayers(wx, wz, rockRandom, i.getFloor() - 2, i.getFloor() - 2, getData());
+ KList ceiling = caveBiome.generateLayers(wx + 256, wz + 256, rockRandom, (carvable ? getCarvedWaterHeight(rx, rz) : height) - i.getCeiling() - 2, (carvable ? getCarvedWaterHeight(rx, rz) : height) - i.getCeiling() - 2, getData());
+ BlockData blockc = null;
for(int j = 0; j < floor.size(); j++)
{
if(j == 0)
@@ -368,7 +369,7 @@ public abstract class TopographicTerrainProvider extends ParallelTerrainProvider
return map;
}
- private void decorateLand(RNG rng, IrisBiome biome, AtomicSliver sliver, int k, int rx, int rz, FastBlockData block)
+ private void decorateLand(RNG rng, IrisBiome biome, AtomicSliver sliver, int k, int rx, int rz, BlockData block)
{
if(!getDimension().isDecorate())
{
@@ -384,7 +385,7 @@ public abstract class TopographicTerrainProvider extends ParallelTerrainProvider
continue;
}
- FastBlockData d = i.getBlockData(biome, rng.nextParallelRNG(38888 + biome.getRarity() + biome.getName().length() + j++), rx, rz, getData());
+ BlockData d = i.getBlockData(biome, rng.nextParallelRNG(38888 + biome.getRarity() + biome.getName().length() + j++), rx, rz, getData());
if(d != null)
{
@@ -409,12 +410,12 @@ public abstract class TopographicTerrainProvider extends ParallelTerrainProvider
}
}
- if(d.getBlockData() instanceof Bisected && k < 254)
+ if(d instanceof Bisected && k < 254)
{
- FastBlockData bb = d.clone();
- Bisected t = ((Bisected) d.getBlockData());
+ BlockData bb = d.clone();
+ Bisected t = ((Bisected) d);
t.setHalf(Half.TOP);
- Bisected b = ((Bisected) bb.getBlockData());
+ Bisected b = ((Bisected) bb);
b.setHalf(Half.BOTTOM);
sliver.set(k + 1, bb);
sliver.set(k + 2, d);
@@ -423,7 +424,7 @@ public abstract class TopographicTerrainProvider extends ParallelTerrainProvider
else
{
int stack = i.getHeight(rng.nextParallelRNG((int) (39456 + (10000 * i.getChance()) + i.getStackMax() + i.getStackMin() + i.getZoom())), rx, rz, getData());
- FastBlockData top = null;
+ BlockData top = null;
if(stack > 1 && i.getTopPalette().hasElements())
{
@@ -439,7 +440,7 @@ public abstract class TopographicTerrainProvider extends ParallelTerrainProvider
{
for(int l = 0; l < stack; l++)
{
- FastBlockData dd = i.getBlockData100(biome, rng.nextParallelRNG(38888 + l + biome.getRarity() + biome.getName().length() + j++), rx + l, rz - l, getData());
+ BlockData dd = i.getBlockData100(biome, rng.nextParallelRNG(38888 + l + biome.getRarity() + biome.getName().length() + j++), rx + l, rz - l, getData());
d = dd != null ? dd : d;
sliver.set(k + l + 1, l == stack - 1 && top != null ? top : d);
}
@@ -451,7 +452,7 @@ public abstract class TopographicTerrainProvider extends ParallelTerrainProvider
}
}
- private void decorateCave(RNG rng, IrisBiome biome, AtomicSliver sliver, int k, int rx, int rz, FastBlockData block)
+ private void decorateCave(RNG rng, IrisBiome biome, AtomicSliver sliver, int k, int rx, int rz, BlockData block)
{
if(!getDimension().isDecorate())
{
@@ -462,7 +463,7 @@ public abstract class TopographicTerrainProvider extends ParallelTerrainProvider
for(IrisDecorator i : biome.getDecorators())
{
- FastBlockData d = i.getBlockData(biome, rng.nextParallelRNG(2333877 + biome.getRarity() + biome.getName().length() + +j++), rx, rz, getData());
+ BlockData d = i.getBlockData(biome, rng.nextParallelRNG(2333877 + biome.getRarity() + biome.getName().length() + +j++), rx, rz, getData());
if(d != null)
{
@@ -479,12 +480,12 @@ public abstract class TopographicTerrainProvider extends ParallelTerrainProvider
}
}
- if(d.getBlockData() instanceof Bisected && k < 254)
+ if(d instanceof Bisected && k < 254)
{
- FastBlockData bb = d.clone();
- Bisected t = ((Bisected) d.getBlockData());
+ BlockData bb = d.clone();
+ Bisected t = ((Bisected) d);
t.setHalf(Half.TOP);
- Bisected b = ((Bisected) bb.getBlockData());
+ Bisected b = ((Bisected) bb);
b.setHalf(Half.BOTTOM);
sliver.set(k + 1, bb);
sliver.set(k + 2, d);
@@ -534,7 +535,7 @@ public abstract class TopographicTerrainProvider extends ParallelTerrainProvider
continue;
}
- FastBlockData d = i.getBlockData(biome, getMasterRandom().nextParallelRNG(2555 + biome.getRarity() + biome.getName().length() + j++), rx, rz, getData());
+ BlockData d = i.getBlockData(biome, getMasterRandom().nextParallelRNG(2555 + biome.getRarity() + biome.getName().length() + j++), rx, rz, getData());
if(d != null)
{
diff --git a/src/main/java/com/volmit/iris/gen/atomics/AtomicSliver.java b/src/main/java/com/volmit/iris/gen/atomics/AtomicSliver.java
index 64e20e711..830093cb5 100644
--- a/src/main/java/com/volmit/iris/gen/atomics/AtomicSliver.java
+++ b/src/main/java/com/volmit/iris/gen/atomics/AtomicSliver.java
@@ -6,6 +6,7 @@ import java.io.IOException;
import org.bukkit.Material;
import org.bukkit.block.Biome;
+import org.bukkit.block.data.BlockData;
import org.bukkit.generator.ChunkGenerator.BiomeGrid;
import org.bukkit.generator.ChunkGenerator.ChunkData;
@@ -21,7 +22,7 @@ import lombok.Data;
@Data
public class AtomicSliver
{
- public static final FastBlockData AIR = B.getBlockData("AIR");
+ public static final BlockData AIR = B.getBlockData("AIR");
public static boolean forgetful = false;
private transient Biome[] biome;
private transient Biome onlyBiome;
@@ -31,7 +32,7 @@ public class AtomicSliver
private transient final byte x;
private transient final byte z;
private transient boolean modified = false;
- private FastBlockData[] block;
+ private BlockData[] block;
private KList blockUpdates;
private int highestBlock = 0;
@@ -41,7 +42,7 @@ public class AtomicSliver
this.x = (byte) x;
this.z = (byte) z;
blockUpdates = new KList<>(4);
- this.block = new FastBlockData[256];
+ this.block = new BlockData[256];
this.biome = new Biome[256];
}
@@ -80,7 +81,7 @@ public class AtomicSliver
blockUpdates.remove(Byte.valueOf((byte) (y + Byte.MIN_VALUE)));
}
- public FastBlockData get(int h)
+ public BlockData get(int h)
{
if(forgetful)
{
@@ -97,7 +98,7 @@ public class AtomicSliver
h = 0;
}
- FastBlockData b = block[h];
+ BlockData b = block[h];
last = M.ms();
if(b == null)
@@ -108,13 +109,13 @@ public class AtomicSliver
return b;
}
- public FastBlockData getOrNull(int h)
+ public BlockData getOrNull(int h)
{
if(forgetful || oob(h))
{
return null;
}
- FastBlockData b = block[h];
+ BlockData b = block[h];
last = M.ms();
if(b.getMaterial().equals(Material.AIR))
@@ -125,7 +126,7 @@ public class AtomicSliver
return b;
}
- public void set(int h, FastBlockData d)
+ public void set(int h, BlockData d)
{
if(forgetful || oob(h))
{
@@ -139,7 +140,7 @@ public class AtomicSliver
lock.unlock();
}
- public void setSilently(int h, FastBlockData d)
+ public void setSilently(int h, BlockData d)
{
if(forgetful)
{
@@ -233,7 +234,7 @@ public class AtomicSliver
else
{
- d.setBlock(x, i, z, block[i].getBlockData());
+ d.setBlock(x, i, z, block[i]);
}
}
lock.unlock();
@@ -272,14 +273,14 @@ public class AtomicSliver
public void read(DataInputStream din) throws IOException
{
lock.lock();
- this.block = new FastBlockData[256];
+ this.block = new BlockData[256];
getUpdatables().clear();
// Block Palette
int p = din.readByte() - Byte.MIN_VALUE;
int h = din.readByte() - Byte.MIN_VALUE;
int u = din.readByte() - Byte.MIN_VALUE;
- KList palette = new KList();
+ KList palette = new KList();
highestBlock = h;
for(int i = 0; i < p; i++)
@@ -316,8 +317,8 @@ public class AtomicSliver
for(int i = 0; i <= highestBlock; i++)
{
- FastBlockData dat = block[i];
- String d = (dat == null ? AIR : dat).getBlockData().getAsString(true);
+ BlockData dat = block[i];
+ String d = (dat == null ? AIR : dat).getAsString(true);
if(!palette.contains(d))
{
@@ -337,8 +338,8 @@ public class AtomicSliver
// Blocks
for(int i = 0; i <= highestBlock; i++)
{
- FastBlockData dat = block[i];
- String d = (dat == null ? AIR : dat).getBlockData().getAsString(true);
+ BlockData dat = block[i];
+ String d = (dat == null ? AIR : dat).getAsString(true);
dos.writeByte(palette.indexOf(d) + Byte.MIN_VALUE);
}
@@ -362,7 +363,7 @@ public class AtomicSliver
{
if(block[i] == null || block[i].equals(AIR))
{
- FastBlockData b = atomicSliver.block[i];
+ BlockData b = atomicSliver.block[i];
if(b == null || b.equals(AIR))
{
continue;
@@ -384,7 +385,7 @@ public class AtomicSliver
for(int i = 0; i < block.length; i++)
{
- FastBlockData b = block[i];
+ BlockData b = block[i];
if(b != null)
{
if(b.getMaterial().equals(Material.AIR))
@@ -392,15 +393,7 @@ public class AtomicSliver
continue;
}
- if(b.hasBlockData())
- {
- currentData.setBlock(x, i, z, b.getBlockData());
- }
-
- else
- {
- currentData.setBlock(x, i, z, b.getType());
- }
+ currentData.setBlock(x, i, z, b);
}
}
diff --git a/src/main/java/com/volmit/iris/gen/layer/GenLayerCave.java b/src/main/java/com/volmit/iris/gen/layer/GenLayerCave.java
index 160cf4c92..a9da3b0dc 100644
--- a/src/main/java/com/volmit/iris/gen/layer/GenLayerCave.java
+++ b/src/main/java/com/volmit/iris/gen/layer/GenLayerCave.java
@@ -2,6 +2,7 @@ package com.volmit.iris.gen.layer;
import java.util.function.Function;
+import com.volmit.iris.util.*;
import org.bukkit.Material;
import com.volmit.iris.gen.TopographicTerrainProvider;
@@ -11,17 +12,13 @@ import com.volmit.iris.noise.FastNoiseDouble.CellularDistanceFunction;
import com.volmit.iris.noise.FastNoiseDouble.CellularReturnType;
import com.volmit.iris.noise.FastNoiseDouble.NoiseType;
import com.volmit.iris.object.IrisCaveLayer;
-import com.volmit.iris.util.B;
-import com.volmit.iris.util.CaveResult;
-import com.volmit.iris.util.GenLayer;
-import com.volmit.iris.util.KList;
-import com.volmit.iris.util.RNG;
+import org.bukkit.block.data.BlockData;
public class GenLayerCave extends GenLayer
{
public static boolean bad = false;
- public static final FastBlockData CAVE_AIR = B.getBlockData("CAVE_AIR");
- public static final FastBlockData AIR = B.getBlockData("AIR");
+ public static final BlockData CAVE_AIR = B.getBlockData("CAVE_AIR");
+ public static final BlockData AIR = B.getBlockData("AIR");
private static final KList EMPTY = new KList<>();
private final FastNoiseDouble gg;
@@ -55,7 +52,7 @@ public class GenLayerCave extends GenLayer
public void generateCave(KList result, double wxx, double wzz, int x, int z, AtomicSliver data, IrisCaveLayer layer, int seed)
{
double scale = layer.getCaveZoom();
- Function fluid = (height) ->
+ Function fluid = (height) ->
{
if(!layer.getFluid().hasFluid(iris.getData()))
{
@@ -160,15 +157,15 @@ public class GenLayerCave extends GenLayer
}
}
- public boolean dig(int x, int y, int z, AtomicSliver data, Function caveFluid)
+ public boolean dig(int x, int y, int z, AtomicSliver data, Function caveFluid)
{
Material a = data.getTypeSafe(y);
Material c = data.getTypeSafe(y + 1);
Material d = data.getTypeSafe(y + 2);
Material e = data.getTypeSafe(y + 3);
Material f = data.getTypeSafe(y - 1);
- FastBlockData b = caveFluid.apply(y);
- FastBlockData b2 = caveFluid.apply(y + 1);
+ BlockData b = caveFluid.apply(y);
+ BlockData b2 = caveFluid.apply(y + 1);
if(can(a) && canAir(c, b) && canAir(f, b) && canWater(d) && canWater(e))
{
@@ -180,9 +177,9 @@ public class GenLayerCave extends GenLayer
return false;
}
- public boolean canAir(Material m, FastBlockData caveFluid)
+ public boolean canAir(Material m, BlockData caveFluid)
{
- return (B.isSolid(m) || (B.isDecorant(FastBlockData.of(m))) || m.equals(Material.AIR) || m.equals(caveFluid.getMaterial()) || m.equals(B.mat("CAVE_AIR").getMaterial())) && !m.equals(Material.BEDROCK);
+ return (B.isSolid(m) || (B.isDecorant(m.createBlockData())) || m.equals(Material.AIR) || m.equals(caveFluid.getMaterial()) || m.equals(B.mat("CAVE_AIR").getMaterial())) && !m.equals(Material.BEDROCK);
}
public boolean canWater(Material m)
diff --git a/src/main/java/com/volmit/iris/gen/layer/GenLayerRavine.java b/src/main/java/com/volmit/iris/gen/layer/GenLayerRavine.java
index 300ebdb6b..1b08ca1c2 100644
--- a/src/main/java/com/volmit/iris/gen/layer/GenLayerRavine.java
+++ b/src/main/java/com/volmit/iris/gen/layer/GenLayerRavine.java
@@ -18,13 +18,14 @@ import com.volmit.iris.util.RNG;
import lombok.Data;
import lombok.EqualsAndHashCode;
+import org.bukkit.block.data.BlockData;
@Data
@EqualsAndHashCode(callSuper = false)
public class GenLayerRavine extends GenLayer
{
- private static final FastBlockData CAVE_AIR = B.get("CAVE_AIR");
- private static final FastBlockData LAVA = B.get("LAVA");
+ private static final BlockData CAVE_AIR = B.get("CAVE_AIR");
+ private static final BlockData LAVA = B.get("LAVA");
private CNG cng;
public GenLayerRavine(TopographicTerrainProvider iris, RNG rng)
@@ -39,9 +40,9 @@ public class GenLayerRavine extends GenLayer
return 0;
}
- private void set(TerrainChunk pos, int x, int y, int z, FastBlockData b, HeightMap h, AtomicSliverMap map)
+ private void set(TerrainChunk pos, int x, int y, int z, BlockData b, HeightMap h, AtomicSliverMap map)
{
- pos.setBlock(x, y, z, b.getBlockData());
+ pos.setBlock(x, y, z, b);
map.getSliver(x, z).set(y, b);
if(h.getHeight(x, z) > y)
@@ -50,12 +51,12 @@ public class GenLayerRavine extends GenLayer
}
}
- private FastBlockData get(TerrainChunk pos, int x, int y, int z)
+ private BlockData get(TerrainChunk pos, int x, int y, int z)
{
- return FastBlockData.of(pos.getBlockData(x, y, z));
+ return pos.getBlockData(x, y, z);
}
- private FastBlockData getSurfaceBlock(BiomeMap map, int n6, int i, RNG rmg)
+ private BlockData getSurfaceBlock(BiomeMap map, int n6, int i, RNG rmg)
{
return map.getBiome(n6, i).getSurfaceBlock(n6, i, rmg, iris.getData());
}
@@ -163,7 +164,7 @@ public class GenLayerRavine extends GenLayer
continue;
}
- FastBlockData bb = get(terrain, i, j, n6);
+ BlockData bb = get(terrain, i, j, n6);
if(B.isWater(bb))
{
@@ -200,7 +201,7 @@ public class GenLayerRavine extends GenLayer
continue;
}
- FastBlockData blockData = get(terrain, n6, j, i);
+ BlockData blockData = get(terrain, n6, j, i);
if(isSurface(blockData))
{
@@ -242,7 +243,7 @@ public class GenLayerRavine extends GenLayer
return bb;
}
- private boolean isDirt(FastBlockData d)
+ private boolean isDirt(BlockData d)
{
//@builder
Material m = d.getMaterial();
@@ -252,7 +253,7 @@ public class GenLayerRavine extends GenLayer
//@done
}
- private boolean isSurface(FastBlockData d)
+ private boolean isSurface(BlockData d)
{
//@builder
Material m = d.getMaterial();
diff --git a/src/main/java/com/volmit/iris/gen/layer/GenLayerText.java b/src/main/java/com/volmit/iris/gen/layer/GenLayerText.java
index 9a17c804b..63511e276 100644
--- a/src/main/java/com/volmit/iris/gen/layer/GenLayerText.java
+++ b/src/main/java/com/volmit/iris/gen/layer/GenLayerText.java
@@ -13,10 +13,11 @@ import com.volmit.iris.object.IrisObject;
import com.volmit.iris.util.B;
import com.volmit.iris.util.GenLayer;
import com.volmit.iris.util.RNG;
+import org.bukkit.block.data.BlockData;
public class GenLayerText extends GenLayer
{
- public static final FastBlockData AIR = B.getBlockData("AIR");
+ public static final BlockData AIR = B.getBlockData("AIR");
private final AtomicCache debug = new AtomicCache<>();
@@ -30,7 +31,7 @@ public class GenLayerText extends GenLayer
return debug.aquire(() -> createTextObject("Test", "Impact", 24, B.get("STONE")));
}
- public IrisObject createTextObject(String text, String font, int size, FastBlockData b)
+ public IrisObject createTextObject(String text, String font, int size, BlockData b)
{
Font f = new Font(font, Font.PLAIN, size);
int w = ((Graphics2D) new BufferedImage(1, 1, BufferedImage.TYPE_INT_RGB).getGraphics()).getFontMetrics(f).stringWidth(text);
diff --git a/src/main/java/com/volmit/iris/gen/layer/GenLayerUpdate.java b/src/main/java/com/volmit/iris/gen/layer/GenLayerUpdate.java
index aea790f3e..eb464e06f 100644
--- a/src/main/java/com/volmit/iris/gen/layer/GenLayerUpdate.java
+++ b/src/main/java/com/volmit/iris/gen/layer/GenLayerUpdate.java
@@ -7,6 +7,7 @@ import org.bukkit.Chunk;
import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.block.Block;
+import org.bukkit.block.data.BlockData;
import org.bukkit.generator.BlockPopulator;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder;
@@ -129,7 +130,7 @@ public class GenLayerUpdate extends BlockPopulator
public void update(Chunk c, int x, int y, int z, int rx, int rz, RNG rng)
{
Block b = c.getBlock(x, y, z);
- FastBlockData d = FastBlockData.of(b.getBlockData());
+ BlockData d = b.getBlockData();
if(B.isLit(d))
{
@@ -211,7 +212,7 @@ public class GenLayerUpdate extends BlockPopulator
scramble(inv, rng);
}
- public void updateStorage(Block b, FastBlockData data, int rx, int rz, RNG rng)
+ public void updateStorage(Block b, BlockData data, int rx, int rz, RNG rng)
{
InventorySlotType slot = null;
@@ -285,9 +286,9 @@ public class GenLayerUpdate extends BlockPopulator
inventory.setContents(nitems);
}
- public void updateLight(Block b, FastBlockData data)
+ public void updateLight(Block b, BlockData data)
{
b.setType(Material.AIR, false);
- b.setBlockData(data.getBlockData(), false);
+ b.setBlockData(data, false);
}
}
diff --git a/src/main/java/com/volmit/iris/gen/provisions/ProvisionBukkit.java b/src/main/java/com/volmit/iris/gen/provisions/ProvisionBukkit.java
index 8c2a90bd2..bd8c4c919 100644
--- a/src/main/java/com/volmit/iris/gen/provisions/ProvisionBukkit.java
+++ b/src/main/java/com/volmit/iris/gen/provisions/ProvisionBukkit.java
@@ -10,6 +10,7 @@ import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.block.Biome;
+import org.bukkit.block.data.BlockData;
import org.bukkit.generator.BlockPopulator;
import org.bukkit.generator.ChunkGenerator;
@@ -92,7 +93,7 @@ public class ProvisionBukkit extends ChunkGenerator implements Provisioned
{
for(int k = 0; k < 16; k++)
{
- FastBlockData b = FastBlockData.of(snapshot.getBlockData(i, (h * 16) + j, k));
+ BlockData b = snapshot.getBlockData(i, (h * 16) + j, k);
if(!Iris.edit.get(cachedWorld, i + cx, (h * 16) + j, k + cz).equals(b))
{
diff --git a/src/main/java/com/volmit/iris/gen/v2/IrisComplex.java b/src/main/java/com/volmit/iris/gen/v2/IrisComplex.java
index ebccfbdda..b0411f5f0 100644
--- a/src/main/java/com/volmit/iris/gen/v2/IrisComplex.java
+++ b/src/main/java/com/volmit/iris/gen/v2/IrisComplex.java
@@ -102,11 +102,9 @@ public class IrisComplex implements DataProvider
.cache2D(64);
chunkRngStream = rngStream.blockToChunkCoords();
rockStream = dimension.getRockPalette().getLayerGenerator(rng.nextRNG(), data).stream()
- .select(dimension.getRockPalette().getBlockData(data))
- .convert((v) -> v.getBlockData());
+ .select(dimension.getRockPalette().getBlockData(data));
fluidStream = dimension.getFluidPalette().getLayerGenerator(rng.nextRNG(), data).stream()
- .select(dimension.getFluidPalette().getBlockData(data))
- .convert((v) -> v.getBlockData());
+ .select(dimension.getFluidPalette().getBlockData(data));
regionStream = dimension.getRegionStyle().create(rng.nextRNG()).stream()
.zoom(dimension.getRegionZoom())
.selectRarity(dimension.getRegions())
@@ -197,7 +195,7 @@ public class IrisComplex implements DataProvider
if(atDepth + th >= depth)
{
- return i.get(rng, x, y, z, data).getBlockData();
+ return i.get(rng, x, y, z, data);
}
atDepth += th;
@@ -217,7 +215,7 @@ public class IrisComplex implements DataProvider
continue;
}
- FastBlockData block = i.getBlockData(b, rngc, x, z, data);
+ BlockData block = i.getBlockData(b, rngc, x, z, data);
if(block != null)
{
diff --git a/src/main/java/com/volmit/iris/gen/v2/IrisTerrainGenerator.java b/src/main/java/com/volmit/iris/gen/v2/IrisTerrainGenerator.java
index fb523ca0b..a6feb2c37 100644
--- a/src/main/java/com/volmit/iris/gen/v2/IrisTerrainGenerator.java
+++ b/src/main/java/com/volmit/iris/gen/v2/IrisTerrainGenerator.java
@@ -83,18 +83,18 @@ public class IrisTerrainGenerator
for(int i = 0; i < stack; i++)
{
- h.set(ax, i + floor, az, deco.getBlockData100(b, rng, rx - i, rz + i, data).getBlockData());
+ h.set(ax, i + floor, az, deco.getBlockData100(b, rng, rx - i, rz + i, data));
}
if(deco.getTopPalette().isNotEmpty())
{
- h.set(ax, stack + floor - 1, az, deco.getBlockDataForTop(b, rng, rx - stack, rz + stack, data).getBlockData());
+ h.set(ax, stack + floor - 1, az, deco.getBlockDataForTop(b, rng, rx - stack, rz + stack, data));
}
}
else
{
- h.set(ax, floor, az, deco.getBlockData100(b, rng, rx, rz, data).getBlockData());
+ h.set(ax, floor, az, deco.getBlockData100(b, rng, rx, rz, data));
}
}
@@ -110,18 +110,18 @@ public class IrisTerrainGenerator
for(int i = 0; i < stack; i++)
{
- h.set(ax, -i + ceiling, az, cdeco.getBlockData100(b, rng, rx - i, rz + i, data).getBlockData());
+ h.set(ax, -i + ceiling, az, cdeco.getBlockData100(b, rng, rx - i, rz + i, data));
}
if(cdeco.getTopPalette().isNotEmpty())
{
- h.set(ax, -stack + ceiling - 1, az, cdeco.getBlockDataForTop(b, rng, rx - stack, rz + stack, data).getBlockData());
+ h.set(ax, -stack + ceiling - 1, az, cdeco.getBlockDataForTop(b, rng, rx - stack, rz + stack, data));
}
}
else
{
- h.set(ax, ceiling, az, cdeco.getBlockData100(b, rng, rx, rz, data).getBlockData());
+ h.set(ax, ceiling, az, cdeco.getBlockData100(b, rng, rx, rz, data));
}
}
}
diff --git a/src/main/java/com/volmit/iris/gen/v2/scaffold/hunk/io/BlockDataHunkIOAdapter.java b/src/main/java/com/volmit/iris/gen/v2/scaffold/hunk/io/BlockDataHunkIOAdapter.java
index 9eb27695c..99c3028f2 100644
--- a/src/main/java/com/volmit/iris/gen/v2/scaffold/hunk/io/BlockDataHunkIOAdapter.java
+++ b/src/main/java/com/volmit/iris/gen/v2/scaffold/hunk/io/BlockDataHunkIOAdapter.java
@@ -17,6 +17,6 @@ public class BlockDataHunkIOAdapter extends PaletteHunkIOAdapter {
@Override
public BlockData read(DataInputStream din) throws IOException {
- return B.get(din.readUTF()).getBlockData();
+ return B.get(din.readUTF());
}
}
diff --git a/src/main/java/com/volmit/iris/gen/v2/scaffold/hunk/view/ChunkHunkView.java b/src/main/java/com/volmit/iris/gen/v2/scaffold/hunk/view/ChunkHunkView.java
index ebebedcc4..047e9d5e1 100644
--- a/src/main/java/com/volmit/iris/gen/v2/scaffold/hunk/view/ChunkHunkView.java
+++ b/src/main/java/com/volmit/iris/gen/v2/scaffold/hunk/view/ChunkHunkView.java
@@ -36,12 +36,12 @@ public class ChunkHunkView implements Hunk
@Override
public void setRaw(int x, int y, int z, BlockData t)
{
- Iris.edit.set(chunk.getWorld(), x + (chunk.getX() * 16), y, z + (chunk.getZ() * 16), FastBlockData.of(t));
+ Iris.edit.set(chunk.getWorld(), x + (chunk.getX() * 16), y, z + (chunk.getZ() * 16), t);
}
@Override
public BlockData getRaw(int x, int y, int z)
{
- return Iris.edit.get(chunk.getWorld(), x + (chunk.getX() * 16), y, z + (chunk.getZ() * 16)).getBlockData();
+ return Iris.edit.get(chunk.getWorld(), x + (chunk.getX() * 16), y, z + (chunk.getZ() * 16));
}
}
diff --git a/src/main/java/com/volmit/iris/gen/v2/scaffold/parallax/ParallaxChunkMeta.java b/src/main/java/com/volmit/iris/gen/v2/scaffold/parallax/ParallaxChunkMeta.java
index f875ad65b..c454fd5f2 100644
--- a/src/main/java/com/volmit/iris/gen/v2/scaffold/parallax/ParallaxChunkMeta.java
+++ b/src/main/java/com/volmit/iris/gen/v2/scaffold/parallax/ParallaxChunkMeta.java
@@ -1,6 +1,5 @@
package com.volmit.iris.gen.v2.scaffold.parallax;
-import com.sun.tools.javac.code.Attribute;
import com.volmit.iris.gen.v2.scaffold.hunk.io.HunkIOAdapter;
import com.volmit.iris.gen.v2.scaffold.hunk.io.PaletteHunkIOAdapter;
import com.volmit.iris.util.CompoundTag;
diff --git a/src/main/java/com/volmit/iris/manager/EditManager.java b/src/main/java/com/volmit/iris/manager/EditManager.java
index f17d69f93..490dc8348 100644
--- a/src/main/java/com/volmit/iris/manager/EditManager.java
+++ b/src/main/java/com/volmit/iris/manager/EditManager.java
@@ -3,6 +3,7 @@ package com.volmit.iris.manager;
import org.bukkit.Bukkit;
import org.bukkit.World;
import org.bukkit.block.Biome;
+import org.bukkit.block.data.BlockData;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.world.WorldUnloadEvent;
@@ -28,14 +29,14 @@ public class EditManager implements Listener
Bukkit.getScheduler().scheduleSyncRepeatingTask(Iris.instance, this::update, 0, 0);
}
- public FastBlockData get(World world, int x, int y, int z)
+ public BlockData get(World world, int x, int y, int z)
{
- return FastBlockData.of(open(world).get(x, y, z));
+ return open(world).get(x, y, z);
}
- public void set(World world, int x, int y, int z, FastBlockData d)
+ public void set(World world, int x, int y, int z, BlockData d)
{
- open(world).set(x, y, z, d.getBlockData());
+ open(world).set(x, y, z, d);
}
public void setBiome(World world, int x, int y, int z, Biome d)
diff --git a/src/main/java/com/volmit/iris/manager/WandManager.java b/src/main/java/com/volmit/iris/manager/WandManager.java
index 78177ca20..118753ccd 100644
--- a/src/main/java/com/volmit/iris/manager/WandManager.java
+++ b/src/main/java/com/volmit/iris/manager/WandManager.java
@@ -210,7 +210,7 @@ public class WandManager implements Listener
}
BlockVector bv = b.getLocation().subtract(c.getLowerNE().toVector()).toVector().toBlockVector();
- s.setUnsigned(bv.getBlockX(), bv.getBlockY(), bv.getBlockZ(), FastBlockData.of(b.getBlockData()));
+ s.setUnsigned(bv.getBlockX(), bv.getBlockY(), bv.getBlockZ(), b.getBlockData());
}
return s;
diff --git a/src/main/java/com/volmit/iris/object/IrisBiome.java b/src/main/java/com/volmit/iris/object/IrisBiome.java
index b2cc8b5fe..253e31bd1 100644
--- a/src/main/java/com/volmit/iris/object/IrisBiome.java
+++ b/src/main/java/com/volmit/iris/object/IrisBiome.java
@@ -30,6 +30,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
+import org.bukkit.block.data.BlockData;
@Accessors(chain = true)
@NoArgsConstructor
@@ -349,14 +350,14 @@ public class IrisBiome extends IrisRegistrant implements IRare
return childrenCell.aquire(() -> getChildStyle().create(random.nextParallelRNG(sig * 2137)).bake().scale(scale).bake());
}
- public KList generateLayers(double wx, double wz, RNG random, int maxDepth, int height, IrisDataManager rdata)
+ public KList generateLayers(double wx, double wz, RNG random, int maxDepth, int height, IrisDataManager rdata)
{
if(isLockLayers())
{
return generateLockedLayers(wx, wz, random, maxDepth, height, rdata);
}
- KList data = new KList<>();
+ KList data = new KList<>();
if(maxDepth <= 0)
{
@@ -400,10 +401,10 @@ public class IrisBiome extends IrisRegistrant implements IRare
return data;
}
- public KList generateLockedLayers(double wx, double wz, RNG random, int maxDepthf, int height, IrisDataManager rdata)
+ public KList generateLockedLayers(double wx, double wz, RNG random, int maxDepthf, int height, IrisDataManager rdata)
{
- KList data = new KList<>();
- KList real = new KList<>();
+ KList data = new KList<>();
+ KList real = new KList<>();
int maxDepth = Math.min(maxDepthf, getLockLayersMax());
if(maxDepth <= 0)
{
@@ -470,9 +471,9 @@ public class IrisBiome extends IrisRegistrant implements IRare
return this;
}
- public KList generateSeaLayers(double wx, double wz, RNG random, int maxDepth, IrisDataManager rdata)
+ public KList generateSeaLayers(double wx, double wz, RNG random, int maxDepth, IrisDataManager rdata)
{
- KList data = new KList<>();
+ KList data = new KList<>();
for(int i = 0; i < seaLayers.size(); i++)
{
@@ -660,7 +661,7 @@ public class IrisBiome extends IrisRegistrant implements IRare
return getBiomeGenerator(rng).fit(biomeScatter, x, y, z);
}
- public FastBlockData getSurfaceBlock(int x, int z, RNG rng, IrisDataManager idm)
+ public BlockData getSurfaceBlock(int x, int z, RNG rng, IrisDataManager idm)
{
if(getLayers().isEmpty())
{
diff --git a/src/main/java/com/volmit/iris/object/IrisBiomePaletteLayer.java b/src/main/java/com/volmit/iris/object/IrisBiomePaletteLayer.java
index d066db864..9154f0a94 100644
--- a/src/main/java/com/volmit/iris/object/IrisBiomePaletteLayer.java
+++ b/src/main/java/com/volmit/iris/object/IrisBiomePaletteLayer.java
@@ -17,6 +17,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
+import org.bukkit.block.data.BlockData;
@Accessors(chain = true)
@NoArgsConstructor
@@ -54,7 +55,7 @@ public class IrisBiomePaletteLayer
@Desc("The palette of blocks to be used in this layer")
private KList palette = new KList().qadd(new IrisBlockData("GRASS_BLOCK"));
- private final transient AtomicCache> blockData = new AtomicCache<>();
+ private final transient AtomicCache> blockData = new AtomicCache<>();
private final transient AtomicCache layerGenerator = new AtomicCache<>();
private final transient AtomicCache heightGenerator = new AtomicCache<>();
@@ -63,7 +64,7 @@ public class IrisBiomePaletteLayer
return heightGenerator.aquire(() -> CNG.signature(rng.nextParallelRNG(minHeight * maxHeight + getBlockData(data).size())));
}
- public FastBlockData get(RNG rng, double x, double y, double z, IrisDataManager data)
+ public BlockData get(RNG rng, double x, double y, double z, IrisDataManager data)
{
if(getBlockData(data).isEmpty())
{
@@ -94,14 +95,14 @@ public class IrisBiomePaletteLayer
return palette;
}
- public KList getBlockData(IrisDataManager data)
+ public KList getBlockData(IrisDataManager data)
{
return blockData.aquire(() ->
{
- KList blockData = new KList<>();
+ KList blockData = new KList<>();
for(IrisBlockData ix : palette)
{
- FastBlockData bx = ix.getBlockData(data);
+ BlockData bx = ix.getBlockData(data);
if(bx != null)
{
for(int i = 0; i < ix.getWeight(); i++)
diff --git a/src/main/java/com/volmit/iris/object/IrisBlockData.java b/src/main/java/com/volmit/iris/object/IrisBlockData.java
index 5f5485018..c064184d3 100644
--- a/src/main/java/com/volmit/iris/object/IrisBlockData.java
+++ b/src/main/java/com/volmit/iris/object/IrisBlockData.java
@@ -18,6 +18,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
+import org.bukkit.block.data.BlockData;
@Accessors(chain = true)
@NoArgsConstructor
@@ -55,7 +56,7 @@ public class IrisBlockData extends IrisRegistrant
@Desc("Optional properties for this block data such as 'waterlogged': true")
private KMap data = new KMap<>();
- private final transient AtomicCache blockdata = new AtomicCache<>();
+ private final transient AtomicCache blockdata = new AtomicCache<>();
private final transient AtomicCache realProperties = new AtomicCache<>();
public IrisBlockData(String b)
@@ -85,11 +86,11 @@ public class IrisBlockData extends IrisRegistrant
return computeProperties(getData());
}
- public FastBlockData getBlockData(IrisDataManager data)
+ public BlockData getBlockData(IrisDataManager data)
{
return blockdata.aquire(() ->
{
- FastBlockData b = null;
+ BlockData b = null;
IrisBlockData customData = data.getBlockLoader().load(getBlock(), false);
@@ -101,7 +102,7 @@ public class IrisBlockData extends IrisRegistrant
{
b = b.clone();
- String st = b.getBlockData().getAsString(true);
+ String st = b.getAsString(true);
if(st.contains("["))
{
@@ -122,7 +123,7 @@ public class IrisBlockData extends IrisRegistrant
Iris.warn("Debug block data " + sx + " (CUSTOM)");
}
- FastBlockData bx = B.get(sx);
+ BlockData bx = B.get(sx);
if(bx != null)
{
diff --git a/src/main/java/com/volmit/iris/object/IrisBlockDrops.java b/src/main/java/com/volmit/iris/object/IrisBlockDrops.java
index f49afc2b6..0fc808e40 100644
--- a/src/main/java/com/volmit/iris/object/IrisBlockDrops.java
+++ b/src/main/java/com/volmit/iris/object/IrisBlockDrops.java
@@ -1,5 +1,6 @@
package com.volmit.iris.object;
+import org.bukkit.block.data.BlockData;
import org.bukkit.inventory.ItemStack;
import com.volmit.iris.gen.atomics.AtomicCache;
@@ -45,17 +46,17 @@ public class IrisBlockDrops
@Desc("Removes the default vanilla block drops and only drops the given items & any parent loot tables specified for this block type.")
private boolean replaceVanillaDrops = false;
- private final transient AtomicCache> data = new AtomicCache<>();
+ private final transient AtomicCache> data = new AtomicCache<>();
- public boolean shouldDropFor(FastBlockData data, IrisDataManager rdata)
+ public boolean shouldDropFor(BlockData data, IrisDataManager rdata)
{
- KList list = this.data.aquire(() ->
+ KList list = this.data.aquire(() ->
{
- KList b = new KList<>();
+ KList b = new KList<>();
for(IrisBlockData i : getBlocks())
{
- FastBlockData dd = i.getBlockData(rdata);
+ BlockData dd = i.getBlockData(rdata);
if(dd != null)
{
@@ -66,7 +67,7 @@ public class IrisBlockDrops
return b.removeDuplicates();
});
- for(FastBlockData i : list)
+ for(BlockData i : list)
{
if(exactBlocks ? i.equals(data) : i.getMaterial().equals(data.getMaterial()))
{
diff --git a/src/main/java/com/volmit/iris/object/IrisCaveFluid.java b/src/main/java/com/volmit/iris/object/IrisCaveFluid.java
index af4fa0cdf..259de712d 100644
--- a/src/main/java/com/volmit/iris/object/IrisCaveFluid.java
+++ b/src/main/java/com/volmit/iris/object/IrisCaveFluid.java
@@ -13,6 +13,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
+import org.bukkit.block.data.BlockData;
@Accessors(chain = true)
@NoArgsConstructor
@@ -37,18 +38,18 @@ public class IrisCaveFluid
@Desc("The fluid type that should spawn here")
private IrisBlockData fluidType = new IrisBlockData("CAVE_AIR");
- private final transient AtomicCache fluidData = new AtomicCache<>();
+ private final transient AtomicCache fluidData = new AtomicCache<>();
public boolean hasFluid(IrisDataManager rdata)
{
return !B.isAir(getFluid(rdata));
}
- public FastBlockData getFluid(IrisDataManager rdata)
+ public BlockData getFluid(IrisDataManager rdata)
{
return fluidData.aquire(() ->
{
- FastBlockData b = getFluidType().getBlockData(rdata);
+ BlockData b = getFluidType().getBlockData(rdata);
if(b != null)
{
diff --git a/src/main/java/com/volmit/iris/object/IrisCompat.java b/src/main/java/com/volmit/iris/object/IrisCompat.java
index 1ec6e98ab..45672d996 100644
--- a/src/main/java/com/volmit/iris/object/IrisCompat.java
+++ b/src/main/java/com/volmit/iris/object/IrisCompat.java
@@ -13,13 +13,14 @@ import com.volmit.iris.util.KList;
import com.volmit.iris.util.KMap;
import lombok.Data;
+import org.bukkit.block.data.BlockData;
@Data
public class IrisCompat
{
private KList blockFilters = new KList<>();
private KList itemFilters = new KList<>();
- private transient KMap blockResolves = new KMap<>();
+ private transient KMap blockResolves = new KMap<>();
private transient KMap itemResolves = new KMap<>();
public IrisCompat()
@@ -28,7 +29,7 @@ public class IrisCompat
itemFilters = getDefaultItemCompatabilityFilters();
}
- public FastBlockData getBlock(String n)
+ public BlockData getBlock(String n)
{
return blockResolves.compute(n, (k, v) ->
{
@@ -40,7 +41,7 @@ public class IrisCompat
String buf = k;
int err = 16;
- FastBlockData tx = B.parseBlockDataOrNull(buf);
+ BlockData tx = B.parseBlockDataOrNull(buf);
if(tx != null)
{
@@ -58,7 +59,7 @@ public class IrisCompat
{
if(i.getWhen().equalsIgnoreCase(buf))
{
- FastBlockData b = i.getReplace();
+ BlockData b = i.getReplace();
if(b != null)
{
@@ -99,7 +100,7 @@ public class IrisCompat
{
if(nomore < 0)
{
- return B.parseBlockDataOrNull("STONE").getType();
+ return B.parseBlockDataOrNull("STONE").getMaterial();
}
nomore--;
@@ -128,11 +129,11 @@ public class IrisCompat
}
buf = k;
- FastBlockData tx = B.parseBlockDataOrNull(buf);
+ BlockData tx = B.parseBlockDataOrNull(buf);
if(tx != null)
{
- return tx.getType();
+ return tx.getMaterial();
}
nomore = 64;
@@ -140,25 +141,25 @@ public class IrisCompat
{
if(nomore < 0)
{
- return B.parseBlockDataOrNull("STONE").getType();
+ return B.parseBlockDataOrNull("STONE").getMaterial();
}
nomore--;
if(err-- <= 0)
{
- return B.parseBlockDataOrNull("STONE").getType();
+ return B.parseBlockDataOrNull("STONE").getMaterial();
}
for(IrisCompatabilityBlockFilter i : blockFilters)
{
if(i.getWhen().equalsIgnoreCase(buf))
{
- FastBlockData b = i.getReplace();
+ BlockData b = i.getReplace();
if(b != null)
{
- return b.getType();
+ return b.getMaterial();
}
buf = i.getSupplement();
@@ -166,7 +167,7 @@ public class IrisCompat
}
}
- return B.parseBlockDataOrNull("STONE").getType();
+ return B.parseBlockDataOrNull("STONE").getMaterial();
}
});
}
diff --git a/src/main/java/com/volmit/iris/object/IrisCompatabilityBlockFilter.java b/src/main/java/com/volmit/iris/object/IrisCompatabilityBlockFilter.java
index 72d7eebf6..c662fb955 100644
--- a/src/main/java/com/volmit/iris/object/IrisCompatabilityBlockFilter.java
+++ b/src/main/java/com/volmit/iris/object/IrisCompatabilityBlockFilter.java
@@ -11,6 +11,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
+import org.bukkit.block.data.BlockData;
@Accessors(chain = true)
@NoArgsConstructor
@@ -33,24 +34,24 @@ public class IrisCompatabilityBlockFilter
@Desc("If exact is true, it compares block data for example minecraft:some_log[axis=x]")
private boolean exact = false;
- private final transient AtomicCache findData = new AtomicCache<>(true);
- private final transient AtomicCache replaceData = new AtomicCache<>(true);
+ private final transient AtomicCache findData = new AtomicCache<>(true);
+ private final transient AtomicCache replaceData = new AtomicCache<>(true);
public IrisCompatabilityBlockFilter(String when, String supplement)
{
this(when, supplement, false);
}
- public FastBlockData getFind()
+ public BlockData getFind()
{
return findData.aquire(() -> B.getBlockData(when));
}
- public FastBlockData getReplace()
+ public BlockData getReplace()
{
return replaceData.aquire(() ->
{
- FastBlockData b = B.parseBlockDataOrNull(supplement);
+ BlockData b = B.parseBlockDataOrNull(supplement);
if(b == null)
{
diff --git a/src/main/java/com/volmit/iris/object/IrisDecorator.java b/src/main/java/com/volmit/iris/object/IrisDecorator.java
index 36c63b275..de670328c 100644
--- a/src/main/java/com/volmit/iris/object/IrisDecorator.java
+++ b/src/main/java/com/volmit/iris/object/IrisDecorator.java
@@ -18,6 +18,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
+import org.bukkit.block.data.BlockData;
@Accessors(chain = true)
@NoArgsConstructor
@@ -94,8 +95,8 @@ public class IrisDecorator
private final transient AtomicCache layerGenerator = new AtomicCache<>();
private final transient AtomicCache varianceGenerator = new AtomicCache<>();
private final transient AtomicCache heightGenerator = new AtomicCache<>();
- private final transient AtomicCache> blockData = new AtomicCache<>();
- private final transient AtomicCache> blockDataTops = new AtomicCache<>();
+ private final transient AtomicCache> blockData = new AtomicCache<>();
+ private final transient AtomicCache> blockDataTops = new AtomicCache<>();
public int getHeight(RNG rng, double x, double z, IrisDataManager data)
{
@@ -131,7 +132,7 @@ public class IrisDecorator
return palette;
}
- public FastBlockData getBlockData(IrisBiome b, RNG rng, double x, double z, IrisDataManager data)
+ public BlockData getBlockData(IrisBiome b, RNG rng, double x, double z, IrisDataManager data)
{
if(getBlockData(data).isEmpty())
{
@@ -155,7 +156,7 @@ public class IrisDecorator
return null;
}
- public FastBlockData getBlockData100(IrisBiome b, RNG rng, double x, double z, IrisDataManager data)
+ public BlockData getBlockData100(IrisBiome b, RNG rng, double x, double z, IrisDataManager data)
{
if(getBlockData(data).isEmpty())
{
@@ -174,7 +175,7 @@ public class IrisDecorator
return getVarianceGenerator(rng, data).fit(getBlockData(data), xx, zz);
}
- public FastBlockData getBlockDataForTop(IrisBiome b, RNG rng, double x, double z, IrisDataManager data)
+ public BlockData getBlockDataForTop(IrisBiome b, RNG rng, double x, double z, IrisDataManager data)
{
if(getBlockDataTops(data).isEmpty())
{
@@ -197,14 +198,14 @@ public class IrisDecorator
return null;
}
- public KList getBlockData(IrisDataManager data)
+ public KList getBlockData(IrisDataManager data)
{
return blockData.aquire(() ->
{
- KList blockData = new KList<>();
+ KList blockData = new KList<>();
for(IrisBlockData i : palette)
{
- FastBlockData bx = i.getBlockData(data);
+ BlockData bx = i.getBlockData(data);
if(bx != null)
{
blockData.add(bx);
@@ -215,14 +216,14 @@ public class IrisDecorator
});
}
- public KList getBlockDataTops(IrisDataManager data)
+ public KList getBlockDataTops(IrisDataManager data)
{
return blockDataTops.aquire(() ->
{
- KList blockDataTops = new KList<>();
+ KList blockDataTops = new KList<>();
for(IrisBlockData i : topPalette)
{
- FastBlockData bx = i.getBlockData(data);
+ BlockData bx = i.getBlockData(data);
if(bx != null)
{
blockDataTops.add(bx);
diff --git a/src/main/java/com/volmit/iris/object/IrisDepositGenerator.java b/src/main/java/com/volmit/iris/object/IrisDepositGenerator.java
index 04ea14366..cd03fc272 100644
--- a/src/main/java/com/volmit/iris/object/IrisDepositGenerator.java
+++ b/src/main/java/com/volmit/iris/object/IrisDepositGenerator.java
@@ -86,7 +86,7 @@ public class IrisDepositGenerator
private int varience = 3;
private final transient AtomicCache> objects = new AtomicCache<>();
- private final transient AtomicCache> blockData = new AtomicCache<>();
+ private final transient AtomicCache> blockData = new AtomicCache<>();
public IrisObject getClump(RNG rng, IrisDataManager rdata)
{
@@ -136,20 +136,20 @@ public class IrisDepositGenerator
return o;
}
- private FastBlockData nextBlock(RNG rngv, IrisDataManager rdata)
+ private BlockData nextBlock(RNG rngv, IrisDataManager rdata)
{
return getBlockData(rdata).get(rngv.i(0, getBlockData(rdata).size() - 1));
}
- public KList getBlockData(IrisDataManager rdata)
+ public KList getBlockData(IrisDataManager rdata)
{
return blockData.aquire(() ->
{
- KList blockData = new KList<>();
+ KList blockData = new KList<>();
for(IrisBlockData ix : palette)
{
- FastBlockData bx = ix.getBlockData(rdata);
+ BlockData bx = ix.getBlockData(rdata);
if(bx != null)
{
@@ -220,8 +220,8 @@ public class IrisDepositGenerator
if(!allow)
{
- FastBlockData b = FastBlockData.of(data.getBlockData(nx, ny, nz));
- for(FastBlockData f : g.getDimension().getRockPalette().getBlockData(g.getData()))
+ BlockData b = data.getBlockData(nx, ny, nz);
+ for(BlockData f : g.getDimension().getRockPalette().getBlockData(g.getData()))
{
if(f.getMaterial().equals(b.getMaterial()))
{
@@ -243,7 +243,7 @@ public class IrisDepositGenerator
if(allow)
{
- data.setBlock(nx, ny, nz, clump.getBlocks().get(j).getBlockData());
+ data.setBlock(nx, ny, nz, clump.getBlocks().get(j));
}
}
}
diff --git a/src/main/java/com/volmit/iris/object/IrisDimension.java b/src/main/java/com/volmit/iris/object/IrisDimension.java
index ecdc1a773..b8ab4d8d6 100644
--- a/src/main/java/com/volmit/iris/object/IrisDimension.java
+++ b/src/main/java/com/volmit/iris/object/IrisDimension.java
@@ -505,7 +505,7 @@ public class IrisDimension extends IrisRegistrant
});
}
- public FastBlockData resolveBlock(String bd)
+ public BlockData resolveBlock(String bd)
{
return Iris.compat.getBlock(bd);
}
diff --git a/src/main/java/com/volmit/iris/object/IrisMaterialPalette.java b/src/main/java/com/volmit/iris/object/IrisMaterialPalette.java
index a8e40c2b6..8ecd3a7ab 100644
--- a/src/main/java/com/volmit/iris/object/IrisMaterialPalette.java
+++ b/src/main/java/com/volmit/iris/object/IrisMaterialPalette.java
@@ -15,6 +15,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
+import org.bukkit.block.data.BlockData;
@Accessors(chain = true)
@NoArgsConstructor
@@ -38,11 +39,11 @@ public class IrisMaterialPalette
@Desc("The palette of blocks to be used in this layer")
private KList palette = new KList().qadd(new IrisBlockData("STONE"));
- private final transient AtomicCache> blockData = new AtomicCache<>();
+ private final transient AtomicCache> blockData = new AtomicCache<>();
private final transient AtomicCache layerGenerator = new AtomicCache<>();
private final transient AtomicCache heightGenerator = new AtomicCache<>();
- public FastBlockData get(RNG rng, double x, double y, double z, IrisDataManager rdata)
+ public BlockData get(RNG rng, double x, double y, double z, IrisDataManager rdata)
{
if(getBlockData(rdata).isEmpty())
{
@@ -86,14 +87,14 @@ public class IrisMaterialPalette
return this;
}
- public KList getBlockData(IrisDataManager rdata)
+ public KList getBlockData(IrisDataManager rdata)
{
return blockData.aquire(() ->
{
- KList blockData = new KList<>();
+ KList blockData = new KList<>();
for(IrisBlockData ix : palette)
{
- FastBlockData bx = ix.getBlockData(rdata);
+ BlockData bx = ix.getBlockData(rdata);
if(bx != null)
{
for(int i = 0; i < ix.getWeight(); i++)
diff --git a/src/main/java/com/volmit/iris/object/IrisObject.java b/src/main/java/com/volmit/iris/object/IrisObject.java
index 68fd3d9d7..e8a22107f 100644
--- a/src/main/java/com/volmit/iris/object/IrisObject.java
+++ b/src/main/java/com/volmit/iris/object/IrisObject.java
@@ -12,6 +12,7 @@ import java.util.function.Consumer;
import org.bukkit.Location;
import org.bukkit.Material;
+import org.bukkit.block.data.BlockData;
import org.bukkit.block.data.Waterlogged;
import org.bukkit.block.data.type.Leaves;
import org.bukkit.util.BlockVector;
@@ -36,12 +37,12 @@ import lombok.experimental.Accessors;
@EqualsAndHashCode(callSuper = false)
public class IrisObject extends IrisRegistrant
{
- private static final FastBlockData AIR = B.getBlockData("CAVE_AIR");
- private static final FastBlockData VAIR = B.getBlockData("VOID_AIR");
- private static final FastBlockData VAIR_DEBUG = B.getBlockData("COBWEB");
- private static final FastBlockData[] SNOW_LAYERS = new FastBlockData[] {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 AIR = B.getBlockData("CAVE_AIR");
+ private static final BlockData VAIR = B.getBlockData("VOID_AIR");
+ private static final BlockData VAIR_DEBUG = B.getBlockData("COBWEB");
+ 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]")};
public static boolean shitty = false;
- private KMap blocks;
+ private KMap blocks;
private int w;
private int d;
private int h;
@@ -276,7 +277,7 @@ public class IrisObject extends IrisRegistrant
dos.writeShort(i.getBlockX());
dos.writeShort(i.getBlockY());
dos.writeShort(i.getBlockZ());
- dos.writeUTF(blocks.get(i).getBlockData().getAsString(true));
+ dos.writeUTF(blocks.get(i).getAsString(true));
}
}
@@ -286,7 +287,7 @@ public class IrisObject extends IrisRegistrant
{
return;
}
- KMap d = blocks.copy();
+ KMap d = blocks.copy();
blocks.clear();
for(BlockVector i : d.k())
@@ -295,7 +296,7 @@ public class IrisObject extends IrisRegistrant
}
}
- public void setUnsigned(int x, int y, int z, FastBlockData block)
+ public void setUnsigned(int x, int y, int z, BlockData block)
{
if(shitty)
{
@@ -507,21 +508,21 @@ public class IrisObject extends IrisRegistrant
BlockVector i = g.clone();
i = config.getRotation().rotate(i.clone(), spinx, spiny, spinz).clone();
i = config.getTranslate().translate(i.clone(), config.getRotation(), spinx, spiny, spinz).clone();
- FastBlockData data = blocks.get(g).clone();
+ BlockData data = blocks.get(g).clone();
if(stilting && i.getBlockY() < lowest && !B.isAir(data))
{
lowest = i.getBlockY();
}
- if(placer.isPreventingDecay() && (data.getBlockData()) instanceof Leaves && !((Leaves) (data.getBlockData())).isPersistent())
+ if(placer.isPreventingDecay() && (data) instanceof Leaves && !((Leaves) (data)).isPersistent())
{
- ((Leaves) data.getBlockData()).setPersistent(true);
+ ((Leaves) data).setPersistent(true);
}
for(IrisObjectReplace j : config.getEdit())
{
- for(FastBlockData k : j.getFind(rdata))
+ for(BlockData k : j.getFind(rdata))
{
if(j.isExact() ? k.matches(data) : k.getMaterial().equals(data.getMaterial()))
{
@@ -595,7 +596,7 @@ public class IrisObject extends IrisRegistrant
continue;
}
- FastBlockData d = blocks.get(i);
+ BlockData d = blocks.get(i);
if(d == null || B.isAir(d))
{
@@ -653,7 +654,7 @@ public class IrisObject extends IrisRegistrant
return;
}
- KMap v = blocks.copy();
+ KMap v = blocks.copy();
blocks.clear();
for(BlockVector i : v.keySet())
@@ -671,7 +672,7 @@ public class IrisObject extends IrisRegistrant
for(BlockVector i : blocks.keySet())
{
- at.clone().add(0, getCenter().getY(), 0).add(i).getBlock().setBlockData(blocks.get(i).getBlockData(), false);
+ at.clone().add(0, getCenter().getY(), 0).add(i).getBlock().setBlockData(blocks.get(i), false);
}
}
}
diff --git a/src/main/java/com/volmit/iris/object/IrisObjectReplace.java b/src/main/java/com/volmit/iris/object/IrisObjectReplace.java
index 3167c6fe4..7f45c3b3e 100644
--- a/src/main/java/com/volmit/iris/object/IrisObjectReplace.java
+++ b/src/main/java/com/volmit/iris/object/IrisObjectReplace.java
@@ -14,6 +14,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
+import org.bukkit.block.data.BlockData;
@Accessors(chain = true)
@NoArgsConstructor
@@ -38,18 +39,18 @@ public class IrisObjectReplace
private boolean exact = false;
private final transient AtomicCache replaceGen = new AtomicCache<>();
- private final transient AtomicCache> findData = new AtomicCache<>();
- private final transient AtomicCache> replaceData = new AtomicCache<>();
+ private final transient AtomicCache> findData = new AtomicCache<>();
+ private final transient AtomicCache> replaceData = new AtomicCache<>();
- public KList getFind(IrisDataManager rdata)
+ public KList getFind(IrisDataManager rdata)
{
return findData.aquire(() ->
{
- KList b = new KList<>();
+ KList b = new KList<>();
for(IrisBlockData i : find)
{
- FastBlockData bx = i.getBlockData(rdata);
+ BlockData bx = i.getBlockData(rdata);
if(bx != null)
{
@@ -61,7 +62,7 @@ public class IrisObjectReplace
});
}
- public FastBlockData getReplace(RNG seed, double x, double y, double z, IrisDataManager rdata)
+ public BlockData getReplace(RNG seed, double x, double y, double z, IrisDataManager rdata)
{
return getReplace().get(seed, x, y, z, rdata);
}
diff --git a/src/main/java/com/volmit/iris/object/IrisObjectRotation.java b/src/main/java/com/volmit/iris/object/IrisObjectRotation.java
index 0eda862e0..2b5cf2ec7 100644
--- a/src/main/java/com/volmit/iris/object/IrisObjectRotation.java
+++ b/src/main/java/com/volmit/iris/object/IrisObjectRotation.java
@@ -111,16 +111,16 @@ public class IrisObjectRotation
return BlockFace.SOUTH;
}
- public FastBlockData rotate(FastBlockData dd, int spinxx, int spinyy, int spinzz)
+ public BlockData rotate(BlockData dd, int spinxx, int spinyy, int spinzz)
{
- BlockData d = dd.getBlockData();
+ BlockData d = dd;
int spinx = (int) (90D * (Math.ceil(Math.abs((spinxx % 360D) / 90D))));
int spiny = (int) (90D * (Math.ceil(Math.abs((spinyy % 360D) / 90D))));
int spinz = (int) (90D * (Math.ceil(Math.abs((spinzz % 360D) / 90D))));
if(!canRotate())
{
- return FastBlockData.of(d);
+ return d;
}
if(d instanceof Directional)
@@ -180,7 +180,7 @@ public class IrisObjectRotation
}
}
- return FastBlockData.of(d);
+ return d;
}
public BlockVector rotate(BlockVector b, int spinx, int spiny, int spinz)
diff --git a/src/main/java/com/volmit/iris/structure/StructureTemplate.java b/src/main/java/com/volmit/iris/structure/StructureTemplate.java
index 19310397b..5944eb8ae 100644
--- a/src/main/java/com/volmit/iris/structure/StructureTemplate.java
+++ b/src/main/java/com/volmit/iris/structure/StructureTemplate.java
@@ -10,6 +10,7 @@ import org.bukkit.Particle;
import org.bukkit.Sound;
import org.bukkit.World;
import org.bukkit.block.Block;
+import org.bukkit.block.data.BlockData;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
@@ -69,9 +70,9 @@ public class StructureTemplate implements Listener, IObjectPlacer
private Location center;
private ChronoLatch u = new ChronoLatch(50);
private World world;
- private static final FastBlockData STONE = B.get("STONE");
- private static final FastBlockData RED = B.get("RED_STAINED_GLASS");
- private static final FastBlockData GREEN = B.get("LIME_STAINED_GLASS");
+ private static final BlockData STONE = B.get("STONE");
+ private static final BlockData RED = B.get("RED_STAINED_GLASS");
+ private static final BlockData GREEN = B.get("LIME_STAINED_GLASS");
private int task;
private ChronoLatch dirtyLatch;
private ChronoLatch gLatch;
@@ -445,7 +446,7 @@ public class StructureTemplate implements Listener, IObjectPlacer
Location loc = new Location(world, b.getX(), b.getY(), b.getZ());
BlockVector v = loc.clone().subtract(min).subtract(o.getCenter()).toVector().toBlockVector();
v = r.getPlacement().getRotation().rotate(v, 0, 0, 0);
- FastBlockData next = r.getPlacement().getRotation().rotate(FastBlockData.of(b.getBlockData()), 0, 0, 0);
+ BlockData next = r.getPlacement().getRotation().rotate(b.getBlockData(), 0, 0, 0);
o.getBlocks().put(v, next);
}
@@ -788,7 +789,7 @@ public class StructureTemplate implements Listener, IObjectPlacer
}
@Override
- public void set(int x, int y, int z, FastBlockData d)
+ public void set(int x, int y, int z, BlockData d)
{
if(get(x, y, z).equals(d))
{
@@ -799,9 +800,9 @@ public class StructureTemplate implements Listener, IObjectPlacer
}
@Override
- public FastBlockData get(int x, int y, int z)
+ public BlockData get(int x, int y, int z)
{
- return FastBlockData.of(world.getBlockAt(x, y, z).getBlockData());
+ return world.getBlockAt(x, y, z).getBlockData();
}
@Override
diff --git a/src/main/java/com/volmit/iris/util/B.java b/src/main/java/com/volmit/iris/util/B.java
index c7ae6bf91..e56b67112 100644
--- a/src/main/java/com/volmit/iris/util/B.java
+++ b/src/main/java/com/volmit/iris/util/B.java
@@ -2,6 +2,7 @@ package com.volmit.iris.util;
import org.bukkit.Bukkit;
import org.bukkit.Material;
+import org.bukkit.block.data.BlockData;
import org.bukkit.block.data.type.Leaves;
import com.volmit.iris.Iris;
@@ -9,33 +10,33 @@ import com.volmit.iris.object.IrisDimension;
public class B
{
- private static final FastBlockData AIR = FastBlockData.of(Material.AIR);
- private static final KMap bdc = new KMap<>();
+ private static final BlockData AIR = Material.AIR.createBlockData();
+ private static final KMap bdc = new KMap<>();
private static final KList nulls = new KList<>();
private static final KList canPlaceOn = new KList<>();
- private static final KList decorant = new KList<>();
+ private static final KList decorant = new KList<>();
private static final IrisDimension defaultCompat = new IrisDimension();
private static final KMap solid = new KMap<>();
- private static final KMap types = new KMap<>();
- private static final KMap typesb = new KMap<>();
+ private static final KMap types = new KMap<>();
+ private static final KMap typesb = new KMap<>();
private static IrisLock lock = new IrisLock("Typelock");
- public static FastBlockData get(String bd)
+ public static BlockData get(String bd)
{
return getBlockData(bd);
}
- public static boolean isWater(FastBlockData b)
+ public static boolean isWater(BlockData b)
{
return b.getMaterial().equals(Material.WATER);
}
- public static FastBlockData getAir()
+ public static BlockData getAir()
{
return AIR;
}
- public static KMap getBdc()
+ public static KMap getBdc()
{
return bdc;
}
@@ -50,7 +51,7 @@ public class B
return canPlaceOn;
}
- public static KList getDecorant()
+ public static KList getDecorant()
{
return decorant;
}
@@ -65,12 +66,12 @@ public class B
return solid;
}
- public static KMap getTypes()
+ public static KMap getTypes()
{
return types;
}
- public static KMap getTypesb()
+ public static KMap getTypesb()
{
return typesb;
}
@@ -93,7 +94,7 @@ public class B
try
{
- return FastBlockData.of(Material.valueOf(k));
+ return Material.valueOf(k);
}
catch(Throwable e)
@@ -101,8 +102,8 @@ public class B
}
- return FastBlockData.of(defaultCompat.resolveItem(bdx));
- }).getType();
+ return defaultCompat.resolveItem(bdx);
+ });
}
public static Material getMaterialOrNull(String bdx)
@@ -120,7 +121,7 @@ public class B
}
}
- public static boolean isSolid(FastBlockData mat)
+ public static boolean isSolid(BlockData mat)
{
return isSolid(mat.getMaterial());
}
@@ -130,14 +131,14 @@ public class B
return mat.isSolid();
}
- public static FastBlockData mat(String bd)
+ public static BlockData mat(String bd)
{
return getBlockData(bd);
}
- public static FastBlockData getBlockData(String bd)
+ public static BlockData getBlockData(String bd)
{
- return getBlockData(bd, defaultCompat).optimize();
+ return getBlockData(bd, defaultCompat);
}
public static String[] getBlockTypes()
@@ -180,18 +181,18 @@ public class B
return bt.toArray(new String[bt.size()]);
}
- public static FastBlockData getBlockData(String bdxf, IrisDimension resolver)
+ public static BlockData getBlockData(String bdxf, IrisDimension resolver)
{
try
{
String bd = bdxf.trim();
- FastBlockData fff = bdc.get(bd);
+ BlockData fff = bdc.get(bd);
if(fff != null)
{
return fff.clone();
}
- FastBlockData bdx = parseBlockData(bd);
+ BlockData bdx = parseBlockData(bd);
if(bdx == null)
{
@@ -202,7 +203,7 @@ public class B
{
Iris.warn("Unknown Block Data '" + bd + "'");
nulls.add(bd);
- return bdx;
+ return AIR;
}
if(resolver.isPreventLeafDecay() && bdx instanceof Leaves)
@@ -223,11 +224,11 @@ public class B
return AIR;
}
- public static FastBlockData parseBlockDataOrNull(String ix)
+ public static BlockData parseBlockDataOrNull(String ix)
{
try
{
- FastBlockData bx = FastBlockData.of(Bukkit.createBlockData(ix));
+ BlockData bx = Bukkit.createBlockData(ix);
if(bx != null)
{
@@ -246,7 +247,7 @@ public class B
try
{
- return FastBlockData.of(Material.valueOf(i));
+ return Material.valueOf(i).createBlockData();
}
catch(Throwable e)
@@ -257,11 +258,11 @@ public class B
return null;
}
- public static FastBlockData parseBlockData(String ix)
+ public static BlockData parseBlockData(String ix)
{
try
{
- FastBlockData bx = FastBlockData.of(Bukkit.createBlockData(ix));
+ BlockData bx = Bukkit.createBlockData(ix);
if(bx != null)
{
@@ -280,7 +281,7 @@ public class B
try
{
- return FastBlockData.of(Material.valueOf(i));
+ return Material.valueOf(i).createBlockData();
}
catch(Throwable e)
@@ -291,137 +292,137 @@ public class B
return AIR;
}
- public static boolean isStorage(FastBlockData mat)
+ public static boolean isStorage(BlockData mat)
{
// @builder
- return mat.matEquals(B.mat("CHEST"))
- || mat.matEquals(B.mat("TRAPPED_CHEST"))
- || mat.matEquals(B.mat("SHULKER_BOX"))
- || mat.matEquals(B.mat("WHITE_SHULKER_BOX"))
- || mat.matEquals(B.mat("ORANGE_SHULKER_BOX"))
- || mat.matEquals(B.mat("MAGENTA_SHULKER_BOX"))
- || mat.matEquals(B.mat("LIGHT_BLUE_SHULKER_BOX"))
- || mat.matEquals(B.mat("YELLOW_SHULKER_BOX"))
- || mat.matEquals(B.mat("LIME_SHULKER_BOX"))
- || mat.matEquals(B.mat("PINK_SHULKER_BOX"))
- || mat.matEquals(B.mat("GRAY_SHULKER_BOX"))
- || mat.matEquals(B.mat("LIGHT_GRAY_SHULKER_BOX"))
- || mat.matEquals(B.mat("CYAN_SHULKER_BOX"))
- || mat.matEquals(B.mat("PURPLE_SHULKER_BOX"))
- || mat.matEquals(B.mat("BLUE_SHULKER_BOX"))
- || mat.matEquals(B.mat("BROWN_SHULKER_BOX"))
- || mat.matEquals(B.mat("GREEN_SHULKER_BOX"))
- || mat.matEquals(B.mat("RED_SHULKER_BOX"))
- || mat.matEquals(B.mat("BLACK_SHULKER_BOX"))
- || mat.matEquals(B.mat("BARREL"))
- || mat.matEquals(B.mat("DISPENSER"))
- || mat.matEquals(B.mat("DROPPER"))
- || mat.matEquals(B.mat("HOPPER"))
- || mat.matEquals(B.mat("FURNACE"))
- || mat.matEquals(B.mat("BLAST_FURNACE"))
- || mat.matEquals(B.mat("SMOKER"));
+ return mat.getMaterial().equals(B.mat("CHEST").getMaterial())
+ || mat.getMaterial().equals(B.mat("TRAPPED_CHEST").getMaterial())
+ || mat.getMaterial().equals(B.mat("SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("WHITE_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("ORANGE_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("MAGENTA_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("LIGHT_BLUE_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("YELLOW_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("LIME_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("PINK_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("GRAY_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("LIGHT_GRAY_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("CYAN_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("PURPLE_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("BLUE_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("BROWN_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("GREEN_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("RED_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("BLACK_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("BARREL").getMaterial())
+ || mat.getMaterial().equals(B.mat("DISPENSER").getMaterial())
+ || mat.getMaterial().equals(B.mat("DROPPER").getMaterial())
+ || mat.getMaterial().equals(B.mat("HOPPER").getMaterial())
+ || mat.getMaterial().equals(B.mat("FURNACE").getMaterial())
+ || mat.getMaterial().equals(B.mat("BLAST_FURNACE").getMaterial())
+ || mat.getMaterial().equals(B.mat("SMOKER").getMaterial());
//@done
}
- public static boolean isStorageChest(FastBlockData mat)
+ public static boolean isStorageChest(BlockData mat)
{
// @builder
- return mat.matEquals(B.mat("CHEST"))
- || mat.matEquals(B.mat("TRAPPED_CHEST"))
- || mat.matEquals(B.mat("SHULKER_BOX"))
- || mat.matEquals(B.mat("WHITE_SHULKER_BOX"))
- || mat.matEquals(B.mat("ORANGE_SHULKER_BOX"))
- || mat.matEquals(B.mat("MAGENTA_SHULKER_BOX"))
- || mat.matEquals(B.mat("LIGHT_BLUE_SHULKER_BOX"))
- || mat.matEquals(B.mat("YELLOW_SHULKER_BOX"))
- || mat.matEquals(B.mat("LIME_SHULKER_BOX"))
- || mat.matEquals(B.mat("PINK_SHULKER_BOX"))
- || mat.matEquals(B.mat("GRAY_SHULKER_BOX"))
- || mat.matEquals(B.mat("LIGHT_GRAY_SHULKER_BOX"))
- || mat.matEquals(B.mat("CYAN_SHULKER_BOX"))
- || mat.matEquals(B.mat("PURPLE_SHULKER_BOX"))
- || mat.matEquals(B.mat("BLUE_SHULKER_BOX"))
- || mat.matEquals(B.mat("BROWN_SHULKER_BOX"))
- || mat.matEquals(B.mat("GREEN_SHULKER_BOX"))
- || mat.matEquals(B.mat("RED_SHULKER_BOX"))
- || mat.matEquals(B.mat("BLACK_SHULKER_BOX"))
- || mat.matEquals(B.mat("BARREL"))
- || mat.matEquals(B.mat("DISPENSER"))
- || mat.matEquals(B.mat("DROPPER"))
- || mat.matEquals(B.mat("HOPPER"));
+ return mat.getMaterial().equals(B.mat("CHEST").getMaterial())
+ || mat.getMaterial().equals(B.mat("TRAPPED_CHEST").getMaterial())
+ || mat.getMaterial().equals(B.mat("SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("WHITE_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("ORANGE_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("MAGENTA_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("LIGHT_BLUE_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("YELLOW_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("LIME_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("PINK_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("GRAY_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("LIGHT_GRAY_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("CYAN_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("PURPLE_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("BLUE_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("BROWN_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("GREEN_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("RED_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("BLACK_SHULKER_BOX").getMaterial())
+ || mat.getMaterial().equals(B.mat("BARREL").getMaterial())
+ || mat.getMaterial().equals(B.mat("DISPENSER").getMaterial())
+ || mat.getMaterial().equals(B.mat("DROPPER").getMaterial())
+ || mat.getMaterial().equals(B.mat("HOPPER").getMaterial());
//@done
}
- public static boolean isLit(FastBlockData mat)
+ public static boolean isLit(BlockData mat)
{
// @builder
- return mat.matEquals(B.mat("GLOWSTONE"))
- || mat.matEquals(B.mat("END_ROD"))
- || mat.matEquals(B.mat("SOUL_SAND"))
- || mat.matEquals(B.mat("TORCH"))
- || mat.getType().equals(Material.REDSTONE_TORCH)
- || mat.matEquals(B.mat("SOUL_TORCH"))
- || mat.getType().equals(Material.REDSTONE_WALL_TORCH)
- || mat.getType().equals(Material.WALL_TORCH)
- || mat.matEquals(B.mat("SOUL_WALL_TORCH"))
- || mat.matEquals(B.mat("LANTERN"))
- || mat.getType().equals(Material.JACK_O_LANTERN)
- || mat.getType().equals(Material.REDSTONE_LAMP)
- || mat.getType().equals(Material.MAGMA_BLOCK)
- || mat.matEquals(B.mat("SHROOMLIGHT"))
- || mat.matEquals(B.mat("SEA_LANTERN"))
- || mat.matEquals(B.mat("SOUL_LANTERN"))
- || mat.getType().equals(Material.FIRE)
- || mat.matEquals(B.mat("SOUL_FIRE"))
- || mat.matEquals(B.mat("SEA_PICKLE"))
- || mat.getType().equals(Material.BREWING_STAND)
- || mat.getType().equals(Material.REDSTONE_ORE);
+ return mat.getMaterial().equals(B.mat("GLOWSTONE").getMaterial())
+ || mat.getMaterial().equals(B.mat("END_ROD").getMaterial())
+ || mat.getMaterial().equals(B.mat("SOUL_SAND").getMaterial())
+ || mat.getMaterial().equals(B.mat("TORCH").getMaterial())
+ || mat.getMaterial().equals(Material.REDSTONE_TORCH)
+ || mat.getMaterial().equals(B.mat("SOUL_TORCH").getMaterial())
+ || mat.getMaterial().equals(Material.REDSTONE_WALL_TORCH)
+ || mat.getMaterial().equals(Material.WALL_TORCH)
+ || mat.getMaterial().equals(B.mat("SOUL_WALL_TORCH").getMaterial())
+ || mat.getMaterial().equals(B.mat("LANTERN").getMaterial())
+ || mat.getMaterial().equals(Material.JACK_O_LANTERN)
+ || mat.getMaterial().equals(Material.REDSTONE_LAMP)
+ || mat.getMaterial().equals(Material.MAGMA_BLOCK)
+ || mat.getMaterial().equals(B.mat("SHROOMLIGHT").getMaterial())
+ || mat.getMaterial().equals(B.mat("SEA_LANTERN").getMaterial())
+ || mat.getMaterial().equals(B.mat("SOUL_LANTERN").getMaterial())
+ || mat.getMaterial().equals(Material.FIRE)
+ || mat.getMaterial().equals(B.mat("SOUL_FIRE").getMaterial())
+ || mat.getMaterial().equals(B.mat("SEA_PICKLE").getMaterial())
+ || mat.getMaterial().equals(Material.BREWING_STAND)
+ || mat.getMaterial().equals(Material.REDSTONE_ORE);
//@done
}
- public static boolean isUpdatable(FastBlockData mat)
+ public static boolean isUpdatable(BlockData mat)
{
return isLit(mat) || isStorage(mat);
}
- public static boolean isFoliage(FastBlockData d)
+ public static boolean isFoliage(BlockData d)
{
if(isFluid(d) || isAir(d) || isSolid(d))
{
return false;
}
- FastBlockData mat = d;
+ BlockData mat = d;
// @builder
- return mat.getType().equals(Material.POPPY)
- || mat.getType().equals(Material.DANDELION)
- || mat.matEquals(B.mat("CORNFLOWER"))
- || mat.matEquals(B.mat("SWEET_BERRY_BUSH"))
- || mat.matEquals(B.mat("CRIMSON_ROOTS"))
- || mat.matEquals(B.mat("WARPED_ROOTS"))
- || mat.matEquals(B.mat("NETHER_SPROUTS"))
- || mat.matEquals(B.mat("ALLIUM"))
- || mat.matEquals(B.mat("AZURE_BLUET"))
- || mat.matEquals(B.mat("BLUE_ORCHID"))
- || mat.matEquals(B.mat("POPPY"))
- || mat.matEquals(B.mat("DANDELION"))
- || mat.matEquals(B.mat("OXEYE_DAISY"))
- || mat.matEquals(B.mat("LILY_OF_THE_VALLEY"))
- || mat.matEquals(B.mat("WITHER_ROSE"))
- || mat.getType().equals(Material.DARK_OAK_SAPLING)
- || mat.getType().equals(Material.ACACIA_SAPLING)
- || mat.getType().equals(Material.JUNGLE_SAPLING)
- || mat.getType().equals(Material.BIRCH_SAPLING)
- || mat.getType().equals(Material.SPRUCE_SAPLING)
- || mat.getType().equals(Material.OAK_SAPLING)
- || mat.getType().equals(Material.ORANGE_TULIP)
- || mat.getType().equals(Material.PINK_TULIP)
- || mat.getType().equals(Material.RED_TULIP)
- || mat.getType().equals(Material.WHITE_TULIP)
- || mat.getType().equals(Material.FERN)
- || mat.getType().equals(Material.LARGE_FERN)
- || mat.getType().equals(Material.GRASS)
- || mat.getType().equals(Material.TALL_GRASS);
+ return mat.getMaterial().equals(Material.POPPY)
+ || mat.getMaterial().equals(Material.DANDELION)
+ || mat.getMaterial().equals(B.mat("CORNFLOWER").getMaterial())
+ || mat.getMaterial().equals(B.mat("SWEET_BERRY_BUSH").getMaterial())
+ || mat.getMaterial().equals(B.mat("CRIMSON_ROOTS").getMaterial())
+ || mat.getMaterial().equals(B.mat("WARPED_ROOTS").getMaterial())
+ || mat.getMaterial().equals(B.mat("NETHER_SPROUTS").getMaterial())
+ || mat.getMaterial().equals(B.mat("ALLIUM").getMaterial())
+ || mat.getMaterial().equals(B.mat("AZURE_BLUET").getMaterial())
+ || mat.getMaterial().equals(B.mat("BLUE_ORCHID").getMaterial())
+ || mat.getMaterial().equals(B.mat("POPPY").getMaterial())
+ || mat.getMaterial().equals(B.mat("DANDELION").getMaterial())
+ || mat.getMaterial().equals(B.mat("OXEYE_DAISY").getMaterial())
+ || mat.getMaterial().equals(B.mat("LILY_OF_THE_VALLEY").getMaterial())
+ || mat.getMaterial().equals(B.mat("WITHER_ROSE").getMaterial())
+ || mat.getMaterial().equals(Material.DARK_OAK_SAPLING)
+ || mat.getMaterial().equals(Material.ACACIA_SAPLING)
+ || mat.getMaterial().equals(Material.JUNGLE_SAPLING)
+ || mat.getMaterial().equals(Material.BIRCH_SAPLING)
+ || mat.getMaterial().equals(Material.SPRUCE_SAPLING)
+ || mat.getMaterial().equals(Material.OAK_SAPLING)
+ || mat.getMaterial().equals(Material.ORANGE_TULIP)
+ || mat.getMaterial().equals(Material.PINK_TULIP)
+ || mat.getMaterial().equals(Material.RED_TULIP)
+ || mat.getMaterial().equals(Material.WHITE_TULIP)
+ || mat.getMaterial().equals(Material.FERN)
+ || mat.getMaterial().equals(Material.LARGE_FERN)
+ || mat.getMaterial().equals(Material.GRASS)
+ || mat.getMaterial().equals(Material.TALL_GRASS);
//@done
}
@@ -472,7 +473,11 @@ public class B
}
}
- if(onto.equals(Material.ACACIA_LEAVES) || onto.equals(Material.BIRCH_LEAVES) || onto.equals(Material.DARK_OAK_LEAVES) || onto.equals(Material.JUNGLE_LEAVES) || onto.equals(Material.OAK_LEAVES) || onto.equals(Material.SPRUCE_LEAVES))
+ if(onto.equals(Material.ACACIA_LEAVES) || onto.equals(Material.BIRCH_LEAVES)
+ || onto.equals(Material.DARK_OAK_LEAVES)
+ || onto.equals(Material.JUNGLE_LEAVES)
+ || onto.equals(Material.OAK_LEAVES)
+ || onto.equals(Material.SPRUCE_LEAVES))
{
if(!mat.isSolid())
{
@@ -486,15 +491,66 @@ public class B
return true;
}
- public static boolean isDecorant(FastBlockData m)
+ public static boolean isDecorant(BlockData m)
{
if(decorant.contains(m))
{
return true;
}
- // @NoArgsConstructor
- boolean str = m.getType().equals(Material.GRASS) || m.getType().equals(Material.TALL_GRASS) || m.equals(B.mat("CORNFLOWER")) || m.getType().equals(Material.SUNFLOWER) || m.getType().equals(Material.CHORUS_FLOWER) || m.getType().equals(Material.POPPY) || m.getType().equals(Material.DANDELION) || m.getType().equals(Material.OXEYE_DAISY) || m.getType().equals(Material.ORANGE_TULIP) || m.getType().equals(Material.PINK_TULIP) || m.getType().equals(Material.RED_TULIP) || m.getType().equals(Material.WHITE_TULIP) || m.getType().equals(Material.LILAC) || m.getType().equals(Material.DEAD_BUSH) || m.equals(B.mat("SWEET_BERRY_BUSH")) || m.getType().equals(Material.ROSE_BUSH) || m.equals(B.mat("WITHER_ROSE")) || m.getType().equals(Material.ALLIUM) || m.getType().equals(Material.BLUE_ORCHID) || m.equals(B.mat("LILY_OF_THE_VALLEY")) || m.equals(B.mat("CRIMSON_FUNGUS")) || m.equals(B.mat("WARPED_FUNGUS")) || m.getType().equals(Material.RED_MUSHROOM) || m.getType().equals(Material.BROWN_MUSHROOM) || m.equals(B.mat("CRIMSON_ROOTS")) || m.equals(B.mat("AZURE_BLUET")) || m.equals(B.mat("WEEPING_VINES")) || m.equals(B.mat("WEEPING_VINES_PLANT")) || m.equals(B.mat("WARPED_ROOTS")) || m.equals(B.mat("NETHER_SPROUTS")) || m.equals(B.mat("TWISTING_VINES")) || m.equals(B.mat("TWISTING_VINES_PLANT")) || m.getType().equals(Material.SUGAR_CANE) || m.getType().equals(Material.WHEAT) || m.getType().equals(Material.POTATOES) || m.getType().equals(Material.CARROTS) || m.getType().equals(Material.BEETROOTS) || m.getType().equals(Material.NETHER_WART) || m.equals(B.mat("SEA_PICKLE")) || m.equals(B.mat("SEAGRASS")) || m.equals(B.mat("ACACIA_BUTTON")) || m.equals(B.mat("BIRCH_BUTTON")) || m.equals(B.mat("CRIMSON_BUTTON")) || m.equals(B.mat("DARK_OAK_BUTTON")) || m.equals(B.mat("JUNGLE_BUTTON")) || m.equals(B.mat("OAK_BUTTON")) || m.equals(B.mat("POLISHED_BLACKSTONE_BUTTON")) || m.equals(B.mat("SPRUCE_BUTTON")) || m.equals(B.mat("STONE_BUTTON")) || m.equals(B.mat("WARPED_BUTTON")) || m.getType().equals(Material.TORCH) || m.equals(B.mat("SOUL_TORCH"));
+ // @builder
+ boolean str = m.getMaterial().equals(Material.GRASS)
+ || m.getMaterial().equals(Material.TALL_GRASS)
+ || m.equals(B.mat("CORNFLOWER"))
+ || m.getMaterial().equals(Material.SUNFLOWER)
+ || m.getMaterial().equals(Material.CHORUS_FLOWER)
+ || m.getMaterial().equals(Material.POPPY)
+ || m.getMaterial().equals(Material.DANDELION)
+ || m.getMaterial().equals(Material.OXEYE_DAISY)
+ || m.getMaterial().equals(Material.ORANGE_TULIP)
+ || m.getMaterial().equals(Material.PINK_TULIP)
+ || m.getMaterial().equals(Material.RED_TULIP)
+ || m.getMaterial().equals(Material.WHITE_TULIP)
+ || m.getMaterial().equals(Material.LILAC)
+ || m.getMaterial().equals(Material.DEAD_BUSH)
+ || m.equals(B.mat("SWEET_BERRY_BUSH"))
+ || m.getMaterial().equals(Material.ROSE_BUSH)
+ || m.equals(B.mat("WITHER_ROSE"))
+ || m.getMaterial().equals(Material.ALLIUM)
+ || m.getMaterial().equals(Material.BLUE_ORCHID)
+ || m.equals(B.mat("LILY_OF_THE_VALLEY"))
+ || m.equals(B.mat("CRIMSON_FUNGUS"))
+ || m.equals(B.mat("WARPED_FUNGUS"))
+ || m.getMaterial().equals(Material.RED_MUSHROOM)
+ || m.getMaterial().equals(Material.BROWN_MUSHROOM)
+ || m.equals(B.mat("CRIMSON_ROOTS"))
+ || m.equals(B.mat("AZURE_BLUET"))
+ || m.equals(B.mat("WEEPING_VINES"))
+ || m.equals(B.mat("WEEPING_VINES_PLANT"))
+ || m.equals(B.mat("WARPED_ROOTS"))
+ || m.equals(B.mat("NETHER_SPROUTS"))
+ || m.equals(B.mat("TWISTING_VINES"))
+ || m.equals(B.mat("TWISTING_VINES_PLANT"))
+ || m.getMaterial().equals(Material.SUGAR_CANE)
+ || m.getMaterial().equals(Material.WHEAT)
+ || m.getMaterial().equals(Material.POTATOES)
+ || m.getMaterial().equals(Material.CARROTS)
+ || m.getMaterial().equals(Material.BEETROOTS)
+ || m.getMaterial().equals(Material.NETHER_WART)
+ || m.equals(B.mat("SEA_PICKLE"))
+ || m.equals(B.mat("SEAGRASS"))
+ || m.equals(B.mat("ACACIA_BUTTON"))
+ || m.equals(B.mat("BIRCH_BUTTON"))
+ || m.equals(B.mat("CRIMSON_BUTTON"))
+ || m.equals(B.mat("DARK_OAK_BUTTON"))
+ || m.equals(B.mat("JUNGLE_BUTTON"))
+ || m.equals(B.mat("OAK_BUTTON"))
+ || m.equals(B.mat("POLISHED_BLACKSTONE_BUTTON"))
+ || m.equals(B.mat("SPRUCE_BUTTON"))
+ || m.equals(B.mat("STONE_BUTTON"))
+ || m.equals(B.mat("WARPED_BUTTON"))
+ || m.getMaterial().equals(Material.TORCH)
+ || m.equals(B.mat("SOUL_TORCH"));
//@done
if(str)
@@ -506,13 +562,13 @@ public class B
return false;
}
- public static KList getBlockData(KList find)
+ public static KList getBlockData(KList find)
{
- KList b = new KList<>();
+ KList b = new KList<>();
for(String i : find)
{
- FastBlockData bd = getBlockData(i);
+ BlockData bd = getBlockData(i);
if(bd != null)
{
@@ -523,22 +579,22 @@ public class B
return b;
}
- public static boolean isFoliagePlantable(FastBlockData d)
+ public static boolean isFoliagePlantable(BlockData d)
{
return d.getMaterial().equals(Material.GRASS_BLOCK) || d.getMaterial().equals(Material.DIRT) || d.getMaterial().equals(Material.COARSE_DIRT) || d.getMaterial().equals(Material.PODZOL);
}
- public static boolean isFluid(FastBlockData d)
+ public static boolean isFluid(BlockData d)
{
return d.getMaterial().equals(Material.WATER) || d.getMaterial().equals(Material.LAVA);
}
- public static boolean isAirOrFluid(FastBlockData d)
+ public static boolean isAirOrFluid(BlockData d)
{
return isAir(d) || isFluid(d);
}
- public static boolean isAir(FastBlockData d)
+ public static boolean isAir(BlockData d)
{
if(d == null)
{
diff --git a/src/main/java/com/volmit/iris/util/IObjectPlacer.java b/src/main/java/com/volmit/iris/util/IObjectPlacer.java
index 95e8a58d4..10a7eef07 100644
--- a/src/main/java/com/volmit/iris/util/IObjectPlacer.java
+++ b/src/main/java/com/volmit/iris/util/IObjectPlacer.java
@@ -1,14 +1,16 @@
package com.volmit.iris.util;
+import org.bukkit.block.data.BlockData;
+
public interface IObjectPlacer
{
public int getHighest(int x, int z);
public int getHighest(int x, int z, boolean ignoreFluid);
- public void set(int x, int y, int z, FastBlockData d);
+ public void set(int x, int y, int z, BlockData d);
- public FastBlockData get(int x, int y, int z);
+ public BlockData get(int x, int y, int z);
public boolean isPreventingDecay();
diff --git a/src/main/java/com/volmit/iris/util/IPostBlockAccess.java b/src/main/java/com/volmit/iris/util/IPostBlockAccess.java
index eee6924e9..631d341ad 100644
--- a/src/main/java/com/volmit/iris/util/IPostBlockAccess.java
+++ b/src/main/java/com/volmit/iris/util/IPostBlockAccess.java
@@ -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 FastBlockData getPostBlock(int x, int y, int z, int currentPostX, int currentPostZ, ChunkData currentData);
+ public BlockData getPostBlock(int x, int y, int z, int currentPostX, int currentPostZ, ChunkData currentData);
- public void setPostBlock(int x, int y, int z, FastBlockData d, int currentPostX, int currentPostZ, ChunkData currentData);
+ public void setPostBlock(int x, int y, int z, BlockData d, int currentPostX, int currentPostZ, ChunkData currentData);
public int highestTerrainOrFluidBlock(int x, int z);
diff --git a/src/main/java/com/volmit/iris/util/IrisPostBlockFilter.java b/src/main/java/com/volmit/iris/util/IrisPostBlockFilter.java
index 6705399c6..9aa830cde 100644
--- a/src/main/java/com/volmit/iris/util/IrisPostBlockFilter.java
+++ b/src/main/java/com/volmit/iris/util/IrisPostBlockFilter.java
@@ -1,6 +1,7 @@
package com.volmit.iris.util;
import org.bukkit.Material;
+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;
@@ -32,13 +33,13 @@ public abstract class IrisPostBlockFilter implements IPostBlockAccess
public abstract void onPost(int x, int z, int currentPostX, int currentPostZ, ChunkData currentData, KList q);
@Override
- public FastBlockData getPostBlock(int x, int y, int z, int currentPostX, int currentPostZ, ChunkData currentData)
+ public BlockData getPostBlock(int x, int y, int z, int currentPostX, int currentPostZ, ChunkData currentData)
{
return gen.getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
}
@Override
- public void setPostBlock(int x, int y, int z, FastBlockData d, int currentPostX, int currentPostZ, ChunkData currentData)
+ public void setPostBlock(int x, int y, int z, BlockData d, int currentPostX, int currentPostZ, ChunkData currentData)
{
gen.setPostBlock(x, y, z, d, currentPostX, currentPostZ, currentData);
}
@@ -62,62 +63,62 @@ public abstract class IrisPostBlockFilter implements IPostBlockAccess
public boolean isAir(int x, int y, int z, int currentPostX, int currentPostZ, ChunkData currentData)
{
- FastBlockData d = getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
+ 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, int currentPostX, int currentPostZ, ChunkData currentData)
{
- FastBlockData d = getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
+ 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, int currentPostX, int currentPostZ, ChunkData currentData)
{
- FastBlockData d = getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
+ BlockData d = getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
return d.getMaterial().isSolid();
}
public boolean isSolidNonSlab(int x, int y, int z, int currentPostX, int currentPostZ, ChunkData currentData)
{
- FastBlockData d = getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
- return d.getMaterial().isSolid() && !(d.getBlockData() instanceof Slab);
+ 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)
{
- FastBlockData d = getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
+ 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, int currentPostX, int currentPostZ, ChunkData currentData)
{
- FastBlockData d = getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
- return d.getBlockData() instanceof Slab;
+ BlockData d = getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
+ return d instanceof Slab;
}
public boolean isSnowLayer(int x, int y, int z, int currentPostX, int currentPostZ, ChunkData currentData)
{
- FastBlockData d = getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
+ BlockData d = getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
return d.getMaterial().equals(Material.SNOW);
}
public boolean isWater(int x, int y, int z, int currentPostX, int currentPostZ, ChunkData currentData)
{
- FastBlockData d = getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
+ BlockData d = getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
return d.getMaterial().equals(Material.WATER);
}
public boolean isWaterOrWaterlogged(int x, int y, int z, int currentPostX, int currentPostZ, ChunkData currentData)
{
- FastBlockData d = getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
- return d.getMaterial().equals(Material.WATER) || (d.getBlockData() instanceof Waterlogged && ((Waterlogged) d.getBlockData()).isWaterlogged());
+ 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, int currentPostX, int currentPostZ, ChunkData currentData)
{
- FastBlockData d = getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
- return d.getBlockData() instanceof Levelled;
+ BlockData d = getPostBlock(x, y, z, currentPostX, currentPostZ, currentData);
+ return d instanceof Levelled;
}
@Override
diff --git a/src/main/java/com/volmit/iris/util/ParallaxSection.java b/src/main/java/com/volmit/iris/util/ParallaxSection.java
index 6d1a63262..9ff1284a8 100644
--- a/src/main/java/com/volmit/iris/util/ParallaxSection.java
+++ b/src/main/java/com/volmit/iris/util/ParallaxSection.java
@@ -20,7 +20,7 @@ public class ParallaxSection implements Writable
public ParallaxSection()
{
updates = new KSet();
- this.block = new DataPalette(B.get("AIR").getBlockData())
+ this.block = new DataPalette(B.get("AIR"))
{
@Override
public void writeType(BlockData t, DataOutputStream o) throws IOException
@@ -31,7 +31,7 @@ public class ParallaxSection implements Writable
@Override
public BlockData readType(DataInputStream i) throws IOException
{
- return B.get(i.readUTF()).getBlockData();
+ return B.get(i.readUTF());
}
};
}
@@ -55,7 +55,7 @@ public class ParallaxSection implements Writable
{
block.set(x, y, z, d);
- if(B.isUpdatable(FastBlockData.of(d)))
+ if(B.isUpdatable(d))
{
update(x, y, z);
}
diff --git a/src/main/java/com/volmit/iris/util/SKConversion.java b/src/main/java/com/volmit/iris/util/SKConversion.java
index 5a94a183c..4343dfac8 100644
--- a/src/main/java/com/volmit/iris/util/SKConversion.java
+++ b/src/main/java/com/volmit/iris/util/SKConversion.java
@@ -30,7 +30,7 @@ public class SKConversion
{
for(int k = clipboard.getMinimumPoint().getBlockZ(); k <= clipboard.getMaximumPoint().getBlockZ(); k++)
{
- o.setUnsigned(i - clipboard.getMinimumPoint().getBlockX(), j - clipboard.getMinimumPoint().getBlockY(), k - clipboard.getMinimumPoint().getBlockZ(), FastBlockData.of(BukkitAdapter.adapt(clipboard.getFullBlock(BlockVector3.at(i, j, k)))));
+ o.setUnsigned(i - clipboard.getMinimumPoint().getBlockX(), j - clipboard.getMinimumPoint().getBlockY(), k - clipboard.getMinimumPoint().getBlockZ(), BukkitAdapter.adapt(clipboard.getFullBlock(BlockVector3.at(i, j, k))));
}
}
}