diff --git a/src/main/java/com/sk89q/worldedit/bukkit/BukkitWorld.java b/src/main/java/com/sk89q/worldedit/bukkit/BukkitWorld.java index 28a605d9f..b4b73bf6c 100644 --- a/src/main/java/com/sk89q/worldedit/bukkit/BukkitWorld.java +++ b/src/main/java/com/sk89q/worldedit/bukkit/BukkitWorld.java @@ -886,10 +886,8 @@ public class BukkitWorld extends LocalWorld { public boolean isValidBlockType(int type) { if (!skipNmsValidBlockCheck) { try { - return type == 0 || (type >= 1 && type < net.minecraft.server.Block.byId.length - && net.minecraft.server.Block.byId[type] != null); - } catch (Exception e) { - logger.log(Level.SEVERE, "Error checking NMS valid block type", e); + return NmsBlock.isValidBlockType(type); + } catch (Throwable e) { skipNmsValidBlockCheck = true; } } diff --git a/src/main/java/com/sk89q/worldedit/bukkit/NmsBlock.java b/src/main/java/com/sk89q/worldedit/bukkit/NmsBlock.java index f5827ab0a..1bec84d96 100644 --- a/src/main/java/com/sk89q/worldedit/bukkit/NmsBlock.java +++ b/src/main/java/com/sk89q/worldedit/bukkit/NmsBlock.java @@ -434,4 +434,9 @@ class NmsBlock extends BaseBlock implements TileEntityBlock { + foreign.getClass().getCanonicalName()); } } + + public static boolean isValidBlockType(int type) throws NoClassDefFoundError { + return type == 0 || (type >= 1 && type < net.minecraft.server.Block.byId.length + && net.minecraft.server.Block.byId[type] != null); + } }