FIx /is level calculations in 1.12- when you had stone on your island

This commit is contained in:
Esophose 2019-02-26 02:02:46 -07:00
parent 73f7530941
commit c60f6d9c8a
3 changed files with 93 additions and 75 deletions

View File

@ -200,6 +200,7 @@ public class LevellingManager {
for (String materialKey : configLoad.getConfigurationSection("Materials").getKeys(false)) {
try {
Materials material = Materials.fromString(materialKey);
if (!material.isAvailable()) continue;
if (!containsMaterial(material)) {
addMaterial(material, configLoad.getInt("Materials." + materialKey + ".Points"));

View File

@ -334,6 +334,8 @@ public class Block implements Listener {
WorldManager worldManager = skyblock.getWorldManager();
Island island = islandManager.getIslandAtLocation(event.getBlock().getLocation());
if (island == null) return;
IslandWorld world = worldManager.getIslandWorld(event.getBlock().getWorld());
Config config = skyblock.getFileManager().getConfig(new File(skyblock.getDataFolder(), "config.yml"));

View File

@ -25,7 +25,7 @@ public enum Materials {
ACACIA_WOOD("LOG_2", 0),
ACTIVATOR_RAIL("ACTIVATOR_RAIL", 0),
AIR("AIR", 0),
ALLIUM("STONE", 0),
ALLIUM("STONE", 0, true),
ANDESITE("STONE", 5),
ANVIL("ANVIL", 0),
APPLE("APPLE", 0),
@ -94,12 +94,12 @@ public enum Materials {
BOOKSHELF("BOOKSHELF", 0),
BOW("BOW", 0),
BOWL("BOWL", 0),
BRAIN_CORAL("STONE", 0),
BRAIN_CORAL_BLOCK("STONE", 0),
BRAIN_CORAL_FAN("STONE", 0),
BRAIN_CORAL_WALL_FAN("STONE", 0),
DEAD_BRAIN_CORAL_FAN("STONE", 0),
DEAD_BRAIN_CORAL_WALL_FAN("STONE", 0),
BRAIN_CORAL("STONE", 0, true),
BRAIN_CORAL_BLOCK("STONE", 0, true),
BRAIN_CORAL_FAN("STONE", 0, true),
BRAIN_CORAL_WALL_FAN("STONE", 0, true),
DEAD_BRAIN_CORAL_FAN("STONE", 0, true),
DEAD_BRAIN_CORAL_WALL_FAN("STONE", 0, true),
BREAD("BREAD", 0),
BREWING_STAND("BREWING_STAND", 0),
BRICK("CLAY_BRICK", 0),
@ -120,13 +120,13 @@ public enum Materials {
BROWN_TERRACOTTA("STAINED_CLAY", 12),
BROWN_WALL_BANNER("WALL_BANNER", 3),
BROWN_WOOL("WOOL", 12),
BUBBLE_COLUMN("STONE", 0),
BUBBLE_CORAL("STONE", 0),
BUBBLE_CORAL_BLOCK("STONE", 0),
BUBBLE_CORAL_FAN("STONE", 0),
BUBBLE_CORAL_WALL_FAN("STONE", 0),
DEAD_BUBBLE_CORAL_FAN("STONE", 0),
DEAD_BUBBLE_CORAL_WALL_FAN("STONE", 0),
BUBBLE_COLUMN("STONE", 0, true),
BUBBLE_CORAL("STONE", 0, true),
BUBBLE_CORAL_BLOCK("STONE", 0, true),
BUBBLE_CORAL_FAN("STONE", 0, true),
BUBBLE_CORAL_WALL_FAN("STONE", 0, true),
DEAD_BUBBLE_CORAL_FAN("STONE", 0, true),
DEAD_BUBBLE_CORAL_WALL_FAN("STONE", 0, true),
BUCKET("BUCKET", 0),
CACTUS("CACTUS", 0),
CACTUS_GREEN("INK_SACK", 2),
@ -177,7 +177,7 @@ public enum Materials {
COMMAND_BLOCK_MINECART("COMMAND_MINECART", 0),
COMPARATOR("REDSTONE_COMPARATOR", 0),
COMPASS("COMPASS", 0),
CONDUIT("STONE", 0),
CONDUIT("STONE", 0, true),
COOKED_BEEF("COOKED_BEEF", 0),
COOKED_CHICKEN("COOKED_CHICKEN", 0),
COOKED_COD("COOKED_FISH", 0),
@ -192,8 +192,8 @@ public enum Materials {
CREEPER_HEAD("SKULL", 0),
CREEPER_SPAWN_EGG("MONSTER_EGG", 0),
CREEPER_WALL_HEAD("SKULL", 0),
CUT_RED_SANDSTONE("STONE", 0),
CUT_SANDSTONE("STONE", 0),
CUT_RED_SANDSTONE("STONE", 0, true),
CUT_SANDSTONE("STONE", 0, true),
CYAN_BANNER("BANNER", 6),
CYAN_BED("BED", 9),
CYAN_CARPET("CARPET", 9),
@ -225,17 +225,17 @@ public enum Materials {
DARK_OAK_TRAPDOOR("TRAP_DOOR", 0),
DARK_OAK_WOOD("LOG_2", 1),
DARK_PRISMARINE("PRISMARINE", 2),
DARK_PRISMARINE_SLAB("STONE", 0),
DARK_PRISMARINE_STAIRS("STONE", 0),
DARK_PRISMARINE_SLAB("STONE", 0, true),
DARK_PRISMARINE_STAIRS("STONE", 0, true),
DAYLIGHT_DETECTOR("DAYLIGHT_DETECTOR", 0),
DEAD_BRAIN_CORAL_BLOCK("STONE", 0),
DEAD_BUBBLE_CORAL_BLOCK("STONE", 0),
DEAD_BRAIN_CORAL_BLOCK("STONE", 0, true),
DEAD_BUBBLE_CORAL_BLOCK("STONE", 0, true),
DEAD_BUSH("DEAD_BUSH", 0),
DEAD_FIRE_CORAL_BLOCK("STONE", 0),
DEAD_HORN_CORAL_BLOCK("STONE", 0),
DEAD_TUBE_CORAL_BLOCK("STONE", 0),
DEAD_TUBE_CORAL_FAN("STONE", 0),
DEAD_TUBE_CORAL_WALL_FAN("STONE", 0),
DEAD_FIRE_CORAL_BLOCK("STONE", 0, true),
DEAD_HORN_CORAL_BLOCK("STONE", 0, true),
DEAD_TUBE_CORAL_BLOCK("STONE", 0, true),
DEAD_TUBE_CORAL_FAN("STONE", 0, true),
DEAD_TUBE_CORAL_WALL_FAN("STONE", 0, true),
DEBUG_STICK("STICK", 0),
DETECTOR_RAIL("DETECTOR_RAIL", 0),
DIAMOND("DIAMOND", 0),
@ -260,8 +260,8 @@ public enum Materials {
DRAGON_EGG("DRAGON_EGG", 0),
DRAGON_HEAD("SKULL", 5),
DRAGON_WALL_HEAD("SKULL", 0),
DRIED_KELP("STONE", 0),
DRIED_KELP_BLOCK("STONE", 0),
DRIED_KELP("STONE", 0, true),
DRIED_KELP_BLOCK("STONE", 0, true),
DROPPER("DROPPER", 0),
DROWNED_SPAWN_EGG("MONSTER_EGG", 0),
EGG("EGG", 0),
@ -296,12 +296,12 @@ public enum Materials {
FIREWORK_ROCKET("FIREWORK", 0),
FIREWORK_STAR("FIREWORK_CHARGE", 0),
FIRE_CHARGE("FIREBALL", 0),
FIRE_CORAL("STONE", 0),
FIRE_CORAL_BLOCK("STONE", 0),
FIRE_CORAL_FAN("STONE", 0),
FIRE_CORAL_WALL_FAN("STONE", 0),
DEAD_FIRE_CORAL_FAN("STONE", 0),
DEAD_FIRE_CORAL_WALL_FAN("STONE", 0),
FIRE_CORAL("STONE", 0, true),
FIRE_CORAL_BLOCK("STONE", 0, true),
FIRE_CORAL_FAN("STONE", 0, true),
FIRE_CORAL_WALL_FAN("STONE", 0, true),
DEAD_FIRE_CORAL_FAN("STONE", 0, true),
DEAD_FIRE_CORAL_WALL_FAN("STONE", 0, true),
FISHING_ROD("FISHING_ROD", 0),
FLINT("FLINT", 0),
FLINT_AND_STEEL("FLINT_AND_STEEL", 0),
@ -366,16 +366,16 @@ public enum Materials {
GUARDIAN_SPAWN_EGG("MONSTER_EGG", 0),
GUNPOWDER("SULPHUR", 0),
HAY_BLOCK("HAY_BLOCK", 0),
HEART_OF_THE_SEA("STONE", 0),
HEART_OF_THE_SEA("STONE", 0, true),
HEAVY_WEIGHTED_PRESSURE_PLATE("IRON_PLATE", 0),
HOPPER("HOPPER", 0),
HOPPER_MINECART("HOPPER_MINECART", 0),
HORN_CORAL("STONE", 0),
HORN_CORAL_BLOCK("STONE", 0),
HORN_CORAL_FAN("STONE", 0),
HORN_CORAL_WALL_FAN("STONE", 0),
DEAD_HORN_CORAL_FAN("STONE", 0),
DEAD_HORN_CORAL_WALL_FAN("STONE", 0),
HORN_CORAL("STONE", 0, true),
HORN_CORAL_BLOCK("STONE", 0, true),
HORN_CORAL_FAN("STONE", 0, true),
HORN_CORAL_WALL_FAN("STONE", 0, true),
DEAD_HORN_CORAL_FAN("STONE", 0, true),
DEAD_HORN_CORAL_WALL_FAN("STONE", 0, true),
HORSE_SPAWN_EGG("MONSTER_EGG", 0),
HUSK_SPAWN_EGG("MONSTER_EGG", 0),
ICE("ICE", 0),
@ -420,8 +420,8 @@ public enum Materials {
JUNGLE_STAIRS("JUNGLE_WOOD_STAIRS", 0),
JUNGLE_TRAPDOOR("TRAP_DOOR", 0),
JUNGLE_WOOD("LOG", 3),
KELP("STONE", 0),
KELP_PLANT("STONE", 0),
KELP("STONE", 0, true),
KELP_PLANT("STONE", 0, true),
KNOWLEDGE_BOOK("KNOWLEDGE_BOOK", 0),
LADDER("LADDER", 0),
LAPIS_BLOCK("LAPIS_BLOCK", 0),
@ -550,7 +550,7 @@ public enum Materials {
MUTTON("MUTTON", 0),
MYCELIUM("MYCEL", 0),
NAME_TAG("NAME_TAG", 0),
NAUTILUS_SHELL("STONE", 0),
NAUTILUS_SHELL("STONE", 0, true),
NETHERRACK("NETHERRACK", 0),
NETHER_BRICK("NETHER_BRICK", 0),
NETHER_BRICKS("NETHER_BRICK", 0),
@ -600,8 +600,8 @@ public enum Materials {
PAPER("PAPER", 0),
PARROT_SPAWN_EGG("MONSTER_EGG", 0),
PEONY("DOUBLE_PLANT", 5),
PETRIFIED_OAK_SLAB("STONE", 0),
PHANTOM_MEMBRANE("STONE", 0),
PETRIFIED_OAK_SLAB("STONE", 0, true),
PHANTOM_MEMBRANE("STONE", 0, true),
PHANTOM_SPAWN_EGG("MONSTER_EGG", 0),
PIG_SPAWN_EGG("MONSTER_EGG", 0),
PINK_BANNER("BANNER", 9),
@ -658,14 +658,14 @@ public enum Materials {
POWERED_RAIL("POWERED_RAIL", 0),
PRISMARINE("PRISMARINE", 0),
PRISMARINE_BRICKS("PRISMARINE", 1),
PRISMARINE_BRICK_SLAB("STONE", 0),
PRISMARINE_BRICK_STAIRS("STONE", 0),
PRISMARINE_BRICK_SLAB("STONE", 0, true),
PRISMARINE_BRICK_STAIRS("STONE", 0, true),
PRISMARINE_CRYSTALS("PRISMARINE_CRYSTALS", 0),
PRISMARINE_SHARD("PRISMARINE_SHARD", 0),
PRISMARINE_SLAB("STONE", 0),
PRISMARINE_STAIRS("STONE", 0),
PRISMARINE_SLAB("STONE", 0, true),
PRISMARINE_STAIRS("STONE", 0, true),
PUFFERFISH("RAW_FISH", 3),
PUFFERFISH_BUCKET("STONE", 0),
PUFFERFISH_BUCKET("STONE", 0, true),
PUFFERFISH_SPAWN_EGG("MONSTER_EGG", 0),
PUMPKIN("PUMPKIN", 0),
PUMPKIN_PIE("PUMPKIN_PIE", 0),
@ -739,10 +739,10 @@ public enum Materials {
SANDSTONE("SANDSTONE", 0),
SANDSTONE_SLAB("STEP", 1),
SANDSTONE_STAIRS("SANDSTONE_STAIRS", 0),
SCUTE("STONE", 0),
SEAGRASS("STONE", 0),
SCUTE("STONE", 0, true),
SEAGRASS("STONE", 0, true),
SEA_LANTERN("SEA_LANTERN", 0),
SEA_PICKLE("STONE", 0),
SEA_PICKLE("STONE", 0, true),
SHEARS("SHEARS", 0),
SHEEP_SPAWN_EGG("MONSTER_EGG", 0),
SHIELD("SHIELD", 0),
@ -758,7 +758,7 @@ public enum Materials {
SLIME_BALL("SLIME_BALL", 0),
SLIME_BLOCK("SLIME_BLOCK", 0),
SLIME_SPAWN_EGG("MONSTER_EGG", 0),
SMOOTH_QUARTZ("STONE", 0),
SMOOTH_QUARTZ("STONE", 0, true),
SMOOTH_RED_SANDSTONE("RED_SANDSTONE", 2),
SMOOTH_SANDSTONE("SANDSTONE", 2),
SMOOTH_STONE("STEP", 0),
@ -803,25 +803,25 @@ public enum Materials {
STONE_SWORD("STONE_SWORD", 0),
STRAY_SPAWN_EGG("MONSTER_EGG", 0),
STRING("STRING", 0),
STRIPPED_ACACIA_LOG("STONE", 0),
STRIPPED_ACACIA_WOOD("STONE", 0),
STRIPPED_BIRCH_LOG("STONE", 0),
STRIPPED_BIRCH_WOOD("STONE", 0),
STRIPPED_DARK_OAK_LOG("STONE", 0),
STRIPPED_DARK_OAK_WOOD("STONE", 0),
STRIPPED_JUNGLE_LOG("STONE", 0),
STRIPPED_JUNGLE_WOOD("STONE", 0),
STRIPPED_OAK_LOG("STONE", 0),
STRIPPED_OAK_WOOD("STONE", 0),
STRIPPED_SPRUCE_LOG("STONE", 0),
STRIPPED_SPRUCE_WOOD("STONE", 0),
STRIPPED_ACACIA_LOG("STONE", 0, true),
STRIPPED_ACACIA_WOOD("STONE", 0, true),
STRIPPED_BIRCH_LOG("STONE", 0, true),
STRIPPED_BIRCH_WOOD("STONE", 0, true),
STRIPPED_DARK_OAK_LOG("STONE", 0, true),
STRIPPED_DARK_OAK_WOOD("STONE", 0, true),
STRIPPED_JUNGLE_LOG("STONE", 0, true),
STRIPPED_JUNGLE_WOOD("STONE", 0, true),
STRIPPED_OAK_LOG("STONE", 0, true),
STRIPPED_OAK_WOOD("STONE", 0, true),
STRIPPED_SPRUCE_LOG("STONE", 0, true),
STRIPPED_SPRUCE_WOOD("STONE", 0, true),
STRUCTURE_BLOCK("STRUCTURE_BLOCK", 0),
STRUCTURE_VOID("STRUCTURE_VOID", 0),
SUGAR("SUGAR", 0),
SUGAR_CANE("SUGAR_CANE", 0),
SUNFLOWER("DOUBLE_PLANT", 0),
TALL_GRASS("DOUBLE_PLANT", 2),
TALL_SEAGRASS("STONE", 0),
TALL_SEAGRASS("STONE", 0, true),
TERRACOTTA("HARD_CLAY", 0),
TIPPED_ARROW("TIPPED_ARROW", 0),
TNT("TNT", 0),
@ -829,18 +829,18 @@ public enum Materials {
TORCH("TORCH", 0),
TOTEM_OF_UNDYING("TOTEM", 0),
TRAPPED_CHEST("TRAPPED_CHEST", 0),
TRIDENT("STONE", 0),
TRIDENT("STONE", 0, true),
TRIPWIRE("TRIPWIRE", 0),
TRIPWIRE_HOOK("TRIPWIRE_HOOK", 0),
TROPICAL_FISH("RAW_FISH", 0),
TROPICAL_FISH_BUCKET("BUCKET", 0),
TROPICAL_FISH_SPAWN_EGG("MONSTER_EGG", 0),
TUBE_CORAL("STONE", 0),
TUBE_CORAL_BLOCK("STONE", 0),
TUBE_CORAL_FAN("STONE", 0),
TUBE_CORAL_WALL_FAN("STONE", 0),
TUBE_CORAL("STONE", 0, true),
TUBE_CORAL_BLOCK("STONE", 0, true),
TUBE_CORAL_FAN("STONE", 0, true),
TUBE_CORAL_WALL_FAN("STONE", 0, true),
TURTLE_EGG("MONSTER_EGG", 0),
TURTLE_HELMET("STONE", 0),
TURTLE_HELMET("STONE", 0, true),
TURTLE_SPAWN_EGG("MONSTER_EGG", 0),
VEX_SPAWN_EGG("MONSTER_EGG", 0),
VILLAGER_SPAWN_EGG("MONSTER_EGG", 0),
@ -900,10 +900,16 @@ public enum Materials {
String m;
int data;
boolean is13only;
Materials(String m, int data) {
this(m, data, false);
}
Materials(String m, int data, boolean is13only) {
this.m = m;
this.data = data;
this.is13only = is13only;
}
@SuppressWarnings("deprecation")
@ -928,6 +934,15 @@ public enum Materials {
newV = 0;
return false;
}
/**
* Checks if a given Material is available for this server version
*
* @return True if the Material exists
*/
public boolean isAvailable() {
return isNewVersion() || !this.is13only;
}
private static HashMap<String, Materials> cachedSearch = new HashMap<>();
@ -1048,7 +1063,7 @@ public enum Materials {
return false;
}
}
public Material parseMaterial() {
Material mat = Material.matchMaterial(this.toString());