summaryrefslogtreecommitdiffstats
path: root/EssentialsProtect/src/net/ess3/protect/EssentialsProtectBlockListener.java
diff options
context:
space:
mode:
authorsnowleo <schneeleo@gmail.com>2012-10-06 16:49:40 +0200
committersnowleo <schneeleo@gmail.com>2012-10-06 16:49:40 +0200
commitfabd88dc2585bf6798658f34a7ee122225316fe8 (patch)
treecdda3fad01567f042d5afbaa189ac12ef94f2b7e /EssentialsProtect/src/net/ess3/protect/EssentialsProtectBlockListener.java
parent463c4ff62db553fc980545665a332ef7bbecdcc6 (diff)
downloadEssentials-fabd88dc2585bf6798658f34a7ee122225316fe8.tar
Essentials-fabd88dc2585bf6798658f34a7ee122225316fe8.tar.gz
Essentials-fabd88dc2585bf6798658f34a7ee122225316fe8.tar.lz
Essentials-fabd88dc2585bf6798658f34a7ee122225316fe8.tar.xz
Essentials-fabd88dc2585bf6798658f34a7ee122225316fe8.zip
Less locks please
Diffstat (limited to 'EssentialsProtect/src/net/ess3/protect/EssentialsProtectBlockListener.java')
-rw-r--r--EssentialsProtect/src/net/ess3/protect/EssentialsProtectBlockListener.java99
1 files changed, 38 insertions, 61 deletions
diff --git a/EssentialsProtect/src/net/ess3/protect/EssentialsProtectBlockListener.java b/EssentialsProtect/src/net/ess3/protect/EssentialsProtectBlockListener.java
index 6649469b9..b77e49177 100644
--- a/EssentialsProtect/src/net/ess3/protect/EssentialsProtectBlockListener.java
+++ b/EssentialsProtect/src/net/ess3/protect/EssentialsProtectBlockListener.java
@@ -16,48 +16,40 @@ public class EssentialsProtectBlockListener implements Listener
public EssentialsProtectBlockListener(final IProtect parent)
{
this.prot = parent;
- }
+ }
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onBlockIgnite(BlockIgniteEvent event)
{
final ProtectHolder settings = prot.getSettings();
- settings.acquireReadLock();
- try
+ final Block block = event.getBlock();
+ if (event.getBlock().getType() == Material.OBSIDIAN
+ || event.getBlock().getRelative(BlockFace.DOWN).getType() == Material.OBSIDIAN)
{
- final Block block = event.getBlock();
- if (event.getBlock().getType() == Material.OBSIDIAN
- || event.getBlock().getRelative(BlockFace.DOWN).getType() == Material.OBSIDIAN)
- {
- event.setCancelled(settings.getData().getPrevent().isPortalCreation());
- return;
- }
+ event.setCancelled(settings.getData().getPrevent().isPortalCreation());
+ return;
+ }
- if (event.getCause().equals(BlockIgniteEvent.IgniteCause.SPREAD))
- {
- event.setCancelled(settings.getData().getPrevent().isFirespread());
- return;
- }
+ if (event.getCause().equals(BlockIgniteEvent.IgniteCause.SPREAD))
+ {
+ event.setCancelled(settings.getData().getPrevent().isFirespread());
+ return;
+ }
- if (event.getCause().equals(BlockIgniteEvent.IgniteCause.FLINT_AND_STEEL) && event.getPlayer() != null)
- {
- event.setCancelled(Permissions.USEFLINTSTEEL.isAuthorized(event.getPlayer()));
- return;
- }
+ if (event.getCause().equals(BlockIgniteEvent.IgniteCause.FLINT_AND_STEEL) && event.getPlayer() != null)
+ {
+ event.setCancelled(Permissions.USEFLINTSTEEL.isAuthorized(event.getPlayer()));
+ return;
+ }
- if (event.getCause().equals(BlockIgniteEvent.IgniteCause.LAVA))
- {
- event.setCancelled(settings.getData().getPrevent().isLavaFirespread());
- return;
- }
- if (event.getCause().equals(BlockIgniteEvent.IgniteCause.LIGHTNING))
- {
- event.setCancelled(settings.getData().getPrevent().isLightningFirespread());
- }
+ if (event.getCause().equals(BlockIgniteEvent.IgniteCause.LAVA))
+ {
+ event.setCancelled(settings.getData().getPrevent().isLavaFirespread());
+ return;
}
- finally
+ if (event.getCause().equals(BlockIgniteEvent.IgniteCause.LIGHTNING))
{
- settings.unlock();
+ event.setCancelled(settings.getData().getPrevent().isLightningFirespread());
}
}
@@ -65,47 +57,32 @@ public class EssentialsProtectBlockListener implements Listener
public void onBlockFromTo(final BlockFromToEvent event)
{
final ProtectHolder settings = prot.getSettings();
- settings.acquireReadLock();
- try
+ final Block block = event.getBlock();
+ if (block.getType() == Material.WATER || block.getType() == Material.STATIONARY_WATER)
{
- final Block block = event.getBlock();
- if (block.getType() == Material.WATER || block.getType() == Material.STATIONARY_WATER)
- {
- event.setCancelled(settings.getData().getPrevent().isWaterFlow());
- return;
- }
-
- if (block.getType() == Material.LAVA || block.getType() == Material.STATIONARY_LAVA)
- {
- event.setCancelled(settings.getData().getPrevent().isLavaFlow());
- }
- // TODO: Test if this still works
- /*
- * if (block.getType() == Material.AIR) {
- * event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_water_bucket_flow)); return; }
- */
+ event.setCancelled(settings.getData().getPrevent().isWaterFlow());
+ return;
}
- finally
+
+ if (block.getType() == Material.LAVA || block.getType() == Material.STATIONARY_LAVA)
{
- settings.unlock();
+ event.setCancelled(settings.getData().getPrevent().isLavaFlow());
}
+ // TODO: Test if this still works
+ /*
+ * if (block.getType() == Material.AIR) {
+ * event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_water_bucket_flow)); return; }
+ */
}
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onBlockBurn(final BlockBurnEvent event)
{
final ProtectHolder settings = prot.getSettings();
- settings.acquireReadLock();
- try
- {
- if (settings.getData().getPrevent().isFirespread())
- {
- event.setCancelled(true);
- }
- }
- finally
+
+ if (settings.getData().getPrevent().isFirespread())
{
- settings.unlock();
+ event.setCancelled(true);
}
}
} \ No newline at end of file