diff --git a/pom.xml b/pom.xml index bf35017..bddeb97 100644 --- a/pom.xml +++ b/pom.xml @@ -9,13 +9,26 @@ jar Deadbolt - https://github.com/daemitus/Deadbolt + https://github.com/md-5/Deadbolt UTF-8 + + spigot-repo + https://hub.spigotmc.org/nexus/content/repositories/public/ + + + bukkit-repo + Bukkit Repo + http://repo.bukkit.org/content/groups/public + + + AnnotatedConfig + https://github.com/md-5/AnnotatedConfig + essentials-repo http://ess.ementalo.com/nexus/content/groups/public/ @@ -33,8 +46,8 @@ maven-compiler-plugin 2.0.2 - 1.7 - 1.7 + 1.8 + 1.8 @@ -64,7 +77,7 @@ org.bukkit bukkit - 1.8-R0.1-SNAPSHOT + LATEST com.md_5 diff --git a/src/main/java/com/daemitus/deadbolt/Config.java b/src/main/java/com/daemitus/deadbolt/Config.java index b4711a8..561cc1d 100644 --- a/src/main/java/com/daemitus/deadbolt/Config.java +++ b/src/main/java/com/daemitus/deadbolt/Config.java @@ -54,15 +54,24 @@ public class Config extends AnnotatedConfig { @ConfigComment("List of blockIDs protected by redstone unless overrode by [everyone]") public List redstone_protected_blockids = Arrays.asList( // Doors - Material.WOODEN_DOOR.getId(), - Material.IRON_DOOR_BLOCK.getId(), + Material.OAK_DOOR.getId(), + Material.IRON_DOOR.getId(), Material.SPRUCE_DOOR.getId(), Material.BIRCH_DOOR.getId(), Material.JUNGLE_DOOR.getId(), Material.ACACIA_DOOR.getId(), Material.DARK_OAK_DOOR.getId(), + Material.WARPED_DOOR.getId(), + Material.CRIMSON_DOOR.getId(), // trap doors - Material.TRAP_DOOR.getId(), + Material.OAK_TRAPDOOR.getId(), + Material.BIRCH_TRAPDOOR.getId(), + Material.SPRUCE_TRAPDOOR.getId(), + Material.JUNGLE_TRAPDOOR.getId(), + Material.ACACIA_TRAPDOOR.getId(), + Material.DARK_OAK_TRAPDOOR.getId(), + Material.WARPED_TRAPDOOR.getId(), + Material.CRIMSON_TRAPDOOR.getId(), Material.IRON_TRAPDOOR.getId() ); @ConfigComment("Denies function of the [timer: x] tag on signs") diff --git a/src/main/java/com/daemitus/deadbolt/DeadboltCommandExecutor.java b/src/main/java/com/daemitus/deadbolt/DeadboltCommandExecutor.java index 4d3df22..787eb20 100644 --- a/src/main/java/com/daemitus/deadbolt/DeadboltCommandExecutor.java +++ b/src/main/java/com/daemitus/deadbolt/DeadboltCommandExecutor.java @@ -143,21 +143,32 @@ private boolean fix(Player player) { private void fixHelper(Player player, Block block) { switch (block.getType()) { - case WOODEN_DOOR: - case IRON_DOOR_BLOCK: + case OAK_DOOR: + case IRON_DOOR: case SPRUCE_DOOR: case BIRCH_DOOR: case JUNGLE_DOOR: case ACACIA_DOOR: case DARK_OAK_DOOR: - case TRAP_DOOR: + case WARPED_DOOR: + case CRIMSON_DOOR: + case OAK_TRAPDOOR: + case BIRCH_TRAPDOOR: + case SPRUCE_TRAPDOOR: + case JUNGLE_TRAPDOOR: + case ACACIA_TRAPDOOR: + case DARK_OAK_TRAPDOOR: + case WARPED_TRAPDOOR: + case CRIMSON_TRAPDOOR: case IRON_TRAPDOOR: - case FENCE_GATE: + case OAK_FENCE_GATE: case BIRCH_FENCE_GATE: case ACACIA_FENCE_GATE: case DARK_OAK_FENCE_GATE: case JUNGLE_FENCE_GATE: case SPRUCE_FENCE_GATE: + case WARPED_FENCE_GATE: + case CRIMSON_FENCE_GATE: block.setData((byte) (block.getData() ^ 0x4)); break; default: @@ -184,21 +195,32 @@ private boolean fixAll(Player player) { private void fixAllHelper(Player player, Block block, Deadbolted db) { switch (block.getType()) { - case WOODEN_DOOR: - case IRON_DOOR_BLOCK: + case OAK_DOOR: + case IRON_DOOR: case SPRUCE_DOOR: case BIRCH_DOOR: case JUNGLE_DOOR: case ACACIA_DOOR: case DARK_OAK_DOOR: - case TRAP_DOOR: + case WARPED_DOOR: + case CRIMSON_DOOR: + case OAK_TRAPDOOR: + case BIRCH_TRAPDOOR: + case SPRUCE_TRAPDOOR: + case JUNGLE_TRAPDOOR: + case ACACIA_TRAPDOOR: + case DARK_OAK_TRAPDOOR: + case WARPED_TRAPDOOR: + case CRIMSON_TRAPDOOR: case IRON_TRAPDOOR: - case FENCE_GATE: + case OAK_FENCE_GATE: case BIRCH_FENCE_GATE: case ACACIA_FENCE_GATE: case DARK_OAK_FENCE_GATE: case JUNGLE_FENCE_GATE: case SPRUCE_FENCE_GATE: + case WARPED_FENCE_GATE: + case CRIMSON_FENCE_GATE: for (Block b : db.getBlocks()) { if (b.getType().equals(block.getType())) { b.setData((byte) (b.getData() ^ 0x4)); diff --git a/src/main/java/com/daemitus/deadbolt/Deadbolted.java b/src/main/java/com/daemitus/deadbolt/Deadbolted.java index 725c625..a1b2bbe 100644 --- a/src/main/java/com/daemitus/deadbolt/Deadbolted.java +++ b/src/main/java/com/daemitus/deadbolt/Deadbolted.java @@ -36,31 +36,50 @@ private void search(Block block) { switch (block.getType()) { case AIR: break; - case WALL_SIGN: + case OAK_WALL_SIGN: + case SPRUCE_WALL_SIGN: + case BIRCH_WALL_SIGN: + case ACACIA_WALL_SIGN: + case JUNGLE_WALL_SIGN: + case DARK_OAK_WALL_SIGN: + case WARPED_WALL_SIGN: + case CRIMSON_WALL_SIGN: BlockState state = block.getState(); org.bukkit.block.Sign signState = (Sign) state; if (Deadbolt.getLanguage().isValidWallSign(signState)) { search(Util.getSignAttached(signState)); } break; - case WOODEN_DOOR: - case IRON_DOOR_BLOCK: + case OAK_DOOR: + case IRON_DOOR: case SPRUCE_DOOR: case BIRCH_DOOR: case JUNGLE_DOOR: case ACACIA_DOOR: case DARK_OAK_DOOR: + case CRIMSON_DOOR: + case WARPED_DOOR: searchDoor(block, true, true); break; - case FENCE_GATE: + case OAK_FENCE_GATE: case BIRCH_FENCE_GATE: case ACACIA_FENCE_GATE: case DARK_OAK_FENCE_GATE: case JUNGLE_FENCE_GATE: case SPRUCE_FENCE_GATE: + case WARPED_FENCE_GATE: + case CRIMSON_FENCE_GATE: searchFenceGate(block, true, true); break; - case TRAP_DOOR: + case OAK_TRAPDOOR: + case BIRCH_TRAPDOOR: + case SPRUCE_TRAPDOOR: + case ACACIA_TRAPDOOR: + case DARK_OAK_TRAPDOOR: + case JUNGLE_TRAPDOOR: + case SPRUCE_TRAPDOOR: + case WARPED_TRAPDOOR: + case CRIMSON_TRAPDOOR: case IRON_TRAPDOOR: searchTrapDoor(block, true, Deadbolt.getConfig().vertical_trapdoors); break; @@ -77,11 +96,31 @@ private void search(Block block) { searchSimpleBlock(block, Deadbolt.getConfig().group_cauldrons, Deadbolt.getConfig().group_cauldrons); break; case FURNACE: + case BLAST_FURNACE: + case SMOKER: case BURNING_FURNACE: searchFurnace(block, Deadbolt.getConfig().group_furnaces, Deadbolt.getConfig().group_furnaces); break; case TRAPPED_CHEST: case CHEST: + case BARREL: + case SHULKER_BOX: + case WHITE_SHULKER_BOX: + case ORANGE_SHULKER_BOX: + case MAGENTA_SHULKER_BOX: + case LIGHT_BLUE_SHULKER_BOX: + case YELLOW_SHULKER_BOX: + case LIME_SHULKER_BOX: + case PINK_SHULKER_BOX: + case GRAY_SHULKER_BOX: + case LIGHT_GRAY_SHULKER_BOX: + case CYAN_SHULKER_BOX: + case PURPLE_SHULKER_BOX: + case BLUE_SHULKER_BOX: + case BROWN_SHULKER_BOX: + case GREEN_SHULKER_BOX: + case RED_SHULKER_BOX: + case BLACK_SHULKER_BOX: searchChest(block, true, false); break; default: @@ -97,13 +136,15 @@ private void search(Block block) { Block adjacentUp = block.getRelative(BlockFace.UP); switch (adjacentUp.getType()) { // adjacentUp.getState().getData() instanceof Door no longer works for new doors - case WOODEN_DOOR: + case OAK_DOOR: case IRON_DOOR_BLOCK: case SPRUCE_DOOR: case BIRCH_DOOR: case JUNGLE_DOOR: case ACACIA_DOOR: case DARK_OAK_DOOR: + case WARPED_DOOR: + case CRIMSON_DOOR: search(adjacentUp); break; } @@ -117,6 +158,8 @@ private void search(Block block) { case JUNGLE_DOOR: case ACACIA_DOOR: case DARK_OAK_DOOR: + case WARPED_DOOR: + case CRIMSON_DOOR: search(adjacentDown); break; } @@ -161,12 +204,14 @@ private void searchFenceGate(Block block, boolean horizontal, boolean vertical) Block adjacent = block.getRelative(bf); if (horizontal) { switch (adjacent.getType()) { - case FENCE_GATE: + case OAK_FENCE_GATE: case BIRCH_FENCE_GATE: case ACACIA_FENCE_GATE: case DARK_OAK_FENCE_GATE: case JUNGLE_FENCE_GATE: case SPRUCE_FENCE_GATE: + case WARPED_FENCE_GATE: + case CRIMSON_FENCE_GATE: searchFenceGate(adjacent, horizontal, vertical); break; } @@ -180,12 +225,14 @@ private void searchFenceGate(Block block, boolean horizontal, boolean vertical) for (BlockFace bf : Deadbolt.getConfig().VERTICAL_FACES) { Block adjacent = block.getRelative(bf); switch (adjacent.getType()) { - case FENCE_GATE: + case OAK_FENCE_GATE: case BIRCH_FENCE_GATE: case ACACIA_FENCE_GATE: case DARK_OAK_FENCE_GATE: case JUNGLE_FENCE_GATE: case SPRUCE_FENCE_GATE: + case WARPED_FENCE_GATE: + case CRIMSON_FENCE_GATE: searchFenceGate(adjacent, horizontal, vertical); break; } @@ -392,19 +439,19 @@ public void toggleDoors(Block block) { Set clickedDoor = new HashSet(); if (isNaturalOpen(block)) { // special case for Trap Doors so multiple sets don't get miss-aligned - if (block.getType() != Material.TRAP_DOOR) + if (block.getType() != Material.TRAPDOOR) clickedDoor.add(block); if (isVerticallyJoined(block)) { Block b = block; while ((b = b.getRelative(BlockFace.UP)).getType().equals(block.getType()) // special case for Trap Doors so it works vertically - && b.getType() != Material.TRAP_DOOR) { + && b.getType() != Material.TRAPDOOR) { clickedDoor.add(b); } b = block; while ((b = b.getRelative(BlockFace.DOWN)).getType().equals(block.getType()) // special case for Trap Doors so it works vertically - && b.getType() != Material.TRAP_DOOR) { + && b.getType() != Material.TRAPDOOR) { clickedDoor.add(b); } } @@ -463,6 +510,8 @@ private boolean isNaturalOpen(Block block) { case JUNGLE_DOOR: case ACACIA_DOOR: case DARK_OAK_DOOR: + case WARPED_DOOR: + case CRIMSON_DOOR: return true; default: return false; @@ -478,8 +527,17 @@ private boolean isVerticallyJoined(Block block) { case JUNGLE_DOOR: case ACACIA_DOOR: case DARK_OAK_DOOR: + case WARPED_DOOR: + case CRIMSON_DOOR: return true; - case TRAP_DOOR: + case OAK_TRAPDOOR: + case BIRCH_TRAPDOOR: + case SPRUCE_TRAPDOOR: + case JUNGLE_TRAPDOOR: + case ACACIA_TRAPDOOR: + case DARK_OAK_TRAPDOOR: + case CRIMSON_TRAPDOOR: + case WARPED_TRAPDOOR: case IRON_TRAPDOOR: return Deadbolt.getConfig().vertical_trapdoors; default: diff --git a/src/main/java/com/daemitus/deadbolt/events/BlockListener.java b/src/main/java/com/daemitus/deadbolt/events/BlockListener.java index 5385c38..449e6d7 100644 --- a/src/main/java/com/daemitus/deadbolt/events/BlockListener.java +++ b/src/main/java/com/daemitus/deadbolt/events/BlockListener.java @@ -62,7 +62,27 @@ public void onBlockPlace(BlockPlaceEvent event) { Deadbolted db = Deadbolt.get(block); switch (block.getType()) { case CHEST: + case BARREL: + case SHULKER_BOX: + case WHITE_SHULKER_BOX: + case ORANGE_SHULKER_BOX: + case MAGENTA_SHULKER_BOX: + case LIGHT_BLUE_SHULKER_BOX: + case YELLOW_SHULKER_BOX: + case LIME_SHULKER_BOX: + case PINK_SHULKER_BOX: + case GRAY_SHULKER_BOX: + case LIGHT_GRAY_SHULKER_BOX: + case CYAN_SHULKER_BOX: + case PURPLE_SHULKER_BOX: + case BLUE_SHULKER_BOX: + case BROWN_SHULKER_BOX: + case GREEN_SHULKER_BOX: + case RED_SHULKER_BOX: + case BLACK_SHULKER_BOX: case FURNACE: + case BLAST_FURNACE: + case SMOKER: case CAULDRON: case DISPENSER: case BREWING_STAND: @@ -82,13 +102,15 @@ public void onBlockPlace(BlockPlaceEvent event) { Deadbolt.getConfig().sendMessage(player, ChatColor.RED, Deadbolt.getLanguage().msg_deny_container_expansion); } return; - case IRON_DOOR_BLOCK: + case IRON_DOOR: case WOODEN_DOOR: case SPRUCE_DOOR: case BIRCH_DOOR: case JUNGLE_DOOR: case ACACIA_DOOR: case DARK_OAK_DOOR: + case WARPED_DOOR: + case CRIMSON_DOOR: if (player.hasPermission(getPermission(block.getType())) && Deadbolt.getConfig().reminder.add(player)) { Deadbolt.getConfig().sendMessage(player, ChatColor.GOLD, Deadbolt.getLanguage().msg_reminder_lock_your_chests); } @@ -102,7 +124,14 @@ public void onBlockPlace(BlockPlaceEvent event) { event.setCancelled(true); } return; - case TRAP_DOOR: + case OAK_TRAPDOOR: + case BIRCH_TRAPDOOR: + case SPRUCE_TRAPDOOR: + case JUNGLE_TRAPDOOR: + case ACACIA_TRAPDOOR: + case DARK_OAK_TRAPDOOR: + case WARPED_TRAPDOOR: + case CRIMSON_TRAPDOOR: case IRON_TRAPDOOR: if (player.hasPermission(getPermission(block.getType())) && Deadbolt.getConfig().reminder.add(player)) { Deadbolt.getConfig().sendMessage(player, ChatColor.GOLD, Deadbolt.getLanguage().msg_reminder_lock_your_chests); @@ -118,6 +147,8 @@ public void onBlockPlace(BlockPlaceEvent event) { case DARK_OAK_FENCE_GATE: case JUNGLE_FENCE_GATE: case SPRUCE_FENCE_GATE: + case WARPED_FENCE_GATE: + case CRIMSON_FENCE_GATE: if (player.hasPermission(getPermission(block.getType())) && Deadbolt.getConfig().reminder.add(player)) { Deadbolt.getConfig().sendMessage(player, ChatColor.GOLD, Deadbolt.getLanguage().msg_reminder_lock_your_chests); } @@ -141,8 +172,28 @@ public void onBlockBurn(BlockBurnEvent event) { private String getPermission(Material type) { switch (type) { case CHEST: + case BARREL: + case SHULKER_BOX: + case WHITE_SHULKER_BOX: + case ORANGE_SHULKER_BOX: + case MAGENTA_SHULKER_BOX: + case LIGHT_BLUE_SHULKER_BOX: + case YELLOW_SHULKER_BOX: + case LIME_SHULKER_BOX: + case PINK_SHULKER_BOX: + case GRAY_SHULKER_BOX: + case LIGHT_GRAY_SHULKER_BOX: + case CYAN_SHULKER_BOX: + case PURPLE_SHULKER_BOX: + case BLUE_SHULKER_BOX: + case BROWN_SHULKER_BOX: + case GREEN_SHULKER_BOX: + case RED_SHULKER_BOX: + case BLACK_SHULKER_BOX: return Perm.user_create_chest; case FURNACE: + case BLAST_FURNACE: + case SMOKER: case BURNING_FURNACE: return Perm.user_create_furnace; case CAULDRON: @@ -153,23 +204,34 @@ private String getPermission(Material type) { return Perm.user_create_brewery; case ENCHANTMENT_TABLE: return Perm.user_create_enchant; - case WOODEN_DOOR: - case IRON_DOOR_BLOCK: + case OAK_DOOR: + case IRON_DOOR: case SPRUCE_DOOR: case BIRCH_DOOR: case JUNGLE_DOOR: case ACACIA_DOOR: case DARK_OAK_DOOR: + case WARPED_DOOR: + case CRIMSON_DOOR: return Perm.user_create_door; - case TRAP_DOOR: + case OAK_TRAPDOOR: + case BIRCH_TRAPDOOR: + case SPRUCE_TRAPDOOR: + case JUNGLE_TRAPDOOR: + case ACACIA_TRAPDOOR: + case DARK_OAK_TRAPDOOR: + case WARPED_TRAPDOOR: + case CRIMSON_TRAPDOOR: case IRON_TRAPDOOR: return Perm.user_create_trapdoor; - case FENCE_GATE: + case OAK_FENCE_GATE: case BIRCH_FENCE_GATE: case ACACIA_FENCE_GATE: case DARK_OAK_FENCE_GATE: case JUNGLE_FENCE_GATE: case SPRUCE_FENCE_GATE: + case WARPED_FENCE_GATE: + case CRIMSON_FENCE_GATE: return Perm.user_create_fencegate; case ANVIL: return Perm.user_create_anvil; diff --git a/src/main/java/com/daemitus/deadbolt/events/PlayerListener.java b/src/main/java/com/daemitus/deadbolt/events/PlayerListener.java index 2f291f0..5f40665 100644 --- a/src/main/java/com/daemitus/deadbolt/events/PlayerListener.java +++ b/src/main/java/com/daemitus/deadbolt/events/PlayerListener.java @@ -56,10 +56,14 @@ private boolean handleRightClick(PlayerInteractEvent event) { case DARK_OAK_FENCE_GATE: case JUNGLE_FENCE_GATE: case SPRUCE_FENCE_GATE: + case WARPED_FENCE_GATE: + case CRIMSON_FENCE_GATE: return onPlayerInteractDoor(event); case CHEST: case TRAPPED_CHEST: case FURNACE: + case BLAST_FURNACE: + case SMOKER: case CAULDRON: case DISPENSER: case BREWING_STAND: @@ -90,15 +94,42 @@ private boolean placeQuickSign(PlayerInteractEvent event) { case JUNGLE_DOOR: case ACACIA_DOOR: case DARK_OAK_DOOR: - case TRAP_DOOR: + case OAK_TRAPDOOR: + case BIRCH_TRAPDOOR: + case SPRUCE_TRAPDOOR: + case JUNGLE_TRAPDOOR: + case ACACIA_TRAPDOOR: + case DARK_OAK_TRAPDOOR: + case WARPED_TRAPDOOR: + case CRIMSON_TRAPDOOR: case IRON_TRAPDOOR: case TRAPPED_CHEST: - case FENCE_GATE: + case BARREL: + case SHULKER_BOX: + case WHITE_SHULKER_BOX: + case ORANGE_SHULKER_BOX: + case MAGENTA_SHULKER_BOX: + case LIGHT_BLUE_SHULKER_BOX: + case YELLOW_SHULKER_BOX: + case LIME_SHULKER_BOX: + case PINK_SHULKER_BOX: + case GRAY_SHULKER_BOX: + case LIGHT_GRAY_SHULKER_BOX: + case CYAN_SHULKER_BOX: + case PURPLE_SHULKER_BOX: + case BLUE_SHULKER_BOX: + case BROWN_SHULKER_BOX: + case GREEN_SHULKER_BOX: + case RED_SHULKER_BOX: + case BLACK_SHULKER_BOX: + case OAK_FENCE_GATE: case BIRCH_FENCE_GATE: case ACACIA_FENCE_GATE: case DARK_OAK_FENCE_GATE: case JUNGLE_FENCE_GATE: case SPRUCE_FENCE_GATE: + case WARPED_FENCE_GATE: + case CRIMSON_FENCE_GATE: case BREWING_STAND: case ENCHANTMENT_TABLE: case CAULDRON: @@ -167,31 +198,62 @@ private boolean canQuickProtect(Player player, Block block) { } switch (block.getType()) { case CHEST: + case BARREL: + case SHULKER_BOX: + case WHITE_SHULKER_BOX: + case ORANGE_SHULKER_BOX: + case MAGENTA_SHULKER_BOX: + case LIGHT_BLUE_SHULKER_BOX: + case YELLOW_SHULKER_BOX: + case LIME_SHULKER_BOX: + case PINK_SHULKER_BOX: + case GRAY_SHULKER_BOX: + case LIGHT_GRAY_SHULKER_BOX: + case CYAN_SHULKER_BOX: + case PURPLE_SHULKER_BOX: + case BLUE_SHULKER_BOX: + case BROWN_SHULKER_BOX: + case GREEN_SHULKER_BOX: + case RED_SHULKER_BOX: + case BLACK_SHULKER_BOX: return player.hasPermission(Perm.user_create_chest); case TRAPPED_CHEST: return player.hasPermission(Perm.user_create_trapped_chest); case DISPENSER: return player.hasPermission(Perm.user_create_dispenser); case FURNACE: + case BLAST_FURNACE: + case SMOKER: case BURNING_FURNACE: return player.hasPermission(Perm.user_create_furnace); - case WOODEN_DOOR: + case OAK_DOOR: case SPRUCE_DOOR: case BIRCH_DOOR: case JUNGLE_DOOR: case ACACIA_DOOR: case DARK_OAK_DOOR: - case IRON_DOOR_BLOCK: + case WARPED_DOOR: + case CRIMSON_DOOR: + case IRON_DOOR: return player.hasPermission(Perm.user_create_door); - case TRAP_DOOR: + case OAK_TRAPDOOR: + case SPRUCE_TRAPDOOR: + case BIRCH_TRAPDOOR: + case JUNGLE_TRAPDOOR: + case ACACIA_TRAPDOOR: + case DARK_OAK_TRAPDOOR: + case WARPED_TRAPDOOR: + case CRIMSON_TRAPDOOR: case IRON_TRAPDOOR: return player.hasPermission(Perm.user_create_trapdoor); - case FENCE_GATE: + case OAK_FENCE_GATE: case BIRCH_FENCE_GATE: case ACACIA_FENCE_GATE: case DARK_OAK_FENCE_GATE: case JUNGLE_FENCE_GATE: case SPRUCE_FENCE_GATE: + case WARPED_FENCE_GATE: + case CRIMSON_FENCE_GATE: return player.hasPermission(Perm.user_create_fencegate); case BREWING_STAND: return player.hasPermission(Perm.user_create_brewery); diff --git a/src/main/java/com/daemitus/deadbolt/events/SignListener.java b/src/main/java/com/daemitus/deadbolt/events/SignListener.java index 4cf7b27..601ce5c 100644 --- a/src/main/java/com/daemitus/deadbolt/events/SignListener.java +++ b/src/main/java/com/daemitus/deadbolt/events/SignListener.java @@ -163,6 +163,24 @@ private Result validateSignPlacement(Deadbolted db, Player player, boolean isPri //not authorized to protect? switch (setBlock.getType()) { case CHEST: + case BARREL: + case SHULKER_BOX: + case WHITE_SHULKER_BOX: + case ORANGE_SHULKER_BOX: + case MAGENTA_SHULKER_BOX: + case LIGHT_BLUE_SHULKER_BOX: + case YELLOW_SHULKER_BOX: + case LIME_SHULKER_BOX: + case PINK_SHULKER_BOX: + case GRAY_SHULKER_BOX: + case LIGHT_GRAY_SHULKER_BOX: + case CYAN_SHULKER_BOX: + case PURPLE_SHULKER_BOX: + case BLUE_SHULKER_BOX: + case BROWN_SHULKER_BOX: + case GREEN_SHULKER_BOX: + case RED_SHULKER_BOX: + case BLACK_SHULKER_BOX: if (!chest && !(chest = player.hasPermission(Perm.user_create_chest))) { return Result.DENY_BLOCK_PERM; } @@ -173,6 +191,8 @@ private Result validateSignPlacement(Deadbolted db, Player player, boolean isPri } break; case FURNACE: + case BLAST_FURNACE: + case SMOKER: case BURNING_FURNACE: if (!furnace && !(furnace = player.hasPermission(Perm.user_create_furnace))) { return Result.DENY_BLOCK_PERM; @@ -185,11 +205,20 @@ private Result validateSignPlacement(Deadbolted db, Player player, boolean isPri case JUNGLE_DOOR: case ACACIA_DOOR: case DARK_OAK_DOOR: + case WARPED_DOOR: + case CRIMSON_DOOR: if (!door && !(door = player.hasPermission(Perm.user_create_door))) { return Result.DENY_BLOCK_PERM; } break; - case TRAP_DOOR: + case OAK_TRAPDOOR: + case BIRCH_TRAPDOOR: + case SPRUCE_TRAPDOOR: + case JUNGLE_TRAPDOOR: + case ACACIA_TRAPDOOR: + case DARK_OAK_TRAPDOOR: + case WARPED_TRAPDOOR: + case CRIMSON_TRAPDOOR: case IRON_TRAPDOOR: if (!trap && !(trap = player.hasPermission(Perm.user_create_trapdoor))) { return Result.DENY_BLOCK_PERM; @@ -201,6 +230,8 @@ private Result validateSignPlacement(Deadbolted db, Player player, boolean isPri case DARK_OAK_FENCE_GATE: case JUNGLE_FENCE_GATE: case SPRUCE_FENCE_GATE: + case WARPED_FENCE_GATE: + case CRIMSON_FENCE_GATE: if (!gate && !(gate = player.hasPermission(Perm.user_create_fencegate))) { return Result.DENY_BLOCK_PERM; } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 4eb5050..bcb0907 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -3,6 +3,7 @@ main: com.daemitus.deadbolt.DeadboltPlugin version: 2.2 authors: [daemitus, md_5] description: A simple plugin for locking containers and doors without passwords or database files. Recreated from Acru's original plugin. +api-version: 1.16 commands: deadbolt: