disallow use of dyes in claims

Dyes can be used to change sign colors according to cities7

- Also use 1.14 signs
This commit is contained in:
RoboMWM 2019-06-09 13:54:54 -07:00
parent 59d9e6f556
commit a9a7fe41a0
3 changed files with 19 additions and 6 deletions

View File

@ -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)

View File

@ -1810,7 +1810,8 @@ class PlayerEventHandler implements Listener
ItemStack itemInHand = instance.getItemInHand(player, hand);
Material materialInHand = itemInHand.getType();
ArrayList<Material> spawn_eggs = new ArrayList<Material>();
Set<Material> spawn_eggs = new HashSet<>();
Set<Material> 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)

View File

@ -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);