1
0
mirror of https://github.com/essentials/Essentials.git synced 2025-08-17 03:54:19 +02:00

Piston push blacklist

This commit is contained in:
snowleo
2011-07-18 01:05:42 +02:00
parent 1ce6be5944
commit 81f0ad4d92
4 changed files with 41 additions and 3 deletions

View File

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

View File

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

View File

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