summaryrefslogtreecommitdiffstats
path: root/EssentialsProtect/src/com/earth2me/essentials/protect
diff options
context:
space:
mode:
authorsnowleo <schneeleo@gmail.com>2011-07-18 01:05:42 +0200
committersnowleo <schneeleo@gmail.com>2011-07-18 01:05:42 +0200
commit81f0ad4d9216bc7ffbd4aa87c00842c156f49878 (patch)
treec6e252a50a55e249fcd29956d7186a20c53c2053 /EssentialsProtect/src/com/earth2me/essentials/protect
parent1ce6be5944fd2b8db0804d588747340ad88751cc (diff)
downloadEssentials-81f0ad4d9216bc7ffbd4aa87c00842c156f49878.tar
Essentials-81f0ad4d9216bc7ffbd4aa87c00842c156f49878.tar.gz
Essentials-81f0ad4d9216bc7ffbd4aa87c00842c156f49878.tar.lz
Essentials-81f0ad4d9216bc7ffbd4aa87c00842c156f49878.tar.xz
Essentials-81f0ad4d9216bc7ffbd4aa87c00842c156f49878.zip
Piston push blacklist
Diffstat (limited to 'EssentialsProtect/src/com/earth2me/essentials/protect')
-rw-r--r--EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtect.java2
-rw-r--r--EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java33
-rw-r--r--EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java3
3 files changed, 37 insertions, 1 deletions
diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtect.java b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtect.java
index 18acd9be3..53843843f 100644
--- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtect.java
+++ b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtect.java
@@ -45,6 +45,8 @@ public class EssentialsProtect extends JavaPlugin implements IConf, IProtect
pm.registerEvent(Type.BLOCK_IGNITE, blockListener, Priority.Highest, this);
pm.registerEvent(Type.BLOCK_BURN, blockListener, Priority.Highest, this);
pm.registerEvent(Type.BLOCK_BREAK, blockListener, Priority.Highest, this);
+ pm.registerEvent(Type.BLOCK_PISTON_EXTEND, blockListener, Priority.Highest, this);
+ pm.registerEvent(Type.BLOCK_PISTON_RETRACT, blockListener, Priority.Highest, this);
final EssentialsProtectEntityListener entityListener = new EssentialsProtectEntityListener(this);
pm.registerEvent(Type.ENTITY_EXPLODE, entityListener, Priority.Highest, this);
diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java
index 1b9736a5a..5d0a62d72 100644
--- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java
+++ b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java
@@ -14,6 +14,8 @@ import org.bukkit.event.block.BlockBurnEvent;
import org.bukkit.event.block.BlockFromToEvent;
import org.bukkit.event.block.BlockIgniteEvent;
import org.bukkit.event.block.BlockListener;
+import org.bukkit.event.block.BlockPistonExtendEvent;
+import org.bukkit.event.block.BlockPistonRetractEvent;
import org.bukkit.event.block.BlockPlaceEvent;
@@ -319,4 +321,35 @@ public class EssentialsProtectBlockListener extends BlockListener
}
}
}
+
+ @Override
+ public void onBlockPistonExtend(BlockPistonExtendEvent event)
+ {
+ if (event.isCancelled())
+ {
+ return;
+ }
+ for (Block block : event.getBlocks())
+ {
+ if (prot.checkProtectionItems(ProtectConfig.blacklist_piston, block.getTypeId()))
+ {
+ event.setCancelled(true);
+ return;
+ }
+ }
+ }
+
+ @Override
+ public void onBlockPistonRetract(BlockPistonRetractEvent event)
+ {
+ if (event.isCancelled() || !event.isSticky())
+ {
+ return;
+ }
+ if (prot.checkProtectionItems(ProtectConfig.blacklist_piston, event.getRetractLocation().getBlock().getTypeId()))
+ {
+ event.setCancelled(true);
+ return;
+ }
+ }
}
diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java b/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java
index 75824c368..950da0ebf 100644
--- a/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java
+++ b/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java
@@ -45,7 +45,8 @@ public enum ProtectConfig
alert_on_break("protect.alert.on-break"),
blacklist_placement("protect.blacklist.placement"),
blacklist_usage("protect.blacklist.usage"),
- blacklist_break("protect.blacklist.break");
+ blacklist_break("protect.blacklist.break"),
+ blacklist_piston("protect.blacklist.piston");
private final String configName;
private final String defValueString;
private final boolean defValueBoolean;