mirror of
https://github.com/essentials/Essentials.git
synced 2025-08-18 20:41:37 +02:00
Fairly expansive cleanup of ess protect.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -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()
|
||||
{
|
||||
|
@@ -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
|
||||
|
@@ -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;
|
||||
}
|
||||
{
|
||||
return settingsBoolean;
|
||||
}
|
||||
|
||||
public Map<ProtectConfig, String> getSettingsString()
|
||||
{
|
||||
return settingsString;
|
||||
}
|
||||
public Map<ProtectConfig, String> getSettingsString()
|
||||
{
|
||||
return settingsString;
|
||||
}
|
||||
|
||||
public Map<ProtectConfig, List<Integer>> getSettingsList()
|
||||
{
|
||||
return settingsList;
|
||||
}
|
||||
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 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;
|
||||
}*/
|
||||
|
||||
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;
|
||||
|
@@ -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)
|
||||
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)
|
||||
{
|
||||
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 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())
|
||||
{
|
||||
|
@@ -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))
|
||||
if (event.getTarget().getType() == EntityType.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))
|
||||
{
|
||||
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
|
||||
|
@@ -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)
|
||||
|
@@ -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()
|
||||
{
|
||||
|
@@ -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());
|
||||
}
|
||||
|
@@ -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()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -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();
|
||||
|
@@ -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();
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
Reference in New Issue
Block a user