diff options
author | ementalo <ementalodev@gmx.co.uk> | 2012-07-17 12:26:55 +0100 |
---|---|---|
committer | ementalo <ementalodev@gmx.co.uk> | 2012-07-17 14:21:03 +0100 |
commit | a661bce7b3de3f53e2b7b79c1283f0affa6fe9c3 (patch) | |
tree | 2aa10b6300f6c8d3cb2b298c124180fade74857a /EssentialsProtect/src/com | |
parent | 3c385e69271dfe8530fadc3f67e13ee495e4b0e1 (diff) | |
parent | 9f05e43ecf8e6e1a8fcaef757678e762f0d82573 (diff) | |
download | Essentials-a661bce7b3de3f53e2b7b79c1283f0affa6fe9c3.tar Essentials-a661bce7b3de3f53e2b7b79c1283f0affa6fe9c3.tar.gz Essentials-a661bce7b3de3f53e2b7b79c1283f0affa6fe9c3.tar.lz Essentials-a661bce7b3de3f53e2b7b79c1283f0affa6fe9c3.tar.xz Essentials-a661bce7b3de3f53e2b7b79c1283f0affa6fe9c3.zip |
Merge of server-layer branch
Diffstat (limited to 'EssentialsProtect/src/com')
20 files changed, 0 insertions, 2759 deletions
diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/BlockBreakPermissions.java b/EssentialsProtect/src/com/earth2me/essentials/protect/BlockBreakPermissions.java deleted file mode 100644 index 50be5dadb..000000000 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/BlockBreakPermissions.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.earth2me.essentials.protect; - -import net.ess3.api.IPermission; -import net.ess3.permissions.AbstractSuperpermsPermission; -import java.util.EnumMap; -import java.util.Locale; -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); - private static final String base = "essentials.protect.blockbreak."; - private final String permission; - - public static IPermission getPermission(Material mat) - { - IPermission perm = permissions.get(mat); - if (perm == null) { - perm = new BlockBreakPermissions(mat.toString().toLowerCase(Locale.ENGLISH)); - permissions.put(mat, perm); - } - return perm; - } - - private BlockBreakPermissions(String matName) - { - this.permission = base + matName; - } - - @Override - public String getPermission() - { - return this.permission; - } - - @Override - public PermissionDefault getPermissionDefault() - { - return PermissionDefault.TRUE; - } -} - diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/BlockPlacePermissions.java b/EssentialsProtect/src/com/earth2me/essentials/protect/BlockPlacePermissions.java deleted file mode 100644 index 0e553a243..000000000 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/BlockPlacePermissions.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.earth2me.essentials.protect; - -import net.ess3.api.IPermission; -import net.ess3.permissions.AbstractSuperpermsPermission; -import java.util.EnumMap; -import java.util.Locale; -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); - private static final String base = "essentials.protect.blockplace."; - private final String permission; - - public static IPermission getPermission(Material mat) - { - IPermission perm = permissions.get(mat); - if (perm == null) { - perm = new BlockPlacePermissions(mat.toString().toLowerCase(Locale.ENGLISH)); - permissions.put(mat, perm); - } - return perm; - } - - private BlockPlacePermissions(String matName) - { - this.permission = base + matName; - } - - @Override - public String getPermission() - { - return this.permission; - } - - @Override - public PermissionDefault getPermissionDefault() - { - return PermissionDefault.TRUE; - } -} diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EmergencyListener.java b/EssentialsProtect/src/com/earth2me/essentials/protect/EmergencyListener.java deleted file mode 100644 index 5f9253c55..000000000 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/EmergencyListener.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.earth2me.essentials.protect; - -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; -import org.bukkit.event.block.BlockBreakEvent; -import org.bukkit.event.block.BlockBurnEvent; -import org.bukkit.event.block.BlockFromToEvent; -import org.bukkit.event.block.BlockIgniteEvent; -import org.bukkit.event.entity.EntityDamageEvent; -import org.bukkit.event.entity.EntityExplodeEvent; -import org.bukkit.event.player.PlayerJoinEvent; - - -public class EmergencyListener implements Listener -{ - @EventHandler(priority = EventPriority.LOW) - public void onBlockBurn(final BlockBurnEvent event) - { - event.setCancelled(true); - } - - @EventHandler(priority = EventPriority.LOW) - public void onBlockIgnite(final BlockIgniteEvent event) - { - event.setCancelled(true); - } - - @EventHandler(priority = EventPriority.LOW) - public void onBlockFromTo(final BlockFromToEvent event) - { - event.setCancelled(true); - } - - @EventHandler(priority = EventPriority.LOW) - public void onBlockBreak(final BlockBreakEvent event) - { - event.setCancelled(true); - } - - @EventHandler(priority = EventPriority.LOW) - public void onPlayerJoin(final PlayerJoinEvent event) - { - event.getPlayer().sendMessage("Essentials Protect is in emergency mode. Check your log for errors."); - } - - @EventHandler(priority = EventPriority.LOW) - public void onEntityExplode(final EntityExplodeEvent event) - { - event.setCancelled(true); - } - - @EventHandler(priority = EventPriority.LOW) - public void onEntityDamage(final EntityDamageEvent event) - { - event.setCancelled(true); - } -} diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsConnect.java b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsConnect.java deleted file mode 100644 index 67993175d..000000000 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsConnect.java +++ /dev/null @@ -1,128 +0,0 @@ -package com.earth2me.essentials.protect; - -import static net.ess3.I18n._; -import net.ess3.api.IEssentials; -import net.ess3.api.IReload; -import net.ess3.api.IUser; -import com.earth2me.essentials.protect.data.ProtectedBlockMySQL; -import com.earth2me.essentials.protect.data.ProtectedBlockSQLite; -import java.beans.PropertyVetoException; -import java.util.logging.Level; -import java.util.logging.Logger; -import org.bukkit.Location; -import org.bukkit.entity.Player; -import org.bukkit.plugin.Plugin; - - -public class EssentialsConnect -{ - private static final Logger LOGGER = Logger.getLogger("Minecraft"); - private final transient IEssentials ess; - private final transient IProtect protect; - - public EssentialsConnect(Plugin essPlugin, Plugin essProtect) - { - if (!essProtect.getDescription().getVersion().equals(essPlugin.getDescription().getVersion())) - { - LOGGER.log(Level.WARNING, _("versionMismatchAll")); - } - ess = (IEssentials)essPlugin; - protect = (IProtect)essProtect; - protect.setSettings(new ProtectHolder(ess)); - ProtectReloader pr = new ProtectReloader(); - pr.onReload(); - ess.addReloadListener(pr); - } - - public void onDisable() - { - } - - public IEssentials getEssentials() - { - return ess; - } - - public void alert(final Player user, final String item, final String type) - { - final Location loc = user.getLocation(); - final String warnMessage = _("alertFormat", user.getName(), type, item, - loc.getWorld().getName() + "," + loc.getBlockX() + "," - + loc.getBlockY() + "," + loc.getBlockZ()); - LOGGER.log(Level.WARNING, warnMessage); - for (Player p : ess.getServer().getOnlinePlayers()) - { - final IUser alertUser = ess.getUser(p); - if (Permissions.ALERTS.isAuthorized(alertUser)) - { - alertUser.sendMessage(warnMessage); - } - } - } - - - private class ProtectReloader implements IReload - { - @Override - public void onReload() - { - if (protect.getStorage() != null) - { - protect.getStorage().onPluginDeactivation(); - } - - /* - * for (ProtectConfig protectConfig : ProtectConfig.values()) { if (protectConfig.isList()) { - * protect.getSettingsList().put(protectConfig, - * ess.getSettings().getProtectList(protectConfig.getConfigName())); } else if (protectConfig.isString()) { - * protect.getSettingsString().put(protectConfig, - * ess.getSettings().getProtectString(protectConfig.getConfigName())); } else { - * protect.getSettingsBoolean().put(protectConfig, - * ess.getSettings().getProtectBoolean(protectConfig.getConfigName(), - * protectConfig.getDefaultValueBoolean())); } - * - * } - */ - - ProtectHolder settings = protect.getSettings(); - settings.acquireReadLock(); - try - { - if (settings.getData().getDbtype().equalsIgnoreCase("mysql")) - { - try - { - protect.setStorage(new ProtectedBlockMySQL( - settings.getData().getDburl(), - settings.getData().getDbuser(), - settings.getData().getDbpassword())); - } - catch (PropertyVetoException ex) - { - LOGGER.log(Level.SEVERE, null, ex); - } - } - else - { - try - { - protect.setStorage(new ProtectedBlockSQLite("jdbc:sqlite:plugins/Essentials/EssentialsProtect.db")); - } - catch (PropertyVetoException ex) - { - LOGGER.log(Level.SEVERE, null, ex); - } - } - /*if (protect.getSettingBool(ProtectConfig.memstore)) - { - protect.setStorage(new ProtectedBlockMemory(protect.getStorage(), protect)); - }*/ - - } - finally - { - settings.unlock(); - } - } - } -} diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtect.java b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtect.java deleted file mode 100644 index 72000eeba..000000000 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtect.java +++ /dev/null @@ -1,152 +0,0 @@ -package com.earth2me.essentials.protect; - -import com.earth2me.essentials.protect.data.IProtectedBlock; -import java.util.logging.Filter; -import java.util.logging.Level; -import java.util.logging.LogRecord; -import java.util.logging.Logger; -import org.bukkit.entity.Player; -import org.bukkit.plugin.Plugin; -import org.bukkit.plugin.PluginManager; -import org.bukkit.plugin.java.JavaPlugin; - - -public class EssentialsProtect extends JavaPlugin implements IProtect -{ - private static final Logger LOGGER = Logger.getLogger("Minecraft"); - private static com.mchange.v2.log.MLogger C3P0logger; - //private final transient Map<ProtectConfig, Boolean> settingsBoolean = new EnumMap<ProtectConfig, Boolean>(ProtectConfig.class); - //private final transient Map<ProtectConfig, String> settingsString = new EnumMap<ProtectConfig, String>(ProtectConfig.class); - //private final transient Map<ProtectConfig, List<Integer>> settingsList = new EnumMap<ProtectConfig, List<Integer>>(ProtectConfig.class); - private transient IProtectedBlock storage = null; - private transient EssentialsConnect ess = null; - private transient ProtectHolder settings = null; - - @Override - public void onLoad() - { - C3P0logger = com.mchange.v2.log.MLog.getLogger(com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.class); - C3P0logger.setFilter(new Filter() - { - public boolean isLoggable(LogRecord lr) - { - return lr.getLevel() != Level.INFO; - } - }); - } - - public void onEnable() - { - final PluginManager pm = this.getServer().getPluginManager(); - final Plugin essPlugin = pm.getPlugin("Essentials3"); - if (essPlugin == null || !essPlugin.isEnabled()) - { - enableEmergencyMode(pm); - return; - } - ess = new EssentialsConnect(essPlugin, this); - - final EssentialsProtectPlayerListener playerListener = new EssentialsProtectPlayerListener(this); - pm.registerEvents(playerListener, this); - - final EssentialsProtectBlockListener blockListener = new EssentialsProtectBlockListener(this); - pm.registerEvents(blockListener, this); - - final EssentialsProtectEntityListener entityListener = new EssentialsProtectEntityListener(this); - pm.registerEvents(entityListener, this); - - final EssentialsProtectWeatherListener weatherListener = new EssentialsProtectWeatherListener(this); - pm.registerEvents(weatherListener, this); - } - - private void enableEmergencyMode(final PluginManager pm) - { - final EmergencyListener emListener = new EmergencyListener(); - pm.registerEvents(emListener, this); - - for (Player player : getServer().getOnlinePlayers()) - { - player.sendMessage("Essentials Protect is in emergency mode. Check your log for errors."); - } - LOGGER.log(Level.SEVERE, "Essentials not installed or failed to load. Essenials Protect is in emergency mode now."); - } - - /*@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); - }*/ - - @Override - public IProtectedBlock getStorage() - { - return storage; - } - - @Override - public void setStorage(IProtectedBlock pb) - { - storage = pb; - } - - 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; - } - - @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) - { - storage.onPluginDeactivation(); - } - // Sleep for a second to allow the database to close. - try - { - Thread.sleep(1000); - } - catch (InterruptedException ex) - { - } - } - - public ProtectHolder getSettings() - { - return settings; - } - - 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 deleted file mode 100644 index 1a711bd8d..000000000 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java +++ /dev/null @@ -1,545 +0,0 @@ -package com.earth2me.essentials.protect; - -import static net.ess3.I18n._; -import net.ess3.api.IEssentials; -import com.earth2me.essentials.protect.data.IProtectedBlock; -import java.util.ArrayList; -import java.util.List; -import org.bukkit.Material; -import org.bukkit.block.Block; -import org.bukkit.block.BlockFace; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; -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) - public void onBlockPlace(final BlockPlaceEvent event) - { - if (event.isCancelled()) - { - return; - } - - final Player user = event.getPlayer(); - final ProtectHolder settings = prot.getSettings(); - settings.acquireReadLock(); - try - { - if (!Permissions.BUILD.isAuthorized(user)) - { - event.setCancelled(true); - return; - } - - final Block blockPlaced = event.getBlockPlaced(); - final int id = blockPlaced.getTypeId(); - - if (!BlockPlacePermissions.getPermission(blockPlaced.getType()).isAuthorized(user)) - { - event.setCancelled(true); - return; - } - - if (!Permissions.ALERTS_NOTRIGGER.isAuthorized(user) && - settings.getData().getAlertOnPlacement().contains(blockPlaced.getType())) - { - prot.getEssentialsConnect().alert(user, blockPlaced.getType().toString(), _("alertPlaced")); - } - - final Block below = blockPlaced.getRelative(BlockFace.DOWN); - if ((below.getType() == Material.RAILS || below.getType() == Material.POWERED_RAIL || below.getType() == Material.DETECTOR_RAIL) - && settings.getData().getSignsAndRails().isPreventBlockAboveRails() - && isProtected(below, user, settings)) - { - event.setCancelled(true); - return; - } - - final List<Block> protect = new ArrayList<Block>(); - if ((blockPlaced.getType() == Material.RAILS || blockPlaced.getType() == Material.POWERED_RAIL || blockPlaced.getType() == Material.DETECTOR_RAIL) - && settings.getData().getSignsAndRails().isProtectRails() - && Permissions.RAILS.isAuthorized(user)) - { - protect.add(blockPlaced); - if (settings.getData().getSignsAndRails().isBlockBelow() - && !isProtected(blockPlaced.getRelative(BlockFace.DOWN), user, settings)) - { - protect.add(blockPlaced.getRelative(BlockFace.DOWN)); - } - } - /*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()); - } - }*/ - for (Block block : protect) - { - prot.getStorage().protectBlock(block, user.getName()); - } - } - finally - { - settings.unlock(); - } - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onBlockIgnite(BlockIgniteEvent event) - { - if (event.isCancelled()) - { - return; - } - final ProtectHolder settings = prot.getSettings(); - settings.acquireReadLock(); - try - { - final Block block = event.getBlock(); - if ((block.getType() == Material.RAILS || block.getType() == Material.POWERED_RAIL || block.getType() == Material.DETECTOR_RAIL) - && settings.getData().getSignsAndRails().isProtectRails()) - { - event.setCancelled(true); - return; - } - if ((block.getType() == Material.WALL_SIGN || block.getType() == Material.SIGN_POST) - && settings.getData().getSignsAndRails().isProtectSigns()) - { - event.setCancelled(true); - return; - } - if (event.getBlock().getType() == Material.OBSIDIAN - || event.getBlock().getRelative(BlockFace.DOWN).getType() == Material.OBSIDIAN) - { - 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.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()); - return; - } - } - finally - { - settings.unlock(); - } - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onBlockFromTo(final BlockFromToEvent event) - { - if (event.isCancelled()) - { - return; - } - final ProtectHolder settings = prot.getSettings(); - settings.acquireReadLock(); - try - { - final Block toBlock = event.getToBlock(); - if ((toBlock.getType() == Material.RAILS || toBlock.getType() == Material.POWERED_RAIL || toBlock.getType() == Material.DETECTOR_RAIL) - && settings.getData().getSignsAndRails().isProtectRails()) - { - event.setCancelled(true); - return; - } - if ((toBlock.getType() == Material.WALL_SIGN || toBlock.getType() == Material.SIGN_POST) - && settings.getData().getSignsAndRails().isProtectSigns()) - { - event.setCancelled(true); - return; - } - - 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()); - return; - } - // TODO: Test if this still works - /* - * if (block.getType() == Material.AIR) { - * event.setCancelled(prot.getSettingBool(ProtectConfig.prevent_water_bucket_flow)); return; } - */ - } - finally - { - settings.unlock(); - } - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onBlockBurn(final BlockBurnEvent event) - { - if (event.isCancelled()) - { - return; - } - final ProtectHolder settings = prot.getSettings(); - settings.acquireReadLock(); - try - { - final Block block = event.getBlock(); - if ((block.getType() == Material.RAILS || block.getType() == Material.POWERED_RAIL || block.getType() == Material.DETECTOR_RAIL) - && settings.getData().getSignsAndRails().isProtectRails()) - { - event.setCancelled(true); - return; - } - if ((block.getType() == Material.WALL_SIGN || block.getType() == Material.SIGN_POST) - && settings.getData().getSignsAndRails().isProtectSigns()) - { - event.setCancelled(true); - return; - } - if (settings.getData().getPrevent().isFirespread()) - { - event.setCancelled(true); - return; - } - } - finally - { - settings.unlock(); - } - } - private final static BlockFace[] faces = new BlockFace[] - { - BlockFace.NORTH, - BlockFace.EAST, - BlockFace.SOUTH, - BlockFace.WEST, - BlockFace.UP, - BlockFace.DOWN, - BlockFace.SELF - }; - - @EventHandler(priority = EventPriority.HIGHEST) - public void onBlockBreak(final BlockBreakEvent event) - { - if (event.isCancelled()) - { - return; - } - final Player user = event.getPlayer(); - - if (!Permissions.BUILD.isAuthorized(user)) - { - event.setCancelled(true); - return; - } - final Block block = event.getBlock(); - final int typeId = block.getTypeId(); - - if (!BlockBreakPermissions.getPermission(block.getType()).isAuthorized(user)) - { - event.setCancelled(true); - return; - } - final ProtectHolder settings = prot.getSettings(); - settings.acquireReadLock(); - try - { - final Material type = block.getType(); - - if (!Permissions.ALERTS_NOTRIGGER.isAuthorized(user) && settings.getData().getAlertOnBreak().contains(type)) - { - prot.getEssentialsConnect().alert(user, type.toString(), _("alertBroke")); - } - final IProtectedBlock storage = prot.getStorage(); - - if (Permissions.ADMIN.isAuthorized(user)) - { - if (type == Material.WALL_SIGN || type == Material.SIGN_POST || type == Material.RAILS || type == Material.POWERED_RAIL || type == Material.DETECTOR_RAIL) - { - storage.unprotectBlock(block); - if (type == Material.RAILS || type == Material.POWERED_RAIL || type == Material.DETECTOR_RAIL || type == Material.SIGN_POST) - { - final Block below = block.getRelative(BlockFace.DOWN); - storage.unprotectBlock(below); - } - else - { - for (BlockFace blockFace : faces) - { - final Block against = block.getRelative(blockFace); - storage.unprotectBlock(against); - } - } - } - else - { - for (BlockFace blockFace : faces) - { - final Block against = block.getRelative(blockFace); - storage.unprotectBlock(against); - } - } - } - else - { - - final boolean isProtected = isProtected(block, user, settings); - if (isProtected) - { - event.setCancelled(true); - } - else - { - if (type == Material.WALL_SIGN || type == Material.SIGN_POST || type == Material.RAILS || type == Material.POWERED_RAIL || type == Material.DETECTOR_RAIL) - { - storage.unprotectBlock(block); - if (type == Material.RAILS || type == Material.POWERED_RAIL || type == Material.DETECTOR_RAIL || type == Material.SIGN_POST) - { - final Block below = block.getRelative(BlockFace.DOWN); - storage.unprotectBlock(below); - } - else - { - for (BlockFace blockFace : faces) - { - final Block against = block.getRelative(blockFace); - storage.unprotectBlock(against); - } - } - } - else - { - for (BlockFace blockFace : faces) - { - final Block against = block.getRelative(blockFace); - storage.unprotectBlock(against); - } - } - } - } - } - finally - { - settings.unlock(); - } - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onBlockPistonExtend(final BlockPistonExtendEvent event) - { - if (event.isCancelled()) - { - return; - } - final ProtectHolder settings = prot.getSettings(); - settings.acquireReadLock(); - try - { - for (Block block : event.getBlocks()) - { - if (settings.getData().getPrevent().getPistonPush().contains(block.getType())) - { - event.setCancelled(true); - return; - } - if ((block.getRelative(BlockFace.UP).getType() == Material.RAILS - || block.getType() == Material.RAILS - || block.getRelative(BlockFace.UP).getType() == Material.POWERED_RAIL - || block.getType() == Material.POWERED_RAIL - || block.getRelative(BlockFace.UP).getType() == Material.DETECTOR_RAIL - || block.getType() == Material.DETECTOR_RAIL) - && settings.getData().getSignsAndRails().isProtectRails()) - { - event.setCancelled(true); - return; - } - if (settings.getData().getSignsAndRails().isProtectSigns()) - { - for (BlockFace blockFace : faces) - { - if (blockFace == BlockFace.DOWN) - { - continue; - } - final Block sign = block.getRelative(blockFace); - if ((blockFace == BlockFace.UP || blockFace == BlockFace.SELF) - && sign.getType() == Material.SIGN_POST) - { - event.setCancelled(true); - return; - } - if ((blockFace == BlockFace.NORTH || blockFace == BlockFace.EAST - || blockFace == BlockFace.SOUTH || blockFace == BlockFace.WEST - || blockFace == BlockFace.SELF) - && sign.getType() == Material.WALL_SIGN) - { - event.setCancelled(true); - return; - } - } - } - } - } - finally - { - settings.unlock(); - } - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onBlockPistonRetract(final BlockPistonRetractEvent event) - { - if (event.isCancelled() || !event.isSticky()) - { - return; - } - final ProtectHolder settings = prot.getSettings(); - settings.acquireReadLock(); - try - { - final Block block = event.getRetractLocation().getBlock(); - if (settings.getData().getPrevent().getPistonPush().contains(block.getType())) - { - event.setCancelled(true); - return; - } - if ((block.getRelative(BlockFace.UP).getType() == Material.RAILS - || block.getType() == Material.RAILS - || block.getRelative(BlockFace.UP).getType() == Material.POWERED_RAIL - || block.getType() == Material.POWERED_RAIL - || block.getRelative(BlockFace.UP).getType() == Material.DETECTOR_RAIL - || block.getType() == Material.DETECTOR_RAIL) - && settings.getData().getSignsAndRails().isProtectRails()) - { - event.setCancelled(true); - return; - } - if (settings.getData().getSignsAndRails().isProtectSigns()) - { - for (BlockFace blockFace : faces) - { - if (blockFace == BlockFace.DOWN) - { - continue; - } - final Block sign = block.getRelative(blockFace); - if ((blockFace == BlockFace.UP || blockFace == BlockFace.SELF) - && sign.getType() == Material.SIGN_POST) - { - event.setCancelled(true); - return; - } - if ((blockFace == BlockFace.NORTH || blockFace == BlockFace.EAST - || blockFace == BlockFace.SOUTH || blockFace == BlockFace.WEST - || blockFace == BlockFace.SELF) - && sign.getType() == Material.WALL_SIGN) - { - event.setCancelled(true); - return; - } - } - } - } - - finally - { - settings.unlock(); - } - } - - private boolean isProtected(final Block block, final Player user, final ProtectHolder settings) - { - final Material type = block.getType(); - if (settings.getData().getSignsAndRails().isProtectSigns()) - { - if (type == Material.WALL_SIGN || type == Material.SIGN_POST) - { - 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 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) - { - return prot.getStorage().isProtected(block, user.getName()); - } - } - } - - } - if (settings.getData().getSignsAndRails().isProtectRails()) - { - if (type == Material.RAILS || type == Material.POWERED_RAIL || type == Material.DETECTOR_RAIL) - { - return prot.getStorage().isProtected(block, user.getName()); - } - if (settings.getData().getSignsAndRails().isBlockBelow()) - { - final Block up = block.getRelative(BlockFace.UP); - if (up != null && (type == Material.RAILS || type == Material.POWERED_RAIL || type == Material.DETECTOR_RAIL)) - { - return prot.getStorage().isProtected(block, user.getName()); - } - } - } - return false; - } -} diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java deleted file mode 100644 index dabf2b0a0..000000000 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java +++ /dev/null @@ -1,345 +0,0 @@ -package com.earth2me.essentials.protect; - -import net.ess3.api.IEssentials; -import net.ess3.craftbukkit.FakeExplosion; -import org.bukkit.Material; -import org.bukkit.block.Block; -import org.bukkit.block.BlockFace; -import org.bukkit.entity.*; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.EntityDamageEvent.DamageCause; -import org.bukkit.event.entity.EntityTargetEvent.TargetReason; -import org.bukkit.event.entity.*; - - -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) - public void onEntityDamage(final EntityDamageEvent event) - { - if (event.isCancelled()) - { - return; - } - final ProtectHolder settings = prot.getSettings(); - settings.acquireReadLock(); - try - { - final Entity target = event.getEntity(); - - if (target instanceof Villager && settings.getData().getPrevent().isVillagerDeath()) - { - event.setCancelled(true); - return; - } - - final Player user = target instanceof Player ? (Player)target : null; - if (target instanceof Player && event instanceof EntityDamageByBlockEvent) - { - final DamageCause cause = event.getCause(); - - if (cause == DamageCause.CONTACT - && (Permissions.PREVENTDAMAGE_CONTACT.isAuthorized(user) - && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user))) - { - event.setCancelled(true); - return; - } - if (cause == DamageCause.LAVA - && (Permissions.PREVENTDAMAGE_LAVADAMAGE.isAuthorized(user) - && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user))) - { - event.setCancelled(true); - return; - } - if (cause == DamageCause.BLOCK_EXPLOSION - && (Permissions.PREVENTDAMAGE_TNT.isAuthorized(user) - && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user))) - { - event.setCancelled(true); - return; - } - } - - if (target instanceof Player && event instanceof EntityDamageByEntityEvent) - { - final EntityDamageByEntityEvent edEvent = (EntityDamageByEntityEvent)event; - final Entity eAttack = edEvent.getDamager(); - final Player attacker = eAttack instanceof Player ? (Player)eAttack : null; - - // PVP Settings - if (target instanceof Player && eAttack instanceof Player - && (!Permissions.PVP.isAuthorized(user) || !Permissions.PVP.isAuthorized(attacker))) - { - event.setCancelled(true); - return; - } - - //Creeper explode prevention - if (eAttack instanceof Creeper && settings.getData().getPrevent().isCreeperExplosion() - || (Permissions.PREVENTDAMAGE_CREEPER.isAuthorized(user) - && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user))) - { - event.setCancelled(true); - return; - } - - if ((event.getEntity() instanceof Fireball || event.getEntity() instanceof SmallFireball) - && (Permissions.PREVENTDAMAGE_FIREBALL.isAuthorized(user) - && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user))) - { - event.setCancelled(true); - return; - } - - if (eAttack instanceof TNTPrimed - && (Permissions.PREVENTDAMAGE_TNT.isAuthorized(user) - && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user))) - { - event.setCancelled(true); - return; - } - - if (edEvent.getDamager() instanceof Projectile - && ((Permissions.PREVENTDAMAGE_PROJECTILES.isAuthorized(user) - && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user)) - || (((Projectile)edEvent.getDamager()).getShooter() instanceof Player - && (!Permissions.PVP.isAuthorized(user) - || !Permissions.PVP.isAuthorized((Player)((Projectile)edEvent.getDamager()).getShooter()))))) - { - event.setCancelled(true); - return; - } - } - - final DamageCause cause = event.getCause(); - if (target instanceof Player) - { - if (cause == DamageCause.FALL - && (Permissions.PREVENTDAMAGE_FALL.isAuthorized(user) - && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user))) - { - event.setCancelled(true); - return; - } - - if (cause == DamageCause.SUFFOCATION - && (Permissions.PREVENTDAMAGE_SUFFOCATION.isAuthorized(user) - && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user))) - { - event.setCancelled(true); - return; - } - if ((cause == DamageCause.FIRE - || cause == DamageCause.FIRE_TICK) - && (Permissions.PREVENTDAMAGE_FIRE.isAuthorized(user) - && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user))) - { - event.setCancelled(true); - return; - } - if (cause == DamageCause.DROWNING - && (Permissions.PREVENTDAMAGE_DROWNING.isAuthorized(user) - && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user))) - { - event.setCancelled(true); - return; - } - if (cause == DamageCause.LIGHTNING - && (Permissions.PREVENTDAMAGE_LIGHTNING.isAuthorized(user) - && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user))) - { - event.setCancelled(true); - return; - } - } - } - finally - { - settings.unlock(); - } - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onEntityExplode(final EntityExplodeEvent event) - { - if (event.isCancelled()) - { - return; - } - final ProtectHolder settings = prot.getSettings(); - settings.acquireReadLock(); - try - { - final int maxHeight = settings.getData().getCreeperMaxHeight(); - - if (event.getEntity() instanceof EnderDragon - && settings.getData().getPrevent().isEnderdragonBlockdamage()) - { - event.setCancelled(true); - return; - } - else if (event.getEntity() instanceof Creeper - && (settings.getData().getPrevent().isCreeperExplosion() - || settings.getData().getPrevent().isCreeperBlockdamage() - || (maxHeight >= 0 && event.getLocation().getBlockY() > maxHeight))) - { - //Nicccccccccce plaaacccccccccce.. - FakeExplosion.createExplosion(event, ess.getServer(), ess.getServer().getOnlinePlayers()); - event.setCancelled(true); - return; - } - else if (event.getEntity() instanceof TNTPrimed - && settings.getData().getPrevent().isTntExplosion()) - { - event.setCancelled(true); - return; - } - else if ((event.getEntity() instanceof Fireball || event.getEntity() instanceof SmallFireball) - && settings.getData().getPrevent().isFireballExplosion()) - { - event.setCancelled(true); - return; - } - // This code will prevent explosions near protected rails, signs or protected chests - // TODO: Use protect db instead of this code - - for (Block block : event.blockList()) - { - if ((block.getRelative(BlockFace.UP).getType() == Material.RAILS - || block.getType() == Material.RAILS - || block.getRelative(BlockFace.UP).getType() == Material.POWERED_RAIL - || block.getType() == Material.POWERED_RAIL - || block.getRelative(BlockFace.UP).getType() == Material.DETECTOR_RAIL - || block.getType() == Material.DETECTOR_RAIL) - && settings.getData().getSignsAndRails().isProtectRails()) - { - event.setCancelled(true); - return; - } - if ((block.getType() == Material.WALL_SIGN - || block.getRelative(BlockFace.NORTH).getType() == Material.WALL_SIGN - || block.getRelative(BlockFace.EAST).getType() == Material.WALL_SIGN - || block.getRelative(BlockFace.SOUTH).getType() == Material.WALL_SIGN - || block.getRelative(BlockFace.WEST).getType() == Material.WALL_SIGN - || block.getType() == Material.SIGN_POST - || block.getRelative(BlockFace.UP).getType() == Material.SIGN_POST) - && settings.getData().getSignsAndRails().isProtectSigns()) - { - event.setCancelled(true); - return; - } - } - } - finally - { - settings.unlock(); - } - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onCreatureSpawn(final CreatureSpawnEvent event) - { - if (event.getEntity() instanceof Player) - { - return; - } - if (event.isCancelled()) - { - return; - } - final CreatureType creature = event.getCreatureType(); - if (creature == null) - { - return; - } - final ProtectHolder settings = prot.getSettings(); - settings.acquireReadLock(); - try - { - final Boolean prevent = settings.getData().getPrevent().getSpawn().get(creature); - if (prevent != null && prevent) - { - event.setCancelled(true); - } - } - finally - { - settings.unlock(); - } - } - - @EventHandler(priority = EventPriority.HIGHEST) - 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)) - { - event.setCancelled(true); - return; - } - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onExplosionPrime(final ExplosionPrimeEvent event) - { - final ProtectHolder settings = prot.getSettings(); - settings.acquireReadLock(); - try - { - if ((event.getEntity() instanceof Fireball || event.getEntity() instanceof SmallFireball) - && settings.getData().getPrevent().isFireballFire()) - { - event.setFire(false); - } - } - finally - { - settings.unlock(); - } - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onEntityChangeBlock(final EntityChangeBlockEvent event) - { - if (event.isCancelled()) - { - return; - } - final ProtectHolder settings = prot.getSettings(); - settings.acquireReadLock(); - try - { - if (event.getEntityType() == EntityType.ENDERMAN && settings.getData().getPrevent().isEndermanPickup()) - { - event.setCancelled(true); - } - } - finally - { - settings.unlock(); - } - } -} diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectPlayerListener.java b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectPlayerListener.java deleted file mode 100644 index d92265442..000000000 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectPlayerListener.java +++ /dev/null @@ -1,100 +0,0 @@ -package com.earth2me.essentials.protect; - -import static net.ess3.I18n._; -import net.ess3.api.IEssentials; -import org.bukkit.Material; -import org.bukkit.block.Block; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; -import org.bukkit.event.block.Action; -import org.bukkit.event.player.PlayerInteractEvent; -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) - public void onPlayerInteract(final PlayerInteractEvent event) - { - // Do not return if cancelled, because the interact event has 2 cancelled states. - final Player user = event.getPlayer(); - - final ProtectHolder settings = prot.getSettings(); - settings.acquireReadLock(); - try - { - if (event.hasItem() - && (event.getItem().getType() == Material.WATER_BUCKET - || event.getItem().getType() == Material.LAVA_BUCKET) - && !Permissions.BUILD.isAuthorized(user)) - { - if (settings.getData().isWarnOnBuildDisallow()) - { - user.sendMessage(_("buildAlert")); - } - event.setCancelled(true); - return; - } - - if (!Permissions.INTERACT.isAuthorized(user)) - { - if (settings.getData().isWarnOnBuildDisallow()) - { - user.sendMessage(_("buildAlert")); - } - event.setCancelled(true); - return; - } - - final ItemStack item = event.getItem(); - if (item != null - && !ItemUsePermissions.getPermission(item.getType()).isAuthorized(user)) - { - event.setCancelled(true); - return; - } - - if (Permissions.OWNERINFO.isAuthorized(user) && event.getAction() == Action.RIGHT_CLICK_BLOCK) - { - final StringBuilder stringBuilder = new StringBuilder(); - boolean first = true; - final Block blockClicked = event.getClickedBlock(); - for (String owner : prot.getStorage().getOwners(blockClicked)) - { - if (!first) - { - stringBuilder.append(", "); - } - first = false; - stringBuilder.append(owner); - } - final String ownerNames = stringBuilder.toString(); - if (ownerNames != null && !ownerNames.isEmpty()) - { - user.sendMessage(_("protectionOwner", ownerNames)); - } - } - if (item != null - && !Permissions.ALERTS_NOTRIGGER.isAuthorized(user) - && settings.getData().getAlertOnUse().contains(item.getType())) - { - prot.getEssentialsConnect().alert(user, item.getType().toString(), _("alertUsed")); - } - } - finally - { - settings.unlock(); - } - } -} diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectWeatherListener.java b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectWeatherListener.java deleted file mode 100644 index babebac71..000000000 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectWeatherListener.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.earth2me.essentials.protect; - -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; -import org.bukkit.event.weather.LightningStrikeEvent; -import org.bukkit.event.weather.ThunderChangeEvent; -import org.bukkit.event.weather.WeatherChangeEvent; - - -public class EssentialsProtectWeatherListener implements Listener -{ - private final transient IProtect prot; - - public EssentialsProtectWeatherListener(final IProtect prot) - { - this.prot = prot; - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onWeatherChange(final WeatherChangeEvent event) - { - final ProtectHolder settings = prot.getSettings(); - settings.acquireReadLock(); - try - { - if (!event.isCancelled() - && settings.getData().isDisableStorm() - && event.toWeatherState()) - { - event.setCancelled(true); - } - } - finally - { - settings.unlock(); - } - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onLightningStrike(final LightningStrikeEvent event) - { - final ProtectHolder settings = prot.getSettings(); - settings.acquireReadLock(); - try - { - if (!event.isCancelled() - && settings.getData().isDisableLighting()) - { - event.setCancelled(true); - } - } - finally - { - settings.unlock(); - } - } - - @EventHandler(priority = EventPriority.HIGHEST) - public void onThunderChange(final ThunderChangeEvent event) - { - final ProtectHolder settings = prot.getSettings(); - settings.acquireReadLock(); - try - { - if (!event.isCancelled() - && settings.getData().isDisableThunder() - && event.toThunderState()) - { - event.setCancelled(true); - } - } - finally - { - settings.unlock(); - } - } -} diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/IProtect.java b/EssentialsProtect/src/com/earth2me/essentials/protect/IProtect.java deleted file mode 100644 index d25661bf8..000000000 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/IProtect.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.earth2me.essentials.protect; - -import com.earth2me.essentials.protect.data.IProtectedBlock; -import org.bukkit.plugin.Plugin; - - -public interface IProtect extends Plugin -{ -// boolean checkProtectionItems(final ProtectConfig list, final int id); -// boolean getSettingBool(final ProtectConfig protectConfig); -// String getSettingString(final ProtectConfig protectConfig); - IProtectedBlock getStorage(); - - void setStorage(IProtectedBlock pb); - - EssentialsConnect getEssentialsConnect(); - -// Map<ProtectConfig, Boolean> getSettingsBoolean(); -// Map<ProtectConfig, String> getSettingsString(); -// Map<ProtectConfig, List<Integer>> getSettingsList(); - ProtectHolder getSettings(); - - void setSettings(ProtectHolder settings); -} diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/ItemUsePermissions.java b/EssentialsProtect/src/com/earth2me/essentials/protect/ItemUsePermissions.java deleted file mode 100644 index e623fe003..000000000 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/ItemUsePermissions.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.earth2me.essentials.protect; - -import net.ess3.api.IPermission; -import net.ess3.permissions.AbstractSuperpermsPermission; -import java.util.EnumMap; -import java.util.Locale; -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); - private static final String base = "essentials.protect.itemuse."; - private final String permission; - - public static IPermission getPermission(Material mat) - { - IPermission perm = permissions.get(mat); - if (perm == null) { - perm = new ItemUsePermissions(mat.toString().toLowerCase(Locale.ENGLISH)); - permissions.put(mat, perm); - } - return perm; - } - - private ItemUsePermissions(String matName) - { - this.permission = base + matName; - } - - @Override - public String getPermission() - { - return this.permission; - } - - @Override - public PermissionDefault getPermissionDefault() - { - return PermissionDefault.TRUE; - } -} diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/Permissions.java b/EssentialsProtect/src/com/earth2me/essentials/protect/Permissions.java deleted file mode 100644 index 0cb2d49ef..000000000 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/Permissions.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.earth2me.essentials.protect; - -import net.ess3.utils.Util; -import net.ess3.api.IPermission; -import java.util.Locale; -import org.bukkit.command.CommandSender; -import org.bukkit.permissions.Permission; -import org.bukkit.permissions.PermissionDefault; - - -public enum Permissions implements IPermission -{ - ALERTS, - ALERTS_NOTRIGGER, - ADMIN, - BUILD(PermissionDefault.TRUE), - ENTITYTARGET(PermissionDefault.TRUE), - INTERACT(PermissionDefault.TRUE), - OWNERINFO, - PVP(PermissionDefault.TRUE), - PREVENTDAMAGE_FALL(PermissionDefault.FALSE), - PREVENTDAMAGE_CREEPER(PermissionDefault.FALSE), - PREVENTDAMAGE_CONTACT(PermissionDefault.FALSE), - PREVENTDAMAGE_FIREBALL(PermissionDefault.FALSE), - PREVENTDAMAGE_PROJECTILES(PermissionDefault.FALSE), - PREVENTDAMAGE_LAVADAMAGE(PermissionDefault.FALSE), - PREVENTDAMAGE_TNT(PermissionDefault.FALSE), - PREVENTDAMAGE_SUFFOCATION(PermissionDefault.FALSE), - PREVENTDAMAGE_FIRE(PermissionDefault.FALSE), - PREVENTDAMAGE_DROWNING(PermissionDefault.FALSE), - PREVENTDAMAGE_LIGHTNING(PermissionDefault.FALSE), - PREVENTDAMAGE_NONE(PermissionDefault.FALSE), - RAILS(PermissionDefault.TRUE), - USEFLINTSTEEL(PermissionDefault.TRUE); - private static final String base = "essentials.protect."; - private final String permission; - private final PermissionDefault defaultPerm; - private transient Permission bukkitPerm = null; - - private Permissions() - { - this(PermissionDefault.OP); - } - - private Permissions(final PermissionDefault defaultPerm) - { - permission = base + toString().toLowerCase(Locale.ENGLISH).replace('_', '.'); - this.defaultPerm = defaultPerm; - } - - @Override - public String getPermission() - { - return permission; - } - - @Override - public Permission getBukkitPermission() - { - if (bukkitPerm != null) - { - return bukkitPerm; - } - else - { - return Util.registerPermission(getPermission(), getPermissionDefault()); - } - } - - @Override - public PermissionDefault getPermissionDefault() - { - return this.defaultPerm; - } - - @Override - public boolean isAuthorized(CommandSender sender) - { - return sender.hasPermission(getBukkitPermission()); - } -} diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java b/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java deleted file mode 100644 index feeeb19df..000000000 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java +++ /dev/null @@ -1,121 +0,0 @@ -package com.earth2me.essentials.protect; - - -/*public enum ProtectConfig -{ - datatype("protect.datatype", "sqlite"), - mysqlDB("protect.mysqlDb", "jdbc:mysql://localhost:3306/minecraft"), - dbUsername("protect.username", "root"), - dbPassword("protect.password", ""), - memstore("protect.memstore", false), - disable_contactdmg("protect.disable.contactdmg", false), - disable_lavadmg("protect.disable.lavadmg", false), - disable_build("protect.disable.build", true), - disable_use("protect.disable.use", true), - disable_pvp("protect.disable.pvp", false), - disable_projectiles("protect.disable.projectiles", false), - disable_fall("protect.disable.fall", false), - disable_suffocate("protect.disable.suffocate", false), - disable_firedmg("protect.disable.firedmg", false), - disable_lightning("protect.disable.lightning", false), - disable_drown("protect.disable.drown", false), - disable_weather_storm("protect.disable.weather.storm", false), - disable_weather_lightning("protect.disable.weather.lightning", false), - disable_weather_thunder("protect.disable.weather.thunder", false), - prevent_fire_spread("protect.prevent.fire-spread", true), - prevent_flint_fire("protect.prevent.flint-fire", false), - prevent_lava_fire_spread("protect.prevent.lava-fire-spread", true), - prevent_lightning_fire_spread("protect.prevent.lightning-fire-spread", true), - prevent_water_flow("protect.prevent.water-flow", false), - prevent_lava_flow("protect.prevent.lava-flow", false), - prevent_water_bucket_flow("protect.prevent.water-bucket-flow", false), - prevent_portal_creation("protect.prevent.portal-creation", false), - prevent_block_on_rail("protect.protect.prevent-block-on-rails", false), - prevent_tnt_explosion("protect.prevent.tnt-explosion", false), - prevent_tnt_playerdmg("protect.prevent.tnt-playerdamage", false), - prevent_fireball_explosion("protect.prevent.fireball-explosion", false), - prevent_fireball_fire("protect.prevent.fireball-fire", false), - prevent_fireball_playerdmg("protect.prevent.fireball-playerdamage", false), - prevent_creeper_explosion("protect.prevent.creeper-explosion", true), - prevent_creeper_playerdmg("protect.prevent.creeper-playerdamage", false), - prevent_creeper_blockdmg("protect.prevent.creeper-blockdamage", false), - prevent_enderman_pickup("protect.prevent.enderman-pickup", false), - prevent_villager_death("protect.prevent.villager-death", false), - prevent_enderdragon_blockdmg("protect.prevent.enderdragon-blockdamage", true), - prevent_entitytarget("protect.prevent.entitytarget", false), - protect_rails("protect.protect.rails", true), - protect_below_rails("protect.protect.block-below", true), - protect_signs("protect.protect.signs", true), - protect_against_signs("protect.protect.block-below", true), - enderdragon_fakeexplosions("protect.enderdragon-fakeexplosions", false), - alert_on_placement("protect.alert.on-placement"), - alert_on_use("protect.alert.on-use"), - alert_on_break("protect.alert.on-break"), - blacklist_placement("protect.blacklist.placement"), - blacklist_usage("protect.blacklist.usage"), - blacklist_break("protect.blacklist.break"), - blacklist_piston("protect.blacklist.piston"); - private final String configName; - private final String defValueString; - private final boolean defValueBoolean; - private final boolean isList; - private final boolean isString; - - private ProtectConfig(final String configName) - { - this(configName, null, false, true, false); - } - - private ProtectConfig(final String configName, final String defValueString) - { - this(configName, defValueString, false, false, true); - } - - private ProtectConfig(final String configName, final boolean defValueBoolean) - { - this(configName, null, defValueBoolean, false, false); - } - - private ProtectConfig(final String configName, final String defValueString, final boolean defValueBoolean, final boolean isList, final boolean isString) - { - this.configName = configName; - this.defValueString = defValueString; - this.defValueBoolean = defValueBoolean; - this.isList = isList; - this.isString = isString; - } - - /** - * @return the configName - *//* - public String getConfigName() - { - return configName; - } - - /** - * @return the default value String - *//* - public String getDefaultValueString() - { - return defValueString; - } - - /** - * @return the default value boolean - *//* - public boolean getDefaultValueBoolean() - { - return defValueBoolean; - } - - public boolean isString() - { - return isString; - } - - public boolean isList() - { - return isList; - } -}*/ diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectHolder.java b/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectHolder.java deleted file mode 100644 index d9df03bbf..000000000 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectHolder.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.earth2me.essentials.protect; - -import net.ess3.api.IEssentials; -import net.ess3.settings.protect.Protect; -import net.ess3.storage.AsyncStorageObjectHolder; -import java.io.File; -import java.io.IOException; - - -public class ProtectHolder extends AsyncStorageObjectHolder<Protect> -{ - public ProtectHolder(IEssentials ess) - { - super(ess, Protect.class); - } - - @Override - public File getStorageFile() throws IOException - { - return new File(ess.getDataFolder(), "protect.yml"); - } -} diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/data/IProtectedBlock.java b/EssentialsProtect/src/com/earth2me/essentials/protect/data/IProtectedBlock.java deleted file mode 100644 index 755baface..000000000 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/data/IProtectedBlock.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.earth2me.essentials.protect.data; - -import java.util.List; -import org.bukkit.block.Block; - - -public interface IProtectedBlock -{ - public void clearProtections(); - - public void importProtections(List<OwnedBlock> blocks); - - public List<OwnedBlock> exportProtections(); - - public void protectBlock(Block block, String playerName); - - public boolean isProtected(Block block, String playerName); - - public List<String> getOwners(Block block); - - public int unprotectBlock(Block block); - - public void onPluginDeactivation(); -} diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/data/OwnedBlock.java b/EssentialsProtect/src/com/earth2me/essentials/protect/data/OwnedBlock.java deleted file mode 100644 index dc28feae8..000000000 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/data/OwnedBlock.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.earth2me.essentials.protect.data; - - -public class OwnedBlock -{ - final int x; - final int y; - final int z; - final String world; - final String playerName; - - public OwnedBlock(int x, int y, int z, String world, String playerName) - { - this.x = x; - this.y = y; - this.z = z; - this.world = world; - this.playerName = playerName; - } -} diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/data/ProtectedBlockJDBC.java b/EssentialsProtect/src/com/earth2me/essentials/protect/data/ProtectedBlockJDBC.java deleted file mode 100644 index e24a71b80..000000000 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/data/ProtectedBlockJDBC.java +++ /dev/null @@ -1,426 +0,0 @@ -package com.earth2me.essentials.protect.data; - -import com.mchange.v2.c3p0.ComboPooledDataSource; -import java.beans.PropertyVetoException; -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; -import org.bukkit.block.Block; - - -public abstract class ProtectedBlockJDBC implements IProtectedBlock -{ - protected static final Logger LOGGER = Logger.getLogger("Minecraft"); - protected final transient ComboPooledDataSource cpds; - - protected abstract PreparedStatement getStatementCreateTable(Connection conn) throws SQLException; - - protected abstract PreparedStatement getStatementUpdateFrom2_0Table(Connection conn) throws SQLException; - - protected abstract PreparedStatement getStatementDeleteAll(Connection conn) throws SQLException; - - protected abstract PreparedStatement getStatementInsert(Connection conn, String world, int x, int y, int z, String playerName) throws SQLException; - - protected abstract PreparedStatement getStatementPlayerCountByLocation(Connection conn, String world, int x, int y, int z, String playerName) throws SQLException; - - protected abstract PreparedStatement getStatementPlayersByLocation(Connection conn, String name, int x, int y, int z) throws SQLException; - - protected abstract PreparedStatement getStatementDeleteByLocation(Connection conn, String world, int x, int y, int z) throws SQLException; - - protected abstract PreparedStatement getStatementAllBlocks(Connection conn) throws SQLException; - - public ProtectedBlockJDBC(String driver, String url) throws PropertyVetoException - { - this(driver, url, null, null); - } - - public ProtectedBlockJDBC(String driver, String url, String username, String password) throws PropertyVetoException - { - cpds = new ComboPooledDataSource(); - cpds.setDriverClass(driver); - cpds.setJdbcUrl(url); - if (username != null) - { - cpds.setUser(username); - cpds.setPassword(password); - } - cpds.setMaxStatements(20); - createAndConvertTable(); - } - - private void createAndConvertTable() - { - Connection conn = null; - PreparedStatement ps = null; - try - { - conn = cpds.getConnection(); - ps = getStatementCreateTable(conn); - ps.execute(); - ps.close(); - ps = getStatementUpdateFrom2_0Table(conn); - ps.execute(); - } - catch (SQLException ex) - { - LOGGER.log(Level.SEVERE, null, ex); - } - finally - { - if (ps != null) - { - try - { - ps.close(); - } - catch (SQLException ex) - { - LOGGER.log(Level.SEVERE, null, ex); - } - } - if (conn != null) - { - try - { - conn.close(); - } - catch (SQLException ex) - { - LOGGER.log(Level.SEVERE, null, ex); - } - } - } - } - - public void clearProtections() - { - Connection conn = null; - PreparedStatement ps = null; - try - { - conn = cpds.getConnection(); - ps = getStatementDeleteAll(conn); - ps.executeUpdate(); - } - catch (SQLException ex) - { - LOGGER.log(Level.SEVERE, null, ex); - } - finally - { - if (ps != null) - { - try - { - ps.close(); - } - catch (SQLException ex) - { - LOGGER.log(Level.SEVERE, null, ex); - } - } - if (conn != null) - { - try - { - conn.close(); - } - catch (SQLException ex) - { - LOGGER.log(Level.SEVERE, null, ex); - } - } - } - } - - public void importProtections(List<OwnedBlock> blocks) - { - for (OwnedBlock ownedBlock : blocks) - { - if (ownedBlock.playerName == null) - { - continue; - } - protectBlock(ownedBlock.world, ownedBlock.x, ownedBlock.y, ownedBlock.z, ownedBlock.playerName); - } - } - - public List<OwnedBlock> exportProtections() - { - Connection conn = null; - PreparedStatement ps = null; - ResultSet rs = null; - List<OwnedBlock> blocks = new ArrayList<OwnedBlock>(); - try - { - conn = cpds.getConnection(); - ps = getStatementAllBlocks(conn); - rs = ps.executeQuery(); - while (rs.next()) - { - OwnedBlock ob = new OwnedBlock( - rs.getInt(2), - rs.getInt(3), - rs.getInt(4), - rs.getString(1), - rs.getString(5)); - blocks.add(ob); - } - return blocks; - } - catch (SQLException ex) - { - LOGGER.log(Level.SEVERE, null, ex); - return blocks; - } - finally - { - if (rs != null) - { - try - { - rs.close(); - } - catch (SQLException ex) - { - LOGGER.log(Level.SEVERE, null, ex); - } - } - if (ps != null) - { - try - { - ps.close(); - } - catch (SQLException ex) - { - LOGGER.log(Level.SEVERE, null, ex); - } - } - if (conn != null) - { - try - { - conn.close(); - } - catch (SQLException ex) - { - LOGGER.log(Level.SEVERE, null, ex); - } - } - } - } - - public void protectBlock(Block block, 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) - { - Connection conn = null; - PreparedStatement ps = null; - try - { - conn = cpds.getConnection(); - ps = getStatementInsert(conn, world, x, y, z, playerName); - ps.executeUpdate(); - } - catch (SQLException ex) - { - LOGGER.log(Level.SEVERE, null, ex); - } - finally - { - if (ps != null) - { - try - { - ps.close(); - } - catch (SQLException ex) - { - LOGGER.log(Level.SEVERE, null, ex); - } - } - if (conn != null) - { - try - { - conn.close(); - } - catch (SQLException ex) - { - LOGGER.log(Level.SEVERE, null, ex); - } - } - } - } - - public boolean isProtected(Block block, String playerName) - { - Connection conn = null; - PreparedStatement ps = null; - ResultSet rs = null; - try - { - conn = cpds.getConnection(); - ps = getStatementPlayerCountByLocation(conn, block.getWorld().getName(), block.getX(), block.getY(), block.getZ(), playerName); - rs = ps.executeQuery(); - return rs.next() && rs.getInt(1) > 0 && rs.getInt(2) == 0; - } - catch (SQLException ex) - { - LOGGER.log(Level.SEVERE, null, ex); - return true; - } - finally - { - if (rs != null) - { - try - { - rs.close(); - } - catch (SQLException ex) - { - LOGGER.log(Level.SEVERE, null, ex); - } - } - if (ps != null) - { - try - { - ps.close(); - } - catch (SQLException ex) - { - LOGGER.log(Level.SEVERE, null, ex); - } - } - if (conn != null) - { - try - { - conn.close(); - } - catch (SQLException ex) - { - LOGGER.log(Level.SEVERE, null, ex); - } - } - } - } - - public List<String> getOwners(Block block) - { - Connection conn = null; - PreparedStatement ps = null; - ResultSet rs = null; - List<String> owners = new ArrayList<String>(); - try - { - conn = cpds.getConnection(); - ps = getStatementPlayersByLocation(conn, block.getWorld().getName(), block.getX(), block.getY(), block.getZ()); - rs = ps.executeQuery(); - while (rs.next()) - { - owners.add(rs.getString(1)); - } - return owners; - } - catch (SQLException ex) - { - LOGGER.log(Level.SEVERE, null, ex); - return owners; - } - finally - { - if (rs != null) - { - try - { - rs.close(); - } - catch (SQLException ex) - { - LOGGER.log(Level.SEVERE, null, ex); - } - } - if (ps != null) - { - try - { - ps.close(); - } - catch (SQLException ex) - { - LOGGER.log(Level.SEVERE, null, ex); - } - } - if (conn != null) - { - try - { - conn.close(); - } - catch (SQLException ex) - { - LOGGER.log(Level.SEVERE, null, ex); - } - } - } - } - - public int unprotectBlock(Block block) - { - Connection conn = null; - PreparedStatement ps = null; - try - { - conn = cpds.getConnection(); - ps = getStatementDeleteByLocation(conn, block.getWorld().getName(), block.getX(), block.getY(), block.getZ()); - return ps.executeUpdate(); - } - catch (SQLException ex) - { - LOGGER.log(Level.SEVERE, null, ex); - return 0; - } - finally - { - if (ps != null) - { - try - { - ps.close(); - } - catch (SQLException ex) - { - LOGGER.log(Level.SEVERE, null, ex); - } - } - if (conn != null) - { - try - { - conn.close(); - } - catch (SQLException ex) - { - LOGGER.log(Level.SEVERE, null, ex); - } - } - } - } - - 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 deleted file mode 100644 index 876c8a575..000000000 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/data/ProtectedBlockMemory.java +++ /dev/null @@ -1,248 +0,0 @@ -package com.earth2me.essentials.protect.data; - -import java.util.Map.Entry; -import java.util.*; -import org.bukkit.World; -import org.bukkit.block.Block; -import org.bukkit.plugin.Plugin; - - -public class ProtectedBlockMemory implements IProtectedBlock -{ - private final transient List<String> worlds = new ArrayList<String>(); - private final transient List<String> playerNames = new ArrayList<String>(); - private final transient IProtectedBlock storage; - private final transient Plugin plugin; - - - static class ProtectedLocation - { - private final transient int x; - private final transient int y; - private final transient int z; - private final transient int w; - - public ProtectedLocation(final Block block, final int worldId) - { - this.x = block.getX(); - this.y = block.getY(); - this.z = block.getZ(); - this.w = worldId; - } - - public ProtectedLocation(final OwnedBlock ownedBlock, final int worldId) - { - this.x = ownedBlock.x; - this.y = ownedBlock.y; - this.z = ownedBlock.z; - this.w = worldId; - } - - @Override - public boolean equals(final Object object) - { - if (object instanceof ProtectedLocation) - { - final ProtectedLocation pLoc = (ProtectedLocation)object; - return x == pLoc.x && y == pLoc.y && z == pLoc.z && w == pLoc.w; - } - return false; - } - - @Override - public int hashCode() - { - return x ^ y ^ z ^ w; - } - } - - - static class ProtectedBy - { - private transient int playerId = -1; - private transient Set<Integer> playerIds; - - public void add(final int playerId) - { - if (this.playerId == -1 || this.playerId == playerId) - { - this.playerId = playerId; - } - else - { - if (playerIds == null) - { - playerIds = new HashSet<Integer>(4); - playerIds.add(this.playerId); - } - playerIds.add(playerId); - } - } - - public boolean contains(final int playerId) - { - if (playerIds == null) - { - return this.playerId == playerId; - } - return playerIds.contains(playerId); - } - - public List<String> getPlayers(final List<String> playerNames) - { - final List<String> list = new ArrayList<String>(2); - if (playerIds == null) - { - list.add(playerNames.get(playerId)); - } - else - { - for (Integer integer : playerIds) - { - list.add(playerNames.get(integer)); - } - } - return list; - } - - public int size() - { - if (playerIds == null) - { - return 1; - } - return playerIds.size(); - } - } - private final transient Map<ProtectedLocation, ProtectedBy> blocks = new HashMap<ProtectedLocation, ProtectedBy>(); - - public ProtectedBlockMemory(final IProtectedBlock storage, final Plugin plugin) - { - this.storage = storage; - this.plugin = plugin; - importProtections(storage.exportProtections()); - } - - public void clearProtections() - { - blocks.clear(); - } - - public final void importProtections(final List<OwnedBlock> blocks) - { - for (OwnedBlock ownedBlock : blocks) - { - final ProtectedLocation pl = new ProtectedLocation(ownedBlock, getWorldId(ownedBlock.world)); - if (ownedBlock.playerName == null) - { - continue; - } - protectBlock(pl, ownedBlock.playerName); - } - } - - public List<OwnedBlock> exportProtections() - { - final List<OwnedBlock> blockList = new ArrayList<OwnedBlock>(blocks.size()); - for (Entry<ProtectedLocation, ProtectedBy> entry : blocks.entrySet()) - { - for (String name : entry.getValue().getPlayers(playerNames)) - { - final OwnedBlock ob = new OwnedBlock( - entry.getKey().x, - entry.getKey().y, - entry.getKey().z, - worlds.get(entry.getKey().w), - name); - blockList.add(ob); - } - } - return blockList; - } - - 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() - { - public void run() - { - storage.protectBlock(block, playerName); - } - }); - } - - private final void protectBlock(ProtectedLocation pl, String playerName) - { - int playerId = getPlayerId(playerName); - ProtectedBy pb = blocks.get(pl); - if (pb == null) - { - pb = new ProtectedBy(); - blocks.put(pl, pb); - } - pb.add(playerId); - } - - public boolean isProtected(Block block, String playerName) - { - int playerId = getPlayerId(playerName); - ProtectedLocation pl = new ProtectedLocation(block, getWorldId(block.getWorld())); - ProtectedBy pb = blocks.get(pl); - return !pb.contains(playerId); - } - - public List<String> getOwners(Block block) - { - ProtectedLocation pl = new ProtectedLocation(block, getWorldId(block.getWorld())); - ProtectedBy pb = blocks.get(pl); - return pb.getPlayers(playerNames); - } - - public int unprotectBlock(final Block block) - { - ProtectedLocation pl = new ProtectedLocation(block, getWorldId(block.getWorld())); - ProtectedBy pb = blocks.remove(pl); - plugin.getServer().getScheduler().scheduleAsyncDelayedTask(plugin, new Runnable() - { - public void run() - { - storage.unprotectBlock(block); - } - }); - return pb.size(); - } - - private int getPlayerId(String playername) - { - int id = playerNames.indexOf(playername); - if (id < 0) - { - playerNames.add(playername); - id = playerNames.indexOf(playername); - } - return id; - } - - private int getWorldId(World world) - { - return getWorldId(world.getName()); - } - - private int getWorldId(String name) - { - int id = worlds.indexOf(name); - if (id < 0) - { - worlds.add(name); - id = worlds.indexOf(name); - } - return id; - } - - 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 deleted file mode 100644 index 2a0077698..000000000 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/data/ProtectedBlockMySQL.java +++ /dev/null @@ -1,156 +0,0 @@ -package com.earth2me.essentials.protect.data; - -import java.beans.PropertyVetoException; -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.logging.Level; -import java.util.logging.Logger; - - -public class ProtectedBlockMySQL extends ProtectedBlockJDBC -{ - public ProtectedBlockMySQL(String url, String username, String password) throws PropertyVetoException - { - super("com.mysql.jdbc.Driver", url, username, password); - } - private static final String QueryCreateTable = - "CREATE TABLE IF NOT EXISTS `EssentialsProtect` (" - + "`worldName` varchar(60) NOT NULL," - + "`x` int(11) NOT NULL, `y` int(11) NOT NULL, `z` int(11) NOT NULL," - + "`playerName` varchar(150) DEFAULT NULL," - + "KEY `pos` (`worldName`,`x`,`z`,`y`)" - + ") ENGINE=MyISAM DEFAULT CHARSET=utf8"; - - @Override - protected PreparedStatement getStatementCreateTable(Connection conn) throws SQLException - { - return conn.prepareStatement(QueryCreateTable); - } - private static final String QueryUpdateFrom2_0TableCheck = - "SHOW COLUMNS FROM `EssentialsProtect` LIKE 'id';"; - private static final String QueryUpdateFrom2_0Table = - "ALTER TABLE `EssentialsProtect` " - + "CHARACTER SET = utf8, ENGINE = MyISAM," - + "DROP COLUMN `id`," - + "CHANGE COLUMN `playerName` `playerName` VARCHAR(150) NULL AFTER `z`," - + "CHANGE COLUMN `worldName` `worldName` VARCHAR(60) NOT NULL," - + "ADD INDEX `position` (`worldName` ASC, `x` ASC, `z` ASC, `y` ASC)," - + "DROP PRIMARY KEY ;"; - - @Override - protected PreparedStatement getStatementUpdateFrom2_0Table(Connection conn) throws SQLException - { - PreparedStatement testPS = null; - ResultSet testRS = null; - try - { - testPS = conn.prepareStatement(QueryUpdateFrom2_0TableCheck); - testRS = testPS.executeQuery(); - if (testRS.first()) - { - return conn.prepareStatement(QueryUpdateFrom2_0Table); - } - else - { - return conn.prepareStatement("SELECT 1;"); - } - } - finally - { - if (testRS != null) - { - try - { - testRS.close(); - } - catch (SQLException ex) - { - Logger.getLogger(ProtectedBlockMySQL.class.getName()).log(Level.SEVERE, null, ex); - } - } - if (testPS != null) - { - try - { - testPS.close(); - } - catch (SQLException ex) - { - Logger.getLogger(ProtectedBlockMySQL.class.getName()).log(Level.SEVERE, null, ex); - } - } - } - } - private static final String QueryDeleteAll = "DELETE FROM EssentialsProtect;"; - - @Override - protected PreparedStatement getStatementDeleteAll(Connection conn) throws SQLException - { - return conn.prepareStatement(QueryDeleteAll); - } - private static final String QueryInsert = - "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 - { - PreparedStatement ps = conn.prepareStatement(QueryInsert); - ps.setString(1, world); - ps.setInt(2, x); - ps.setInt(3, y); - ps.setInt(4, z); - ps.setString(5, playerName); - return ps; - } - private static final String QueryCountByPlayer = - "SELECT COUNT(playerName), SUM(playerName = ?) FROM EssentialsProtect " - + "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 - { - PreparedStatement ps = conn.prepareStatement(QueryCountByPlayer); - ps.setString(1, playerName); - ps.setString(2, world); - ps.setInt(3, x); - ps.setInt(4, y); - ps.setInt(5, z); - return ps; - } - private static final String QueryPlayersByLocation = - "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 - { - PreparedStatement ps = conn.prepareStatement(QueryPlayersByLocation); - ps.setString(1, world); - ps.setInt(2, x); - ps.setInt(3, y); - ps.setInt(4, z); - return ps; - } - private static final String QueryDeleteByLocation = - "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 - { - PreparedStatement ps = conn.prepareStatement(QueryDeleteByLocation); - ps.setString(1, world); - ps.setInt(2, x); - ps.setInt(3, y); - ps.setInt(4, z); - return ps; - } - private static final String QueryAllBlocks = - "SELECT worldName, x, y, z, playerName FROM EssentialsProtect;"; - - @Override - protected PreparedStatement getStatementAllBlocks(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 deleted file mode 100644 index cf256f1ec..000000000 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/data/ProtectedBlockSQLite.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.earth2me.essentials.protect.data; - -import java.beans.PropertyVetoException; -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.SQLException; - - -public class ProtectedBlockSQLite extends ProtectedBlockJDBC -{ - public ProtectedBlockSQLite(String url) throws PropertyVetoException - { - super("org.sqlite.JDBC", url); - } - private static final String QueryCreateTable = - "CREATE TABLE IF NOT EXISTS EssentialsProtect (" - + "worldName TEXT ,playerName TEXT, " - + "x NUMERIC, y NUMERIC, z NUMERIC)"; - - @Override - protected PreparedStatement getStatementCreateTable(Connection conn) throws SQLException - { - return conn.prepareStatement(QueryCreateTable); - } - private static final String QueryUpdateFrom2_0Table = - "CREATE INDEX IF NOT EXISTS position ON EssentialsProtect (" - + "worldName, x, z, y)"; - - @Override - protected PreparedStatement getStatementUpdateFrom2_0Table(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 - { - return conn.prepareStatement(QueryDeleteAll); - } - private static final String QueryInsert = - "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 - { - PreparedStatement ps = conn.prepareStatement(QueryInsert); - ps.setString(1, world); - ps.setInt(2, x); - ps.setInt(3, y); - ps.setInt(4, z); - ps.setString(5, playerName); - return ps; - } - private static final String QueryPlayerCountByLocation = - "SELECT COUNT(playerName), SUM(playerName = ?) FROM EssentialsProtect " - + "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 - { - PreparedStatement ps = conn.prepareStatement(QueryPlayerCountByLocation); - ps.setString(1, playerName); - ps.setString(2, world); - ps.setInt(3, x); - ps.setInt(4, y); - ps.setInt(5, z); - return ps; - } - private static final String QueryPlayersByLocation = - "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 - { - PreparedStatement ps = conn.prepareStatement(QueryPlayersByLocation); - ps.setString(1, world); - ps.setInt(2, x); - ps.setInt(3, y); - ps.setInt(4, z); - return ps; - } - private static final String QueryDeleteByLocation = - "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 - { - PreparedStatement ps = conn.prepareStatement(QueryDeleteByLocation); - ps.setString(1, world); - ps.setInt(2, x); - ps.setInt(3, y); - ps.setInt(4, z); - return ps; - } - private static final String QueryAllBlocks = - "SELECT worldName, x, y, z, playerName FROM EssentialsProtect;"; - - @Override - protected PreparedStatement getStatementAllBlocks(Connection conn) throws SQLException - { - return conn.prepareStatement(QueryAllBlocks); - } -} |