summaryrefslogtreecommitdiffstats
path: root/EssentialsAntiBuild/src/com/earth2me/essentials
diff options
context:
space:
mode:
authorementalo <me@ementalo.com>2015-04-11 21:47:56 +0100
committerementalo <me@ementalo.com>2015-04-11 21:47:56 +0100
commit9e6c686c297eb233dfa19872f2f42bbd2a8f421f (patch)
treebc1dfa4e3ec7ca5ce8c459baaaebe4bd2b09ec5e /EssentialsAntiBuild/src/com/earth2me/essentials
parentce8313bd688ecad3ed98decaf5ef9029fca8f100 (diff)
downloadEssentials-9e6c686c297eb233dfa19872f2f42bbd2a8f421f.tar
Essentials-9e6c686c297eb233dfa19872f2f42bbd2a8f421f.tar.gz
Essentials-9e6c686c297eb233dfa19872f2f42bbd2a8f421f.tar.lz
Essentials-9e6c686c297eb233dfa19872f2f42bbd2a8f421f.tar.xz
Essentials-9e6c686c297eb233dfa19872f2f42bbd2a8f421f.zip
Change namespace from com.earth2me to org.mcess - net.ess3.api changes still required
Diffstat (limited to 'EssentialsAntiBuild/src/com/earth2me/essentials')
-rw-r--r--EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/AntiBuildConfig.java74
-rw-r--r--EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsAntiBuild.java63
-rw-r--r--EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsAntiBuildListener.java325
-rw-r--r--EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsConnect.java80
-rw-r--r--EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/IAntiBuild.java19
5 files changed, 0 insertions, 561 deletions
diff --git a/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/AntiBuildConfig.java b/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/AntiBuildConfig.java
deleted file mode 100644
index f0cdfcef4..000000000
--- a/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/AntiBuildConfig.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package com.earth2me.essentials.antibuild;
-
-
-public enum AntiBuildConfig
-{
- disable_build("protect.disable.build", true),
- disable_use("protect.disable.use", true),
- 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"),
- blacklist_dispenser("protect.blacklist.dispenser");
- private final String configName;
- private final String defValueString;
- private final boolean defValueBoolean;
- private final boolean isList;
- private final boolean isString;
-
- private AntiBuildConfig(final String configName)
- {
- this(configName, null, false, true, false);
- }
-
- private AntiBuildConfig(final String configName, final boolean defValueBoolean)
- {
- this(configName, null, defValueBoolean, false, false);
- }
-
- private AntiBuildConfig(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/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsAntiBuild.java b/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsAntiBuild.java
deleted file mode 100644
index 8654b9949..000000000
--- a/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsAntiBuild.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package com.earth2me.essentials.antibuild;
-
-import java.util.EnumMap;
-import java.util.List;
-import java.util.Map;
-import org.bukkit.plugin.Plugin;
-import org.bukkit.plugin.PluginManager;
-import org.bukkit.plugin.java.JavaPlugin;
-
-
-public class EssentialsAntiBuild extends JavaPlugin implements IAntiBuild
-{
- private final transient Map<AntiBuildConfig, Boolean> settingsBoolean = new EnumMap<AntiBuildConfig, Boolean>(AntiBuildConfig.class);
- private final transient Map<AntiBuildConfig, List<Integer>> settingsList = new EnumMap<AntiBuildConfig, List<Integer>>(AntiBuildConfig.class);
- private transient EssentialsConnect ess = null;
-
- @Override
- public void onEnable()
- {
- final PluginManager pm = this.getServer().getPluginManager();
- final Plugin essPlugin = pm.getPlugin("Essentials");
- if (essPlugin == null || !essPlugin.isEnabled())
- {
- return;
- }
- ess = new EssentialsConnect(essPlugin, this);
-
- final EssentialsAntiBuildListener blockListener = new EssentialsAntiBuildListener(this);
- pm.registerEvents(blockListener, this);
- }
-
- @Override
- public boolean checkProtectionItems(final AntiBuildConfig list, final int id)
- {
- final List<Integer> itemList = settingsList.get(list);
- return itemList != null && !itemList.isEmpty() && itemList.contains(id);
- }
-
- @Override
- public EssentialsConnect getEssentialsConnect()
- {
- return ess;
- }
-
- @Override
- public Map<AntiBuildConfig, Boolean> getSettingsBoolean()
- {
- return settingsBoolean;
- }
-
- @Override
- public Map<AntiBuildConfig, List<Integer>> getSettingsList()
- {
- return settingsList;
- }
-
- @Override
- public boolean getSettingBool(final AntiBuildConfig protectConfig)
- {
- final Boolean bool = settingsBoolean.get(protectConfig);
- return bool == null ? protectConfig.getDefaultValueBoolean() : bool;
- }
-}
diff --git a/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsAntiBuildListener.java b/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsAntiBuildListener.java
deleted file mode 100644
index f9e924931..000000000
--- a/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsAntiBuildListener.java
+++ /dev/null
@@ -1,325 +0,0 @@
-package com.earth2me.essentials.antibuild;
-
-import static com.earth2me.essentials.I18n.tl;
-import com.earth2me.essentials.User;
-import net.ess3.api.IEssentials;
-import java.util.logging.Level;
-import org.bukkit.Material;
-import org.bukkit.block.Block;
-import org.bukkit.entity.Entity;
-import org.bukkit.entity.EntityType;
-import org.bukkit.entity.HumanEntity;
-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.*;
-import org.bukkit.event.hanging.HangingBreakByEntityEvent;
-import org.bukkit.event.inventory.CraftItemEvent;
-import org.bukkit.event.player.PlayerDropItemEvent;
-import org.bukkit.event.player.PlayerInteractEvent;
-import org.bukkit.event.player.PlayerPickupItemEvent;
-import org.bukkit.inventory.ItemStack;
-
-
-public class EssentialsAntiBuildListener implements Listener
-{
- final private transient IAntiBuild prot;
- final private transient IEssentials ess;
-
- public EssentialsAntiBuildListener(final IAntiBuild parent)
- {
- this.prot = parent;
- this.ess = prot.getEssentialsConnect().getEssentials();
- }
-
- private boolean metaPermCheck(final User user, final String action, final Block block)
- {
- if (block == null)
- {
- if (ess.getSettings().isDebug())
- {
- ess.getLogger().log(Level.INFO, "AntiBuild permission check failed, invalid block.");
- }
- return false;
- }
- return metaPermCheck(user, action, block.getTypeId(), block.getData());
- }
-
- private boolean metaPermCheck(final User user, final String action, final int blockId)
- {
- final String blockPerm = "essentials.build." + action + "." + blockId;
- return user.isAuthorized(blockPerm);
- }
-
- private boolean metaPermCheck(final User user, final String action, final int blockId, final short data)
- {
- final String blockPerm = "essentials.build." + action + "." + blockId;
- final String dataPerm = blockPerm + ":" + data;
-
- if (user.getBase().isPermissionSet(dataPerm))
- {
- return user.isAuthorized(dataPerm);
- }
- else
- {
- if (ess.getSettings().isDebug())
- {
- ess.getLogger().log(Level.INFO, "DataValue perm on " + user.getName() + " is not directly set: " + dataPerm);
- }
- }
-
- return user.isAuthorized(blockPerm);
- }
-
- @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
- public void onBlockPlace(final BlockPlaceEvent event)
- {
- final User user = ess.getUser(event.getPlayer());
- final Block block = event.getBlockPlaced();
- final int typeId = block.getTypeId();
- final Material type = block.getType();
-
- if (prot.getSettingBool(AntiBuildConfig.disable_build) && !user.canBuild() && !user.isAuthorized("essentials.build")
- && !metaPermCheck(user, "place", block))
- {
- if (ess.getSettings().warnOnBuildDisallow())
- {
- user.sendMessage(tl("antiBuildPlace", type.toString()));
- }
- event.setCancelled(true);
- return;
- }
-
- if (prot.checkProtectionItems(AntiBuildConfig.blacklist_placement, typeId) && !user.isAuthorized("essentials.protect.exemptplacement"))
- {
- if (ess.getSettings().warnOnBuildDisallow())
- {
- user.sendMessage(tl("antiBuildPlace", type.toString()));
- }
- event.setCancelled(true);
- return;
- }
-
- if (prot.checkProtectionItems(AntiBuildConfig.alert_on_placement, typeId)
- && !user.isAuthorized("essentials.protect.alerts.notrigger"))
- {
- prot.getEssentialsConnect().alert(user, type.toString(), tl("alertPlaced"));
- }
- }
-
- @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
- public void onBlockBreak(final BlockBreakEvent event)
- {
- final User user = ess.getUser(event.getPlayer());
- final Block block = event.getBlock();
- final int typeId = block.getTypeId();
- final Material type = block.getType();
-
- if (prot.getSettingBool(AntiBuildConfig.disable_build) && !user.canBuild() && !user.isAuthorized("essentials.build")
- && !metaPermCheck(user, "break", block))
- {
- if (ess.getSettings().warnOnBuildDisallow())
- {
- user.sendMessage(tl("antiBuildBreak", type.toString()));
- }
- event.setCancelled(true);
- return;
- }
-
- if (prot.checkProtectionItems(AntiBuildConfig.blacklist_break, typeId)
- && !user.isAuthorized("essentials.protect.exemptbreak"))
- {
- if (ess.getSettings().warnOnBuildDisallow())
- {
- user.sendMessage(tl("antiBuildBreak", type.toString()));
- }
- event.setCancelled(true);
- return;
- }
-
- if (prot.checkProtectionItems(AntiBuildConfig.alert_on_break, typeId)
- && !user.isAuthorized("essentials.protect.alerts.notrigger"))
- {
- prot.getEssentialsConnect().alert(user, type.toString(), tl("alertBroke"));
- }
- }
-
- @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
- public void onHangingBreak(final HangingBreakByEntityEvent event)
- {
- final Entity entity = event.getRemover();
- if (entity instanceof Player)
- {
- final User user = ess.getUser((Player)entity);
- final EntityType type = event.getEntity().getType();
- final boolean warn = ess.getSettings().warnOnBuildDisallow();
- if (prot.getSettingBool(AntiBuildConfig.disable_build) && !user.canBuild() && !user.isAuthorized("essentials.build"))
- {
- if (type == EntityType.PAINTING && !metaPermCheck(user, "break", Material.PAINTING.getId()))
- {
- if (warn)
- {
- user.sendMessage(tl("antiBuildBreak", Material.PAINTING.toString()));
- }
- event.setCancelled(true);
- }
- else if(type == EntityType.ITEM_FRAME && !metaPermCheck(user, "break", Material.ITEM_FRAME.getId()))
- {
- if (warn)
- {
- user.sendMessage(tl("antiBuildBreak", Material.ITEM_FRAME.toString()));
- }
- event.setCancelled(true);
- }
- }
- }
- }
-
- @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
- public void onBlockPistonExtend(final BlockPistonExtendEvent event)
- {
- for (Block block : event.getBlocks())
- {
- if (prot.checkProtectionItems(AntiBuildConfig.blacklist_piston, block.getTypeId()))
- {
- event.setCancelled(true);
- return;
- }
- }
- }
-
- @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
- public void onBlockPistonRetract(final BlockPistonRetractEvent event)
- {
- if (!event.isSticky())
- {
- return;
- }
- final Block block = event.getRetractLocation().getBlock();
- if (prot.checkProtectionItems(AntiBuildConfig.blacklist_piston, block.getTypeId()))
- {
- event.setCancelled(true);
- }
- }
-
- @EventHandler(priority = EventPriority.LOW)
- public void onPlayerInteract(final PlayerInteractEvent event)
- {
- // Do not return if cancelled, because the interact event has 2 cancelled states.
- final User user = ess.getUser(event.getPlayer());
- final ItemStack item = event.getItem();
-
- if (item != null
- && prot.checkProtectionItems(AntiBuildConfig.blacklist_usage, item.getTypeId())
- && !user.isAuthorized("essentials.protect.exemptusage"))
- {
- if (ess.getSettings().warnOnBuildDisallow())
- {
- user.sendMessage(tl("antiBuildUse", item.getType().toString()));
- }
- event.setCancelled(true);
- return;
- }
-
- if (item != null
- && prot.checkProtectionItems(AntiBuildConfig.alert_on_use, item.getTypeId())
- && !user.isAuthorized("essentials.protect.alerts.notrigger"))
- {
- prot.getEssentialsConnect().alert(user, item.getType().toString(), tl("alertUsed"));
- }
-
- if (prot.getSettingBool(AntiBuildConfig.disable_use) && !user.canBuild() && !user.isAuthorized("essentials.build"))
- {
- if (event.hasItem() && !metaPermCheck(user, "interact", item.getTypeId(), item.getDurability()))
- {
- event.setCancelled(true);
- if (ess.getSettings().warnOnBuildDisallow())
- {
- user.sendMessage(tl("antiBuildUse", item.getType().toString()));
- }
- return;
- }
- if (event.hasBlock() && !metaPermCheck(user, "interact", event.getClickedBlock()))
- {
- event.setCancelled(true);
- if (ess.getSettings().warnOnBuildDisallow())
- {
- user.sendMessage(tl("antiBuildInteract", event.getClickedBlock().getType().toString()));
- }
- }
- }
- }
-
- @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
- public void onCraftItemEvent(final CraftItemEvent event)
- {
- HumanEntity entity = event.getWhoClicked();
-
- if (entity instanceof Player)
- {
- final User user = ess.getUser((Player)entity);
- final ItemStack item = event.getRecipe().getResult();
-
- if (prot.getSettingBool(AntiBuildConfig.disable_use) && !user.canBuild() && !user.isAuthorized("essentials.build"))
- {
- if (!metaPermCheck(user, "craft", item.getTypeId(), item.getDurability()))
- {
- event.setCancelled(true);
- if (ess.getSettings().warnOnBuildDisallow())
- {
- user.sendMessage(tl("antiBuildCraft", item.getType().toString()));
- }
- }
- }
- }
- }
-
- @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
- public void onPlayerPickupItem(PlayerPickupItemEvent event)
- {
-
- final User user = ess.getUser(event.getPlayer());
- final ItemStack item = event.getItem().getItemStack();
-
- if (prot.getSettingBool(AntiBuildConfig.disable_use) && !user.canBuild() && !user.isAuthorized("essentials.build"))
- {
- if (!metaPermCheck(user, "pickup", item.getTypeId(), item.getDurability()))
- {
- event.setCancelled(true);
- event.getItem().setPickupDelay(50);
- }
- }
- }
-
- @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
- public void onPlayerDropItem(final PlayerDropItemEvent event)
- {
-
- final User user = ess.getUser(event.getPlayer());
- final ItemStack item = event.getItemDrop().getItemStack();
-
- if (prot.getSettingBool(AntiBuildConfig.disable_use) && !user.canBuild() && !user.isAuthorized("essentials.build"))
- {
- if (!metaPermCheck(user, "drop", item.getTypeId(), item.getDurability()))
- {
- event.setCancelled(true);
- user.getBase().updateInventory();
- if (ess.getSettings().warnOnBuildDisallow())
- {
- user.sendMessage(tl("antiBuildDrop", item.getType().toString()));
- }
- }
- }
- }
-
- @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
- public void onBlockDispense(final BlockDispenseEvent event)
- {
- final ItemStack item = event.getItem();
- if (prot.checkProtectionItems(AntiBuildConfig.blacklist_dispenser, item.getTypeId()))
- {
- event.setCancelled(true);
- }
- }
-}
diff --git a/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsConnect.java b/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsConnect.java
deleted file mode 100644
index 2a7b4ecf7..000000000
--- a/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsConnect.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package com.earth2me.essentials.antibuild;
-
-import com.earth2me.essentials.IConf;
-import com.earth2me.essentials.User;
-import static com.earth2me.essentials.I18n.tl;
-import net.ess3.api.IEssentials;
-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 IAntiBuild protect;
-
- public EssentialsConnect(Plugin essPlugin, Plugin essProtect)
- {
- if (!essProtect.getDescription().getVersion().equals(essPlugin.getDescription().getVersion()))
- {
- LOGGER.log(Level.WARNING, tl("versionMismatchAll"));
- }
- ess = (IEssentials)essPlugin;
- protect = (IAntiBuild)essProtect;
- AntiBuildReloader pr = new AntiBuildReloader();
- pr.reloadConfig();
- ess.addReloadListener(pr);
- }
-
- public void onDisable()
- {
- }
-
- public IEssentials getEssentials()
- {
- return ess;
- }
-
- public void alert(final User user, final String item, final String type)
- {
- final Location loc = user.getLocation();
- final String warnMessage = tl("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 User alertUser = ess.getUser(p);
- if (alertUser.isAuthorized("essentials.protect.alerts"))
- {
- alertUser.sendMessage(warnMessage);
- }
- }
- }
-
-
- private class AntiBuildReloader implements IConf
- {
- @Override
- public void reloadConfig()
- {
- for (AntiBuildConfig protectConfig : AntiBuildConfig.values())
- {
- if (protectConfig.isList())
- {
- protect.getSettingsList().put(protectConfig, ess.getSettings().getProtectList(protectConfig.getConfigName()));
- }
- else
- {
- protect.getSettingsBoolean().put(protectConfig, ess.getSettings().getProtectBoolean(protectConfig.getConfigName(), protectConfig.getDefaultValueBoolean()));
- }
-
- }
-
- }
- }
-}
diff --git a/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/IAntiBuild.java b/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/IAntiBuild.java
deleted file mode 100644
index c7b370006..000000000
--- a/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/IAntiBuild.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.earth2me.essentials.antibuild;
-
-import java.util.List;
-import java.util.Map;
-import org.bukkit.plugin.Plugin;
-
-
-public interface IAntiBuild extends Plugin
-{
- boolean checkProtectionItems(final AntiBuildConfig list, final int id);
-
- boolean getSettingBool(final AntiBuildConfig protectConfig);
-
- EssentialsConnect getEssentialsConnect();
-
- Map<AntiBuildConfig, Boolean> getSettingsBoolean();
-
- Map<AntiBuildConfig, List<Integer>> getSettingsList();
-}