diff --git a/pom.xml b/pom.xml
index bf35017..bddeb97 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,13 +9,26 @@
jarDeadbolt
- https://github.com/daemitus/Deadbolt
+ https://github.com/md-5/DeadboltUTF-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-repohttp://ess.ementalo.com/nexus/content/groups/public/
@@ -33,8 +46,8 @@
maven-compiler-plugin2.0.2
- 1.7
- 1.7
+ 1.8
+ 1.8
@@ -64,7 +77,7 @@
org.bukkitbukkit
- 1.8-R0.1-SNAPSHOT
+ LATESTcom.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: