diff --git a/worldguard-legacy/build.gradle b/worldguard-legacy/build.gradle
index 475c586d..1f29a1c5 100644
--- a/worldguard-legacy/build.gradle
+++ b/worldguard-legacy/build.gradle
@@ -11,7 +11,7 @@
 
 dependencies {
     compile 'org.khelekore:prtree:1.5.0'
-    compile 'org.bukkit:bukkit:1.10-R0.1-SNAPSHOT'
+    compile 'org.bukkit:bukkit:1.11-R0.1-SNAPSHOT'
     compile 'com.sk89q.worldedit:worldedit-bukkit:6.1.3-SNAPSHOT'
     compile 'com.sk89q:squirrelid:0.1.0'
     compile 'com.sk89q:guavabackport:1.1'
diff --git a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/util/Materials.java b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/util/Materials.java
index 91dad049..2d94bbb2 100644
--- a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/util/Materials.java
+++ b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/util/Materials.java
@@ -49,6 +49,8 @@ public final class Materials {
     public static Material ARMOR_STAND;
     public static Material END_CRYSTAL;
 
+    private static Set<Material> shulkerBoxes = new HashSet<>();
+
     static {
         try {
             // for backwards compatible access to material enum
@@ -56,6 +58,26 @@ public final class Materials {
             END_CRYSTAL = Material.END_CRYSTAL;
         } catch (NoSuchFieldError ignored) {}
 
+        try {
+            shulkerBoxes.add(Material.WHITE_SHULKER_BOX);
+            shulkerBoxes.add(Material.ORANGE_SHULKER_BOX);
+            shulkerBoxes.add(Material.MAGENTA_SHULKER_BOX);
+            shulkerBoxes.add(Material.LIGHT_BLUE_SHULKER_BOX);
+            shulkerBoxes.add(Material.YELLOW_SHULKER_BOX);
+            shulkerBoxes.add(Material.LIME_SHULKER_BOX);
+            shulkerBoxes.add(Material.PINK_SHULKER_BOX);
+            shulkerBoxes.add(Material.GRAY_SHULKER_BOX);
+            shulkerBoxes.add(Material.SILVER_SHULKER_BOX); // who called this silver?
+            shulkerBoxes.add(Material.CYAN_SHULKER_BOX);
+            shulkerBoxes.add(Material.PURPLE_SHULKER_BOX);
+            shulkerBoxes.add(Material.BLUE_SHULKER_BOX);
+            shulkerBoxes.add(Material.BROWN_SHULKER_BOX);
+            shulkerBoxes.add(Material.GREEN_SHULKER_BOX);
+            shulkerBoxes.add(Material.RED_SHULKER_BOX);
+            shulkerBoxes.add(Material.BLACK_SHULKER_BOX);
+        } catch (NoSuchFieldError ignored) {
+        }
+
         ENTITY_ITEMS.put(EntityType.PAINTING, Material.PAINTING);
         ENTITY_ITEMS.put(EntityType.ARROW, Material.ARROW);
         ENTITY_ITEMS.put(EntityType.SNOWBALL, Material.SNOW_BALL);
@@ -298,7 +320,7 @@ public final class Materials {
             MATERIAL_FLAGS.put(Material.COMMAND_CHAIN , MODIFIED_ON_RIGHT);
         } catch (NoSuchFieldError ignored) {
         }
-        try {
+        try { // 1.10
             MATERIAL_FLAGS.put(Material.MAGMA, 0);
             MATERIAL_FLAGS.put(Material.NETHER_WART_BLOCK, 0);
             MATERIAL_FLAGS.put(Material.RED_NETHER_BRICK, 0);
@@ -306,6 +328,9 @@ public final class Materials {
             MATERIAL_FLAGS.put(Material.STRUCTURE_VOID, 0);
         } catch (NoSuchFieldError ignored) {
         }
+        for (Material m : shulkerBoxes) {
+            MATERIAL_FLAGS.put(m, MODIFIED_ON_RIGHT);
+        }
 
         MATERIAL_FLAGS.put(Material.IRON_SPADE, MODIFIES_BLOCKS);
         MATERIAL_FLAGS.put(Material.IRON_PICKAXE, 0);
@@ -466,7 +491,7 @@ public final class Materials {
         MATERIAL_FLAGS.put(Material.LEASH, 0);
         MATERIAL_FLAGS.put(Material.NAME_TAG, 0);
         MATERIAL_FLAGS.put(Material.COMMAND_MINECART, 0);
-        try {
+        try { // 1.8
             MATERIAL_FLAGS.put(Material.PRISMARINE_SHARD, 0);
             MATERIAL_FLAGS.put(Material.PRISMARINE_CRYSTALS, 0);
             MATERIAL_FLAGS.put(Material.RABBIT, 0);
@@ -486,7 +511,9 @@ public final class Materials {
             MATERIAL_FLAGS.put(Material.JUNGLE_DOOR_ITEM, 0);
             MATERIAL_FLAGS.put(Material.ACACIA_DOOR_ITEM, 0);
             MATERIAL_FLAGS.put(Material.DARK_OAK_DOOR_ITEM, 0);
-
+        } catch (NoSuchFieldError ignored) {
+        }
+        try { // 1.9 + 1.10 (oops)
             MATERIAL_FLAGS.put(Material.BOAT_SPRUCE, 0);
             MATERIAL_FLAGS.put(Material.BOAT_BIRCH, 0);
             MATERIAL_FLAGS.put(Material.BOAT_ACACIA, 0);
@@ -503,7 +530,11 @@ public final class Materials {
             MATERIAL_FLAGS.put(Material.LINGERING_POTION, 0);
             MATERIAL_FLAGS.put(Material.ELYTRA, 0);
             MATERIAL_FLAGS.put(Material.END_CRYSTAL, 0);
-
+        } catch (NoSuchFieldError ignored) {
+        }
+        try { // 1.11
+            MATERIAL_FLAGS.put(Material.TOTEM, 0);
+            MATERIAL_FLAGS.put(Material.SHULKER_SHELL, 0);
         } catch (NoSuchFieldError ignored) {
         }
         MATERIAL_FLAGS.put(Material.GOLD_RECORD, 0);
@@ -733,7 +764,8 @@ public static boolean isInventoryBlock(Material material) {
                 || material == Material.BREWING_STAND
                 || material == Material.TRAPPED_CHEST
                 || material == Material.HOPPER
-                || material == Material.DROPPER;
+                || material == Material.DROPPER
+                || shulkerBoxes.contains(material);
     }
 
     /**