summaryrefslogtreecommitdiffstats
path: root/EssentialsProtect/src
diff options
context:
space:
mode:
authormd_5 <md_5@bigpond.com>2012-06-27 20:23:06 +1000
committermd_5 <md_5@bigpond.com>2012-06-27 20:23:06 +1000
commit4561a7f0106adb7bd62e2d42114cb80a3a30b570 (patch)
treee7e57e5ab8832bb1fbd0fafeacc9bcd9ee1fc48c /EssentialsProtect/src
parent7bef2d3817634a4c396e61930460126dde3606ba (diff)
downloadEssentials-4561a7f0106adb7bd62e2d42114cb80a3a30b570.tar
Essentials-4561a7f0106adb7bd62e2d42114cb80a3a30b570.tar.gz
Essentials-4561a7f0106adb7bd62e2d42114cb80a3a30b570.tar.lz
Essentials-4561a7f0106adb7bd62e2d42114cb80a3a30b570.tar.xz
Essentials-4561a7f0106adb7bd62e2d42114cb80a3a30b570.zip
Fairly expansive cleanup of ess protect.
Diffstat (limited to 'EssentialsProtect/src')
-rw-r--r--EssentialsProtect/src/com/earth2me/essentials/protect/BlockBreakPermissions.java19
-rw-r--r--EssentialsProtect/src/com/earth2me/essentials/protect/BlockPlacePermissions.java18
-rw-r--r--EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsConnect.java18
-rw-r--r--EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtect.java75
-rw-r--r--EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java117
-rw-r--r--EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java59
-rw-r--r--EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectPlayerListener.java3
-rw-r--r--EssentialsProtect/src/com/earth2me/essentials/protect/ItemUsePermissions.java17
-rw-r--r--EssentialsProtect/src/com/earth2me/essentials/protect/Permissions.java4
-rw-r--r--EssentialsProtect/src/com/earth2me/essentials/protect/ProtectHolder.java6
-rw-r--r--EssentialsProtect/src/com/earth2me/essentials/protect/data/ProtectedBlockJDBC.java24
-rw-r--r--EssentialsProtect/src/com/earth2me/essentials/protect/data/ProtectedBlockMemory.java40
-rw-r--r--EssentialsProtect/src/com/earth2me/essentials/protect/data/ProtectedBlockMySQL.java30
-rw-r--r--EssentialsProtect/src/com/earth2me/essentials/protect/data/ProtectedBlockSQLite.java30
14 files changed, 219 insertions, 241 deletions
diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/BlockBreakPermissions.java b/EssentialsProtect/src/com/earth2me/essentials/protect/BlockBreakPermissions.java
index b6a74df22..05a376a03 100644
--- a/EssentialsProtect/src/com/earth2me/essentials/protect/BlockBreakPermissions.java
+++ b/EssentialsProtect/src/com/earth2me/essentials/protect/BlockBreakPermissions.java
@@ -8,26 +8,30 @@ import java.util.Map;
import org.bukkit.Material;
import org.bukkit.permissions.PermissionDefault;
-public class BlockBreakPermissions extends AbstractSuperpermsPermission{
- private static Map<Material,IPermission> permissions = new EnumMap<Material, IPermission>(Material.class);
+
+public final class BlockBreakPermissions extends AbstractSuperpermsPermission
+{
+ private static Map<Material, IPermission> permissions = new EnumMap<Material, IPermission>(Material.class);
private static final String base = "essentials.protect.blockbreak.";
private final String permission;
-
- public static IPermission getPermission(Material mat)
+
+ public static IPermission getPermission(final Material mat)
{
IPermission perm = permissions.get(mat);
- if (perm == null) {
+ if (perm == null)
+ {
perm = new BlockBreakPermissions(mat.toString().toLowerCase(Locale.ENGLISH));
permissions.put(mat, perm);
}
return perm;
}
- private BlockBreakPermissions(String matName)
+ private BlockBreakPermissions(final String matName)
{
+ super();
this.permission = base + matName;
}
-
+
@Override
public String getPermission()
{
@@ -40,4 +44,3 @@ public class BlockBreakPermissions extends AbstractSuperpermsPermission{
return PermissionDefault.TRUE;
}
}
-
diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/BlockPlacePermissions.java b/EssentialsProtect/src/com/earth2me/essentials/protect/BlockPlacePermissions.java
index 00f7d6c4e..e7a4c29c5 100644
--- a/EssentialsProtect/src/com/earth2me/essentials/protect/BlockPlacePermissions.java
+++ b/EssentialsProtect/src/com/earth2me/essentials/protect/BlockPlacePermissions.java
@@ -8,26 +8,30 @@ import java.util.Map;
import org.bukkit.Material;
import org.bukkit.permissions.PermissionDefault;
-public class BlockPlacePermissions extends AbstractSuperpermsPermission{
- private static Map<Material,IPermission> permissions = new EnumMap<Material, IPermission>(Material.class);
+
+public class BlockPlacePermissions extends AbstractSuperpermsPermission
+{
+ private static Map<Material, IPermission> permissions = new EnumMap<Material, IPermission>(Material.class);
private static final String base = "essentials.protect.blockplace.";
private final String permission;
-
- public static IPermission getPermission(Material mat)
+
+ public static IPermission getPermission(final Material mat)
{
IPermission perm = permissions.get(mat);
- if (perm == null) {
+ if (perm == null)
+ {
perm = new BlockPlacePermissions(mat.toString().toLowerCase(Locale.ENGLISH));
permissions.put(mat, perm);
}
return perm;
}
- private BlockPlacePermissions(String matName)
+ private BlockPlacePermissions(final String matName)
{
+ super();
this.permission = base + matName;
}
-
+
@Override
public String getPermission()
{
diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsConnect.java b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsConnect.java
index 85a4913f0..ceb425e6a 100644
--- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsConnect.java
+++ b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsConnect.java
@@ -20,7 +20,7 @@ public class EssentialsConnect
private final transient IEssentials ess;
private final transient IProtect protect;
- public EssentialsConnect(Plugin essPlugin, Plugin essProtect)
+ public EssentialsConnect(final Plugin essPlugin, final Plugin essProtect)
{
if (!essProtect.getDescription().getVersion().equals(essPlugin.getDescription().getVersion()))
{
@@ -29,15 +29,11 @@ public class EssentialsConnect
ess = (IEssentials)essPlugin;
protect = (IProtect)essProtect;
protect.setSettings(new ProtectHolder(ess));
- ProtectReloader pr = new ProtectReloader();
+ final ProtectReloader pr = new ProtectReloader();
pr.onReload();
ess.addReloadListener(pr);
}
- public void onDisable()
- {
- }
-
public IEssentials getEssentials()
{
return ess;
@@ -84,7 +80,7 @@ public class EssentialsConnect
* }
*/
- ProtectHolder settings = protect.getSettings();
+ final ProtectHolder settings = protect.getSettings();
settings.acquireReadLock();
try
{
@@ -105,7 +101,7 @@ public class EssentialsConnect
else
{
try
- {
+ {
protect.setStorage(new ProtectedBlockSQLite("jdbc:sqlite:" + ess.getDataFolder() + "/EssentialsProtect.db"));
}
catch (PropertyVetoException ex)
@@ -114,9 +110,9 @@ public class EssentialsConnect
}
}
/*if (protect.getSettingBool(ProtectConfig.memstore))
- {
- protect.setStorage(new ProtectedBlockMemory(protect.getStorage(), protect));
- }*/
+ {
+ protect.setStorage(new ProtectedBlockMemory(protect.getStorage(), protect));
+ }*/
}
finally
diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtect.java b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtect.java
index 1f5a9f9dc..fa3fff70d 100644
--- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtect.java
+++ b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtect.java
@@ -29,13 +29,14 @@ public class EssentialsProtect extends JavaPlugin implements IProtect
C3P0logger = com.mchange.v2.log.MLog.getLogger(com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.class);
C3P0logger.setFilter(new Filter()
{
- public boolean isLoggable(LogRecord lr)
+ public boolean isLoggable(final LogRecord lr)
{
return lr.getLevel() != Level.INFO;
}
});
}
+ @Override
public void onEnable()
{
final PluginManager pm = this.getServer().getPluginManager();
@@ -73,12 +74,11 @@ public class EssentialsProtect extends JavaPlugin implements IProtect
}
/*@Override
- public boolean checkProtectionItems(final ProtectConfig list, final int id)
- {
- final List<Integer> itemList = settingsList.get(list);
- return itemList != null && !itemList.isEmpty() && itemList.contains(id);
- }*/
-
+ public boolean checkProtectionItems(final ProtectConfig list, final int id)
+ {
+ final List<Integer> itemList = settingsList.get(list);
+ return itemList != null && !itemList.isEmpty() && itemList.contains(id);
+ }*/
@Override
public IProtectedBlock getStorage()
{
@@ -86,45 +86,46 @@ public class EssentialsProtect extends JavaPlugin implements IProtect
}
@Override
- public void setStorage(IProtectedBlock pb)
+ public void setStorage(final IProtectedBlock pb)
{
storage = pb;
}
+ @Override
public EssentialsConnect getEssentialsConnect()
{
return ess;
}
-
- /*public Map<ProtectConfig, Boolean> getSettingsBoolean()
- {
- return settingsBoolean;
- }
-
- public Map<ProtectConfig, String> getSettingsString()
- {
- return settingsString;
- }
-
- public Map<ProtectConfig, List<Integer>> getSettingsList()
- {
- return settingsList;
- }
-
- @Override
- public boolean getSettingBool(final ProtectConfig protectConfig)
- {
- final Boolean bool = settingsBoolean.get(protectConfig);
- return bool == null ? protectConfig.getDefaultValueBoolean() : bool;
- }
+ /*public Map<ProtectConfig, Boolean> getSettingsBoolean()
+ {
+ return settingsBoolean;
+ }
+
+ public Map<ProtectConfig, String> getSettingsString()
+ {
+ return settingsString;
+ }
+
+ public Map<ProtectConfig, List<Integer>> getSettingsList()
+ {
+ return settingsList;
+ }
+
+ @Override
+ public boolean getSettingBool(final ProtectConfig protectConfig)
+ {
+ final Boolean bool = settingsBoolean.get(protectConfig);
+ return bool == null ? protectConfig.getDefaultValueBoolean() : bool;
+ }
+
+ @Override
+ public String getSettingString(final ProtectConfig protectConfig)
+ {
+ final String str = settingsString.get(protectConfig);
+ return str == null ? protectConfig.getDefaultValueString() : str;
+ }*/
@Override
- public String getSettingString(final ProtectConfig protectConfig)
- {
- final String str = settingsString.get(protectConfig);
- return str == null ? protectConfig.getDefaultValueString() : str;
- }*/
-
public void onDisable()
{
if (storage != null)
@@ -141,11 +142,13 @@ public class EssentialsProtect extends JavaPlugin implements IProtect
}
}
+ @Override
public ProtectHolder getSettings()
{
return settings;
}
+ @Override
public void setSettings(final ProtectHolder settings)
{
this.settings = settings;
diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java
index f69ede53a..89dcc71cb 100644
--- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java
+++ b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java
@@ -1,7 +1,6 @@
package com.earth2me.essentials.protect;
import static com.earth2me.essentials.I18n._;
-import com.earth2me.essentials.api.IEssentials;
import com.earth2me.essentials.protect.data.IProtectedBlock;
import java.util.ArrayList;
import java.util.List;
@@ -18,22 +17,15 @@ import org.bukkit.event.block.*;
public class EssentialsProtectBlockListener implements Listener
{
final private transient IProtect prot;
- final private transient IEssentials ess;
public EssentialsProtectBlockListener(final IProtect parent)
{
this.prot = parent;
- this.ess = prot.getEssentialsConnect().getEssentials();
}
- @EventHandler(priority = EventPriority.HIGHEST)
+ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onBlockPlace(final BlockPlaceEvent event)
{
- if (event.isCancelled())
- {
- return;
- }
-
final Player user = event.getPlayer();
final ProtectHolder settings = prot.getSettings();
settings.acquireReadLock();
@@ -46,7 +38,6 @@ public class EssentialsProtectBlockListener implements Listener
}
final Block blockPlaced = event.getBlockPlaced();
- final int id = blockPlaced.getTypeId();
if (!BlockPlacePermissions.getPermission(blockPlaced.getType()).isAuthorized(user))
{
@@ -54,8 +45,8 @@ public class EssentialsProtectBlockListener implements Listener
return;
}
- if (!Permissions.ALERTS_NOTRIGGER.isAuthorized(user) &&
- settings.getData().getAlertOnPlacement().contains(blockPlaced.getType()))
+ if (!Permissions.ALERTS_NOTRIGGER.isAuthorized(user)
+ && settings.getData().getAlertOnPlacement().contains(blockPlaced.getType()))
{
prot.getEssentialsConnect().alert(user, blockPlaced.getType().toString(), _("alertPlaced"));
}
@@ -82,18 +73,18 @@ public class EssentialsProtectBlockListener implements Listener
}
}
/*if ((blockPlaced.getType() == Material.SIGN_POST || blockPlaced.getType() == Material.WALL_SIGN)
- && settings.getData().getSignsAndRails().isProtectSigns()
- && user.isAuthorized("essentials.protect"))
- {
- protect.add(blockPlaced);
- if (settings.getData().getSignsAndRails().isBlockBelow()
- && event.getBlockAgainst().getType() != Material.SIGN_POST
- && event.getBlockAgainst().getType() != Material.WALL_SIGN
- && !isProtected(event.getBlockAgainst(), user, settings))
- {
- protect.add(event.getBlockAgainst());
- }
- }*/
+ && settings.getData().getSignsAndRails().isProtectSigns()
+ && user.isAuthorized("essentials.protect"))
+ {
+ protect.add(blockPlaced);
+ if (settings.getData().getSignsAndRails().isBlockBelow()
+ && event.getBlockAgainst().getType() != Material.SIGN_POST
+ && event.getBlockAgainst().getType() != Material.WALL_SIGN
+ && !isProtected(event.getBlockAgainst(), user, settings))
+ {
+ protect.add(event.getBlockAgainst());
+ }
+ }*/
for (Block block : protect)
{
prot.getStorage().protectBlock(block, user.getName());
@@ -105,13 +96,9 @@ public class EssentialsProtectBlockListener implements Listener
}
}
- @EventHandler(priority = EventPriority.HIGHEST)
+ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onBlockIgnite(BlockIgniteEvent event)
{
- if (event.isCancelled())
- {
- return;
- }
final ProtectHolder settings = prot.getSettings();
settings.acquireReadLock();
try
@@ -165,13 +152,9 @@ public class EssentialsProtectBlockListener implements Listener
}
}
- @EventHandler(priority = EventPriority.HIGHEST)
+ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onBlockFromTo(final BlockFromToEvent event)
{
- if (event.isCancelled())
- {
- return;
- }
final ProtectHolder settings = prot.getSettings();
settings.acquireReadLock();
try
@@ -214,13 +197,9 @@ public class EssentialsProtectBlockListener implements Listener
}
}
- @EventHandler(priority = EventPriority.HIGHEST)
+ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onBlockBurn(final BlockBurnEvent event)
{
- if (event.isCancelled())
- {
- return;
- }
final ProtectHolder settings = prot.getSettings();
settings.acquireReadLock();
try
@@ -260,13 +239,9 @@ public class EssentialsProtectBlockListener implements Listener
BlockFace.SELF
};
- @EventHandler(priority = EventPriority.HIGHEST)
+ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onBlockBreak(final BlockBreakEvent event)
{
- if (event.isCancelled())
- {
- return;
- }
final Player user = event.getPlayer();
if (!Permissions.BUILD.isAuthorized(user))
@@ -275,7 +250,6 @@ public class EssentialsProtectBlockListener implements Listener
return;
}
final Block block = event.getBlock();
- final int typeId = block.getTypeId();
if (!BlockBreakPermissions.getPermission(block.getType()).isAuthorized(user))
{
@@ -366,13 +340,9 @@ public class EssentialsProtectBlockListener implements Listener
}
}
- @EventHandler(priority = EventPriority.HIGHEST)
+ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onBlockPistonExtend(final BlockPistonExtendEvent event)
{
- if (event.isCancelled())
- {
- return;
- }
final ProtectHolder settings = prot.getSettings();
settings.acquireReadLock();
try
@@ -428,10 +398,10 @@ public class EssentialsProtectBlockListener implements Listener
}
}
- @EventHandler(priority = EventPriority.HIGHEST)
+ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onBlockPistonRetract(final BlockPistonRetractEvent event)
{
- if (event.isCancelled() || !event.isSticky())
+ if (!event.isSticky())
{
return;
}
@@ -482,7 +452,6 @@ public class EssentialsProtectBlockListener implements Listener
}
}
}
-
finally
{
settings.unlock();
@@ -499,31 +468,31 @@ public class EssentialsProtectBlockListener implements Listener
return prot.getStorage().isProtected(block, user.getName());
}
- final Block up = block.getRelative(BlockFace.UP);
- if (up != null && up.getType() == Material.SIGN_POST)
- {
- return prot.getStorage().isProtected(block, user.getName());
- }
- final BlockFace[] directions = new BlockFace[]
- {
- BlockFace.NORTH,
- BlockFace.EAST,
- BlockFace.SOUTH,
- BlockFace.WEST
- };
- for (BlockFace blockFace : directions)
+ final Block up = block.getRelative(BlockFace.UP);
+ if (up != null && up.getType() == Material.SIGN_POST)
+ {
+ return prot.getStorage().isProtected(block, user.getName());
+ }
+ final BlockFace[] directions = new BlockFace[]
+ {
+ BlockFace.NORTH,
+ BlockFace.EAST,
+ BlockFace.SOUTH,
+ BlockFace.WEST
+ };
+ for (BlockFace blockFace : directions)
+ {
+ final Block signblock = block.getRelative(blockFace);
+ if (signblock.getType() == Material.WALL_SIGN)
{
- final Block signblock = block.getRelative(blockFace);
- if (signblock.getType() == Material.WALL_SIGN)
+ final org.bukkit.material.Sign signMat = (org.bukkit.material.Sign)signblock.getState().getData();
+ if (signMat != null && signMat.getFacing() == blockFace)
{
- final org.bukkit.material.Sign signMat = (org.bukkit.material.Sign)signblock.getState().getData();
- if (signMat != null && signMat.getFacing() == blockFace)
- {
- return prot.getStorage().isProtected(block, user.getName());
- }
+ return prot.getStorage().isProtected(block, user.getName());
}
}
-
+ }
+
}
if (settings.getData().getSignsAndRails().isProtectRails())
{
diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java
index 8a172f011..8966b5336 100644
--- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java
+++ b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java
@@ -1,6 +1,5 @@
package com.earth2me.essentials.protect;
-import com.earth2me.essentials.api.IEssentials;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
@@ -16,22 +15,16 @@ import org.bukkit.event.entity.EntityTargetEvent.TargetReason;
public class EssentialsProtectEntityListener implements Listener
{
private final transient IProtect prot;
- private final transient IEssentials ess;
public EssentialsProtectEntityListener(final IProtect prot)
{
super();
this.prot = prot;
- this.ess = prot.getEssentialsConnect().getEssentials();
}
- @EventHandler(priority = EventPriority.HIGHEST)
+ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onEntityDamage(final EntityDamageEvent event)
{
- if (event.isCancelled())
- {
- return;
- }
final ProtectHolder settings = prot.getSettings();
settings.acquireReadLock();
try
@@ -171,13 +164,9 @@ public class EssentialsProtectEntityListener implements Listener
}
}
- @EventHandler(priority = EventPriority.HIGHEST)
+ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onEntityExplode(final EntityExplodeEvent event)
{
- if (event.isCancelled())
- {
- return;
- }
final ProtectHolder settings = prot.getSettings();
settings.acquireReadLock();
try
@@ -194,7 +183,7 @@ public class EssentialsProtectEntityListener implements Listener
&& (settings.getData().getPrevent().isCreeperExplosion()
|| settings.getData().getPrevent().isCreeperBlockdamage()
|| (maxHeight >= 0 && event.getLocation().getBlockY() > maxHeight)))
- {
+ {
event.setCancelled(true);
event.getLocation().getWorld().createExplosion(event.getLocation(), 0F);
return;
@@ -247,14 +236,10 @@ public class EssentialsProtectEntityListener implements Listener
}
}
- @EventHandler(priority = EventPriority.HIGHEST)
+ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onCreatureSpawn(final CreatureSpawnEvent event)
{
- if (event.getEntity() instanceof Player)
- {
- return;
- }
- if (event.isCancelled())
+ if (event.getEntity().getType() == EntityType.PLAYER)
{
return;
}
@@ -279,24 +264,22 @@ public class EssentialsProtectEntityListener implements Listener
}
}
- @EventHandler(priority = EventPriority.HIGHEST)
+ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onEntityTarget(final EntityTargetEvent event)
{
- if (event.isCancelled() || !(event.getTarget() instanceof Player))
- {
- return;
- }
- final Player user = (Player)event.getTarget();
- if ((event.getReason() == TargetReason.CLOSEST_PLAYER
- || event.getReason() == TargetReason.TARGET_ATTACKED_ENTITY
- || event.getReason() == TargetReason.PIG_ZOMBIE_TARGET
- || event.getReason() == TargetReason.RANDOM_TARGET
- || event.getReason() == TargetReason.TARGET_ATTACKED_OWNER
- || event.getReason() == TargetReason.OWNER_ATTACKED_TARGET)
- && Permissions.ENTITYTARGET.isAuthorized(user))
+ if (event.getTarget().getType() == EntityType.PLAYER)
{
- event.setCancelled(true);
- return;
+ final Player user = (Player)event.getTarget();
+ if ((event.getReason() == TargetReason.CLOSEST_PLAYER
+ || event.getReason() == TargetReason.TARGET_ATTACKED_ENTITY
+ || event.getReason() == TargetReason.PIG_ZOMBIE_TARGET
+ || event.getReason() == TargetReason.RANDOM_TARGET
+ || event.getReason() == TargetReason.TARGET_ATTACKED_OWNER
+ || event.getReason() == TargetReason.OWNER_ATTACKED_TARGET)
+ && Permissions.ENTITYTARGET.isAuthorized(user))
+ {
+ event.setCancelled(true);
+ }
}
}
@@ -319,13 +302,9 @@ public class EssentialsProtectEntityListener implements Listener
}
}
- @EventHandler(priority = EventPriority.HIGHEST)
+ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onEntityChangeBlock(final EntityChangeBlockEvent event)
{
- if (event.isCancelled())
- {
- return;
- }
final ProtectHolder settings = prot.getSettings();
settings.acquireReadLock();
try
diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectPlayerListener.java b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectPlayerListener.java
index a14fde8bc..9b870d383 100644
--- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectPlayerListener.java
+++ b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectPlayerListener.java
@@ -1,7 +1,6 @@
package com.earth2me.essentials.protect;
import static com.earth2me.essentials.I18n._;
-import com.earth2me.essentials.api.IEssentials;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
@@ -16,12 +15,10 @@ import org.bukkit.inventory.ItemStack;
public class EssentialsProtectPlayerListener implements Listener
{
private final transient IProtect prot;
- private final transient IEssentials ess;
public EssentialsProtectPlayerListener(final IProtect prot)
{
this.prot = prot;
- this.ess = prot.getEssentialsConnect().getEssentials();
}
@EventHandler(priority = EventPriority.LOW)
diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/ItemUsePermissions.java b/EssentialsProtect/src/com/earth2me/essentials/protect/ItemUsePermissions.java
index 7cd147aee..c4cfd617d 100644
--- a/EssentialsProtect/src/com/earth2me/essentials/protect/ItemUsePermissions.java
+++ b/EssentialsProtect/src/com/earth2me/essentials/protect/ItemUsePermissions.java
@@ -8,26 +8,29 @@ import java.util.Map;
import org.bukkit.Material;
import org.bukkit.permissions.PermissionDefault;
-public class ItemUsePermissions extends AbstractSuperpermsPermission{
- private static Map<Material,IPermission> permissions = new EnumMap<Material, IPermission>(Material.class);
+
+public class ItemUsePermissions extends AbstractSuperpermsPermission
+{
+ private static Map<Material, IPermission> permissions = new EnumMap<Material, IPermission>(Material.class);
private static final String base = "essentials.protect.itemuse.";
private final String permission;
-
- public static IPermission getPermission(Material mat)
+
+ public static IPermission getPermission(final Material mat)
{
IPermission perm = permissions.get(mat);
- if (perm == null) {
+ if (perm == null)
+ {
perm = new ItemUsePermissions(mat.toString().toLowerCase(Locale.ENGLISH));
permissions.put(mat, perm);
}
return perm;
}
- private ItemUsePermissions(String matName)
+ private ItemUsePermissions(final String matName)
{
this.permission = base + matName;
}
-
+
@Override
public String getPermission()
{
diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/Permissions.java b/EssentialsProtect/src/com/earth2me/essentials/protect/Permissions.java
index 2404e165f..edd9a1d40 100644
--- a/EssentialsProtect/src/com/earth2me/essentials/protect/Permissions.java
+++ b/EssentialsProtect/src/com/earth2me/essentials/protect/Permissions.java
@@ -1,7 +1,7 @@
package com.earth2me.essentials.protect;
-import com.earth2me.essentials.utils.Util;
import com.earth2me.essentials.api.IPermission;
+import com.earth2me.essentials.utils.Util;
import java.util.Locale;
import org.bukkit.command.CommandSender;
import org.bukkit.permissions.Permission;
@@ -74,7 +74,7 @@ public enum Permissions implements IPermission
}
@Override
- public boolean isAuthorized(CommandSender sender)
+ public boolean isAuthorized(final CommandSender sender)
{
return sender.hasPermission(getBukkitPermission());
}
diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectHolder.java b/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectHolder.java
index 8c3add157..626f82dd5 100644
--- a/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectHolder.java
+++ b/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectHolder.java
@@ -9,7 +9,7 @@ import java.io.IOException;
public class ProtectHolder extends AsyncStorageObjectHolder<Protect>
{
- public ProtectHolder(IEssentials ess)
+ public ProtectHolder(final IEssentials ess)
{
super(ess, Protect.class);
}
@@ -22,13 +22,11 @@ public class ProtectHolder extends AsyncStorageObjectHolder<Protect>
@Override
public void finishRead()
- {
-
+ {
}
@Override
public void finishWrite()
{
-
}
}
diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/data/ProtectedBlockJDBC.java b/EssentialsProtect/src/com/earth2me/essentials/protect/data/ProtectedBlockJDBC.java
index e24a71b80..53d5de945 100644
--- a/EssentialsProtect/src/com/earth2me/essentials/protect/data/ProtectedBlockJDBC.java
+++ b/EssentialsProtect/src/com/earth2me/essentials/protect/data/ProtectedBlockJDBC.java
@@ -34,12 +34,12 @@ public abstract class ProtectedBlockJDBC implements IProtectedBlock
protected abstract PreparedStatement getStatementAllBlocks(Connection conn) throws SQLException;
- public ProtectedBlockJDBC(String driver, String url) throws PropertyVetoException
+ public ProtectedBlockJDBC(final String driver, final String url) throws PropertyVetoException
{
this(driver, url, null, null);
}
- public ProtectedBlockJDBC(String driver, String url, String username, String password) throws PropertyVetoException
+ public ProtectedBlockJDBC(final String driver, final String url, final String username, final String password) throws PropertyVetoException
{
cpds = new ComboPooledDataSource();
cpds.setDriverClass(driver);
@@ -97,6 +97,7 @@ public abstract class ProtectedBlockJDBC implements IProtectedBlock
}
}
+ @Override
public void clearProtections()
{
Connection conn = null;
@@ -138,7 +139,8 @@ public abstract class ProtectedBlockJDBC implements IProtectedBlock
}
}
- public void importProtections(List<OwnedBlock> blocks)
+ @Override
+ public void importProtections(final List<OwnedBlock> blocks)
{
for (OwnedBlock ownedBlock : blocks)
{
@@ -150,6 +152,7 @@ public abstract class ProtectedBlockJDBC implements IProtectedBlock
}
}
+ @Override
public List<OwnedBlock> exportProtections()
{
Connection conn = null;
@@ -216,12 +219,13 @@ public abstract class ProtectedBlockJDBC implements IProtectedBlock
}
}
- public void protectBlock(Block block, String playerName)
+ @Override
+ public void protectBlock(final Block block, final String playerName)
{
protectBlock(block.getWorld().getName(), block.getX(), block.getY(), block.getZ(), playerName);
}
- private void protectBlock(String world, int x, int y, int z, String playerName)
+ private void protectBlock(final String world, final int x, final int y, final int z, final String playerName)
{
Connection conn = null;
PreparedStatement ps = null;
@@ -262,7 +266,8 @@ public abstract class ProtectedBlockJDBC implements IProtectedBlock
}
}
- public boolean isProtected(Block block, String playerName)
+ @Override
+ public boolean isProtected(final Block block, final String playerName)
{
Connection conn = null;
PreparedStatement ps = null;
@@ -317,7 +322,8 @@ public abstract class ProtectedBlockJDBC implements IProtectedBlock
}
}
- public List<String> getOwners(Block block)
+ @Override
+ public List<String> getOwners(final Block block)
{
Connection conn = null;
PreparedStatement ps = null;
@@ -377,7 +383,8 @@ public abstract class ProtectedBlockJDBC implements IProtectedBlock
}
}
- public int unprotectBlock(Block block)
+ @Override
+ public int unprotectBlock(final Block block)
{
Connection conn = null;
PreparedStatement ps = null;
@@ -419,6 +426,7 @@ public abstract class ProtectedBlockJDBC implements IProtectedBlock
}
}
+ @Override
public void onPluginDeactivation()
{
cpds.close();
diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/data/ProtectedBlockMemory.java b/EssentialsProtect/src/com/earth2me/essentials/protect/data/ProtectedBlockMemory.java
index 876c8a575..7b38d54eb 100644
--- a/EssentialsProtect/src/com/earth2me/essentials/protect/data/ProtectedBlockMemory.java
+++ b/EssentialsProtect/src/com/earth2me/essentials/protect/data/ProtectedBlockMemory.java
@@ -1,13 +1,13 @@
package com.earth2me.essentials.protect.data;
-import java.util.Map.Entry;
import java.util.*;
+import java.util.Map.Entry;
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.plugin.Plugin;
-public class ProtectedBlockMemory implements IProtectedBlock
+public final class ProtectedBlockMemory implements IProtectedBlock
{
private final transient List<String> worlds = new ArrayList<String>();
private final transient List<String> playerNames = new ArrayList<String>();
@@ -123,12 +123,14 @@ public class ProtectedBlockMemory implements IProtectedBlock
importProtections(storage.exportProtections());
}
+ @Override
public void clearProtections()
{
blocks.clear();
}
- public final void importProtections(final List<OwnedBlock> blocks)
+ @Override
+ public void importProtections(final List<OwnedBlock> blocks)
{
for (OwnedBlock ownedBlock : blocks)
{
@@ -141,6 +143,7 @@ public class ProtectedBlockMemory implements IProtectedBlock
}
}
+ @Override
public List<OwnedBlock> exportProtections()
{
final List<OwnedBlock> blockList = new ArrayList<OwnedBlock>(blocks.size());
@@ -160,12 +163,14 @@ public class ProtectedBlockMemory implements IProtectedBlock
return blockList;
}
+ @Override
public void protectBlock(final Block block, final String playerName)
{
final ProtectedLocation pl = new ProtectedLocation(block, getWorldId(block.getWorld()));
protectBlock(pl, playerName);
plugin.getServer().getScheduler().scheduleAsyncDelayedTask(plugin, new Runnable()
{
+ @Override
public void run()
{
storage.protectBlock(block, playerName);
@@ -173,9 +178,9 @@ public class ProtectedBlockMemory implements IProtectedBlock
});
}
- private final void protectBlock(ProtectedLocation pl, String playerName)
+ private void protectBlock(final ProtectedLocation pl, final String playerName)
{
- int playerId = getPlayerId(playerName);
+ final int playerId = getPlayerId(playerName);
ProtectedBy pb = blocks.get(pl);
if (pb == null)
{
@@ -185,27 +190,31 @@ public class ProtectedBlockMemory implements IProtectedBlock
pb.add(playerId);
}
- public boolean isProtected(Block block, String playerName)
+ @Override
+ public boolean isProtected(final Block block, final String playerName)
{
- int playerId = getPlayerId(playerName);
- ProtectedLocation pl = new ProtectedLocation(block, getWorldId(block.getWorld()));
- ProtectedBy pb = blocks.get(pl);
+ final int playerId = getPlayerId(playerName);
+ final ProtectedLocation pl = new ProtectedLocation(block, getWorldId(block.getWorld()));
+ final ProtectedBy pb = blocks.get(pl);
return !pb.contains(playerId);
}
- public List<String> getOwners(Block block)
+ @Override
+ public List<String> getOwners(final Block block)
{
ProtectedLocation pl = new ProtectedLocation(block, getWorldId(block.getWorld()));
ProtectedBy pb = blocks.get(pl);
return pb.getPlayers(playerNames);
}
+ @Override
public int unprotectBlock(final Block block)
{
- ProtectedLocation pl = new ProtectedLocation(block, getWorldId(block.getWorld()));
- ProtectedBy pb = blocks.remove(pl);
+ final ProtectedLocation pl = new ProtectedLocation(block, getWorldId(block.getWorld()));
+ final ProtectedBy pb = blocks.remove(pl);
plugin.getServer().getScheduler().scheduleAsyncDelayedTask(plugin, new Runnable()
{
+ @Override
public void run()
{
storage.unprotectBlock(block);
@@ -214,7 +223,7 @@ public class ProtectedBlockMemory implements IProtectedBlock
return pb.size();
}
- private int getPlayerId(String playername)
+ private int getPlayerId(final String playername)
{
int id = playerNames.indexOf(playername);
if (id < 0)
@@ -225,12 +234,12 @@ public class ProtectedBlockMemory implements IProtectedBlock
return id;
}
- private int getWorldId(World world)
+ private int getWorldId(final World world)
{
return getWorldId(world.getName());
}
- private int getWorldId(String name)
+ private int getWorldId(final String name)
{
int id = worlds.indexOf(name);
if (id < 0)
@@ -241,6 +250,7 @@ public class ProtectedBlockMemory implements IProtectedBlock
return id;
}
+ @Override
public void onPluginDeactivation()
{
storage.onPluginDeactivation();
diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/data/ProtectedBlockMySQL.java b/EssentialsProtect/src/com/earth2me/essentials/protect/data/ProtectedBlockMySQL.java
index 2a0077698..39070c30c 100644
--- a/EssentialsProtect/src/com/earth2me/essentials/protect/data/ProtectedBlockMySQL.java
+++ b/EssentialsProtect/src/com/earth2me/essentials/protect/data/ProtectedBlockMySQL.java
@@ -11,7 +11,7 @@ import java.util.logging.Logger;
public class ProtectedBlockMySQL extends ProtectedBlockJDBC
{
- public ProtectedBlockMySQL(String url, String username, String password) throws PropertyVetoException
+ public ProtectedBlockMySQL(final String url, final String username, final String password) throws PropertyVetoException
{
super("com.mysql.jdbc.Driver", url, username, password);
}
@@ -24,7 +24,7 @@ public class ProtectedBlockMySQL extends ProtectedBlockJDBC
+ ") ENGINE=MyISAM DEFAULT CHARSET=utf8";
@Override
- protected PreparedStatement getStatementCreateTable(Connection conn) throws SQLException
+ protected PreparedStatement getStatementCreateTable(final Connection conn) throws SQLException
{
return conn.prepareStatement(QueryCreateTable);
}
@@ -40,7 +40,7 @@ public class ProtectedBlockMySQL extends ProtectedBlockJDBC
+ "DROP PRIMARY KEY ;";
@Override
- protected PreparedStatement getStatementUpdateFrom2_0Table(Connection conn) throws SQLException
+ protected PreparedStatement getStatementUpdateFrom2_0Table(final Connection conn) throws SQLException
{
PreparedStatement testPS = null;
ResultSet testRS = null;
@@ -86,7 +86,7 @@ public class ProtectedBlockMySQL extends ProtectedBlockJDBC
private static final String QueryDeleteAll = "DELETE FROM EssentialsProtect;";
@Override
- protected PreparedStatement getStatementDeleteAll(Connection conn) throws SQLException
+ protected PreparedStatement getStatementDeleteAll(final Connection conn) throws SQLException
{
return conn.prepareStatement(QueryDeleteAll);
}
@@ -94,9 +94,10 @@ public class ProtectedBlockMySQL extends ProtectedBlockJDBC
"INSERT INTO EssentialsProtect (worldName, x, y, z, playerName) VALUES (?, ?, ?, ?, ?);";
@Override
- protected PreparedStatement getStatementInsert(Connection conn, String world, int x, int y, int z, String playerName) throws SQLException
+ protected PreparedStatement getStatementInsert(final Connection conn, final String world, final int x, final int y, final int z,
+ final String playerName) throws SQLException
{
- PreparedStatement ps = conn.prepareStatement(QueryInsert);
+ final PreparedStatement ps = conn.prepareStatement(QueryInsert);
ps.setString(1, world);
ps.setInt(2, x);
ps.setInt(3, y);
@@ -109,9 +110,10 @@ public class ProtectedBlockMySQL extends ProtectedBlockJDBC
+ "WHERE worldName = ? AND x = ? AND y = ? AND z = ? GROUP BY x;";
@Override
- protected PreparedStatement getStatementPlayerCountByLocation(Connection conn, String world, int x, int y, int z, String playerName) throws SQLException
+ protected PreparedStatement getStatementPlayerCountByLocation(final Connection conn, final String world, final int x, final int y, final int z,
+ final String playerName) throws SQLException
{
- PreparedStatement ps = conn.prepareStatement(QueryCountByPlayer);
+ final PreparedStatement ps = conn.prepareStatement(QueryCountByPlayer);
ps.setString(1, playerName);
ps.setString(2, world);
ps.setInt(3, x);
@@ -123,9 +125,10 @@ public class ProtectedBlockMySQL extends ProtectedBlockJDBC
"SELECT playerName FROM EssentialsProtect WHERE worldname = ? AND x = ? AND y = ? AND z = ?;";
@Override
- protected PreparedStatement getStatementPlayersByLocation(Connection conn, String world, int x, int y, int z) throws SQLException
+ protected PreparedStatement getStatementPlayersByLocation(final Connection conn, final String world,
+ final int x, final int y, final int z) throws SQLException
{
- PreparedStatement ps = conn.prepareStatement(QueryPlayersByLocation);
+ final PreparedStatement ps = conn.prepareStatement(QueryPlayersByLocation);
ps.setString(1, world);
ps.setInt(2, x);
ps.setInt(3, y);
@@ -136,9 +139,10 @@ public class ProtectedBlockMySQL extends ProtectedBlockJDBC
"DELETE FROM EssentialsProtect WHERE worldName = ? AND x = ? AND y = ? AND z = ?;";
@Override
- protected PreparedStatement getStatementDeleteByLocation(Connection conn, String world, int x, int y, int z) throws SQLException
+ protected PreparedStatement getStatementDeleteByLocation(final Connection conn, final String world,
+ final int x, final int y, final int z) throws SQLException
{
- PreparedStatement ps = conn.prepareStatement(QueryDeleteByLocation);
+ final PreparedStatement ps = conn.prepareStatement(QueryDeleteByLocation);
ps.setString(1, world);
ps.setInt(2, x);
ps.setInt(3, y);
@@ -149,7 +153,7 @@ public class ProtectedBlockMySQL extends ProtectedBlockJDBC
"SELECT worldName, x, y, z, playerName FROM EssentialsProtect;";
@Override
- protected PreparedStatement getStatementAllBlocks(Connection conn) throws SQLException
+ protected PreparedStatement getStatementAllBlocks(final Connection conn) throws SQLException
{
return conn.prepareStatement(QueryAllBlocks);
}
diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/data/ProtectedBlockSQLite.java b/EssentialsProtect/src/com/earth2me/essentials/protect/data/ProtectedBlockSQLite.java
index cf256f1ec..464c620fe 100644
--- a/EssentialsProtect/src/com/earth2me/essentials/protect/data/ProtectedBlockSQLite.java
+++ b/EssentialsProtect/src/com/earth2me/essentials/protect/data/ProtectedBlockSQLite.java
@@ -8,7 +8,7 @@ import java.sql.SQLException;
public class ProtectedBlockSQLite extends ProtectedBlockJDBC
{
- public ProtectedBlockSQLite(String url) throws PropertyVetoException
+ public ProtectedBlockSQLite(final String url) throws PropertyVetoException
{
super("org.sqlite.JDBC", url);
}
@@ -18,7 +18,7 @@ public class ProtectedBlockSQLite extends ProtectedBlockJDBC
+ "x NUMERIC, y NUMERIC, z NUMERIC)";
@Override
- protected PreparedStatement getStatementCreateTable(Connection conn) throws SQLException
+ protected PreparedStatement getStatementCreateTable(final Connection conn) throws SQLException
{
return conn.prepareStatement(QueryCreateTable);
}
@@ -27,14 +27,14 @@ public class ProtectedBlockSQLite extends ProtectedBlockJDBC
+ "worldName, x, z, y)";
@Override
- protected PreparedStatement getStatementUpdateFrom2_0Table(Connection conn) throws SQLException
+ protected PreparedStatement getStatementUpdateFrom2_0Table(final Connection conn) throws SQLException
{
return conn.prepareStatement(QueryUpdateFrom2_0Table);
}
private static final String QueryDeleteAll = "DELETE FROM EssentialsProtect;";
@Override
- protected PreparedStatement getStatementDeleteAll(Connection conn) throws SQLException
+ protected PreparedStatement getStatementDeleteAll(final Connection conn) throws SQLException
{
return conn.prepareStatement(QueryDeleteAll);
}
@@ -42,9 +42,10 @@ public class ProtectedBlockSQLite extends ProtectedBlockJDBC
"INSERT INTO EssentialsProtect (worldName, x, y, z, playerName) VALUES (?, ?, ?, ?, ?);";
@Override
- protected PreparedStatement getStatementInsert(Connection conn, String world, int x, int y, int z, String playerName) throws SQLException
+ protected PreparedStatement getStatementInsert(final Connection conn, final String world,
+ final int x, final int y, final int z, final String playerName) throws SQLException
{
- PreparedStatement ps = conn.prepareStatement(QueryInsert);
+ final PreparedStatement ps = conn.prepareStatement(QueryInsert);
ps.setString(1, world);
ps.setInt(2, x);
ps.setInt(3, y);
@@ -57,9 +58,10 @@ public class ProtectedBlockSQLite extends ProtectedBlockJDBC
+ "WHERE worldName = ? AND x = ? AND y = ? AND z = ? GROUP BY x;";
@Override
- protected PreparedStatement getStatementPlayerCountByLocation(Connection conn, String world, int x, int y, int z, String playerName) throws SQLException
+ protected PreparedStatement getStatementPlayerCountByLocation(final Connection conn, final String world,
+ final int x, final int y, final int z, final String playerName) throws SQLException
{
- PreparedStatement ps = conn.prepareStatement(QueryPlayerCountByLocation);
+ final PreparedStatement ps = conn.prepareStatement(QueryPlayerCountByLocation);
ps.setString(1, playerName);
ps.setString(2, world);
ps.setInt(3, x);
@@ -71,9 +73,10 @@ public class ProtectedBlockSQLite extends ProtectedBlockJDBC
"SELECT playerName FROM EssentialsProtect WHERE worldname = ? AND x = ? AND y = ? AND z = ?;";
@Override
- protected PreparedStatement getStatementPlayersByLocation(Connection conn, String world, int x, int y, int z) throws SQLException
+ protected PreparedStatement getStatementPlayersByLocation(final Connection conn, final String world,
+ final int x, final int y, final int z) throws SQLException
{
- PreparedStatement ps = conn.prepareStatement(QueryPlayersByLocation);
+ final PreparedStatement ps = conn.prepareStatement(QueryPlayersByLocation);
ps.setString(1, world);
ps.setInt(2, x);
ps.setInt(3, y);
@@ -84,9 +87,10 @@ public class ProtectedBlockSQLite extends ProtectedBlockJDBC
"DELETE FROM EssentialsProtect WHERE worldName = ? AND x = ? AND y = ? AND z = ?;";
@Override
- protected PreparedStatement getStatementDeleteByLocation(Connection conn, String world, int x, int y, int z) throws SQLException
+ protected PreparedStatement getStatementDeleteByLocation(final Connection conn, final String world,
+ final int x, final int y, final int z) throws SQLException
{
- PreparedStatement ps = conn.prepareStatement(QueryDeleteByLocation);
+ final PreparedStatement ps = conn.prepareStatement(QueryDeleteByLocation);
ps.setString(1, world);
ps.setInt(2, x);
ps.setInt(3, y);
@@ -97,7 +101,7 @@ public class ProtectedBlockSQLite extends ProtectedBlockJDBC
"SELECT worldName, x, y, z, playerName FROM EssentialsProtect;";
@Override
- protected PreparedStatement getStatementAllBlocks(Connection conn) throws SQLException
+ protected PreparedStatement getStatementAllBlocks(final Connection conn) throws SQLException
{
return conn.prepareStatement(QueryAllBlocks);
}