diff --git a/src/main/java/me/ryanhamshire/GriefPrevention/EntityEventHandler.java b/src/main/java/me/ryanhamshire/GriefPrevention/EntityEventHandler.java index 9571008..7684550 100644 --- a/src/main/java/me/ryanhamshire/GriefPrevention/EntityEventHandler.java +++ b/src/main/java/me/ryanhamshire/GriefPrevention/EntityEventHandler.java @@ -124,9 +124,8 @@ public class EntityEventHandler implements Listener @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST) public void onLightningStrike(LightningStrikeEvent event){ - if(event.getCause() == LightningStrikeEvent.Cause.TRIDENT){ + if(event.getCause() == LightningStrikeEvent.Cause.TRIDENT) event.getLightning().setMetadata("GP_TRIDENT", new FixedMetadataValue(GriefPrevention.instance, event.getLightning().getLocation())); - } } @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST) diff --git a/src/main/java/me/ryanhamshire/GriefPrevention/PlayerEventHandler.java b/src/main/java/me/ryanhamshire/GriefPrevention/PlayerEventHandler.java index b90f585..4d7f23b 100644 --- a/src/main/java/me/ryanhamshire/GriefPrevention/PlayerEventHandler.java +++ b/src/main/java/me/ryanhamshire/GriefPrevention/PlayerEventHandler.java @@ -1810,7 +1810,8 @@ class PlayerEventHandler implements Listener ItemStack itemInHand = instance.getItemInHand(player, hand); Material materialInHand = itemInHand.getType(); - ArrayList spawn_eggs = new ArrayList(); + Set spawn_eggs = new HashSet<>(); + Set dyes = new HashSet<>(); spawn_eggs.add(Material.BAT_SPAWN_EGG); spawn_eggs.add(Material.BLAZE_SPAWN_EGG); @@ -1863,9 +1864,21 @@ class PlayerEventHandler implements Listener spawn_eggs.add(Material.ZOMBIE_HORSE_SPAWN_EGG); spawn_eggs.add(Material.ZOMBIE_PIGMAN_SPAWN_EGG); spawn_eggs.add(Material.ZOMBIE_VILLAGER_SPAWN_EGG); + + for (Material material : Material.values()) + { + if (!material.isLegacy() && material.name().endsWith("_DYE")) + dyes.add(material); + } + //if it's bonemeal, armor stand, spawn egg, etc - check for build permission //RoboMWM: also check flint and steel to stop TNT ignition - if(clickedBlock != null && (materialInHand == Material.BONE_MEAL || materialInHand == Material.ARMOR_STAND || (spawn_eggs.contains(materialInHand) && GriefPrevention.instance.config_claims_preventGlobalMonsterEggs) || materialInHand == Material.END_CRYSTAL || materialInHand == Material.FLINT_AND_STEEL)) + if(clickedBlock != null && (materialInHand == Material.BONE_MEAL + || materialInHand == Material.ARMOR_STAND + || (spawn_eggs.contains(materialInHand) && GriefPrevention.instance.config_claims_preventGlobalMonsterEggs) + || materialInHand == Material.END_CRYSTAL + || materialInHand == Material.FLINT_AND_STEEL) + || dyes.contains(materialInHand)) { String noBuildReason = instance.allowBuild(player, clickedBlock.getLocation(), clickedBlockType); if(noBuildReason != null) diff --git a/src/main/java/me/ryanhamshire/GriefPrevention/RestoreNatureProcessingTask.java b/src/main/java/me/ryanhamshire/GriefPrevention/RestoreNatureProcessingTask.java index 4d887cd..d26b196 100644 --- a/src/main/java/me/ryanhamshire/GriefPrevention/RestoreNatureProcessingTask.java +++ b/src/main/java/me/ryanhamshire/GriefPrevention/RestoreNatureProcessingTask.java @@ -738,11 +738,12 @@ class RestoreNatureProcessingTask implements Runnable playerBlocks.add(Material.CRAFTING_TABLE); playerBlocks.add(Material.FURNACE); playerBlocks.add(Material.OAK_DOOR); - playerBlocks.add(Material.SIGN); + playerBlocks.add(Material.ACACIA_SIGN); + playerBlocks.addAll(Tag.SIGNS.getValues()); + playerBlocks.addAll(Tag.WALL_SIGNS.getValues()); playerBlocks.add(Material.LADDER); playerBlocks.add(Material.RAIL); playerBlocks.add(Material.COBBLESTONE_STAIRS); - playerBlocks.add(Material.WALL_SIGN); playerBlocks.add(Material.STONE_PRESSURE_PLATE); playerBlocks.add(Material.LEVER); playerBlocks.add(Material.IRON_DOOR);