|
|
|
|
@@ -5,36 +5,17 @@ import org.bukkit.Material;
|
|
|
|
|
import org.bukkit.block.data.BlockData;
|
|
|
|
|
|
|
|
|
|
import com.volmit.iris.Iris;
|
|
|
|
|
import com.volmit.iris.object.IrisDimension;
|
|
|
|
|
|
|
|
|
|
public class B
|
|
|
|
|
public class BlockDataTools
|
|
|
|
|
{
|
|
|
|
|
private static final BlockData AIR = Material.AIR.createBlockData();
|
|
|
|
|
private static final KMap<String, BlockData> bdc = new KMap<>();
|
|
|
|
|
private static final KList<String> nulls = new KList<>();
|
|
|
|
|
private static final IrisDimension defaultCompat = new IrisDimension();
|
|
|
|
|
|
|
|
|
|
public static BlockData get(String bd)
|
|
|
|
|
{
|
|
|
|
|
return getBlockData(bd);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static Material mat(String bd)
|
|
|
|
|
{
|
|
|
|
|
return getBlockData(bd).getMaterial();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static BlockData getBlockData(String bd)
|
|
|
|
|
{
|
|
|
|
|
return getBlockData(bd, defaultCompat);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static BlockData getBlockData(String bdxf, IrisDimension resolver)
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
String bd = bdxf.trim();
|
|
|
|
|
|
|
|
|
|
if(bdc.containsKey(bd))
|
|
|
|
|
{
|
|
|
|
|
return bdc.get(bd).clone();
|
|
|
|
|
@@ -42,11 +23,6 @@ public class B
|
|
|
|
|
|
|
|
|
|
BlockData bdx = parseBlockData(bd);
|
|
|
|
|
|
|
|
|
|
if(bdx == null)
|
|
|
|
|
{
|
|
|
|
|
bdx = resolver.resolve(bd);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(bdx == null)
|
|
|
|
|
{
|
|
|
|
|
Iris.warn("Unknown Block Data '" + bd + "'");
|
|
|
|
|
@@ -61,7 +37,7 @@ public class B
|
|
|
|
|
|
|
|
|
|
catch(Throwable e)
|
|
|
|
|
{
|
|
|
|
|
Iris.warn("Unknown Block Data '" + bdxf + "'");
|
|
|
|
|
Iris.warn("Unknown Block Data '" + bd + "'");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return AIR;
|
|
|
|
|
@@ -110,7 +86,7 @@ public class B
|
|
|
|
|
|
|
|
|
|
public static boolean isLit(Material mat)
|
|
|
|
|
{
|
|
|
|
|
if(mat.equals(B.mat("GLOWSTONE")) || mat.equals(B.mat("TORCH")) || mat.equals(Material.REDSTONE_TORCH) || mat.equals(B.mat("SOUL_TORCH")) || mat.equals(Material.REDSTONE_WALL_TORCH) || mat.equals(Material.WALL_TORCH) || mat.equals(B.mat("SOUL_WALL_TORCH")) || mat.equals(B.mat("LANTERN")) || mat.equals(Material.JACK_O_LANTERN) || mat.equals(Material.REDSTONE_LAMP) || mat.equals(Material.MAGMA_BLOCK) || mat.equals(B.mat("SEA_LANTERN")) || mat.equals(B.mat("SOUL_LANTERN")) || mat.equals(Material.FIRE) || mat.equals(B.mat("SOUL_FIRE")) || mat.equals(B.mat("SEA_PICKLE")) || mat.equals(Material.BREWING_STAND) || mat.equals(Material.REDSTONE_ORE))
|
|
|
|
|
if(mat.equals(Material.GLOWSTONE) || mat.equals(Material.TORCH) || mat.equals(Material.REDSTONE_TORCH) || mat.equals(Material.SOUL_TORCH) || mat.equals(Material.REDSTONE_WALL_TORCH) || mat.equals(Material.WALL_TORCH) || mat.equals(Material.SOUL_WALL_TORCH) || mat.equals(Material.LANTERN) || mat.equals(Material.JACK_O_LANTERN) || mat.equals(Material.REDSTONE_LAMP) || mat.equals(Material.MAGMA_BLOCK) || mat.equals(Material.SEA_LANTERN) || mat.equals(Material.SOUL_LANTERN) || mat.equals(Material.FIRE) || mat.equals(Material.SOUL_FIRE) || mat.equals(Material.SEA_PICKLE) || mat.equals(Material.BREWING_STAND) || mat.equals(Material.REDSTONE_ORE))
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
@@ -120,7 +96,7 @@ public class B
|
|
|
|
|
|
|
|
|
|
public static boolean canPlaceOnto(Material mat, Material onto)
|
|
|
|
|
{
|
|
|
|
|
if(onto.equals(Material.AIR) || onto.equals(B.mat("CAVE_AIR")))
|
|
|
|
|
if(onto.equals(Material.AIR) || onto.equals(Material.CAVE_AIR))
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
@@ -138,9 +114,9 @@ public class B
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(onto.equals(Material.STONE) || onto.equals(Material.GRAVEL) || onto.equals(Material.GRAVEL) || onto.equals(Material.ANDESITE) || onto.equals(Material.GRANITE) || onto.equals(Material.DIORITE) || onto.equals(B.mat("BLACKSTONE")) || onto.equals(B.mat("BASALT")))
|
|
|
|
|
if(onto.equals(Material.STONE) || onto.equals(Material.GRAVEL) || onto.equals(Material.GRAVEL) || onto.equals(Material.ANDESITE) || onto.equals(Material.GRANITE) || onto.equals(Material.DIORITE) || onto.equals(Material.BLACKSTONE) || onto.equals(Material.BASALT))
|
|
|
|
|
{
|
|
|
|
|
if(mat.equals(Material.POPPY) || mat.equals(Material.DANDELION) || mat.equals(B.mat("CORNFLOWER")) || mat.equals(Material.ORANGE_TULIP) || mat.equals(Material.PINK_TULIP) || mat.equals(Material.RED_TULIP) || mat.equals(Material.WHITE_TULIP) || mat.equals(Material.FERN) || mat.equals(Material.LARGE_FERN) || mat.equals(Material.GRASS) || mat.equals(Material.TALL_GRASS))
|
|
|
|
|
if(mat.equals(Material.POPPY) || mat.equals(Material.DANDELION) || mat.equals(Material.CORNFLOWER) || mat.equals(Material.ORANGE_TULIP) || mat.equals(Material.PINK_TULIP) || mat.equals(Material.RED_TULIP) || mat.equals(Material.WHITE_TULIP) || mat.equals(Material.FERN) || mat.equals(Material.LARGE_FERN) || mat.equals(Material.GRASS) || mat.equals(Material.TALL_GRASS))
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
@@ -162,7 +138,7 @@ public class B
|
|
|
|
|
//@builder
|
|
|
|
|
return m.equals(Material.GRASS)
|
|
|
|
|
|| m.equals(Material.TALL_GRASS)
|
|
|
|
|
|| m.equals(B.mat("CORNFLOWER"))
|
|
|
|
|
|| m.equals(Material.CORNFLOWER)
|
|
|
|
|
|| m.equals(Material.SUNFLOWER)
|
|
|
|
|
|| m.equals(Material.CHORUS_FLOWER)
|
|
|
|
|
|| m.equals(Material.POPPY)
|
|
|
|
|
@@ -174,44 +150,44 @@ public class B
|
|
|
|
|
|| m.equals(Material.WHITE_TULIP)
|
|
|
|
|
|| m.equals(Material.LILAC)
|
|
|
|
|
|| m.equals(Material.DEAD_BUSH)
|
|
|
|
|
|| m.equals(B.mat("SWEET_BERRY_BUSH"))
|
|
|
|
|
|| m.equals(Material.SWEET_BERRY_BUSH)
|
|
|
|
|
|| m.equals(Material.ROSE_BUSH)
|
|
|
|
|
|| m.equals(B.mat("WITHER_ROSE"))
|
|
|
|
|
|| m.equals(Material.WITHER_ROSE)
|
|
|
|
|
|| m.equals(Material.ALLIUM)
|
|
|
|
|
|| m.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.equals(Material.LILY_OF_THE_VALLEY)
|
|
|
|
|
|| m.equals(Material.CRIMSON_FUNGUS)
|
|
|
|
|
|| m.equals(Material.WARPED_FUNGUS)
|
|
|
|
|
|| m.equals(Material.RED_MUSHROOM)
|
|
|
|
|
|| m.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.equals(Material.CRIMSON_ROOTS)
|
|
|
|
|
|| m.equals(Material.AZURE_BLUET)
|
|
|
|
|
|| m.equals(Material.WEEPING_VINES)
|
|
|
|
|
|| m.equals(Material.WEEPING_VINES_PLANT)
|
|
|
|
|
|| m.equals(Material.WARPED_ROOTS)
|
|
|
|
|
|| m.equals(Material.NETHER_SPROUTS)
|
|
|
|
|
|| m.equals(Material.TWISTING_VINES)
|
|
|
|
|
|| m.equals(Material.TWISTING_VINES_PLANT)
|
|
|
|
|
|| m.equals(Material.SUGAR_CANE)
|
|
|
|
|
|| m.equals(Material.WHEAT)
|
|
|
|
|
|| m.equals(Material.POTATOES)
|
|
|
|
|
|| m.equals(Material.CARROTS)
|
|
|
|
|
|| m.equals(Material.BEETROOTS)
|
|
|
|
|
|| m.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.equals(Material.SEA_PICKLE)
|
|
|
|
|
|| m.equals(Material.SEAGRASS)
|
|
|
|
|
|| m.equals(Material.ACACIA_BUTTON)
|
|
|
|
|
|| m.equals(Material.BIRCH_BUTTON)
|
|
|
|
|
|| m.equals(Material.CRIMSON_BUTTON)
|
|
|
|
|
|| m.equals(Material.DARK_OAK_BUTTON)
|
|
|
|
|
|| m.equals(Material.JUNGLE_BUTTON)
|
|
|
|
|
|| m.equals(Material.OAK_BUTTON)
|
|
|
|
|
|| m.equals(Material.POLISHED_BLACKSTONE_BUTTON)
|
|
|
|
|
|| m.equals(Material.SPRUCE_BUTTON)
|
|
|
|
|
|| m.equals(Material.STONE_BUTTON)
|
|
|
|
|
|| m.equals(Material.WARPED_BUTTON)
|
|
|
|
|
|| m.equals(Material.TORCH)
|
|
|
|
|
|| m.equals(B.mat("SOUL_TORCH"));
|
|
|
|
|
|| m.equals(Material.SOUL_TORCH);
|
|
|
|
|
//@done
|
|
|
|
|
}
|
|
|
|
|
}
|