From 0f1eb9b4f910b4f61f4c89fbad14b6485c372756 Mon Sep 17 00:00:00 2001 From: snowleo Date: Wed, 14 Dec 2011 16:04:15 +0100 Subject: Moved signs code to a new module --- .../earth2me/essentials/signs/EssentialsSign.java | 517 +++++++++++++++++++++ .../essentials/signs/EssentialsSignsPlugin.java | 55 +++ .../com/earth2me/essentials/signs/SignBalance.java | 21 + .../essentials/signs/SignBlockListener.java | 252 ++++++++++ .../src/com/earth2me/essentials/signs/SignBuy.java | 38 ++ .../earth2me/essentials/signs/SignDisposal.java | 21 + .../com/earth2me/essentials/signs/SignEnchant.java | 121 +++++ .../essentials/signs/SignEntityListener.java | 73 +++ .../earth2me/essentials/signs/SignException.java | 15 + .../com/earth2me/essentials/signs/SignFree.java | 40 ++ .../earth2me/essentials/signs/SignGameMode.java | 37 ++ .../com/earth2me/essentials/signs/SignHeal.java | 36 ++ .../src/com/earth2me/essentials/signs/SignKit.java | 75 +++ .../com/earth2me/essentials/signs/SignMail.java | 41 ++ .../essentials/signs/SignPlayerListener.java | 68 +++ .../earth2me/essentials/signs/SignProtection.java | 350 ++++++++++++++ .../com/earth2me/essentials/signs/SignSell.java | 35 ++ .../earth2me/essentials/signs/SignSpawnmob.java | 47 ++ .../com/earth2me/essentials/signs/SignTime.java | 57 +++ .../com/earth2me/essentials/signs/SignTrade.java | 356 ++++++++++++++ .../com/earth2me/essentials/signs/SignWarp.java | 70 +++ .../com/earth2me/essentials/signs/SignWeather.java | 55 +++ .../src/com/earth2me/essentials/signs/Signs.java | 33 ++ 23 files changed, 2413 insertions(+) create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSignsPlugin.java create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/SignBalance.java create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/SignBlockListener.java create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/SignDisposal.java create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/SignEntityListener.java create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/SignException.java create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/SignFree.java create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/SignGameMode.java create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/SignHeal.java create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/SignMail.java create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/SignPlayerListener.java create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/SignSell.java create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/SignSpawnmob.java create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/SignTime.java create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/SignWeather.java create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/Signs.java (limited to 'EssentialsSigns/src/com/earth2me/essentials/signs') diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java b/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java new file mode 100644 index 000000000..a6057f6ab --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java @@ -0,0 +1,517 @@ +package com.earth2me.essentials.signs; + +import static com.earth2me.essentials.I18n._; +import com.earth2me.essentials.*; +import com.earth2me.essentials.api.IEssentials; +import com.earth2me.essentials.api.IUser; +import java.util.HashSet; +import java.util.Locale; +import java.util.Set; +import org.bukkit.Material; +import org.bukkit.block.Block; +import org.bukkit.block.BlockFace; +import org.bukkit.block.Sign; +import org.bukkit.entity.Player; +import org.bukkit.event.block.SignChangeEvent; +import org.bukkit.inventory.ItemStack; + + +public class EssentialsSign +{ + private static final Set EMPTY_SET = new HashSet(); + protected transient final String signName; + + public EssentialsSign(final String signName) + { + this.signName = signName; + } + + public final boolean onSignCreate(final SignChangeEvent event, final IEssentials ess) + { + final ISign sign = new EventSign(event); + final IUser user = ess.getUser(event.getPlayer()); + if (!(user.isAuthorized("essentials.signs." + signName.toLowerCase(Locale.ENGLISH) + ".create") + || user.isAuthorized("essentials.signs.create." + signName.toLowerCase(Locale.ENGLISH)))) + { + // Return true, so other plugins can use the same sign title, just hope + // they won't change it to §1[Signname] + return true; + } + sign.setLine(0, _("signFormatFail", this.signName)); + try + { + final boolean ret = onSignCreate(sign, user, getUsername(user), ess); + if (ret) + { + sign.setLine(0, getSuccessName()); + } + return ret; + } + catch (ChargeException ex) + { + ess.getCommandHandler().showCommandError(user, signName, ex); + } + catch (SignException ex) + { + ess.getCommandHandler().showCommandError(user, signName, ex); + } + // Return true, so the player sees the wrong sign. + return true; + } + + public String getSuccessName() + { + return _("signFormatSuccess", this.signName); + } + + public String getTemplateName() + { + return _("signFormatTemplate", this.signName); + } + + private String getUsername(final IUser user) + { + return user.getName().substring(0, user.getName().length() > 13 ? 13 : user.getName().length()); + } + + public final boolean onSignInteract(final Block block, final Player player, final IEssentials ess) + { + final ISign sign = new BlockSign(block); + final IUser user = ess.getUser(player); + try + { + return (user.isAuthorized("essentials.signs." + signName.toLowerCase(Locale.ENGLISH) + ".use") + || user.isAuthorized("essentials.signs.use." + signName.toLowerCase(Locale.ENGLISH))) + && onSignInteract(sign, user, getUsername(user), ess); + } + catch (ChargeException ex) + { + ess.getCommandHandler().showCommandError(user,signName, ex); + return false; + } + catch (SignException ex) + { + ess.getCommandHandler().showCommandError(user, signName, ex); + return false; + } + } + + public final boolean onSignBreak(final Block block, final Player player, final IEssentials ess) + { + final ISign sign = new BlockSign(block); + final IUser user = ess.getUser(player); + try + { + return (user.isAuthorized("essentials.signs." + signName.toLowerCase(Locale.ENGLISH) + ".break") + || user.isAuthorized("essentials.signs.break." + signName.toLowerCase(Locale.ENGLISH))) + && onSignBreak(sign, user, getUsername(user), ess); + } + catch (SignException ex) + { + ess.getCommandHandler().showCommandError(user, signName, ex); + return false; + } + } + + protected boolean onSignCreate(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException, ChargeException + { + return true; + } + + protected boolean onSignInteract(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException, ChargeException + { + return true; + } + + protected boolean onSignBreak(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException + { + return true; + } + + public final boolean onBlockPlace(final Block block, final Player player, final IEssentials ess) + { + IUser user = ess.getUser(player); + try + { + return onBlockPlace(block, user, getUsername(user), ess); + } + catch (ChargeException ex) + { + ess.getCommandHandler().showCommandError(user, signName, ex); + } + catch (SignException ex) + { + ess.getCommandHandler().showCommandError(user, signName, ex); + } + return false; + } + + public final boolean onBlockInteract(final Block block, final Player player, final IEssentials ess) + { + IUser user = ess.getUser(player); + try + { + return onBlockInteract(block, user, getUsername(user), ess); + } + catch (ChargeException ex) + { + ess.getCommandHandler().showCommandError(user, signName, ex); + } + catch (SignException ex) + { + ess.getCommandHandler().showCommandError(user, signName, ex); + } + return false; + } + + public final boolean onBlockBreak(final Block block, final Player player, final IEssentials ess) + { + IUser user = ess.getUser(player); + try + { + return onBlockBreak(block, user, getUsername(user), ess); + } + catch (SignException ex) + { + ess.getCommandHandler().showCommandError(user, signName, ex); + } + return false; + } + + public boolean onBlockBreak(final Block block, final IEssentials ess) + { + return true; + } + + public boolean onBlockExplode(final Block block, final IEssentials ess) + { + return true; + } + + public boolean onBlockBurn(final Block block, final IEssentials ess) + { + return true; + } + + public boolean onBlockIgnite(final Block block, final IEssentials ess) + { + return true; + } + + public boolean onBlockPush(final Block block, final IEssentials ess) + { + return true; + } + + public static boolean checkIfBlockBreaksSigns(final Block block) + { + final Block sign = block.getRelative(BlockFace.UP); + if (sign.getType() == Material.SIGN_POST && isValidSign(new BlockSign(sign))) + { + return true; + } + 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 && isValidSign(new BlockSign(signblock))) + { + return true; + } + } + } + return false; + } + + public static boolean isValidSign(final ISign sign) + { + return sign.getLine(0).matches("§1\\[.*\\]"); + } + + protected boolean onBlockPlace(final Block block, final IUser player, final String username, final IEssentials ess) throws SignException, ChargeException + { + return true; + } + + protected boolean onBlockInteract(final Block block, final IUser player, final String username, final IEssentials ess) throws SignException, ChargeException + { + return true; + } + + protected boolean onBlockBreak(final Block block, final IUser player, final String username, final IEssentials ess) throws SignException + { + return true; + } + + public Set getBlocks() + { + return EMPTY_SET; + } + + protected final void validateTrade(final ISign sign, final int index, final IEssentials ess) throws SignException + { + final String line = sign.getLine(index).trim(); + if (line.isEmpty()) + { + return; + } + final Trade trade = getTrade(sign, index, 0, ess); + final Double money = trade.getMoney(); + if (money != null) + { + sign.setLine(index, Util.formatCurrency(money, ess)); + } + } + + protected final void validateTrade(final ISign sign, final int amountIndex, final int itemIndex, + final IUser player, final IEssentials ess) throws SignException + { + if (sign.getLine(itemIndex).equalsIgnoreCase("exp") || sign.getLine(itemIndex).equalsIgnoreCase("xp")) + { + int amount = getIntegerPositive(sign.getLine(amountIndex)); + sign.setLine(amountIndex, Integer.toString(amount)); + sign.setLine(itemIndex, "exp"); + return; + } + final Trade trade = getTrade(sign, amountIndex, itemIndex, player, ess); + final ItemStack item = trade.getItemStack(); + sign.setLine(amountIndex, Integer.toString(item.getAmount())); + sign.setLine(itemIndex, sign.getLine(itemIndex).trim()); + } + + protected final Trade getTrade(final ISign sign, final int amountIndex, final int itemIndex, + final IUser player, final IEssentials ess) throws SignException + { + if (sign.getLine(itemIndex).equalsIgnoreCase("exp") || sign.getLine(itemIndex).equalsIgnoreCase("xp")) + { + final int amount = getIntegerPositive(sign.getLine(amountIndex)); + return new Trade(amount, ess); + } + final ItemStack item = getItemStack(sign.getLine(itemIndex), 1, ess); + final int amount = Math.min(getIntegerPositive(sign.getLine(amountIndex)), item.getType().getMaxStackSize() * player.getInventory().getSize()); + if (item.getTypeId() == 0 || amount < 1) + { + throw new SignException(_("moreThanZero")); + } + item.setAmount(amount); + return new Trade(item, ess); + } + + protected final void validateInteger(final ISign sign, final int index) throws SignException + { + final String line = sign.getLine(index).trim(); + if (line.isEmpty()) + { + throw new SignException("Empty line " + index); + } + final int quantity = getIntegerPositive(line); + sign.setLine(index, Integer.toString(quantity)); + } + + protected final int getIntegerPositive(final String line) throws SignException + { + final int quantity = getInteger(line); + if (quantity < 1) + { + throw new SignException(_("moreThanZero")); + } + return quantity; + } + + protected final int getInteger(final String line) throws SignException + { + try + { + final int quantity = Integer.parseInt(line); + + return quantity; + } + catch (NumberFormatException ex) + { + throw new SignException("Invalid sign", ex); + } + } + + protected final ItemStack getItemStack(final String itemName, final int quantity, final IEssentials ess) throws SignException + { + try + { + final ItemStack item = ess.getItemDb().get(itemName); + item.setAmount(quantity); + return item; + } + catch (Exception ex) + { + throw new SignException(ex.getMessage(), ex); + } + } + + protected final Double getMoney(final String line) throws SignException + { + final boolean isMoney = line.matches("^[^0-9-\\.][\\.0-9]+$"); + return isMoney ? getDoublePositive(line.substring(1)) : null; + } + + protected final Double getDoublePositive(final String line) throws SignException + { + final double quantity = getDouble(line); + if (Math.round(quantity * 100.0) < 1.0) + { + throw new SignException(_("moreThanZero")); + } + return quantity; + } + + protected final Double getDouble(final String line) throws SignException + { + try + { + return Double.parseDouble(line); + } + catch (NumberFormatException ex) + { + throw new SignException(ex.getMessage(), ex); + } + } + + protected final Trade getTrade(final ISign sign, final int index, final IEssentials ess) throws SignException + { + return getTrade(sign, index, 1, ess); + } + + protected final Trade getTrade(final ISign sign, final int index, final int decrement, final IEssentials ess) throws SignException + { + final String line = sign.getLine(index).trim(); + if (line.isEmpty()) + { + return new Trade(signName.toLowerCase(Locale.ENGLISH) + "sign", ess); + } + + final Double money = getMoney(line); + if (money == null) + { + final String[] split = line.split("[ :]+", 2); + if (split.length != 2) + { + throw new SignException(_("invalidCharge")); + } + final int quantity = getIntegerPositive(split[0]); + + final String item = split[1].toLowerCase(Locale.ENGLISH); + if (item.equalsIgnoreCase("times")) + { + sign.setLine(index, (quantity - decrement) + " times"); + return new Trade(signName.toLowerCase(Locale.ENGLISH) + "sign", ess); + } + else if (item.equalsIgnoreCase("exp") || item.equalsIgnoreCase("xp")) + { + sign.setLine(index, quantity + " exp"); + return new Trade(quantity, ess); + } + else + { + final ItemStack stack = getItemStack(item, quantity, ess); + sign.setLine(index, quantity + " " + item); + return new Trade(stack, ess); + } + } + else + { + return new Trade(money, ess); + } + } + + + static class EventSign implements ISign + { + private final transient SignChangeEvent event; + private final transient Block block; + + public EventSign(final SignChangeEvent event) + { + this.event = event; + this.block = event.getBlock(); + } + + @Override + public final String getLine(final int index) + { + return event.getLine(index); + } + + @Override + public final void setLine(final int index, final String text) + { + event.setLine(index, text); + } + + @Override + public Block getBlock() + { + return block; + } + + @Override + public void updateSign() + { + } + } + + + static class BlockSign implements ISign + { + private final transient Sign sign; + private final transient Block block; + + public BlockSign(final Block block) + { + this.block = block; + this.sign = (Sign)block.getState(); + } + + @Override + public final String getLine(final int index) + { + return sign.getLine(index); + } + + @Override + public final void setLine(final int index, final String text) + { + sign.setLine(index, text); + } + + @Override + public final Block getBlock() + { + return block; + } + + @Override + public final void updateSign() + { + sign.update(); + } + } + + + public interface ISign + { + String getLine(final int index); + + void setLine(final int index, final String text); + + public Block getBlock(); + + void updateSign(); + } +} diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSignsPlugin.java b/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSignsPlugin.java new file mode 100644 index 000000000..fd14eba0e --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSignsPlugin.java @@ -0,0 +1,55 @@ +package com.earth2me.essentials.signs; + +import static com.earth2me.essentials.I18n._; +import com.earth2me.essentials.api.IEssentials; +import java.util.logging.Level; +import java.util.logging.Logger; +import org.bukkit.Bukkit; +import org.bukkit.event.Event; +import org.bukkit.plugin.PluginManager; +import org.bukkit.plugin.java.JavaPlugin; + + +public class EssentialsSignsPlugin extends JavaPlugin +{ + private static final transient Logger LOGGER = Bukkit.getLogger(); + private transient IEssentials ess; + + public void onEnable() + { + final PluginManager pluginManager = getServer().getPluginManager(); + ess = (IEssentials)pluginManager.getPlugin("Essentials"); + if (!this.getDescription().getVersion().equals(ess.getDescription().getVersion())) + { + LOGGER.log(Level.WARNING, _("versionMismatchAll")); + } + if (!ess.isEnabled()) + { + this.setEnabled(false); + return; + } + + final SignBlockListener signBlockListener = new SignBlockListener(ess); + pluginManager.registerEvent(Event.Type.SIGN_CHANGE, signBlockListener, Event.Priority.Highest, this); + pluginManager.registerEvent(Event.Type.BLOCK_PLACE, signBlockListener, Event.Priority.Low, this); + pluginManager.registerEvent(Event.Type.BLOCK_BREAK, signBlockListener, Event.Priority.Highest, this); + pluginManager.registerEvent(Event.Type.BLOCK_IGNITE, signBlockListener, Event.Priority.Low, this); + pluginManager.registerEvent(Event.Type.BLOCK_BURN, signBlockListener, Event.Priority.Low, this); + pluginManager.registerEvent(Event.Type.BLOCK_PISTON_EXTEND, signBlockListener, Event.Priority.Low, this); + pluginManager.registerEvent(Event.Type.BLOCK_PISTON_RETRACT, signBlockListener, Event.Priority.Low, this); + + final SignPlayerListener signPlayerListener = new SignPlayerListener(ess); + pluginManager.registerEvent(Event.Type.PLAYER_INTERACT, signPlayerListener, Event.Priority.Low, this); + + final SignEntityListener signEntityListener = new SignEntityListener(ess); + pluginManager.registerEvent(Event.Type.ENTITY_EXPLODE, signEntityListener, Event.Priority.Low, this); + pluginManager.registerEvent(Event.Type.ENDERMAN_PICKUP, signEntityListener, Event.Priority.Low, this); + + + LOGGER.info(_("loadinfo", this.getDescription().getName(), this.getDescription().getVersion(), "essentials team")); + } + + public void onDisable() + { + } +} diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignBalance.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignBalance.java new file mode 100644 index 000000000..2ef64003a --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignBalance.java @@ -0,0 +1,21 @@ +package com.earth2me.essentials.signs; + +import static com.earth2me.essentials.I18n._; +import com.earth2me.essentials.api.IEssentials; +import com.earth2me.essentials.api.IUser; + + +public class SignBalance extends EssentialsSign +{ + public SignBalance() + { + super("Balance"); + } + + @Override + protected boolean onSignInteract(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException + { + player.sendMessage(_("balance", player.getMoney())); + return true; + } +} diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignBlockListener.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignBlockListener.java new file mode 100644 index 000000000..7cc461782 --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignBlockListener.java @@ -0,0 +1,252 @@ +package com.earth2me.essentials.signs; + +import com.earth2me.essentials.api.IEssentials; +import com.earth2me.essentials.api.IUser; +import java.util.logging.Level; +import java.util.logging.Logger; +import org.bukkit.Material; +import org.bukkit.block.Block; +import org.bukkit.block.Sign; +import org.bukkit.entity.Player; +import org.bukkit.event.block.*; + + +public class SignBlockListener extends BlockListener +{ + private final transient IEssentials ess; + private final static Logger LOGGER = Logger.getLogger("Minecraft"); + + public SignBlockListener(final IEssentials ess) + { + this.ess = ess; + } + + @Override + public void onBlockBreak(final BlockBreakEvent event) + { + if (event.isCancelled()) + { + return; + } + + if (protectSignsAndBlocks(event.getBlock(), event.getPlayer())) + { + event.setCancelled(true); + } + } + + public boolean protectSignsAndBlocks(final Block block, final Player player) + { + final int mat = block.getTypeId(); + if (mat == Material.SIGN_POST.getId() || mat == Material.WALL_SIGN.getId()) + { + final Sign csign = (Sign)block.getState(); + for (Signs signs : Signs.values()) + { + final EssentialsSign sign = signs.getSign(); + if (csign.getLine(0).equalsIgnoreCase(sign.getSuccessName()) + && !sign.onSignBreak(block, player, ess)) + { + return true; + } + } + } + else + { + // prevent any signs be broken by destroying the block they are attached to + if (EssentialsSign.checkIfBlockBreaksSigns(block)) + { + LOGGER.log(Level.INFO, "Prevented that a block was broken next to a sign."); + return true; + } + for (Signs signs : Signs.values()) + { + final EssentialsSign sign = signs.getSign(); + if (sign.getBlocks().contains(block.getType()) + && !sign.onBlockBreak(block, player, ess)) + { + LOGGER.log(Level.INFO, "A block was protected by a sign."); + return true; + } + } + } + return false; + } + + @Override + public void onSignChange(final SignChangeEvent event) + { + if (event.isCancelled()) + { + return; + } + IUser user = ess.getUser(event.getPlayer()); + if (user.isAuthorized("essentials.signs.color")) + { + for (int i = 0; i < 4; i++) + { + event.setLine(i, event.getLine(i).replaceAll("&([0-9a-f])", "§$1")); + } + } + for (Signs signs : Signs.values()) + { + final EssentialsSign sign = signs.getSign(); + if (event.getLine(0).equalsIgnoreCase(sign.getSuccessName())) + { + event.setCancelled(true); + return; + } + if (event.getLine(0).equalsIgnoreCase(sign.getTemplateName()) + && !sign.onSignCreate(event, ess)) + { + event.setCancelled(true); + return; + } + } + } + + @Override + public void onBlockPlace(final BlockPlaceEvent event) + { + if (event.isCancelled()) + { + return; + } + + final Block against = event.getBlockAgainst(); + if ((against.getType() == Material.WALL_SIGN + || against.getType() == Material.SIGN_POST) + && EssentialsSign.isValidSign(new EssentialsSign.BlockSign(against))) + { + event.setCancelled(true); + return; + } + final Block block = event.getBlock(); + if (block.getType() == Material.WALL_SIGN + || block.getType() == Material.SIGN_POST) + { + return; + } + for (Signs signs : Signs.values()) + { + final EssentialsSign sign = signs.getSign(); + if (sign.getBlocks().contains(block.getType()) + && !sign.onBlockPlace(block, event.getPlayer(), ess)) + { + event.setCancelled(true); + return; + } + } + } + + @Override + public void onBlockBurn(final BlockBurnEvent event) + { + if (event.isCancelled()) + { + return; + } + + final Block block = event.getBlock(); + if (((block.getType() == Material.WALL_SIGN + || block.getType() == Material.SIGN_POST) + && EssentialsSign.isValidSign(new EssentialsSign.BlockSign(block))) + || EssentialsSign.checkIfBlockBreaksSigns(block)) + { + event.setCancelled(true); + return; + } + for (Signs signs : Signs.values()) + { + final EssentialsSign sign = signs.getSign(); + if (sign.getBlocks().contains(block.getType()) + && !sign.onBlockBurn(block, ess)) + { + event.setCancelled(true); + return; + } + } + } + + @Override + public void onBlockIgnite(final BlockIgniteEvent event) + { + if (event.isCancelled()) + { + return; + } + + final Block block = event.getBlock(); + if (((block.getType() == Material.WALL_SIGN + || block.getType() == Material.SIGN_POST) + && EssentialsSign.isValidSign(new EssentialsSign.BlockSign(block))) + || EssentialsSign.checkIfBlockBreaksSigns(block)) + { + event.setCancelled(true); + return; + } + for (Signs signs : Signs.values()) + { + final EssentialsSign sign = signs.getSign(); + if (sign.getBlocks().contains(block.getType()) + && !sign.onBlockIgnite(block, ess)) + { + event.setCancelled(true); + return; + } + } + } + + @Override + public void onBlockPistonExtend(final BlockPistonExtendEvent event) + { + for (Block block : event.getBlocks()) + { + if (((block.getType() == Material.WALL_SIGN + || block.getType() == Material.SIGN_POST) + && EssentialsSign.isValidSign(new EssentialsSign.BlockSign(block))) + || EssentialsSign.checkIfBlockBreaksSigns(block)) + { + event.setCancelled(true); + return; + } + for (Signs signs : Signs.values()) + { + final EssentialsSign sign = signs.getSign(); + if (sign.getBlocks().contains(block.getType()) + && !sign.onBlockPush(block, ess)) + { + event.setCancelled(true); + return; + } + } + } + } + + @Override + public void onBlockPistonRetract(final BlockPistonRetractEvent event) + { + if (event.isSticky()) + { + final Block block = event.getBlock(); + if (((block.getType() == Material.WALL_SIGN + || block.getType() == Material.SIGN_POST) + && EssentialsSign.isValidSign(new EssentialsSign.BlockSign(block))) + || EssentialsSign.checkIfBlockBreaksSigns(block)) + { + event.setCancelled(true); + return; + } + for (Signs signs : Signs.values()) + { + final EssentialsSign sign = signs.getSign(); + if (sign.getBlocks().contains(block.getType()) + && !sign.onBlockPush(block, ess)) + { + event.setCancelled(true); + return; + } + } + } + } +} diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java new file mode 100644 index 000000000..fd84bd0f3 --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java @@ -0,0 +1,38 @@ +package com.earth2me.essentials.signs; + +import com.earth2me.essentials.ChargeException; +import com.earth2me.essentials.api.IEssentials; +import com.earth2me.essentials.Trade; +import com.earth2me.essentials.api.IUser; + + +public class SignBuy extends EssentialsSign +{ + public SignBuy() + { + super("Buy"); + } + + @Override + protected boolean onSignCreate(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException + { + validateTrade(sign, 1, 2, player, ess); + validateTrade(sign, 3, ess); + return true; + } + + @Override + protected boolean onSignInteract(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException, ChargeException + { + final Trade items = getTrade(sign, 1, 2, player, ess); + final Trade charge = getTrade(sign, 3, ess); + charge.isAffordableFor(player); + if (!items.pay(player, false)) + { + throw new ChargeException("Inventory full"); + } + charge.charge(player); + Trade.log("Sign", "Buy", "Interact", username, charge, username, items, sign.getBlock().getLocation(), ess); + return true; + } +} diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignDisposal.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignDisposal.java new file mode 100644 index 000000000..a6c64ca0b --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignDisposal.java @@ -0,0 +1,21 @@ +package com.earth2me.essentials.signs; + +import com.earth2me.essentials.api.IEssentials; +import com.earth2me.essentials.api.IUser; +import com.earth2me.essentials.craftbukkit.ShowInventory; + + +public class SignDisposal extends EssentialsSign +{ + public SignDisposal() + { + super("Disposal"); + } + + @Override + protected boolean onSignInteract(final ISign sign, final IUser player, final String username, final IEssentials ess) + { + ShowInventory.showEmptyInventory(player.getBase()); + return true; + } +} diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java new file mode 100644 index 000000000..9d640c735 --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java @@ -0,0 +1,121 @@ +package com.earth2me.essentials.signs; + +import com.earth2me.essentials.ChargeException; +import com.earth2me.essentials.Enchantments; +import com.earth2me.essentials.api.IEssentials; +import com.earth2me.essentials.api.IUser; +import static com.earth2me.essentials.I18n._; +import com.earth2me.essentials.Trade; +import com.earth2me.essentials.craftbukkit.InventoryWorkaround; +import java.util.Locale; +import org.bukkit.Material; +import org.bukkit.enchantments.Enchantment; +import org.bukkit.inventory.ItemStack; + + +public class SignEnchant extends EssentialsSign +{ + public SignEnchant() + { + super("Enchant"); + } + + @Override + protected boolean onSignCreate(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException, ChargeException + { + final ItemStack stack = sign.getLine(1).equals("*") || sign.getLine(1).equalsIgnoreCase("any") ? null : getItemStack(sign.getLine(1), 1, ess); + final String[] enchantLevel = sign.getLine(2).split(":"); + if (enchantLevel.length != 2) + { + throw new SignException(_("invalidSignLine", 3)); + } + final Enchantment enchantment = Enchantments.getByName(enchantLevel[0]); + if (enchantment == null) + { + throw new SignException(_("enchantmentNotFound")); + } + int level; + try + { + level = Integer.parseInt(enchantLevel[1]); + } + catch (NumberFormatException ex) + { + throw new SignException(ex.getMessage()); + } + if (level < 1 || level > enchantment.getMaxLevel()) + { + level = enchantment.getMaxLevel(); + sign.setLine(2, enchantLevel[0] + ":" + level); + } + try + { + if (stack != null) + { + stack.addEnchantment(enchantment, level); + } + } + catch (Throwable ex) + { + throw new SignException(ex.getMessage()); + } + getTrade(sign, 3, ess); + return true; + } + + @Override + protected boolean onSignInteract(ISign sign, IUser player, String username, IEssentials ess) throws SignException, ChargeException + { + final ItemStack search = sign.getLine(1).equals("*") || sign.getLine(1).equalsIgnoreCase("any") ? null : getItemStack(sign.getLine(1), 1, ess); + int slot = -1; + final Trade charge = getTrade(sign, 3, ess); + charge.isAffordableFor(player); + final String[] enchantLevel = sign.getLine(2).split(":"); + if (enchantLevel.length != 2) + { + throw new SignException(_("invalidSignLine", 3)); + } + final Enchantment enchantment = Enchantments.getByName(enchantLevel[0]); + if (enchantment == null) + { + throw new SignException(_("enchantmentNotFound")); + } + int level; + try + { + level = Integer.parseInt(enchantLevel[1]); + } + catch (NumberFormatException ex) + { + level = enchantment.getMaxLevel(); + } + + final ItemStack playerHand = player.getItemInHand(); + if (playerHand == null + || playerHand.getAmount() != 1 + || (playerHand.containsEnchantment(enchantment) + && playerHand.getEnchantmentLevel(enchantment) == level)) + { + throw new SignException(_("missingItems", 1, sign.getLine(1))); + } + if (search != null && playerHand.getType() != search.getType()) + { + throw new SignException(_("missingItems", 1, search.getType().toString().toLowerCase(Locale.ENGLISH).replace('_', ' '))); + } + + final ItemStack toEnchant = playerHand; + try + { + toEnchant.addEnchantment(enchantment, level); + } + catch (Exception ex) + { + throw new SignException(ex.getMessage(), ex); + } + + charge.charge(player); + Trade.log("Sign", "Enchant", "Interact", username, charge, username, charge, sign.getBlock().getLocation(), ess); + player.updateInventory(); + return true; + } +} diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignEntityListener.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignEntityListener.java new file mode 100644 index 000000000..12a2fc2f8 --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignEntityListener.java @@ -0,0 +1,73 @@ +package com.earth2me.essentials.signs; + +import com.earth2me.essentials.api.IEssentials; +import org.bukkit.Material; +import org.bukkit.block.Block; +import org.bukkit.event.entity.EndermanPickupEvent; +import org.bukkit.event.entity.EntityExplodeEvent; +import org.bukkit.event.entity.EntityListener; + + +public class SignEntityListener extends EntityListener +{ + private final transient IEssentials ess; + + public SignEntityListener(final IEssentials ess) + { + this.ess = ess; + } + + @Override + public void onEntityExplode(final EntityExplodeEvent event) + { + for (Block block : event.blockList()) + { + if (((block.getType() == Material.WALL_SIGN + || block.getType() == Material.SIGN_POST) + && EssentialsSign.isValidSign(new EssentialsSign.BlockSign(block))) + || EssentialsSign.checkIfBlockBreaksSigns(block)) + { + event.setCancelled(true); + return; + } + for (Signs signs : Signs.values()) + { + final EssentialsSign sign = signs.getSign(); + if (sign.getBlocks().contains(block.getType())) + { + event.setCancelled(!sign.onBlockExplode(block, ess)); + return; + } + } + } + } + + @Override + public void onEndermanPickup(EndermanPickupEvent event) + { + if (event.isCancelled()) + { + return; + } + + final Block block = event.getBlock(); + if (((block.getType() == Material.WALL_SIGN + || block.getType() == Material.SIGN_POST) + && EssentialsSign.isValidSign(new EssentialsSign.BlockSign(block))) + || EssentialsSign.checkIfBlockBreaksSigns(block)) + { + event.setCancelled(true); + return; + } + for (Signs signs : Signs.values()) + { + final EssentialsSign sign = signs.getSign(); + if (sign.getBlocks().contains(block.getType()) + && !sign.onBlockBreak(block, ess)) + { + event.setCancelled(true); + return; + } + } + } +} diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignException.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignException.java new file mode 100644 index 000000000..9c9ab44a2 --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignException.java @@ -0,0 +1,15 @@ +package com.earth2me.essentials.signs; + + +public class SignException extends Exception +{ + public SignException(final String message) + { + super(message); + } + + public SignException(final String message, final Throwable throwable) + { + super(message, throwable); + } +} diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignFree.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignFree.java new file mode 100644 index 000000000..0dad2b100 --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignFree.java @@ -0,0 +1,40 @@ +package com.earth2me.essentials.signs; + +import static com.earth2me.essentials.I18n._; +import com.earth2me.essentials.api.IEssentials; +import com.earth2me.essentials.Trade; +import com.earth2me.essentials.api.IUser; +import com.earth2me.essentials.craftbukkit.ShowInventory; +import org.bukkit.Material; +import org.bukkit.inventory.ItemStack; + + +public class SignFree extends EssentialsSign +{ + public SignFree() + { + super("Free"); + } + + @Override + protected boolean onSignCreate(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException + { + getItemStack(sign.getLine(1), 1, ess); + return true; + } + + @Override + protected boolean onSignInteract(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException + { + final ItemStack item = getItemStack(sign.getLine(1), 1, ess); + if (item.getType() == Material.AIR) + { + throw new SignException(_("cantSpawnItem", "Air")); + } + + item.setAmount(item.getType().getMaxStackSize() * 9 * 4); + ShowInventory.showFilledInventory(player.getBase(), item); + Trade.log("Sign", "Free", "Interact", username, null, username, new Trade(item, ess), sign.getBlock().getLocation(), ess); + return true; + } +} diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignGameMode.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignGameMode.java new file mode 100644 index 000000000..05fb7c17f --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignGameMode.java @@ -0,0 +1,37 @@ +package com.earth2me.essentials.signs; + +import com.earth2me.essentials.ChargeException; +import static com.earth2me.essentials.I18n._; +import com.earth2me.essentials.api.IEssentials; +import com.earth2me.essentials.Trade; +import com.earth2me.essentials.api.IUser; +import java.util.Locale; +import org.bukkit.GameMode; + + +public class SignGameMode extends EssentialsSign +{ + public SignGameMode() + { + super("GameMode"); + } + + @Override + protected boolean onSignCreate(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException + { + validateTrade(sign, 1, ess); + return true; + } + + @Override + protected boolean onSignInteract(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException, ChargeException + { + final Trade charge = getTrade(sign, 1, ess); + charge.isAffordableFor(player); + + player.setGameMode(player.getGameMode() == GameMode.SURVIVAL ? GameMode.CREATIVE : GameMode.SURVIVAL); + player.sendMessage(_("gameMode", _(player.getGameMode().toString().toLowerCase(Locale.ENGLISH)), player.getDisplayName())); + charge.charge(player); + return true; + } +} diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignHeal.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignHeal.java new file mode 100644 index 000000000..3f412f5b4 --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignHeal.java @@ -0,0 +1,36 @@ +package com.earth2me.essentials.signs; + +import com.earth2me.essentials.ChargeException; +import static com.earth2me.essentials.I18n._; +import com.earth2me.essentials.api.IEssentials; +import com.earth2me.essentials.Trade; +import com.earth2me.essentials.api.IUser; + + +public class SignHeal extends EssentialsSign +{ + public SignHeal() + { + super("Heal"); + } + + @Override + protected boolean onSignCreate(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException + { + validateTrade(sign, 1, ess); + return true; + } + + @Override + protected boolean onSignInteract(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException, ChargeException + { + final Trade charge = getTrade(sign, 1, ess); + charge.isAffordableFor(player); + player.setHealth(20); + player.setFoodLevel(20); + player.setFireTicks(0); + player.sendMessage(_("youAreHealed")); + charge.charge(player); + return true; + } +} diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java new file mode 100644 index 000000000..16f314d5f --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java @@ -0,0 +1,75 @@ +package com.earth2me.essentials.signs; + +import com.earth2me.essentials.*; +import com.earth2me.essentials.api.IEssentials; +import com.earth2me.essentials.api.IUser; +import java.util.List; +import java.util.Locale; +import java.util.Map; + + +public class SignKit extends EssentialsSign +{ + public SignKit() + { + super("Kit"); + } + + @Override + protected boolean onSignCreate(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException + { + validateTrade(sign, 3, ess); + + final String kitName = sign.getLine(1).toLowerCase(Locale.ENGLISH); + + if (kitName.isEmpty()) + { + sign.setLine(1, "§dKit name!"); + return false; + } + else + { + try + { + ess.getSettings().getKit(kitName); + } + catch (Exception ex) + { + throw new SignException(ex.getMessage(), ex); + } + final String group = sign.getLine(2); + if ("Everyone".equalsIgnoreCase(group) || "Everybody".equalsIgnoreCase(group)) + { + sign.setLine(2, "§2Everyone"); + } + return true; + } + } + + @Override + protected boolean onSignInteract(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException, ChargeException + { + final String kitName = sign.getLine(1).toLowerCase(Locale.ENGLISH); + final String group = sign.getLine(2); + if ((!group.isEmpty() && ("§2Everyone".equals(group) || player.inGroup(group))) + || (group.isEmpty() && (player.isAuthorized("essentials.kit." + kitName)))) + { + final Trade charge = getTrade(sign, 3, ess); + charge.isAffordableFor(player); + try + { + final Object kit = ess.getSettings().getKit(kitName); + final Map els = (Map)kit; + final List items = Kit.getItems(player, els); + Kit.expandItems(ess, player, items); + charge.charge(player); + } + catch (Exception ex) + { + throw new SignException(ex.getMessage(), ex); + } + return true; + } + return false; + } +} diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignMail.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignMail.java new file mode 100644 index 000000000..7845c86a6 --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignMail.java @@ -0,0 +1,41 @@ +package com.earth2me.essentials.signs; + +import static com.earth2me.essentials.I18n._; +import com.earth2me.essentials.api.IEssentials; +import com.earth2me.essentials.api.IUser; +import java.util.List; + + +public class SignMail extends EssentialsSign +{ + public SignMail() + { + super("Mail"); + } + + @Override + protected boolean onSignInteract(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException + { + final List mail; + player.acquireReadLock(); + try + { + mail = player.getData().getMails(); + } + finally + { + player.unlock(); + } + if (mail == null || mail.isEmpty()) + { + player.sendMessage(_("noNewMail")); + return false; + } + for (String s : mail) + { + player.sendMessage(s); + } + player.sendMessage(_("markMailAsRead")); + return true; + } +} diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignPlayerListener.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignPlayerListener.java new file mode 100644 index 000000000..9f1a22896 --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignPlayerListener.java @@ -0,0 +1,68 @@ +package com.earth2me.essentials.signs; + +import com.earth2me.essentials.api.IEssentials; +import org.bukkit.Material; +import org.bukkit.block.Block; +import org.bukkit.block.Sign; +import org.bukkit.event.block.Action; +import org.bukkit.event.player.PlayerInteractEvent; +import org.bukkit.event.player.PlayerListener; + + +public class SignPlayerListener extends PlayerListener +{ + private final transient IEssentials ess; + + public SignPlayerListener(IEssentials ess) + { + this.ess = ess; + } + + @Override + public void onPlayerInteract(PlayerInteractEvent event) + { + if (event.isCancelled()) + { + return; + } + + final Block block = event.getClickedBlock(); + if (block == null) + { + return; + } + final int mat = block.getTypeId(); + if (mat == Material.SIGN_POST.getId() || mat == Material.WALL_SIGN.getId()) + { + if (event.getAction() != Action.RIGHT_CLICK_BLOCK) + { + return; + } + final Sign csign = (Sign)block.getState(); + for (Signs signs : Signs.values()) + { + final EssentialsSign sign = signs.getSign(); + if (csign.getLine(0).equalsIgnoreCase(sign.getSuccessName())) + { + sign.onSignInteract(block, event.getPlayer(), ess); + event.setCancelled(true); + return; + } + } + } + else + { + for (Signs signs : Signs.values()) + { + final EssentialsSign sign = signs.getSign(); + if (sign.getBlocks().contains(block.getType()) + && !sign.onBlockInteract(block, event.getPlayer(), ess)) + { + event.setCancelled(true); + return; + + } + } + } + } +} diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java new file mode 100644 index 000000000..1ec05ec2d --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java @@ -0,0 +1,350 @@ +package com.earth2me.essentials.signs; + +import com.earth2me.essentials.ChargeException; +import static com.earth2me.essentials.I18n._; +import com.earth2me.essentials.api.IEssentials; +import com.earth2me.essentials.Trade; +import com.earth2me.essentials.api.IUser; +import com.earth2me.essentials.Util; +import java.util.*; +import org.bukkit.Location; +import org.bukkit.Material; +import org.bukkit.block.Block; +import org.bukkit.block.BlockFace; +import org.bukkit.block.Sign; +import org.bukkit.inventory.ItemStack; + + +public class SignProtection extends EssentialsSign +{ + private final transient Set protectedBlocks = EnumSet.noneOf(Material.class); + + public SignProtection() + { + super("Protection"); + protectedBlocks.add(Material.CHEST); + protectedBlocks.add(Material.BURNING_FURNACE); + protectedBlocks.add(Material.FURNACE); + protectedBlocks.add(Material.DISPENSER); + } + + @Override + protected boolean onSignCreate(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException, ChargeException + { + sign.setLine(3, "§4" + username); + if (hasAdjacentBlock(sign.getBlock())) + { + final SignProtectionState state = isBlockProtected(sign.getBlock(), player, username, true); + if (state == SignProtectionState.NOSIGN || state == SignProtectionState.OWNER + || player.isAuthorized("essentials.signs.protection.override")) + { + sign.setLine(3, "§1" + username); + return true; + } + } + player.sendMessage(_("signProtectInvalidLocation")); + return false; + } + + @Override + protected boolean onSignBreak(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException + { + final SignProtectionState state = checkProtectionSign(sign, player, username); + return state == SignProtectionState.OWNER; + } + + public boolean hasAdjacentBlock(final Block block, final Block... ignoredBlocks) + { + final Block[] faces = getAdjacentBlocks(block); + for (Block b : faces) + { + for (Block ignoredBlock : ignoredBlocks) + { + if (b.getLocation().equals(ignoredBlock.getLocation())) + { + continue; + } + } + if (protectedBlocks.contains(b.getType())) + { + return true; + } + } + return false; + } + + private void checkIfSignsAreBroken(final Block block, final IUser player, final String username, final IEssentials ess) + { + final Map signs = getConnectedSigns(block, player, username, false); + for (Map.Entry entry : signs.entrySet()) + { + if (entry.getValue() != SignProtectionState.NOSIGN) + { + final Block sign = entry.getKey().getBlock(); + if (!hasAdjacentBlock(sign, block)) + { + block.setType(Material.AIR); + final Trade trade = new Trade(new ItemStack(Material.SIGN, 1), ess); + trade.pay(player); + } + } + } + } + + private Map getConnectedSigns(final Block block, final IUser user, final String username, boolean secure) + { + final Map signs = new HashMap(); + getConnectedSigns(block, signs, user, username, secure ? 4 : 2); + return signs; + } + + private void getConnectedSigns(final Block block, final Map signs, final IUser user, final String username, final int depth) + { + final Block[] faces = getAdjacentBlocks(block); + for (Block b : faces) + { + final Location loc = b.getLocation(); + if (signs.containsKey(loc)) + { + continue; + } + final SignProtectionState check = checkProtectionSign(b, user, username); + signs.put(loc, check); + + if (protectedBlocks.contains(b.getType()) && depth > 0) + { + getConnectedSigns(b, signs, user, username, depth - 1); + } + } + } + + + public enum SignProtectionState + { + NOT_ALLOWED, ALLOWED, NOSIGN, OWNER + } + + private SignProtectionState checkProtectionSign(final Block block, final IUser user, final String username) + { + if (block.getType() == Material.SIGN_POST || block.getType() == Material.WALL_SIGN) + { + final BlockSign sign = new BlockSign(block); + if (sign.getLine(0).equalsIgnoreCase(this.getSuccessName())) + { + return checkProtectionSign(sign, user, username); + } + } + return SignProtectionState.NOSIGN; + } + + private SignProtectionState checkProtectionSign(final ISign sign, final IUser user, final String username) + { + if (user == null || username == null) + { + return SignProtectionState.NOT_ALLOWED; + } + if (user.isAuthorized("essentials.signs.protection.override")) + { + return SignProtectionState.OWNER; + } + if (Util.stripColor(sign.getLine(3)).equalsIgnoreCase(username)) + { + return SignProtectionState.OWNER; + } + for (int i = 1; i <= 2; i++) + { + final String line = sign.getLine(i); + if (line.startsWith("(") && line.endsWith(")") && user.inGroup(line.substring(1, line.length() - 1))) + { + return SignProtectionState.ALLOWED; + } + else if (line.equalsIgnoreCase(username)) + { + return SignProtectionState.ALLOWED; + } + } + return SignProtectionState.NOT_ALLOWED; + } + + private Block[] getAdjacentBlocks(final Block block) + { + return new Block[] + { + block.getRelative(BlockFace.NORTH), + block.getRelative(BlockFace.SOUTH), + block.getRelative(BlockFace.EAST), + block.getRelative(BlockFace.WEST), + block.getRelative(BlockFace.DOWN), + block.getRelative(BlockFace.UP) + }; + } + + public SignProtectionState isBlockProtected(final Block block, final IUser user, final String username, boolean secure) + { + final Map signs = getConnectedSigns(block, user, username, secure); + SignProtectionState retstate = SignProtectionState.NOSIGN; + for (SignProtectionState state : signs.values()) + { + if (state == SignProtectionState.ALLOWED) + { + retstate = state; + } + else if (state == SignProtectionState.NOT_ALLOWED && retstate != SignProtectionState.ALLOWED) + { + retstate = state; + } + } + if (!secure || retstate == SignProtectionState.NOSIGN) + { + for (SignProtectionState state : signs.values()) + { + if (state == SignProtectionState.OWNER) + { + return state; + } + } + } + return retstate; + } + + public boolean isBlockProtected(final Block block) + { + final Block[] faces = getAdjacentBlocks(block); + for (Block b : faces) + { + if (b.getType() == Material.SIGN_POST || b.getType() == Material.WALL_SIGN) + { + final Sign sign = (Sign)b.getState(); + if (sign.getLine(0).equalsIgnoreCase("§1[Protection]")) + { + return true; + } + } + if (protectedBlocks.contains(b.getType())) + { + final Block[] faceChest = getAdjacentBlocks(b); + + for (Block a : faceChest) + { + if (a.getType() == Material.SIGN_POST || a.getType() == Material.WALL_SIGN) + { + final Sign sign = (Sign)a.getState(); + if (sign.getLine(0).equalsIgnoreCase("§1[Protection]")) + { + return true; + } + } + } + } + } + return false; + } + + @Override + public Set getBlocks() + { + return protectedBlocks; + } + + @Override + protected boolean onBlockPlace(final Block block, final IUser player, final String username, final IEssentials ess) throws SignException + { + for (Block adjBlock : getAdjacentBlocks(block)) + { + final SignProtectionState state = isBlockProtected(adjBlock, player, username, true); + + if ((state == SignProtectionState.ALLOWED || state == SignProtectionState.NOT_ALLOWED) + && !player.isAuthorized("essentials.signs.protection.override")) + { + player.sendMessage(_("noPlacePermission", block.getType().toString().toLowerCase(Locale.ENGLISH))); + return false; + } + } + return true; + + } + + @Override + protected boolean onBlockInteract(final Block block, final IUser player, final String username, final IEssentials ess) throws SignException + { + final SignProtectionState state = isBlockProtected(block, player, username, false); + + if (state == SignProtectionState.OWNER || state == SignProtectionState.NOSIGN || state == SignProtectionState.ALLOWED) + { + return true; + } + + if (state == SignProtectionState.NOT_ALLOWED + && player.isAuthorized("essentials.signs.protection.override")) + { + return true; + } + + + player.sendMessage(_("noAccessPermission", block.getType().toString().toLowerCase(Locale.ENGLISH))); + return false; + } + + @Override + protected boolean onBlockBreak(final Block block, final IUser player, final String username, final IEssentials ess) throws SignException + { + final SignProtectionState state = isBlockProtected(block, player, username, false); + + if (state == SignProtectionState.OWNER || state == SignProtectionState.NOSIGN) + { + checkIfSignsAreBroken(block, player, username, ess); + return true; + } + + if ((state == SignProtectionState.ALLOWED || state == SignProtectionState.NOT_ALLOWED) + && player.isAuthorized("essentials.signs.protection.override")) + { + checkIfSignsAreBroken(block, player, username, ess); + return true; + } + + + player.sendMessage(_("noDestroyPermission", block.getType().toString().toLowerCase(Locale.ENGLISH))); + return false; + } + + @Override + public boolean onBlockBreak(final Block block, final IEssentials ess) + { + final SignProtectionState state = isBlockProtected(block, null, null, false); + + return state == SignProtectionState.NOSIGN; + } + + @Override + public boolean onBlockExplode(final Block block, final IEssentials ess) + { + final SignProtectionState state = isBlockProtected(block, null, null, false); + + return state == SignProtectionState.NOSIGN; + } + + @Override + public boolean onBlockBurn(final Block block, final IEssentials ess) + { + final SignProtectionState state = isBlockProtected(block, null, null, false); + + return state == SignProtectionState.NOSIGN; + } + + @Override + public boolean onBlockIgnite(final Block block, final IEssentials ess) + { + final SignProtectionState state = isBlockProtected(block, null, null, false); + + return state == SignProtectionState.NOSIGN; + } + + @Override + public boolean onBlockPush(final Block block, final IEssentials ess) + { + final SignProtectionState state = isBlockProtected(block, null, null, false); + + return state == SignProtectionState.NOSIGN; + } +} diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignSell.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignSell.java new file mode 100644 index 000000000..7a5f4969b --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignSell.java @@ -0,0 +1,35 @@ +package com.earth2me.essentials.signs; + +import com.earth2me.essentials.ChargeException; +import com.earth2me.essentials.api.IEssentials; +import com.earth2me.essentials.Trade; +import com.earth2me.essentials.api.IUser; + + +public class SignSell extends EssentialsSign +{ + public SignSell() + { + super("Sell"); + } + + @Override + protected boolean onSignCreate(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException + { + validateTrade(sign, 1, 2, player, ess); + validateTrade(sign, 3, ess); + return true; + } + + @Override + protected boolean onSignInteract(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException, ChargeException + { + final Trade charge = getTrade(sign, 1, 2, player, ess); + final Trade money = getTrade(sign, 3, ess); + charge.isAffordableFor(player); + money.pay(player); + charge.charge(player); + Trade.log("Sign", "Sell", "Interact", username, charge, username, money, sign.getBlock().getLocation(), ess); + return true; + } +} diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignSpawnmob.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignSpawnmob.java new file mode 100644 index 000000000..f21d937b3 --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignSpawnmob.java @@ -0,0 +1,47 @@ +package com.earth2me.essentials.signs; + +import com.earth2me.essentials.ChargeException; +import com.earth2me.essentials.api.IEssentials; +import com.earth2me.essentials.Trade; +import com.earth2me.essentials.api.IUser; +import com.earth2me.essentials.commands.Commandspawnmob; + + +public class SignSpawnmob extends EssentialsSign +{ + public SignSpawnmob() + { + super("Spawnmob"); + } + + @Override + protected boolean onSignCreate(ISign sign, IUser player, String username, IEssentials ess) throws SignException, ChargeException + { + validateInteger(sign, 1); + validateTrade(sign, 3, ess); + return true; + } + + @Override + protected boolean onSignInteract(ISign sign, IUser player, String username, IEssentials ess) throws SignException, ChargeException + { + final Trade charge = getTrade(sign, 3, ess); + charge.isAffordableFor(player); + Commandspawnmob command = new Commandspawnmob(); + command.setEssentials(ess); + String[] args = new String[] + { + sign.getLine(2), sign.getLine(1) + }; + try + { + command.run(ess.getServer(), player, "spawnmob", args); + } + catch (Exception ex) + { + throw new SignException(ex.getMessage(), ex); + } + charge.charge(player); + return true; + } +} diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignTime.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTime.java new file mode 100644 index 000000000..2d1ab2a87 --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTime.java @@ -0,0 +1,57 @@ +package com.earth2me.essentials.signs; + +import com.earth2me.essentials.ChargeException; +import static com.earth2me.essentials.I18n._; +import com.earth2me.essentials.api.IEssentials; +import com.earth2me.essentials.Trade; +import com.earth2me.essentials.api.IUser; + + +public class SignTime extends EssentialsSign +{ + public SignTime() + { + super("Time"); + } + + @Override + protected boolean onSignCreate(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException + { + validateTrade(sign, 2, ess); + final String timeString = sign.getLine(1); + if ("Day".equalsIgnoreCase(timeString)) + { + sign.setLine(1, "§2Day"); + return true; + } + if ("Night".equalsIgnoreCase(timeString)) + { + sign.setLine(1, "§2Night"); + return true; + } + throw new SignException(_("onlyDayNight")); + } + + @Override + protected boolean onSignInteract(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException, ChargeException + { + final Trade charge = getTrade(sign, 2, ess); + charge.isAffordableFor(player); + final String timeString = sign.getLine(1); + long time = player.getWorld().getTime(); + time -= time % 24000; + if ("§2Day".equalsIgnoreCase(timeString)) + { + player.getWorld().setTime(time + 24000); + charge.charge(player); + return true; + } + if ("§2Night".equalsIgnoreCase(timeString)) + { + player.getWorld().setTime(time + 37700); + charge.charge(player); + return true; + } + throw new SignException(_("onlyDayNight")); + } +} diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java new file mode 100644 index 000000000..04db5511c --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java @@ -0,0 +1,356 @@ +package com.earth2me.essentials.signs; + +import static com.earth2me.essentials.I18n._; +import com.earth2me.essentials.*; +import com.earth2me.essentials.api.IEssentials; +import com.earth2me.essentials.api.IUser; +import org.bukkit.inventory.ItemStack; + +//TODO: Sell Enchantment on Trade signs? +public class SignTrade extends EssentialsSign +{ + + public SignTrade() + { + super("Trade"); + } + + @Override + protected boolean onSignCreate(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException, ChargeException + { + validateTrade(sign, 1, false, ess); + validateTrade(sign, 2, true, ess); + final Trade charge = getTrade(sign, 2, true, true, ess); + charge.isAffordableFor(player); + sign.setLine(3, "§8" + username); + charge.charge(player); + Trade.log("Sign", "Trade", "Create", username, charge, username, null, sign.getBlock().getLocation(), ess); + return true; + } + + @Override + protected boolean onSignInteract(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException, ChargeException + { + if (sign.getLine(3).substring(2).equalsIgnoreCase(username)) + { + final Trade store = rechargeSign(sign, ess, player); + Trade stored = null; + try + { + stored = getTrade(sign, 1, true, true, ess); + substractAmount(sign, 1, stored, ess); + stored.pay(player); + } + catch (SignException e) + { + if (store == null) + { + throw new SignException(_("tradeSignEmptyOwner"), e); + } + } + Trade.log("Sign", "Trade", "OwnerInteract", username, store, username, stored, sign.getBlock().getLocation(), ess); + } + else + { + final Trade charge = getTrade(sign, 1, false, false, ess); + final Trade trade = getTrade(sign, 2, false, true, ess); + charge.isAffordableFor(player); + if (!trade.pay(player, false)) + { + throw new ChargeException("Full inventory"); + } + substractAmount(sign, 2, trade, ess); + addAmount(sign, 1, charge, ess); + charge.charge(player); + Trade.log("Sign", "Trade", "Interact", sign.getLine(3), charge, username, trade, sign.getBlock().getLocation(), ess); + } + sign.updateSign(); + return true; + } + + private Trade rechargeSign(final ISign sign, final IEssentials ess, final IUser player) throws SignException, ChargeException + { + final Trade trade = getTrade(sign, 2, false, false, ess); + if (trade.getItemStack() != null && player.getItemInHand() != null + && trade.getItemStack().getTypeId() == player.getItemInHand().getTypeId() + && trade.getItemStack().getDurability() == player.getItemInHand().getDurability() + && trade.getItemStack().getEnchantments().equals(player.getItemInHand().getEnchantments())) + { + int amount = player.getItemInHand().getAmount(); + amount -= amount % trade.getItemStack().getAmount(); + if (amount > 0) + { + final ItemStack stack = player.getItemInHand().clone(); + stack.setAmount(amount); + final Trade store = new Trade(stack, ess); + addAmount(sign, 2, store, ess); + store.charge(player); + return store; + } + } + return null; + } + + @Override + protected boolean onSignBreak(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException + { + if ((sign.getLine(3).length() > 3 && sign.getLine(3).substring(2).equalsIgnoreCase(username)) + || player.isAuthorized("essentials.signs.trade.override")) + { + try + { + final Trade stored1 = getTrade(sign, 1, true, false, ess); + final Trade stored2 = getTrade(sign, 2, true, false, ess); + stored1.pay(player); + stored2.pay(player); + Trade.log("Sign", "Trade", "Break", username, stored2, username, stored1, sign.getBlock().getLocation(), ess); + } + catch (SignException e) + { + if (player.isAuthorized("essentials.signs.trade.override")) + { + return true; + } + throw e; + } + return true; + } + else + { + return false; + } + } + + protected final void validateTrade(final ISign sign, final int index, final boolean amountNeeded, final IEssentials ess) throws SignException + { + final String line = sign.getLine(index).trim(); + if (line.isEmpty()) + { + throw new SignException("Empty line"); + } + final String[] split = line.split("[ :]+"); + + if (split.length == 1 && !amountNeeded) + { + final Double money = getMoney(split[0]); + if (money != null) + { + if (Util.formatCurrency(money, ess).length() * 2 > 15) + { + throw new SignException("Line can be too long!"); + } + sign.setLine(index, Util.formatCurrency(money, ess) + ":0"); + return; + } + } + + if (split.length == 2 && amountNeeded) + { + final Double money = getMoney(split[0]); + Double amount = getDoublePositive(split[1]); + if (money != null && amount != null) + { + amount -= amount % money; + if (amount < 0.01 || money < 0.01) + { + throw new SignException(_("moreThanZero")); + } + sign.setLine(index, Util.formatCurrency(money, ess) + ":" + Util.formatCurrency(amount, ess).substring(1)); + return; + } + } + + if (split.length == 2 && !amountNeeded) + { + final int amount = getIntegerPositive(split[0]); + + if (amount < 1) + { + throw new SignException(_("moreThanZero")); + } + if (!(split[1].equalsIgnoreCase("exp") || split[1].equalsIgnoreCase("xp")) + && getItemStack(split[1], amount, ess).getTypeId() == 0) + { + throw new SignException(_("moreThanZero")); + } + String newline = amount + " " + split[1] + ":0"; + if ((newline + amount).length() > 15) + { + throw new SignException("Line can be too long!"); + } + sign.setLine(index, newline); + return; + } + + if (split.length == 3 && amountNeeded) + { + final int stackamount = getIntegerPositive(split[0]); + int amount = getIntegerPositive(split[2]); + amount -= amount % stackamount; + if (amount < 1 || stackamount < 1) + { + throw new SignException(_("moreThanZero")); + } + if (!(split[1].equalsIgnoreCase("exp") || split[1].equalsIgnoreCase("xp")) + && getItemStack(split[1], stackamount, ess).getTypeId() == 0) + { + throw new SignException(_("moreThanZero")); + } + sign.setLine(index, stackamount + " " + split[1] + ":" + amount); + return; + } + throw new SignException(_("invalidSignLine", index + 1)); + } + + protected final Trade getTrade(final ISign sign, final int index, final boolean fullAmount, final boolean notEmpty, final IEssentials ess) throws SignException + { + final String line = sign.getLine(index).trim(); + if (line.isEmpty()) + { + throw new SignException("Empty line"); + } + final String[] split = line.split("[ :]+"); + + if (split.length == 2) + { + try + { + final Double money = getMoney(split[0]); + final Double amount = notEmpty ? getDoublePositive(split[1]) : getDouble(split[1]); + if (money != null && amount != null) + { + return new Trade(fullAmount ? amount : money, ess); + } + } + catch (SignException e) + { + throw new SignException(_("tradeSignEmpty")); + } + } + + if (split.length == 3) + { + if (split[1].equalsIgnoreCase("exp") || split[1].equalsIgnoreCase("xp")) + { + final int stackamount = getIntegerPositive(split[0]); + int amount = getInteger(split[2]); + amount -= amount % stackamount; + if (notEmpty && (amount < 1 || stackamount < 1)) + { + throw new SignException(_("tradeSignEmpty")); + } + return new Trade(fullAmount ? amount : stackamount, ess); + } + else + { + final int stackamount = getIntegerPositive(split[0]); + final ItemStack item = getItemStack(split[1], stackamount, ess); + int amount = getInteger(split[2]); + amount -= amount % stackamount; + if (notEmpty && (amount < 1 || stackamount < 1 || item.getTypeId() == 0)) + { + throw new SignException(_("tradeSignEmpty")); + } + item.setAmount(fullAmount ? amount : stackamount); + return new Trade(item, ess); + } + } + throw new SignException(_("invalidSignLine", index + 1)); + } + + protected final void substractAmount(final ISign sign, final int index, final Trade trade, final IEssentials ess) throws SignException + { + final Double money = trade.getMoney(); + if (money != null) + { + changeAmount(sign, index, -money, ess); + } + final ItemStack item = trade.getItemStack(); + if (item != null) + { + changeAmount(sign, index, -item.getAmount(), ess); + } + final Integer exp = trade.getExperience(); + if (exp != null) + { + changeAmount(sign, index, -exp.intValue(), ess); + } + } + + protected final void addAmount(final ISign sign, final int index, final Trade trade, final IEssentials ess) throws SignException + { + final Double money = trade.getMoney(); + if (money != null) + { + changeAmount(sign, index, money, ess); + } + final ItemStack item = trade.getItemStack(); + if (item != null) + { + changeAmount(sign, index, item.getAmount(), ess); + } + final Integer exp = trade.getExperience(); + if (exp != null) + { + changeAmount(sign, index, exp.intValue(), ess); + } + } + + private void changeAmount(final ISign sign, final int index, final double value, final IEssentials ess) throws SignException + { + + final String line = sign.getLine(index).trim(); + if (line.isEmpty()) + { + throw new SignException("Empty line"); + } + final String[] split = line.split("[ :]+"); + + if (split.length == 2) + { + final Double money = getMoney(split[0]); + final Double amount = getDouble(split[1]); + if (money != null && amount != null) + { + final String newline = Util.formatCurrency(money, ess) + ":" + Util.formatCurrency(amount + value, ess).substring(1); + if (newline.length() > 15) + { + throw new SignException("Line too long!"); + } + sign.setLine(index, newline); + return; + } + } + + if (split.length == 3) + { + if (split[1].equalsIgnoreCase("exp") || split[1].equalsIgnoreCase("xp")) + { + final int stackamount = getIntegerPositive(split[0]); + final int amount = getInteger(split[2]); + final String newline = stackamount + " " + split[1] + ":" + (amount + Math.round(value)); + if (newline.length() > 15) + { + throw new SignException("Line too long!"); + } + sign.setLine(index, newline); + return; + } + else + { + final int stackamount = getIntegerPositive(split[0]); + //TODO: Unused local variable + final ItemStack item = getItemStack(split[1], stackamount, ess); + final int amount = getInteger(split[2]); + final String newline = stackamount + " " + split[1] + ":" + (amount + Math.round(value)); + if (newline.length() > 15) + { + throw new SignException("Line too long!"); + } + sign.setLine(index, newline); + return; + } + } + throw new SignException(_("invalidSignLine", index + 1)); + } +} diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java new file mode 100644 index 000000000..3ab254705 --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java @@ -0,0 +1,70 @@ +package com.earth2me.essentials.signs; + +import com.earth2me.essentials.ChargeException; +import com.earth2me.essentials.api.IEssentials; +import com.earth2me.essentials.Trade; +import com.earth2me.essentials.api.IUser; +import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause; + + +public class SignWarp extends EssentialsSign +{ + public SignWarp() + { + super("Warp"); + } + + @Override + protected boolean onSignCreate(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException + { + validateTrade(sign, 3, ess); + final String warpName = sign.getLine(1); + + if (warpName.isEmpty()) + { + sign.setLine(1, "§dWarp name!"); + return false; + } + else + { + try + { + ess.getWarps().getWarp(warpName); + } + catch (Exception ex) + { + throw new SignException(ex.getMessage(), ex); + } + final String group = sign.getLine(2); + if ("Everyone".equalsIgnoreCase(group) || "Everybody".equalsIgnoreCase(group)) + { + sign.setLine(2, "§2Everyone"); + } + return true; + } + } + + @Override + protected boolean onSignInteract(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException, ChargeException + { + final String warpName = sign.getLine(1); + final String group = sign.getLine(2); + if ((!group.isEmpty() + && ("§2Everyone".equals(group) + || player.inGroup(group))) + || (group.isEmpty() && (!ess.getSettings().getPerWarpPermission() || player.isAuthorized("essentials.warp." + warpName)))) + { + final Trade charge = getTrade(sign, 3, ess); + try + { + player.getTeleport().warp(warpName, charge, TeleportCause.PLUGIN); + } + catch (Exception ex) + { + throw new SignException(ex.getMessage(), ex); + } + return true; + } + return false; + } +} diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignWeather.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignWeather.java new file mode 100644 index 000000000..c674e04a9 --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignWeather.java @@ -0,0 +1,55 @@ +package com.earth2me.essentials.signs; + +import com.earth2me.essentials.ChargeException; +import static com.earth2me.essentials.I18n._; +import com.earth2me.essentials.api.IEssentials; +import com.earth2me.essentials.Trade; +import com.earth2me.essentials.api.IUser; + + +public class SignWeather extends EssentialsSign +{ + public SignWeather() + { + super("Weather"); + } + + @Override + protected boolean onSignCreate(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException + { + validateTrade(sign, 2, ess); + final String timeString = sign.getLine(1); + if ("Sun".equalsIgnoreCase(timeString)) + { + sign.setLine(1, "§2Sun"); + return true; + } + if ("Storm".equalsIgnoreCase(timeString)) + { + sign.setLine(1, "§2Storm"); + return true; + } + throw new SignException(_("onlySunStorm")); + } + + @Override + protected boolean onSignInteract(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException, ChargeException + { + final Trade charge = getTrade(sign, 2, ess); + charge.isAffordableFor(player); + final String weatherString = sign.getLine(1); + if ("§2Sun".equalsIgnoreCase(weatherString)) + { + player.getWorld().setStorm(false); + charge.charge(player); + return true; + } + if ("§2Storm".equalsIgnoreCase(weatherString)) + { + player.getWorld().setStorm(true); + charge.charge(player); + return true; + } + throw new SignException(_("onlySunStorm")); + } +} diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/Signs.java b/EssentialsSigns/src/com/earth2me/essentials/signs/Signs.java new file mode 100644 index 000000000..e29d45ad4 --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/Signs.java @@ -0,0 +1,33 @@ +package com.earth2me.essentials.signs; + + +public enum Signs +{ + BALANCE(new SignBalance()), + BUY(new SignBuy()), + DISPOSAL(new SignDisposal()), + ENCHANT(new SignEnchant()), + FREE(new SignFree()), + GAMEMODE(new SignGameMode()), + HEAL(new SignHeal()), + KIT(new SignKit()), + MAIL(new SignMail()), + PROTECTION(new SignProtection()), + SELL(new SignSell()), + SPAWNMOB(new SignSpawnmob()), + TIME(new SignTime()), + TRADE(new SignTrade()), + WARP(new SignWarp()), + WEATHER(new SignWeather()); + private final EssentialsSign sign; + + private Signs(final EssentialsSign sign) + { + this.sign = sign; + } + + public EssentialsSign getSign() + { + return sign; + } +} -- cgit v1.2.3 From de0a4194763173ef7e624f3910fa424ffeefadfc Mon Sep 17 00:00:00 2001 From: KHobbits Date: Wed, 4 Jan 2012 17:51:14 +0000 Subject: Cleaning up item spawning and kits. --- EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'EssentialsSigns/src/com/earth2me/essentials/signs') diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java index 16f314d5f..4e7aaf793 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java @@ -3,6 +3,7 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.*; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; +import com.earth2me.essentials.settings.Kit; import java.util.List; import java.util.Locale; import java.util.Map; @@ -31,7 +32,7 @@ public class SignKit extends EssentialsSign { try { - ess.getSettings().getKit(kitName); + ess.getKits().getKit(kitName); } catch (Exception ex) { @@ -58,10 +59,9 @@ public class SignKit extends EssentialsSign charge.isAffordableFor(player); try { - final Object kit = ess.getSettings().getKit(kitName); - final Map els = (Map)kit; - final List items = Kit.getItems(player, els); - Kit.expandItems(ess, player, items); + final Kit kit = ess.getKits().getKit(kitName); + ess.getKits().sendKit(player, kit); + charge.charge(player); } catch (Exception ex) -- cgit v1.2.3 From 897571db7d838f0f2ff86cfb40b59fd0349f4974 Mon Sep 17 00:00:00 2001 From: KHobbits Date: Wed, 4 Jan 2012 18:34:37 +0000 Subject: Possible sign refactor? --- EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java | 5 +---- EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java | 5 +---- 2 files changed, 2 insertions(+), 8 deletions(-) (limited to 'EssentialsSigns/src/com/earth2me/essentials/signs') diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java index fd84bd0f3..628ed64c1 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java @@ -27,10 +27,7 @@ public class SignBuy extends EssentialsSign final Trade items = getTrade(sign, 1, 2, player, ess); final Trade charge = getTrade(sign, 3, ess); charge.isAffordableFor(player); - if (!items.pay(player, false)) - { - throw new ChargeException("Inventory full"); - } + items.pay(player, false); charge.charge(player); Trade.log("Sign", "Buy", "Interact", username, charge, username, items, sign.getBlock().getLocation(), ess); return true; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java index 04db5511c..df913eced 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java @@ -55,10 +55,7 @@ public class SignTrade extends EssentialsSign final Trade charge = getTrade(sign, 1, false, false, ess); final Trade trade = getTrade(sign, 2, false, true, ess); charge.isAffordableFor(player); - if (!trade.pay(player, false)) - { - throw new ChargeException("Full inventory"); - } + trade.pay(player, false); substractAmount(sign, 2, trade, ess); addAmount(sign, 1, charge, ess); charge.charge(player); -- cgit v1.2.3 From a46f6fd73decdc47e5c2bf29c563d0deb20f0735 Mon Sep 17 00:00:00 2001 From: KHobbits Date: Wed, 4 Jan 2012 18:56:36 +0000 Subject: Revert "Possible sign refactor?" This reverts commit 897571db7d838f0f2ff86cfb40b59fd0349f4974. --- EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java | 5 ++++- EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'EssentialsSigns/src/com/earth2me/essentials/signs') diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java index 628ed64c1..fd84bd0f3 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java @@ -27,7 +27,10 @@ public class SignBuy extends EssentialsSign final Trade items = getTrade(sign, 1, 2, player, ess); final Trade charge = getTrade(sign, 3, ess); charge.isAffordableFor(player); - items.pay(player, false); + if (!items.pay(player, false)) + { + throw new ChargeException("Inventory full"); + } charge.charge(player); Trade.log("Sign", "Buy", "Interact", username, charge, username, items, sign.getBlock().getLocation(), ess); return true; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java index df913eced..04db5511c 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java @@ -55,7 +55,10 @@ public class SignTrade extends EssentialsSign final Trade charge = getTrade(sign, 1, false, false, ess); final Trade trade = getTrade(sign, 2, false, true, ess); charge.isAffordableFor(player); - trade.pay(player, false); + if (!trade.pay(player, false)) + { + throw new ChargeException("Full inventory"); + } substractAmount(sign, 2, trade, ess); addAmount(sign, 1, charge, ess); charge.charge(player); -- cgit v1.2.3 From 3513d72a7b883701ba8d90c523da5af8bf4d0d07 Mon Sep 17 00:00:00 2001 From: KHobbits Date: Wed, 4 Jan 2012 21:41:05 +0000 Subject: Fixing Warp, Spawnmob signs Fix Imports --- .../src/com/earth2me/essentials/signs/EssentialsSign.java | 4 +++- EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java | 2 +- .../src/com/earth2me/essentials/signs/SignEnchant.java | 6 ++---- .../src/com/earth2me/essentials/signs/SignFree.java | 2 +- .../src/com/earth2me/essentials/signs/SignGameMode.java | 2 +- .../src/com/earth2me/essentials/signs/SignHeal.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java | 5 ++--- .../src/com/earth2me/essentials/signs/SignProtection.java | 4 ++-- .../src/com/earth2me/essentials/signs/SignSell.java | 2 +- .../src/com/earth2me/essentials/signs/SignSpawnmob.java | 10 ++++++---- .../src/com/earth2me/essentials/signs/SignTime.java | 2 +- .../src/com/earth2me/essentials/signs/SignTrade.java | 4 +++- .../src/com/earth2me/essentials/signs/SignWarp.java | 9 ++++----- .../src/com/earth2me/essentials/signs/SignWeather.java | 2 +- 14 files changed, 29 insertions(+), 27 deletions(-) (limited to 'EssentialsSigns/src/com/earth2me/essentials/signs') diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java b/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java index a6057f6ab..abef8dd25 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java @@ -1,7 +1,9 @@ package com.earth2me.essentials.signs; +import com.earth2me.essentials.ChargeException; import static com.earth2me.essentials.I18n._; -import com.earth2me.essentials.*; +import com.earth2me.essentials.Trade; +import com.earth2me.essentials.Util; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; import java.util.HashSet; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java index fd84bd0f3..e35e78b50 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java @@ -1,8 +1,8 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.ChargeException; -import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.Trade; +import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java index 9d640c735..3800c50de 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java @@ -2,13 +2,11 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.ChargeException; import com.earth2me.essentials.Enchantments; -import com.earth2me.essentials.api.IEssentials; -import com.earth2me.essentials.api.IUser; import static com.earth2me.essentials.I18n._; import com.earth2me.essentials.Trade; -import com.earth2me.essentials.craftbukkit.InventoryWorkaround; +import com.earth2me.essentials.api.IEssentials; +import com.earth2me.essentials.api.IUser; import java.util.Locale; -import org.bukkit.Material; import org.bukkit.enchantments.Enchantment; import org.bukkit.inventory.ItemStack; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignFree.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignFree.java index 0dad2b100..4e77a2ad7 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignFree.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignFree.java @@ -1,8 +1,8 @@ package com.earth2me.essentials.signs; import static com.earth2me.essentials.I18n._; -import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.Trade; +import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; import com.earth2me.essentials.craftbukkit.ShowInventory; import org.bukkit.Material; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignGameMode.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignGameMode.java index 05fb7c17f..0068cadf8 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignGameMode.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignGameMode.java @@ -2,8 +2,8 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.ChargeException; import static com.earth2me.essentials.I18n._; -import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.Trade; +import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; import java.util.Locale; import org.bukkit.GameMode; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignHeal.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignHeal.java index 3f412f5b4..ba10f3586 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignHeal.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignHeal.java @@ -2,8 +2,8 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.ChargeException; import static com.earth2me.essentials.I18n._; -import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.Trade; +import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java index 4e7aaf793..87f9bb118 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java @@ -1,12 +1,11 @@ package com.earth2me.essentials.signs; -import com.earth2me.essentials.*; +import com.earth2me.essentials.ChargeException; +import com.earth2me.essentials.Trade; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; import com.earth2me.essentials.settings.Kit; -import java.util.List; import java.util.Locale; -import java.util.Map; public class SignKit extends EssentialsSign diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java index 1ec05ec2d..9dc68087e 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java @@ -2,10 +2,10 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.ChargeException; import static com.earth2me.essentials.I18n._; -import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.Trade; -import com.earth2me.essentials.api.IUser; import com.earth2me.essentials.Util; +import com.earth2me.essentials.api.IEssentials; +import com.earth2me.essentials.api.IUser; import java.util.*; import org.bukkit.Location; import org.bukkit.Material; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignSell.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignSell.java index 7a5f4969b..4e16be23d 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignSell.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignSell.java @@ -1,8 +1,8 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.ChargeException; -import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.Trade; +import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignSpawnmob.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignSpawnmob.java index f21d937b3..58383782b 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignSpawnmob.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignSpawnmob.java @@ -1,8 +1,8 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.ChargeException; -import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.Trade; +import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; import com.earth2me.essentials.commands.Commandspawnmob; @@ -22,20 +22,22 @@ public class SignSpawnmob extends EssentialsSign return true; } + + //TODO: This should call a method not a command @Override protected boolean onSignInteract(ISign sign, IUser player, String username, IEssentials ess) throws SignException, ChargeException { final Trade charge = getTrade(sign, 3, ess); charge.isAffordableFor(player); - Commandspawnmob command = new Commandspawnmob(); - command.setEssentials(ess); + Commandspawnmob command = new Commandspawnmob(); + command.init(ess, "spawnmob"); String[] args = new String[] { sign.getLine(2), sign.getLine(1) }; try { - command.run(ess.getServer(), player, "spawnmob", args); + command.run(player, args); } catch (Exception ex) { diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignTime.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTime.java index 2d1ab2a87..8480a1d83 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignTime.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTime.java @@ -2,8 +2,8 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.ChargeException; import static com.earth2me.essentials.I18n._; -import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.Trade; +import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java index 04db5511c..796d9fdd6 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java @@ -1,7 +1,9 @@ package com.earth2me.essentials.signs; +import com.earth2me.essentials.ChargeException; import static com.earth2me.essentials.I18n._; -import com.earth2me.essentials.*; +import com.earth2me.essentials.Trade; +import com.earth2me.essentials.Util; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; import org.bukkit.inventory.ItemStack; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java index 3ab254705..70a4f53c1 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java @@ -1,8 +1,8 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.ChargeException; -import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.Trade; +import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause; @@ -49,10 +49,9 @@ public class SignWarp extends EssentialsSign { final String warpName = sign.getLine(1); final String group = sign.getLine(2); - if ((!group.isEmpty() - && ("§2Everyone".equals(group) - || player.inGroup(group))) - || (group.isEmpty() && (!ess.getSettings().getPerWarpPermission() || player.isAuthorized("essentials.warp." + warpName)))) + + if ((!group.isEmpty() && ("§2Everyone".equals(group) || player.inGroup(group))) + || (group.isEmpty() && player.isAuthorized("essentials.warp." + warpName))) { final Trade charge = getTrade(sign, 3, ess); try diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignWeather.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignWeather.java index c674e04a9..bc019b0cd 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignWeather.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignWeather.java @@ -2,8 +2,8 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.ChargeException; import static com.earth2me.essentials.I18n._; -import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.Trade; +import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; -- cgit v1.2.3 From 01a37df70070f50995e0314fc1af222b633af261 Mon Sep 17 00:00:00 2001 From: ementalo Date: Mon, 23 Jan 2012 16:00:23 +0000 Subject: Add new permission essentials.protect.alerts.notrigger If user has this permisson they do not trigger EssProtect block alerts Fix spawnmob sign command args --- EssentialsSigns/src/com/earth2me/essentials/signs/SignSpawnmob.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'EssentialsSigns/src/com/earth2me/essentials/signs') diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignSpawnmob.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignSpawnmob.java index 58383782b..4c6d1238a 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignSpawnmob.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignSpawnmob.java @@ -37,7 +37,7 @@ public class SignSpawnmob extends EssentialsSign }; try { - command.run(player, args); + command.run(player, "spawnmob", args); } catch (Exception ex) { -- cgit v1.2.3 From c689b55c4ddff6483799e021334e403db745562e Mon Sep 17 00:00:00 2001 From: KHobbits Date: Wed, 25 Jan 2012 23:53:31 +0000 Subject: Fix depends --- .../src/com/earth2me/essentials/signs/EssentialsSignsPlugin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'EssentialsSigns/src/com/earth2me/essentials/signs') diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSignsPlugin.java b/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSignsPlugin.java index d57daf319..986624125 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSignsPlugin.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSignsPlugin.java @@ -18,7 +18,7 @@ public class EssentialsSignsPlugin extends JavaPlugin public void onEnable() { final PluginManager pluginManager = getServer().getPluginManager(); - ess = (IEssentials)pluginManager.getPlugin("Essentials"); + ess = (IEssentials)pluginManager.getPlugin("Essentials3"); if (!this.getDescription().getVersion().equals(ess.getDescription().getVersion())) { LOGGER.log(Level.WARNING, _("versionMismatchAll")); -- cgit v1.2.3 From f908eee76c9c3ad14a010b9b3898afcdcc5834d0 Mon Sep 17 00:00:00 2001 From: snowleo Date: Sun, 5 Feb 2012 18:26:21 +0100 Subject: New permissions for signs --- .../earth2me/essentials/signs/EssentialsSign.java | 9 ++-- .../essentials/signs/SignBlockListener.java | 2 +- .../src/com/earth2me/essentials/signs/SignKit.java | 3 +- .../earth2me/essentials/signs/SignProtection.java | 10 ++-- .../com/earth2me/essentials/signs/SignTrade.java | 4 +- .../com/earth2me/essentials/signs/SignWarp.java | 3 +- .../essentials/signs/SignsPermissions.java | 55 ++++++++++++++++++++++ 7 files changed, 70 insertions(+), 16 deletions(-) create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/SignsPermissions.java (limited to 'EssentialsSigns/src/com/earth2me/essentials/signs') diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java b/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java index abef8dd25..e5b0f0ba0 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java @@ -32,8 +32,7 @@ public class EssentialsSign { final ISign sign = new EventSign(event); final IUser user = ess.getUser(event.getPlayer()); - if (!(user.isAuthorized("essentials.signs." + signName.toLowerCase(Locale.ENGLISH) + ".create") - || user.isAuthorized("essentials.signs.create." + signName.toLowerCase(Locale.ENGLISH)))) + if (!SignsPermissions.getCreatePermission(signName).isAuthorized(user)) { // Return true, so other plugins can use the same sign title, just hope // they won't change it to §1[Signname] @@ -82,8 +81,7 @@ public class EssentialsSign final IUser user = ess.getUser(player); try { - return (user.isAuthorized("essentials.signs." + signName.toLowerCase(Locale.ENGLISH) + ".use") - || user.isAuthorized("essentials.signs.use." + signName.toLowerCase(Locale.ENGLISH))) + return SignsPermissions.getUsePermission(signName).isAuthorized(user) && onSignInteract(sign, user, getUsername(user), ess); } catch (ChargeException ex) @@ -104,8 +102,7 @@ public class EssentialsSign final IUser user = ess.getUser(player); try { - return (user.isAuthorized("essentials.signs." + signName.toLowerCase(Locale.ENGLISH) + ".break") - || user.isAuthorized("essentials.signs.break." + signName.toLowerCase(Locale.ENGLISH))) + return SignsPermissions.getBreakPermission(signName).isAuthorized(user) && onSignBreak(sign, user, getUsername(user), ess); } catch (SignException ex) diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignBlockListener.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignBlockListener.java index a072cd038..c143797ea 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignBlockListener.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignBlockListener.java @@ -84,7 +84,7 @@ public class SignBlockListener implements Listener return; } IUser user = ess.getUser(event.getPlayer()); - if (user.isAuthorized("essentials.signs.color")) + if (SignsPermissions.COLOR.isAuthorized(user)) { for (int i = 0; i < 4; i++) { diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java index 87f9bb118..9964059ef 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java @@ -4,6 +4,7 @@ import com.earth2me.essentials.ChargeException; import com.earth2me.essentials.Trade; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; +import com.earth2me.essentials.perm.KitPermissions; import com.earth2me.essentials.settings.Kit; import java.util.Locale; @@ -52,7 +53,7 @@ public class SignKit extends EssentialsSign final String kitName = sign.getLine(1).toLowerCase(Locale.ENGLISH); final String group = sign.getLine(2); if ((!group.isEmpty() && ("§2Everyone".equals(group) || player.inGroup(group))) - || (group.isEmpty() && (player.isAuthorized("essentials.kit." + kitName)))) + || (group.isEmpty() && KitPermissions.getPermission(kitName).isAuthorized(player))) { final Trade charge = getTrade(sign, 3, ess); charge.isAffordableFor(player); diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java index 9dc68087e..8bcc5c8bc 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java @@ -36,7 +36,7 @@ public class SignProtection extends EssentialsSign { final SignProtectionState state = isBlockProtected(sign.getBlock(), player, username, true); if (state == SignProtectionState.NOSIGN || state == SignProtectionState.OWNER - || player.isAuthorized("essentials.signs.protection.override")) + || SignsPermissions.PROTECTION_OVERRIDE.isAuthorized(player)) { sign.setLine(3, "§1" + username); return true; @@ -143,7 +143,7 @@ public class SignProtection extends EssentialsSign { return SignProtectionState.NOT_ALLOWED; } - if (user.isAuthorized("essentials.signs.protection.override")) + if (SignsPermissions.PROTECTION_OVERRIDE.isAuthorized(user)) { return SignProtectionState.OWNER; } @@ -254,7 +254,7 @@ public class SignProtection extends EssentialsSign final SignProtectionState state = isBlockProtected(adjBlock, player, username, true); if ((state == SignProtectionState.ALLOWED || state == SignProtectionState.NOT_ALLOWED) - && !player.isAuthorized("essentials.signs.protection.override")) + && !SignsPermissions.PROTECTION_OVERRIDE.isAuthorized(player)) { player.sendMessage(_("noPlacePermission", block.getType().toString().toLowerCase(Locale.ENGLISH))); return false; @@ -275,7 +275,7 @@ public class SignProtection extends EssentialsSign } if (state == SignProtectionState.NOT_ALLOWED - && player.isAuthorized("essentials.signs.protection.override")) + && SignsPermissions.PROTECTION_OVERRIDE.isAuthorized(player)) { return true; } @@ -297,7 +297,7 @@ public class SignProtection extends EssentialsSign } if ((state == SignProtectionState.ALLOWED || state == SignProtectionState.NOT_ALLOWED) - && player.isAuthorized("essentials.signs.protection.override")) + && SignsPermissions.PROTECTION_OVERRIDE.isAuthorized(player)) { checkIfSignsAreBroken(block, player, username, ess); return true; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java index 796d9fdd6..01cbae6b7 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java @@ -97,7 +97,7 @@ public class SignTrade extends EssentialsSign protected boolean onSignBreak(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException { if ((sign.getLine(3).length() > 3 && sign.getLine(3).substring(2).equalsIgnoreCase(username)) - || player.isAuthorized("essentials.signs.trade.override")) + || SignsPermissions.TRADE_OVERRIDE.isAuthorized(player)) { try { @@ -109,7 +109,7 @@ public class SignTrade extends EssentialsSign } catch (SignException e) { - if (player.isAuthorized("essentials.signs.trade.override")) + if (SignsPermissions.TRADE_OVERRIDE.isAuthorized(player)) { return true; } diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java index 70a4f53c1..bc16cdf9c 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java @@ -4,6 +4,7 @@ import com.earth2me.essentials.ChargeException; import com.earth2me.essentials.Trade; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; +import com.earth2me.essentials.perm.WarpPermissions; import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause; @@ -51,7 +52,7 @@ public class SignWarp extends EssentialsSign final String group = sign.getLine(2); if ((!group.isEmpty() && ("§2Everyone".equals(group) || player.inGroup(group))) - || (group.isEmpty() && player.isAuthorized("essentials.warp." + warpName))) + || (group.isEmpty() && WarpPermissions.getPermission(warpName).isAuthorized(player))) { final Trade charge = getTrade(sign, 3, ess); try diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignsPermissions.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignsPermissions.java new file mode 100644 index 000000000..911d12593 --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignsPermissions.java @@ -0,0 +1,55 @@ +package com.earth2me.essentials.signs; + +import com.earth2me.essentials.api.IPermission; +import com.earth2me.essentials.perm.BasePermission; +import java.util.HashMap; +import java.util.Locale; +import java.util.Map; + +public class SignsPermissions { + public static final IPermission COLOR = new BasePermission("essentials.signs.","color"); + + public static final IPermission PROTECTION_OVERRIDE = new BasePermission("essentials.signs.protection.", "override"); + + public static final IPermission TRADE_OVERRIDE = new BasePermission("essentials.signs.trade.", "override"); + + + private static Map createpermissions = new HashMap(); + + public static IPermission getCreatePermission(final String signName) + { + IPermission perm = createpermissions.get(signName); + if (perm == null) + { + perm = new BasePermission("essentials.signs.create.",signName.toLowerCase(Locale.ENGLISH)); + createpermissions.put(signName, perm); + } + return perm; + } + + private static Map usepermissions = new HashMap(); + + public static IPermission getUsePermission(final String signName) + { + IPermission perm = usepermissions.get(signName); + if (perm == null) + { + perm = new BasePermission("essentials.signs.create.",signName.toLowerCase(Locale.ENGLISH)); + usepermissions.put(signName, perm); + } + return perm; + } + + private static Map breakpermissions = new HashMap(); + + public static IPermission getBreakPermission(final String signName) + { + IPermission perm = breakpermissions.get(signName); + if (perm == null) + { + perm = new BasePermission("essentials.signs.create.",signName.toLowerCase(Locale.ENGLISH)); + breakpermissions.put(signName, perm); + } + return perm; + } +} -- cgit v1.2.3 From 1078b7b5f28597b28232519621b8d540aaebef4e Mon Sep 17 00:00:00 2001 From: snowleo Date: Sun, 5 Feb 2012 18:29:37 +0100 Subject: copy&paste fail --- .../earth2me/essentials/signs/SignsPermissions.java | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) (limited to 'EssentialsSigns/src/com/earth2me/essentials/signs') diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignsPermissions.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignsPermissions.java index 911d12593..82c9bdca9 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignsPermissions.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignsPermissions.java @@ -6,14 +6,12 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -public class SignsPermissions { - public static final IPermission COLOR = new BasePermission("essentials.signs.","color"); - + +public class SignsPermissions +{ + public static final IPermission COLOR = new BasePermission("essentials.signs.", "color"); public static final IPermission PROTECTION_OVERRIDE = new BasePermission("essentials.signs.protection.", "override"); - public static final IPermission TRADE_OVERRIDE = new BasePermission("essentials.signs.trade.", "override"); - - private static Map createpermissions = new HashMap(); public static IPermission getCreatePermission(final String signName) @@ -21,12 +19,11 @@ public class SignsPermissions { IPermission perm = createpermissions.get(signName); if (perm == null) { - perm = new BasePermission("essentials.signs.create.",signName.toLowerCase(Locale.ENGLISH)); + perm = new BasePermission("essentials.signs.create.", signName.toLowerCase(Locale.ENGLISH)); createpermissions.put(signName, perm); } return perm; } - private static Map usepermissions = new HashMap(); public static IPermission getUsePermission(final String signName) @@ -34,12 +31,11 @@ public class SignsPermissions { IPermission perm = usepermissions.get(signName); if (perm == null) { - perm = new BasePermission("essentials.signs.create.",signName.toLowerCase(Locale.ENGLISH)); + perm = new BasePermission("essentials.signs.use.", signName.toLowerCase(Locale.ENGLISH)); usepermissions.put(signName, perm); } return perm; } - private static Map breakpermissions = new HashMap(); public static IPermission getBreakPermission(final String signName) @@ -47,7 +43,7 @@ public class SignsPermissions { IPermission perm = breakpermissions.get(signName); if (perm == null) { - perm = new BasePermission("essentials.signs.create.",signName.toLowerCase(Locale.ENGLISH)); + perm = new BasePermission("essentials.signs.break.", signName.toLowerCase(Locale.ENGLISH)); breakpermissions.put(signName, perm); } return perm; -- cgit v1.2.3 From 539700cb215e088546e5d7f7bba4e1035466626e Mon Sep 17 00:00:00 2001 From: snowleo Date: Mon, 6 Feb 2012 22:13:39 +0100 Subject: New Groups code, supports groups.yml file, gm and vault, new economy api. --- .../src/com/earth2me/essentials/signs/SignKit.java | 2 +- .../earth2me/essentials/signs/SignProtection.java | 44 +++++++++++----------- .../com/earth2me/essentials/signs/SignWarp.java | 2 +- 3 files changed, 24 insertions(+), 24 deletions(-) (limited to 'EssentialsSigns/src/com/earth2me/essentials/signs') diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java index 9964059ef..b2a766223 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java @@ -52,7 +52,7 @@ public class SignKit extends EssentialsSign { final String kitName = sign.getLine(1).toLowerCase(Locale.ENGLISH); final String group = sign.getLine(2); - if ((!group.isEmpty() && ("§2Everyone".equals(group) || player.inGroup(group))) + if ((!group.isEmpty() && ("§2Everyone".equals(group) || ess.getGroups().inGroup(player, group))) || (group.isEmpty() && KitPermissions.getPermission(kitName).isAuthorized(player))) { final Trade charge = getTrade(sign, 3, ess); diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java index 8bcc5c8bc..c5733a11e 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java @@ -34,7 +34,7 @@ public class SignProtection extends EssentialsSign sign.setLine(3, "§4" + username); if (hasAdjacentBlock(sign.getBlock())) { - final SignProtectionState state = isBlockProtected(sign.getBlock(), player, username, true); + final SignProtectionState state = isBlockProtected(sign.getBlock(), player, username, true, ess); if (state == SignProtectionState.NOSIGN || state == SignProtectionState.OWNER || SignsPermissions.PROTECTION_OVERRIDE.isAuthorized(player)) { @@ -49,7 +49,7 @@ public class SignProtection extends EssentialsSign @Override protected boolean onSignBreak(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException { - final SignProtectionState state = checkProtectionSign(sign, player, username); + final SignProtectionState state = checkProtectionSign(sign, player, username, ess); return state == SignProtectionState.OWNER; } @@ -75,7 +75,7 @@ public class SignProtection extends EssentialsSign private void checkIfSignsAreBroken(final Block block, final IUser player, final String username, final IEssentials ess) { - final Map signs = getConnectedSigns(block, player, username, false); + final Map signs = getConnectedSigns(block, player, username, false, ess); for (Map.Entry entry : signs.entrySet()) { if (entry.getValue() != SignProtectionState.NOSIGN) @@ -91,14 +91,14 @@ public class SignProtection extends EssentialsSign } } - private Map getConnectedSigns(final Block block, final IUser user, final String username, boolean secure) + private Map getConnectedSigns(final Block block, final IUser user, final String username, boolean secure, final IEssentials ess) { final Map signs = new HashMap(); - getConnectedSigns(block, signs, user, username, secure ? 4 : 2); + getConnectedSigns(block, signs, user, username, secure ? 4 : 2, ess); return signs; } - private void getConnectedSigns(final Block block, final Map signs, final IUser user, final String username, final int depth) + private void getConnectedSigns(final Block block, final Map signs, final IUser user, final String username, final int depth, final IEssentials ess) { final Block[] faces = getAdjacentBlocks(block); for (Block b : faces) @@ -108,12 +108,12 @@ public class SignProtection extends EssentialsSign { continue; } - final SignProtectionState check = checkProtectionSign(b, user, username); + final SignProtectionState check = checkProtectionSign(b, user, username, ess); signs.put(loc, check); if (protectedBlocks.contains(b.getType()) && depth > 0) { - getConnectedSigns(b, signs, user, username, depth - 1); + getConnectedSigns(b, signs, user, username, depth - 1, ess); } } } @@ -124,20 +124,20 @@ public class SignProtection extends EssentialsSign NOT_ALLOWED, ALLOWED, NOSIGN, OWNER } - private SignProtectionState checkProtectionSign(final Block block, final IUser user, final String username) + private SignProtectionState checkProtectionSign(final Block block, final IUser user, final String username, final IEssentials ess) { if (block.getType() == Material.SIGN_POST || block.getType() == Material.WALL_SIGN) { final BlockSign sign = new BlockSign(block); if (sign.getLine(0).equalsIgnoreCase(this.getSuccessName())) { - return checkProtectionSign(sign, user, username); + return checkProtectionSign(sign, user, username, ess); } } return SignProtectionState.NOSIGN; } - private SignProtectionState checkProtectionSign(final ISign sign, final IUser user, final String username) + private SignProtectionState checkProtectionSign(final ISign sign, final IUser user, final String username, final IEssentials ess) { if (user == null || username == null) { @@ -154,7 +154,7 @@ public class SignProtection extends EssentialsSign for (int i = 1; i <= 2; i++) { final String line = sign.getLine(i); - if (line.startsWith("(") && line.endsWith(")") && user.inGroup(line.substring(1, line.length() - 1))) + if (line.startsWith("(") && line.endsWith(")") && ess.getGroups().inGroup(user, line.substring(1, line.length() - 1))) { return SignProtectionState.ALLOWED; } @@ -179,9 +179,9 @@ public class SignProtection extends EssentialsSign }; } - public SignProtectionState isBlockProtected(final Block block, final IUser user, final String username, boolean secure) + public SignProtectionState isBlockProtected(final Block block, final IUser user, final String username, boolean secure, final IEssentials ess) { - final Map signs = getConnectedSigns(block, user, username, secure); + final Map signs = getConnectedSigns(block, user, username, secure, ess); SignProtectionState retstate = SignProtectionState.NOSIGN; for (SignProtectionState state : signs.values()) { @@ -251,7 +251,7 @@ public class SignProtection extends EssentialsSign { for (Block adjBlock : getAdjacentBlocks(block)) { - final SignProtectionState state = isBlockProtected(adjBlock, player, username, true); + final SignProtectionState state = isBlockProtected(adjBlock, player, username, true, ess); if ((state == SignProtectionState.ALLOWED || state == SignProtectionState.NOT_ALLOWED) && !SignsPermissions.PROTECTION_OVERRIDE.isAuthorized(player)) @@ -267,7 +267,7 @@ public class SignProtection extends EssentialsSign @Override protected boolean onBlockInteract(final Block block, final IUser player, final String username, final IEssentials ess) throws SignException { - final SignProtectionState state = isBlockProtected(block, player, username, false); + final SignProtectionState state = isBlockProtected(block, player, username, false, ess); if (state == SignProtectionState.OWNER || state == SignProtectionState.NOSIGN || state == SignProtectionState.ALLOWED) { @@ -288,7 +288,7 @@ public class SignProtection extends EssentialsSign @Override protected boolean onBlockBreak(final Block block, final IUser player, final String username, final IEssentials ess) throws SignException { - final SignProtectionState state = isBlockProtected(block, player, username, false); + final SignProtectionState state = isBlockProtected(block, player, username, false, ess); if (state == SignProtectionState.OWNER || state == SignProtectionState.NOSIGN) { @@ -311,7 +311,7 @@ public class SignProtection extends EssentialsSign @Override public boolean onBlockBreak(final Block block, final IEssentials ess) { - final SignProtectionState state = isBlockProtected(block, null, null, false); + final SignProtectionState state = isBlockProtected(block, null, null, false, ess); return state == SignProtectionState.NOSIGN; } @@ -319,7 +319,7 @@ public class SignProtection extends EssentialsSign @Override public boolean onBlockExplode(final Block block, final IEssentials ess) { - final SignProtectionState state = isBlockProtected(block, null, null, false); + final SignProtectionState state = isBlockProtected(block, null, null, false, ess); return state == SignProtectionState.NOSIGN; } @@ -327,7 +327,7 @@ public class SignProtection extends EssentialsSign @Override public boolean onBlockBurn(final Block block, final IEssentials ess) { - final SignProtectionState state = isBlockProtected(block, null, null, false); + final SignProtectionState state = isBlockProtected(block, null, null, false, ess); return state == SignProtectionState.NOSIGN; } @@ -335,7 +335,7 @@ public class SignProtection extends EssentialsSign @Override public boolean onBlockIgnite(final Block block, final IEssentials ess) { - final SignProtectionState state = isBlockProtected(block, null, null, false); + final SignProtectionState state = isBlockProtected(block, null, null, false, ess); return state == SignProtectionState.NOSIGN; } @@ -343,7 +343,7 @@ public class SignProtection extends EssentialsSign @Override public boolean onBlockPush(final Block block, final IEssentials ess) { - final SignProtectionState state = isBlockProtected(block, null, null, false); + final SignProtectionState state = isBlockProtected(block, null, null, false, ess); return state == SignProtectionState.NOSIGN; } diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java index bc16cdf9c..744593e76 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java @@ -51,7 +51,7 @@ public class SignWarp extends EssentialsSign final String warpName = sign.getLine(1); final String group = sign.getLine(2); - if ((!group.isEmpty() && ("§2Everyone".equals(group) || player.inGroup(group))) + if ((!group.isEmpty() && ("§2Everyone".equals(group) || ess.getGroups().inGroup(player, group))) || (group.isEmpty() && WarpPermissions.getPermission(warpName).isAuthorized(player))) { final Trade charge = getTrade(sign, 3, ess); -- cgit v1.2.3 From 32840e68f361c61ea42b77d33eb67d6164c136a4 Mon Sep 17 00:00:00 2001 From: snowleo Date: Tue, 21 Feb 2012 19:17:22 +0100 Subject: Sign settings --- .../essentials/signs/EssentialsSignsPlugin.java | 37 ++++++------- .../earth2me/essentials/signs/ISignsPlugin.java | 7 +++ .../essentials/signs/SignBlockListener.java | 16 +++--- .../essentials/signs/SignEntityListener.java | 8 ++- .../essentials/signs/SignPlayerListener.java | 8 ++- .../com/earth2me/essentials/signs/SignsConfig.java | 19 +++++++ .../essentials/signs/SignsConfigHolder.java | 64 ++++++++++++++++++++++ 7 files changed, 125 insertions(+), 34 deletions(-) create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/ISignsPlugin.java create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/SignsConfig.java create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/SignsConfigHolder.java (limited to 'EssentialsSigns/src/com/earth2me/essentials/signs') diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSignsPlugin.java b/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSignsPlugin.java index 986624125..6f21a0f1a 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSignsPlugin.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSignsPlugin.java @@ -5,16 +5,17 @@ import com.earth2me.essentials.api.IEssentials; import java.util.logging.Level; import java.util.logging.Logger; import org.bukkit.Bukkit; -import org.bukkit.event.Event; import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.java.JavaPlugin; -public class EssentialsSignsPlugin extends JavaPlugin +public class EssentialsSignsPlugin extends JavaPlugin implements ISignsPlugin { private static final transient Logger LOGGER = Bukkit.getLogger(); private transient IEssentials ess; + private transient SignsConfigHolder config; + @Override public void onEnable() { final PluginManager pluginManager = getServer().getPluginManager(); @@ -28,35 +29,29 @@ public class EssentialsSignsPlugin extends JavaPlugin this.setEnabled(false); return; } - - final SignBlockListener signBlockListener = new SignBlockListener(ess); - pluginManager.registerEvent(Event.Type.SIGN_CHANGE, signBlockListener, Event.Priority.Highest, this); - pluginManager.registerEvent(Event.Type.BLOCK_PLACE, signBlockListener, Event.Priority.Low, this); - pluginManager.registerEvent(Event.Type.BLOCK_BREAK, signBlockListener, Event.Priority.Highest, this); - pluginManager.registerEvent(Event.Type.BLOCK_IGNITE, signBlockListener, Event.Priority.Low, this); - pluginManager.registerEvent(Event.Type.BLOCK_BURN, signBlockListener, Event.Priority.Low, this); - pluginManager.registerEvent(Event.Type.BLOCK_PISTON_EXTEND, signBlockListener, Event.Priority.Low, this); - pluginManager.registerEvent(Event.Type.BLOCK_PISTON_RETRACT, signBlockListener, Event.Priority.Low, this); - - final SignPlayerListener signPlayerListener = new SignPlayerListener(ess); - pluginManager.registerEvent(Event.Type.PLAYER_INTERACT, signPlayerListener, Event.Priority.Low, this); - - final SignEntityListener signEntityListener = new SignEntityListener(ess); - pluginManager.registerEvent(Event.Type.ENTITY_EXPLODE, signEntityListener, Event.Priority.Low, this); - pluginManager.registerEvent(Event.Type.ENDERMAN_PICKUP, signEntityListener, Event.Priority.Low, this); - //final SignBlockListener signBlockListener = new SignBlockListener(ess); + + final SignBlockListener signBlockListener = new SignBlockListener(ess, this); pluginManager.registerEvents(signBlockListener, this); - //final SignPlayerListener signPlayerListener = new SignPlayerListener(ess); + final SignPlayerListener signPlayerListener = new SignPlayerListener(ess, this); pluginManager.registerEvents(signPlayerListener, this); - //final SignEntityListener signEntityListener = new SignEntityListener(ess); + final SignEntityListener signEntityListener = new SignEntityListener(ess, this); pluginManager.registerEvents(signEntityListener, this); + config = new SignsConfigHolder(ess, this); + LOGGER.info(_("loadinfo", this.getDescription().getName(), this.getDescription().getVersion(), "essentials team")); } + @Override public void onDisable() { } + + @Override + public SignsConfigHolder getSettings() + { + return config; + } } diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/ISignsPlugin.java b/EssentialsSigns/src/com/earth2me/essentials/signs/ISignsPlugin.java new file mode 100644 index 000000000..98030a6e6 --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/ISignsPlugin.java @@ -0,0 +1,7 @@ +package com.earth2me.essentials.signs; + +import com.earth2me.essentials.api.IEssentialsModule; + +public interface ISignsPlugin extends IEssentialsModule { + SignsConfigHolder getSettings(); +} diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignBlockListener.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignBlockListener.java index d7c53ac44..b16cdb07e 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignBlockListener.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignBlockListener.java @@ -17,11 +17,13 @@ import org.bukkit.event.block.*; public class SignBlockListener implements Listener { private final transient IEssentials ess; + private final transient ISignsPlugin plugin; private final static Logger LOGGER = Logger.getLogger("Minecraft"); - public SignBlockListener(final IEssentials ess) + public SignBlockListener(final IEssentials ess, final ISignsPlugin plugin) { this.ess = ess; + this.plugin = plugin; } @EventHandler(priority = EventPriority.HIGHEST) @@ -45,7 +47,7 @@ public class SignBlockListener implements Listener { final Sign csign = (Sign)block.getState(); - for (EssentialsSign sign : ess.getSettings().enabledSigns()) + for (EssentialsSign sign : plugin.getSettings().getEnabledSigns()) { if (csign.getLine(0).equalsIgnoreCase(sign.getSuccessName()) && !sign.onSignBreak(block, player, ess)) @@ -62,7 +64,7 @@ public class SignBlockListener implements Listener LOGGER.log(Level.INFO, "Prevented that a block was broken next to a sign."); return true; } - for (EssentialsSign sign : ess.getSettings().enabledSigns()) + for (EssentialsSign sign : plugin.getSettings().getEnabledSigns()) { if (sign.getBlocks().contains(block.getType()) && !sign.onBlockBreak(block, player, ess)) @@ -158,7 +160,7 @@ public class SignBlockListener implements Listener event.setCancelled(true); return; } - for (EssentialsSign sign : ess.getSettings().enabledSigns()) + for (EssentialsSign sign : plugin.getSettings().getEnabledSigns()) { if (sign.getBlocks().contains(block.getType()) && !sign.onBlockBurn(block, ess)) @@ -186,7 +188,7 @@ public class SignBlockListener implements Listener event.setCancelled(true); return; } - for (EssentialsSign sign : ess.getSettings().enabledSigns()) + for (EssentialsSign sign : plugin.getSettings().getEnabledSigns()) { if (sign.getBlocks().contains(block.getType()) && !sign.onBlockIgnite(block, ess)) @@ -210,7 +212,7 @@ public class SignBlockListener implements Listener event.setCancelled(true); return; } - for (EssentialsSign sign : ess.getSettings().enabledSigns()) + for (EssentialsSign sign : plugin.getSettings().getEnabledSigns()) { if (sign.getBlocks().contains(block.getType()) && !sign.onBlockPush(block, ess)) @@ -236,7 +238,7 @@ public class SignBlockListener implements Listener event.setCancelled(true); return; } - for (EssentialsSign sign : ess.getSettings().enabledSigns()) + for (EssentialsSign sign : plugin.getSettings().getEnabledSigns()) { if (sign.getBlocks().contains(block.getType()) && !sign.onBlockPush(block, ess)) diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignEntityListener.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignEntityListener.java index 1b540c807..96d5e7222 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignEntityListener.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignEntityListener.java @@ -13,10 +13,12 @@ import org.bukkit.event.entity.EntityExplodeEvent; public class SignEntityListener implements Listener { private final transient IEssentials ess; + private final transient ISignsPlugin plugin; - public SignEntityListener(final IEssentials ess) + public SignEntityListener(final IEssentials ess, final ISignsPlugin plugin) { this.ess = ess; + this.plugin = plugin; } @EventHandler(priority = EventPriority.LOW) @@ -32,7 +34,7 @@ public class SignEntityListener implements Listener event.setCancelled(true); return; } - for (EssentialsSign sign : ess.getSettings().enabledSigns()) + for (EssentialsSign sign : plugin.getSettings().getEnabledSigns()) { if (sign.getBlocks().contains(block.getType())) { @@ -60,7 +62,7 @@ public class SignEntityListener implements Listener event.setCancelled(true); return; } - for (EssentialsSign sign : ess.getSettings().enabledSigns()) + for (EssentialsSign sign : plugin.getSettings().getEnabledSigns()) { if (sign.getBlocks().contains(block.getType()) && !sign.onBlockBreak(block, ess)) diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignPlayerListener.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignPlayerListener.java index 11e4fb2b4..3aed5d155 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignPlayerListener.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignPlayerListener.java @@ -14,10 +14,12 @@ import org.bukkit.event.player.PlayerInteractEvent; public class SignPlayerListener implements Listener { private final transient IEssentials ess; + private final transient ISignsPlugin plugin; - public SignPlayerListener(final IEssentials ess) + public SignPlayerListener(final IEssentials ess, final ISignsPlugin plugin) { this.ess = ess; + this.plugin = plugin; } @EventHandler(priority = EventPriority.LOW) @@ -41,7 +43,7 @@ public class SignPlayerListener implements Listener return; } final Sign csign = (Sign)block.getState(); - for (EssentialsSign sign : ess.getSettings().enabledSigns()) + for (EssentialsSign sign : plugin.getSettings().getEnabledSigns()) { if (csign.getLine(0).equalsIgnoreCase(sign.getSuccessName())) { @@ -53,7 +55,7 @@ public class SignPlayerListener implements Listener } else { - for (EssentialsSign sign : ess.getSettings().enabledSigns()) + for (EssentialsSign sign : plugin.getSettings().getEnabledSigns()) { if (sign.getBlocks().contains(block.getType()) && !sign.onBlockInteract(block, event.getPlayer(), ess)) diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignsConfig.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignsConfig.java new file mode 100644 index 000000000..c40e8f184 --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignsConfig.java @@ -0,0 +1,19 @@ +package com.earth2me.essentials.signs; + +import com.earth2me.essentials.storage.StorageObject; +import java.util.HashMap; +import java.util.Map; + +public class SignsConfig implements StorageObject { + private Map signs = new HashMap(); + + public Map getSigns() + { + return signs; + } + + public void setSigns(Map signs) + { + this.signs = signs; + } +} diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignsConfigHolder.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignsConfigHolder.java new file mode 100644 index 000000000..dcf436b03 --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignsConfigHolder.java @@ -0,0 +1,64 @@ +package com.earth2me.essentials.signs; + +import com.earth2me.essentials.api.IEssentials; +import com.earth2me.essentials.storage.AsyncStorageObjectHolder; +import java.io.File; +import java.io.IOException; +import java.util.*; +import org.bukkit.plugin.Plugin; + + +public class SignsConfigHolder extends AsyncStorageObjectHolder +{ + private final Plugin plugin; + private Set enabledSigns = new HashSet(); + + public SignsConfigHolder(final IEssentials ess, final Plugin plugin) + { + super(ess, SignsConfig.class); + this.plugin = plugin; + onReload(); + acquireReadLock(); + try + { + Map signs = getData().getSigns(); + for (Map.Entry entry : signs.entrySet()) + { + Signs sign = Signs.valueOf(entry.getKey().toUpperCase(Locale.ENGLISH)); + if (sign != null && entry.getValue()) + { + enabledSigns.add(sign.getSign()); + } + } + } + finally + { + unlock(); + } + acquireWriteLock(); + try + { + Map signs = new HashMap(); + for (Signs sign : Signs.values()) + { + signs.put(sign.toString(), enabledSigns.contains(sign.getSign())); + } + getData().setSigns(signs); + } + finally + { + unlock(); + } + } + + @Override + public File getStorageFile() throws IOException + { + return new File(plugin.getDataFolder(), "config.yml"); + } + + public Set getEnabledSigns() + { + return enabledSigns; + } +} -- cgit v1.2.3 From 224e5f129eb4a18a46c063fc290a26abce247d9c Mon Sep 17 00:00:00 2001 From: Paul Buonopane Date: Thu, 23 Feb 2012 12:14:33 -0500 Subject: ChargeException was in the correct folder, but had the wrong package header. Signed-off-by: Paul Buonopane --- EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignGameMode.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignHeal.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignSell.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignSpawnmob.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignTime.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignWeather.java | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) (limited to 'EssentialsSigns/src/com/earth2me/essentials/signs') diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java b/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java index e5b0f0ba0..2a654600a 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java @@ -1,6 +1,6 @@ package com.earth2me.essentials.signs; -import com.earth2me.essentials.ChargeException; +import com.earth2me.essentials.api.ChargeException; import static com.earth2me.essentials.I18n._; import com.earth2me.essentials.Trade; import com.earth2me.essentials.Util; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java index e35e78b50..90deed418 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java @@ -1,6 +1,6 @@ package com.earth2me.essentials.signs; -import com.earth2me.essentials.ChargeException; +import com.earth2me.essentials.api.ChargeException; import com.earth2me.essentials.Trade; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java index 3800c50de..e2ca49f1b 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java @@ -1,6 +1,6 @@ package com.earth2me.essentials.signs; -import com.earth2me.essentials.ChargeException; +import com.earth2me.essentials.api.ChargeException; import com.earth2me.essentials.Enchantments; import static com.earth2me.essentials.I18n._; import com.earth2me.essentials.Trade; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignGameMode.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignGameMode.java index 0068cadf8..a61b378c1 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignGameMode.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignGameMode.java @@ -1,6 +1,6 @@ package com.earth2me.essentials.signs; -import com.earth2me.essentials.ChargeException; +import com.earth2me.essentials.api.ChargeException; import static com.earth2me.essentials.I18n._; import com.earth2me.essentials.Trade; import com.earth2me.essentials.api.IEssentials; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignHeal.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignHeal.java index ba10f3586..8d4896a78 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignHeal.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignHeal.java @@ -1,6 +1,6 @@ package com.earth2me.essentials.signs; -import com.earth2me.essentials.ChargeException; +import com.earth2me.essentials.api.ChargeException; import static com.earth2me.essentials.I18n._; import com.earth2me.essentials.Trade; import com.earth2me.essentials.api.IEssentials; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java index b2a766223..f658f7e11 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java @@ -1,6 +1,6 @@ package com.earth2me.essentials.signs; -import com.earth2me.essentials.ChargeException; +import com.earth2me.essentials.api.ChargeException; import com.earth2me.essentials.Trade; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java index 2ea488ec8..4b343c977 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java @@ -1,6 +1,6 @@ package com.earth2me.essentials.signs; -import com.earth2me.essentials.ChargeException; +import com.earth2me.essentials.api.ChargeException; import static com.earth2me.essentials.I18n._; import com.earth2me.essentials.Trade; import com.earth2me.essentials.Util; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignSell.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignSell.java index 4e16be23d..6efe0ea2a 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignSell.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignSell.java @@ -1,6 +1,6 @@ package com.earth2me.essentials.signs; -import com.earth2me.essentials.ChargeException; +import com.earth2me.essentials.api.ChargeException; import com.earth2me.essentials.Trade; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignSpawnmob.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignSpawnmob.java index 4c6d1238a..8a96fe25f 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignSpawnmob.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignSpawnmob.java @@ -1,6 +1,6 @@ package com.earth2me.essentials.signs; -import com.earth2me.essentials.ChargeException; +import com.earth2me.essentials.api.ChargeException; import com.earth2me.essentials.Trade; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignTime.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTime.java index 8480a1d83..76bfb1105 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignTime.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTime.java @@ -1,6 +1,6 @@ package com.earth2me.essentials.signs; -import com.earth2me.essentials.ChargeException; +import com.earth2me.essentials.api.ChargeException; import static com.earth2me.essentials.I18n._; import com.earth2me.essentials.Trade; import com.earth2me.essentials.api.IEssentials; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java index c57d94bb8..d72043f56 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java @@ -1,6 +1,6 @@ package com.earth2me.essentials.signs; -import com.earth2me.essentials.ChargeException; +import com.earth2me.essentials.api.ChargeException; import static com.earth2me.essentials.I18n._; import com.earth2me.essentials.Trade; import com.earth2me.essentials.Util; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java index 744593e76..caabbfb04 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java @@ -1,6 +1,6 @@ package com.earth2me.essentials.signs; -import com.earth2me.essentials.ChargeException; +import com.earth2me.essentials.api.ChargeException; import com.earth2me.essentials.Trade; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignWeather.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignWeather.java index bc019b0cd..bac05a825 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignWeather.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignWeather.java @@ -1,6 +1,6 @@ package com.earth2me.essentials.signs; -import com.earth2me.essentials.ChargeException; +import com.earth2me.essentials.api.ChargeException; import static com.earth2me.essentials.I18n._; import com.earth2me.essentials.Trade; import com.earth2me.essentials.api.IEssentials; -- cgit v1.2.3 From 57daa09e9aabe661fe4459629188526f1416537d Mon Sep 17 00:00:00 2001 From: snowleo Date: Sun, 4 Mar 2012 01:39:22 +0100 Subject: Serious bug is serious --- .../src/com/earth2me/essentials/signs/EssentialsSignsPlugin.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'EssentialsSigns/src/com/earth2me/essentials/signs') diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSignsPlugin.java b/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSignsPlugin.java index 6f21a0f1a..04421161e 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSignsPlugin.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSignsPlugin.java @@ -39,9 +39,7 @@ public class EssentialsSignsPlugin extends JavaPlugin implements ISignsPlugin final SignEntityListener signEntityListener = new SignEntityListener(ess, this); pluginManager.registerEvents(signEntityListener, this); - config = new SignsConfigHolder(ess, this); - - LOGGER.info(_("loadinfo", this.getDescription().getName(), this.getDescription().getVersion(), "essentials team")); + config = new SignsConfigHolder(ess, this); } @Override -- cgit v1.2.3 From 6ea02b53de2835102a95fead290d87e726f4bb59 Mon Sep 17 00:00:00 2001 From: snowleo Date: Tue, 13 Mar 2012 03:14:24 +0100 Subject: Merging of master into 3.0 Squashed commit of the following: commit dfd63a81acdae71b23bb40523bc40dbd58a4d75b Author: KHobbits Date: Mon Mar 12 16:50:32 2012 +0000 Missed a TL key. commit dfbc1956c981c18b8331fbf52786982063657c97 Author: KHobbits Date: Mon Mar 12 15:35:20 2012 +0000 Fixing a few TL Keys commit c0490c08902dafe6db021f8ac5c08610f3a58d9e Author: KHobbits Date: Mon Mar 12 15:21:37 2012 +0000 New TL Key, allow formatting/colouring of help output. commit 2da802d4b7b73ecdacfe6a02ce9197a468c75cbc Author: KHobbits Date: Mon Mar 12 15:00:44 2012 +0000 New permission: essentials.seen.banreason With this permission players can see why a user was banned, in /seen. commit adffbab6783aa016a7402ae20c922232389f18e1 Author: KHobbits Date: Mon Mar 12 01:15:10 2012 +0000 Adding jail time to /whois. commit e11525ab64fb1044a4e7d2c5e2aa4654699b3c34 Author: KHobbits Date: Mon Mar 12 01:00:57 2012 +0000 Update offline user check. Add ban reason to /seen commit 8dcd591beb12bd0bc03f2a3d6092ce1a7654495b Author: KHobbits Date: Sun Mar 11 23:59:59 2012 +0000 Update setworth to allow /setworth ingame Allow /setworth to be used from console. commit a40c936bcff0a05887d3acc9ab096aaab4b9df2d Author: KHobbits Date: Sun Mar 11 20:58:54 2012 +0000 New Permission: essentials.lightning.others With this permission you can use /lightning , without only strike based on direction. commit 5c2622b39051846f02d44638fbe8b37aa06fe64c Author: KHobbits Date: Sun Mar 11 01:46:01 2012 +0000 Add Enderman check to EntityChangeEvent (Should fix sheep eating grass). commit c7046b696ab7f6136acf4c22fb0e7b0d88d91629 Author: KHobbits Date: Sat Mar 10 21:42:46 2012 +0000 Use ignoreCancelled on event registration. commit 9ac5ce8a752bbd546dfba6e75b73d873be2265e5 Author: KHobbits Date: Wed Mar 7 12:14:32 2012 +0000 Update info.txt to hint at /einfo. commit 5c55e18d33c64d1dd4f82b7c4ddeda8061a96cd7 Author: KHobbits Date: Tue Mar 6 23:17:10 2012 +0000 Fixing typo in config.yml commit 1db5d619450af8db2522324cbd40d174e6297e0e Merge: 0b60d4e 1e34a39 Author: KHobbits Date: Mon Mar 5 16:25:35 2012 +0000 Merge branch 'release' Conflicts: lib/bukkit.jar lib/craftbukkit.jar commit 1e34a396cd1ab01c1b5cae038deac09bbf776615 Author: KHobbits Date: Mon Mar 5 15:51:15 2012 +0000 Change starter kit to default to stone tools commit ba96117f55384275c655e9be3bae891d284e7631 Author: KHobbits Date: Mon Mar 5 14:17:09 2012 +0000 Temp fix to disable version check on R7 commit 96b217cbe8336810dcb760dfc1845b0472057682 Author: KHobbits Date: Mon Mar 5 08:41:19 2012 +0000 Craftbukkit/Bukkit R7 commit 0dd5c0370ee0cd01ec07cf3b6acef67985e5999e Author: md_5 Date: Mon Mar 5 18:40:18 2012 +1100 I dont think free noteblocks are a good idea commit bdf32cde9e3ca43c0fcf35dac57160e8cd1db4ac Author: KHobbits Date: Mon Mar 5 00:39:37 2012 +0000 Missed one. commit e91ed6044141a60d70d65dba464d5e3d189b056a Author: KHobbits Date: Mon Mar 5 00:22:31 2012 +0000 Fixing spawnmob count. commit 8577202f4882a588f458423bd3026b4ec3cefbed Author: KHobbits Date: Mon Mar 5 00:19:40 2012 +0000 Add listgroups as TL key commit 7819b9d2f027cd0fc4c6a11e325e2f2dbc839946 Author: KHobbits Date: Mon Mar 5 00:08:37 2012 +0000 Apply colors to group tags. commit 15c0565923cf521daa8af3dac10aed6b38133c98 Author: KHobbits Date: Sun Mar 4 21:54:51 2012 +0000 Build custom mob list /spawnmob commit 2b25ca2932d9a0d72f4651cf77a8895045f97a98 Author: KHobbits Date: Sun Mar 4 21:43:24 2012 +0000 CME commit c7a6677d528a92e4820e297cb08bcbe642c5c6ae Author: KHobbits Date: Sun Mar 4 20:06:50 2012 +0000 Adding starter/newbie kit to EssentialsSpawn Optimization to EssentialsSpawn join event. commit c3d5b32986bcd5c34df8d534bc9045b9a5ff70da Author: KHobbits Date: Sun Mar 4 16:17:16 2012 +0000 Extra command alias. commit cbfb52419577fffca58c8e334a6c8b8caa1961f6 Author: KHobbits Date: Sun Mar 4 10:11:58 2012 +0000 Allow more currency customization. Added currency key to messages. commit b16a1f7237f58a3c7728bc238923fb90e218659e Author: KHobbits Date: Sun Mar 4 09:20:03 2012 +0000 Adding option to modify all users balances (including offline) /eco reset ** commit e28f1b1be3bf9a44a0eb4c4116a9a166cec7be20 Author: KHobbits Date: Sun Mar 4 08:18:25 2012 +0000 Half-revert double backflip. 10 points. (op prefix changes that md-5 broke, thinking I broke op prefixes) commit b512a243e71034dc56ecdc37281d18e39b21109f Author: md_5 Date: Sun Mar 4 15:43:00 2012 +1100 Fix op colours, which KHobbits broke! commit 873c9880dd361e1edae6e0ecca745e1592cafc67 Author: Chris Ward Date: Sat Mar 3 19:21:27 2012 +1100 Cleanup Signed-off-by: Chris Ward commit e6736e48a5da9a3dd8480fef3640eae85f4b13ce Author: Chris Ward Date: Sat Mar 3 18:07:43 2012 +1100 Cleanup Signed-off-by: Chris Ward commit caf598f55b271cf1e009c8073cb4d13538559a73 Author: KHobbits Date: Sat Mar 3 07:09:41 2012 +0000 Capital case for formatting. commit 619e099a04a8453365121865cb587447be8174a2 Author: KHobbits Date: Sat Mar 3 07:03:54 2012 +0000 Force all kits to lowercase. commit faba1e3604808a46c78bb74d8890351ab49ddb5a Author: KHobbits Date: Sat Mar 3 05:27:02 2012 +0000 *make it look like i'm doing something* commit 7cb728b15fcf79d2d39c5f6749f6cb9209c4f635 Author: KHobbits Date: Sat Mar 3 05:09:03 2012 +0000 I think switches are better. commit 3e3c7f0d545955912f925b08049adf38372e5472 Author: KHobbits Date: Fri Mar 2 19:05:30 2012 +0000 Only update displayname on world change, not every teleport. commit a45c19a08ba657144d536725e3c33b319372d763 Author: KHobbits Date: Fri Mar 2 17:05:55 2012 +0000 Extra command aliases commit eb74a1de9c1edfca947614759dff6d0e9889c945 Author: KHobbits Date: Fri Mar 2 17:03:34 2012 +0000 Make the antioch message optional. commit 8450734cf115aa8ee11910705118799424791e40 Author: KHobbits Date: Fri Mar 2 16:54:12 2012 +0000 Entity event cleanup commit 016299a1ddf7dd3bd5cf5fe26a96ad9909e8b8e5 Author: KHobbits Date: Fri Mar 2 16:33:20 2012 +0000 Shouldn't really be canceling events at priority monitor, oops. commit d27ff9abb6eb33b53f6c3c56d3dbff0346a024ee Author: KHobbits Date: Fri Mar 2 16:29:06 2012 +0000 Don't think we need animation event anymore. commit cdf5d454839c73e5ff392ba041dbcec259d9b4e3 Author: Iaccidentally Date: Thu Mar 1 23:10:32 2012 -0500 update messages.properties for the new bukkit download link (ci.bukkit,org no longer works) commit 0b60d4efe2fed324131e083f6d4168256d943588 Author: md_5 Date: Mon Mar 5 18:40:18 2012 +1100 I dont think free noteblocks are a good idea commit d31e434e4dd8f58ea1da760f931693342631565c Author: md_5 Date: Mon Mar 5 18:28:04 2012 +1100 Allow spamming of this, by reducing explosion damage to 0, same effect, no mess commit fabc1c3dd95ce18422f8896d90bc81ce600df965 Author: KHobbits Date: Mon Mar 5 00:39:37 2012 +0000 Missed one. commit 68fbc4060541697e209852d3716bad47f41669fe Author: KHobbits Date: Mon Mar 5 00:22:31 2012 +0000 Fixing spawnmob count. commit 8b7c5cf2eda4d501b7022b2cfc18b66cd7314014 Author: KHobbits Date: Mon Mar 5 00:19:40 2012 +0000 Add listgroups as TL key commit 1811631b93c5d1d2d731b5aced8b9e780b5b4fc4 Author: KHobbits Date: Mon Mar 5 00:08:37 2012 +0000 Apply colors to group tags. commit 7cec1564b9e2b5074cae24f36de75b0838309b2a Author: KHobbits Date: Sun Mar 4 21:54:51 2012 +0000 Build custom mob list /spawnmob commit a75eefcdd47f50292fe2ca4d3d8740ebc10b253b Author: KHobbits Date: Sun Mar 4 21:43:24 2012 +0000 CME commit 6a9027da6d7cd2c2c0c35f0163dc0207720708e6 Author: KHobbits Date: Sun Mar 4 20:06:50 2012 +0000 Adding starter/newbie kit to EssentialsSpawn Optimization to EssentialsSpawn join event. commit e55aa3cea7f8c12dd843a62f955c83a7b3153ce4 Author: KHobbits Date: Sun Mar 4 16:17:16 2012 +0000 Extra command alias. commit 1ce2c60bf4e3a4a38ae8c58cd76849656f37f895 Author: KHobbits Date: Sun Mar 4 16:01:49 2012 +0000 Updating Craftbukkit #2034 Bukkit #1378 commit 6da705c86fb04f0baaae0a7bfe69288325433297 Author: KHobbits Date: Sun Mar 4 10:11:58 2012 +0000 Allow more currency customization. Added currency key to messages. commit c3fa56322bc9c81c00bbed7e8de8341a89c54d08 Author: KHobbits Date: Sun Mar 4 09:20:03 2012 +0000 Adding option to modify all users balances (including offline) /eco reset ** commit 53cfab229b8983a020d835e35b42c839fda08be3 Author: KHobbits Date: Sun Mar 4 08:18:25 2012 +0000 Half-revert double backflip. 10 points. (op prefix changes that md-5 broke, thinking I broke op prefixes) commit b62217f301e920300ce1ba6645a7f464114b5cb7 Merge: 860f6a4 d9a8453 Author: KHobbits Date: Sun Mar 4 08:13:29 2012 +0000 Merge branch 'master' of github.com:essentials/Essentials commit d9a8453995329a5984cf33a9ec6134dc7ad080cd Author: md_5 Date: Sun Mar 4 15:43:00 2012 +1100 Fix op colours, which KHobbits broke! commit e6181928e828802f41621d5f877bd3fa3a462431 Author: snowleo Date: Sat Mar 3 17:01:53 2012 +0100 Cleanup of /spawnmob commit 860f6a41acfb2f2b37c6869ef6bb75e2f5ca2c9b Merge: 8aa7b1f cea5c81 Author: KHobbits Date: Sat Mar 3 13:49:26 2012 +0000 Merge branch 'master' of github.com:essentials/Essentials commit 8aa7b1f301764d747c5da2109601ec0e93570982 Author: KHobbits Date: Sat Mar 3 13:48:58 2012 +0000 Update CB #2032 B #1377 Min CB #2015 commit cea5c81d4463d7da71f9b4c3729b87ad3e9748bc Merge: 504f28d 35576ab Author: md-5 Date: Sat Mar 3 00:34:00 2012 -0800 Merge pull request #56 from Iaccidentally/patch-4 Allow spawning baby villagers and ocelots commit 504f28df1a7c094d27a0eaed10aa85417e4c4c3c Merge: 3360551 74a5755 Author: md-5 Date: Sat Mar 3 00:31:48 2012 -0800 Merge pull request #55 from chrisward/master Just a really small cleanup commit 74a57553f68114948614eb6e77abe201ee0bcd36 Author: Chris Ward Date: Sat Mar 3 19:21:27 2012 +1100 Cleanup Signed-off-by: Chris Ward commit 35576ab64ab05acee039d3e28b5bc0ef2d110bd7 Author: Iaccidentally Date: Sat Mar 3 03:04:54 2012 -0500 add little babbys commit 33605517ffa89bc5f84d841101e6a29f091a72d5 Author: KHobbits Date: Sat Mar 3 07:09:41 2012 +0000 Capital case for formatting. commit 6da6e4d2e889b7bbeb15e4adf68a9fdc8b0b330f Author: Chris Ward Date: Sat Mar 3 18:07:43 2012 +1100 Cleanup Signed-off-by: Chris Ward commit c0fa03ede259bedb8946bc559a0e64e54c9b464e Author: KHobbits Date: Sat Mar 3 07:03:54 2012 +0000 Force all kits to lowercase. commit 301b609e9357a21931653baffe9c3bed1f06dd8f Author: KHobbits Date: Sat Mar 3 05:27:02 2012 +0000 *make it look like i'm doing something* commit b6bbe237ea7c99eab0af8d07826ba84d4d766112 Author: KHobbits Date: Sat Mar 3 05:09:03 2012 +0000 I think switches are better. commit de7ab13c03f3b6086511566aa4c67376abaaed66 Author: KHobbits Date: Fri Mar 2 19:05:30 2012 +0000 Only update displayname on world change, not every teleport. commit 7a0f4da86099a2cdcf450312affa8f6385f7a413 Author: KHobbits Date: Fri Mar 2 17:05:55 2012 +0000 Extra command aliases commit 1bbbfe1c96cf62fad3fe9f9eab5b56d28935e4e4 Author: KHobbits Date: Fri Mar 2 17:03:34 2012 +0000 Make the antioch message optional. commit 25ebe68389a74ae5b5faa9780e76afff75a5a963 Author: KHobbits Date: Fri Mar 2 16:54:12 2012 +0000 Entity event cleanup commit 7737d19c5a79938adb8f87e8280c01e20fa8680a Author: KHobbits Date: Fri Mar 2 16:33:20 2012 +0000 Shouldn't really be canceling events at priority monitor, oops. commit 622ca4bf8a10337892e56cbc0958a6a2c2e464ec Author: KHobbits Date: Fri Mar 2 16:29:06 2012 +0000 Don't think we need animation event anymore. commit b090afbeb327c685de137d9d41a89753c758c136 Merge: 21a248e dce1495 Author: KHobbits Date: Thu Mar 1 20:15:16 2012 -0800 Merge pull request #54 from Iaccidentally/patch-3 update messages.properties for the new bukkit download link (ci.bukkit,o... commit dce149511e63406b778e34934059d7888ec50c2c Author: Iaccidentally Date: Thu Mar 1 23:10:32 2012 -0500 update messages.properties for the new bukkit download link (ci.bukkit,org no longer works) commit 21a248e94d6ee28410838877b956cb94cc37a965 Author: snowleo Date: Fri Mar 2 01:30:52 2012 +0100 Will be removed until the next release XD commit f1aed4b52172232d765b4379cf15c134700e960f Author: snowleo Date: Fri Mar 2 00:40:50 2012 +0100 Better cats commit 7564ebf79e3207c651bdbae5d0616260cbffc5c1 Author: snowleo Date: Fri Mar 2 00:18:31 2012 +0100 Fix world heights commit b9aecbe1d4aac5046c871bcb4439ea3ad11eee5c Author: snowleo Date: Fri Mar 2 00:12:22 2012 +0100 Min version CB# 2004 commit 49eb451a764f3d3cc57f673a4351788f56be5e5c Author: snowleo Date: Fri Mar 2 00:09:50 2012 +0100 New eggs commit 64d866a77dd42a3e26edf2aac83412003fe7df32 Author: snowleo Date: Fri Mar 2 00:06:57 2012 +0100 New Entities and Items for 1.2 commit f75779aa7a08034682041931a124ef0c5e6f6564 Author: snowleo Date: Thu Mar 1 23:57:34 2012 +0100 CB#2004 B#1368 commit 562288260267e4b6cdf40f31c9003ab16c096a95 Merge: b3d3928 6df3b90 Author: KHobbits Date: Thu Mar 1 22:37:15 2012 +0000 Merge branch 'master' of github.com:essentials/Essentials commit b3d3928db8b9d5cf28436980834b82d36658b6c1 Author: KHobbits Date: Thu Mar 1 22:36:51 2012 +0000 Kit sign cleanup commit 6df3b9008a50922987c5100b17b400f9458d4a65 Author: snowleo Date: Thu Mar 1 23:23:23 2012 +0100 update inventory commit c36ca65e09b8612731c7466b5c5f2b93e946e8ff Author: snowleo Date: Thu Mar 1 23:09:48 2012 +0100 Bukkit broke this sign :( commit 2e788802fe8856344235c1056bb5f6d66fecf23e Author: KHobbits Date: Thu Mar 1 22:04:50 2012 +0000 Fix kit timers resetting on server restart. commit b0552019f53df8d76f051ceca26120ae1e524abf Author: KHobbits Date: Thu Mar 1 21:47:01 2012 +0000 Fix version matching. commit dae69622a587ba929fdc0ee6c204484de2308ae6 Merge: 696b930 a8da3ee Author: snowleo Date: Thu Mar 1 19:08:52 2012 +0100 Merge branch 'refs/heads/master' into release commit 696b930fb24a7739f2e7b13d20b924ffb5f10ca9 Author: snowleo Date: Thu Mar 1 17:33:09 2012 +0100 EntityType instead of CreatureType commit e43a62f99251570e02c00be1445f1e992cd51a60 Author: snowleo Date: Thu Mar 1 16:17:40 2012 +0100 Requires #1988 because of the new Inventory stuff commit 02c1cb05c7d5f4f8d472d714b24c57b9a0de4f5e Author: snowleo Date: Thu Mar 1 16:15:37 2012 +0100 Updated to R6 commit b44d738867544386b905e23bd32c4066863de5d4 Author: snowleo Date: Thu Mar 1 15:56:17 2012 +0100 CB# 1988 B# 1360 commit e1818f7e62b56f0e4970923518cd953db9edbe11 Author: md_5 Date: Thu Mar 1 14:40:57 2012 +1100 Separate config sections evenly commit e5081db7e40b41e2755d2483400d1afd100f7db5 Author: md_5 Date: Thu Mar 1 12:27:59 2012 +1100 Remove old, unwanted manifest.mf files commit ba346bd797ee101fba94b028861683f215d661d0 Author: ElgarL Date: Tue Feb 28 10:46:10 2012 +0000 Make 'manload' reload the config correctly. commit 0670ece7f3602602794b9636da073c21b7076377 Author: KHobbits Date: Sat Feb 25 17:57:26 2012 +0000 Updating Bukkit: CB #1858, B #1334 commit a8da3eebd72eaf74303502a251a2daa8a371de92 Merge: 056303b 3823e7a Author: snowleo Date: Thu Mar 1 17:33:25 2012 +0100 Merge remote-tracking branch 'origin/groupmanager' commit 056303b53c953f4a9effa661b1a61d35893a8858 Author: snowleo Date: Thu Mar 1 17:33:09 2012 +0100 EntityType instead of CreatureType commit 454f7d30de818268e4e1c2baf5daace6e3592908 Author: snowleo Date: Thu Mar 1 16:17:40 2012 +0100 Requires #1988 because of the new Inventory stuff commit 6d1c270976bc417206bf53ffc408c4b5c08e7f33 Author: snowleo Date: Thu Mar 1 16:15:37 2012 +0100 Updated to R6 commit d1001274bb043fb4ada717577b4b6da7aaa87e96 Author: snowleo Date: Thu Mar 1 15:56:17 2012 +0100 CB# 1988 B# 1360 commit 3099855562b3223ec13b796dee2679c7a8e0411b Merge: 3f26d4a 833a5b2 Author: md_5 Date: Thu Mar 1 16:23:21 2012 +1100 Merge remote-tracking branch 'origin/master' commit 3f26d4ad9841b4ab30253222217edaaa60db3075 Author: md_5 Date: Thu Mar 1 14:40:57 2012 +1100 Separate config sections evenly commit bae337cc4946374640433700f8abb0f10c25dd24 Author: md_5 Date: Thu Mar 1 12:27:59 2012 +1100 Remove old, unwanted manifest.mf files commit 3823e7a108eaff2ecc65cb9221ad344d36f8c9ef Author: ElgarL Date: Tue Feb 28 10:46:10 2012 +0000 Make 'manload' reload the config correctly. commit 1c2221f52fdb523aa5d4aaef74d8b105c38badc3 Author: KHobbits Date: Mon Feb 27 15:31:43 2012 +0000 Adding option to log all eco api transactions. commit 1b780a43641a197e0c75ebc926bf49866d024bcf Author: KHobbits Date: Mon Feb 27 03:40:18 2012 +0000 Prevent EssSpawn trying to handle spawning of jailed players. commit ac3e65a82947431b1504d79444d4b0219e20f366 Author: KHobbits Date: Mon Feb 27 03:24:58 2012 +0000 Change jail listener to catch respawn at Highest commit 332f19177e961a60c984e674e499c78a87f4fb49 Author: KHobbits Date: Sun Feb 26 05:10:04 2012 +0000 Allow people to hit exactly 'min money'. commit 6ab57b9abefd0e0f9676127fda741da1507b2629 Author: KHobbits Date: Sun Feb 26 05:06:03 2012 +0000 Cleanup. commit 862f3aad599bb04a570411c774cfa23a5a2f1bb1 Author: KHobbits Date: Sun Feb 26 05:01:40 2012 +0000 Adjustments to negative eco give/take. commit e277acf80eab14b75c999881b009616a949f52a5 Author: KHobbits Date: Sun Feb 26 04:27:13 2012 +0000 Display users new balance on /eco give/take. commit 9f893e68e98252fae5999760ee67e0bac3810fda Author: KHobbits Date: Sun Feb 26 04:15:14 2012 +0000 Add Minimum Balance, to allow people to manage overdrafts. commit 833a5b2b552f297a9c5aeec3e11d58f0486c7e24 Author: KHobbits Date: Mon Feb 27 15:31:43 2012 +0000 Adding option to log all eco api transactions. commit 340f0c68eb3b79cd20fc96dd23c0a4e50cde7bce Author: KHobbits Date: Mon Feb 27 03:40:18 2012 +0000 Prevent EssSpawn trying to handle spawning of jailed players. commit a5e3182dadec976ab5117d755b678f75acda8a4f Author: KHobbits Date: Mon Feb 27 03:24:58 2012 +0000 Change jail listener to catch respawn at Highest commit 10ae9c3aa2f0a206c8d715717b0cbaf5247752c1 Author: KHobbits Date: Sun Feb 26 05:10:04 2012 +0000 Allow people to hit exactly 'min money'. commit bcf903de924cf9e682a501ec419d2bd72b71831c Author: KHobbits Date: Sun Feb 26 05:06:03 2012 +0000 Cleanup. commit ad08d275042c9841b48bc3945abd694649fd7529 Author: KHobbits Date: Sun Feb 26 05:01:40 2012 +0000 Adjustments to negative eco give/take. commit d24f77dbd5816e018de99a9bf5ab9ed07bdf53d5 Author: KHobbits Date: Sun Feb 26 04:27:13 2012 +0000 Display users new balance on /eco give/take. commit a5b38ce1a492edb69c14239d976ff72db84915ef Author: KHobbits Date: Sun Feb 26 04:15:14 2012 +0000 Add Minimum Balance, to allow people to manage overdrafts. commit 5d048d2c1dbfccf2db5188a7b2e3f9f303d9c273 Author: KHobbits Date: Sat Feb 25 17:57:26 2012 +0000 Updating Bukkit: CB #1858, B #1334 commit 13d3cc33061ff0810efd815efa64338e5eaeb70e Author: KHobbits Date: Sat Feb 25 17:40:00 2012 +0000 Lowering min bukkit to r4 - 1838, this build should still be compatible. commit 9f02fb4dd4367fcaa8cca03b61e520e76c58030b Merge: 8042cef 07baa6e Author: KHobbits Date: Sat Feb 25 17:22:39 2012 +0000 Merge branch 'master' into release commit 07baa6e611f153dd75b512127a4aa9996fd04892 Merge: 28f478d 50bd586 Author: KHobbits Date: Sat Feb 25 17:22:01 2012 +0000 Merge remote branch 'remotes/origin/groupmanager' commit 50bd5869bf18421918c6ef9f5ffe0fa46ccfb894 Author: ElgarL Date: Sat Feb 25 09:29:54 2012 +0000 Prevent promoting players to, and demoting to GlobalGroups. commit fa49fc91d2454b2da193ed2b757356b2496d504c Author: ElgarL Date: Sat Feb 25 09:22:54 2012 +0000 Prevent adding inheritances to globalgroups. These are permissions collections, not player groups. commit 28f478dd04c16d3deb21625aebf74a25b57665b2 Author: KHobbits Date: Thu Feb 23 17:25:00 2012 +0000 Write to user files less, on money update. commit 6fb8dad0eca654c0a4a07ae8337419562088b914 Author: KHobbits Date: Thu Feb 23 15:17:23 2012 +0000 Balance top now has server total on first line. Balance top will update ess balance backup if using register/vault eco. commit 9f605e9a885022144999b1f27bb74627c47b97b6 Author: KHobbits Date: Thu Feb 23 14:49:23 2012 +0000 Fixing upgrade script to allow powertool upgrade. commit e5b91dae73839b4311bf67ea6510ed88a9f4af80 Author: KHobbits Date: Wed Feb 22 12:32:51 2012 +0000 Fixing kits for new config classes. commit e1749fecd1293759fd899594e275a253646b5890 Author: KHobbits Date: Wed Feb 22 01:29:37 2012 +0000 Extra command aliases. commit 358edff798e8388a95b2640edd5735b188025c5c Author: KHobbits Date: Wed Feb 22 00:22:22 2012 +0000 Powertools dispatch commands as delayed tasks (should reduce any conflict issues). commit 34f13ba89cdb270e42fbc0f0225e0634d80b9676 Author: KHobbits Date: Wed Feb 22 00:11:21 2012 +0000 Switch powertools to use different event. Reduce multiple triggering of powertool events. Abort event when used with powertool. commit 945ba6f8ab8a9d3094e61fe6ccd943638eaa792a Author: KHobbits Date: Wed Feb 22 00:10:13 2012 +0000 Fix powertools with new config format. commit 46f05ee92f1deabe18dde1f527494fb717a079bd Author: KHobbits Date: Tue Feb 21 22:14:11 2012 +0000 Check to see if home section exists. commit 6d46fc66ce1f762de998824a13a38811c8364f0c Author: KHobbits Date: Tue Feb 21 22:12:37 2012 +0000 Fixing home list. commit ed7fe9213f260147b00dc33088fb4f788cf74078 Author: KHobbits Date: Tue Feb 21 21:39:25 2012 +0000 Fix /sudo message display. commit 9c68cbae727f84a7b4dfb2594c458c3353a739d3 Author: ElgarL Date: Tue Feb 21 18:40:54 2012 +0000 Removed BukkitPermsOverride as this is now the default with bukkit handling child nodes. commit c0df77153958bb3cbd3f07c5be305027440a773e Author: ElgarL Date: Tue Feb 21 18:38:08 2012 +0000 Update for Bukkit R5 compatability. Removed some unused variables. commit 9bd0c33fef968ecac42054888437de96509a433c Author: snowleo Date: Tue Feb 21 18:41:27 2012 +0100 Never give our user object to other plugins! commit 8042cefd3daca229066578fe83a9b75eac09bb31 Merge: 16a0f44 514f07c Author: KHobbits Date: Sun Feb 19 01:20:50 2012 +0000 Merge branch 'master' into release commit 16a0f44b4d8e3f582547a4357b1e6e17b60b7316 Merge: 1a2acb4 7633b13 Author: KHobbits Date: Wed Feb 15 19:09:02 2012 +0000 Merge remote branch 'remotes/origin/master' into release commit 1a2acb43aeb2217b772351dcf8cf829e6dd6d8ac Merge: 36d07cb f0c0ee1 Author: KHobbits Date: Tue Feb 14 23:56:02 2012 +0000 Merge branch 'master' into release commit 36d07cb539f92ae727934d2286130d687652d8f9 Merge: 6ca1cde effe0d5 Author: KHobbits Date: Mon Feb 13 17:35:05 2012 +0000 Merge branch 'master' into release commit 6ca1cdec4f2b57de8063d955bf8a1058bdf85ca5 Merge: e2abf05 86a1dda Author: KHobbits Date: Thu Feb 2 11:41:18 2012 +0000 Merge branch 'master' into release commit e2abf05a27b375fcb961156f5fb3cede8ac47b8f Merge: d9e6f29 8500542 Author: KHobbits Date: Mon Jan 30 05:36:03 2012 +0000 Merge branch 'master' into release commit d9e6f2975ac750073e488f940ccac3bcc6bfbf26 Merge: d8ac358 2f1d9ad Author: KHobbits Date: Sun Jan 29 21:44:30 2012 +0000 Merge branch 'master' into release commit d8ac3587ac55a920547d2406853339116187ddc1 Merge: 85c4fbd a2418a6 Author: KHobbits Date: Sun Jan 29 21:39:05 2012 +0000 Merge branch 'master' into release commit 85c4fbdf4f95074e59ae816cd4a6860bc3cf85aa Merge: 5a7f38f dff8f54 Author: KHobbits Date: Sun Jan 29 21:20:56 2012 +0000 Merge branch 'master' into release commit 5a7f38fa2928968873240595a362dded0d282465 Merge: 417148f 6a5fefb Author: KHobbits Date: Sun Jan 29 05:00:04 2012 +0000 Merge branch 'master' into release commit 417148f5da6f5927cf3232d3589a9919df81d318 Merge: a85cbdd 8f03505 Author: KHobbits Date: Sun Jan 29 01:45:40 2012 +0000 Merge branch 'master' into release commit a85cbdd5050b7163b80eaa171f3fe635bb1ca9d8 Merge: b4d9197 c6aa340 Author: KHobbits Date: Sat Jan 28 12:59:15 2012 +0000 Merge branch 'master' into release commit b4d91978c722fda3cb7996c52806cff7b6f97743 Merge: 16bde87 8aa260e Author: snowleo Date: Thu Jan 26 04:51:10 2012 +0100 Merge branch 'refs/heads/master' into release commit 16bde87982f031d649df90422dcdf0d48afe639a Merge: 2705336 b8944d0 Author: KHobbits Date: Thu Jan 26 00:31:05 2012 +0000 Merge branch 'master' into release commit 270533652b2013b7a87ec70a0d331c2fb3b0dc02 Merge: 03d6402 324dd05 Author: ementalo Date: Wed Jan 25 14:29:05 2012 +0000 Merge branch 'master' into release commit 03d640260d241cf796cad9c556fba2588f6c47a2 Merge: f27b229 da3a6af Author: KHobbits Date: Wed Jan 25 00:04:08 2012 +0000 Merge branch 'master' into release commit f27b2290dc0f3f0f6f0ceb43de886e474a9cd330 Merge: efda9be 0ea41d9 Author: snowleo Date: Tue Jan 24 03:43:49 2012 +0100 Merge branch 'refs/heads/master' into release commit efda9beece60b5f556debb39c530614bada81d34 Merge: c7c7e5e 4b61ac9 Author: KHobbits Date: Sat Jan 21 17:19:12 2012 +0000 Merge branch 'master' into release commit c7c7e5e4cee259d71c91c6c9d2b863ab7734ae97 Merge: f61f801 f26cccb Author: KHobbits Date: Mon Jan 16 12:43:09 2012 +0000 Merge remote branch 'remotes/origin/master' into release commit f61f80164db481ccd10115cc8bbed98596202a92 Merge: d16fef9 f0def90 Author: KHobbits Date: Sat Jan 14 15:52:55 2012 +0000 Merge branch 'master' into release commit d16fef9f7f6ac2fff63a80c43d9fb962127889ec Merge: 4425d53 43f1c0f Author: KHobbits Date: Sat Jan 14 13:16:33 2012 +0000 Merge branch 'master' into release ~ GM needs testing before release ~ commit 4425d536640d5deebc95e72a0f3f9f6c760563e1 Author: snowleo Date: Tue Dec 20 12:24:59 2011 +0100 Only info not a warning if a file is missing commit ee5e015a637b6ef9a573dc5aef273ade60f90bb4 Author: snowleo Date: Tue Dec 20 12:20:12 2011 +0100 Correctly match release and non release versions of bukkit. commit 839ce3d526ce666e189998e1722f1ad98e9955f9 Author: snowleo Date: Tue Dec 20 11:57:22 2011 +0100 Fix sending our player object to other plugins. commit cc0611721083e2cea902d6b8e7e819e7818680f5 Merge: cbd5b6c 5a092f0 Author: snowleo Date: Mon Dec 19 12:07:28 2011 +0100 Merge branch 'refs/heads/master' into release commit cbd5b6c0f43a7be652c7ead7199939fadd6cc422 Merge: 867e66e fec3b61 Author: KHobbits Date: Mon Dec 19 05:04:15 2011 +0000 Merge remote branch 'remotes/origin/master' into release commit 867e66e774bca268fccc696ef9d724ca47763796 Merge: 45ffeaf 9eaebad Author: snowleo Date: Wed Dec 14 11:56:09 2011 +0100 Merge branch 'refs/heads/master' into release commit 45ffeaffeca33813d9f7c12e2fbcbbb2e37f80b8 Merge: f91b622 79861b1 Author: snowleo Date: Tue Dec 13 23:52:58 2011 +0100 Merge branch 'refs/heads/master' into release commit f91b62264691336ca0a21c18df3cf282a436bb33 Merge: 40a9c28 70bd9bd Author: snowleo Date: Tue Dec 13 10:32:59 2011 +0100 Merge branch 'refs/heads/master' into release commit 40a9c28699d2bedd450160102042249385850021 Merge: 081491d e37ab86 Author: KHobbits Date: Mon Dec 12 23:15:48 2011 +0000 Merge branch 'master' into release commit 081491d0a14afc3c9ac7dc9b8acd01ac11fa46e1 Merge: 8d0230d f936cd5 Author: KHobbits Date: Mon Dec 12 23:06:40 2011 +0000 Merge branch 'master' into release commit 8d0230d6a8f323749dc0a0fadfcbc226dc4c2ab8 Merge: 37e5260 e379ac5 Author: snowleo Date: Thu Dec 8 05:41:00 2011 +0100 Merge branch 'refs/heads/master' into release commit 37e5260cda3fa1cbd07f8bbd15506190445e48db Merge: 19b8031 e169e95 Author: snowleo Date: Tue Nov 29 21:55:09 2011 +0100 Merge branch 'refs/heads/master' into release commit 19b803193379c2d5fadc315f66810508dafca5cc Merge: 99211fd 91cdff9 Author: snowleo Date: Mon Nov 28 22:42:17 2011 +0100 Merge branch 'refs/heads/master' into release commit 99211fd4075a1620f6850ce895089997a71cc65f Merge: 3d839c2 5e24584 Author: snowleo Date: Mon Nov 28 20:28:05 2011 +0100 Merge branch 'refs/heads/master' into release commit 3d839c2b211307c09ef2e856f6b0fbd7b1635419 Merge: e1e7a1c 9acc7db Author: snowleo Date: Mon Nov 28 20:03:09 2011 +0100 Merge branch 'refs/heads/master' into release commit e1e7a1cfdb3fe6ceab20981db8edc7ee387cb776 Merge: 0ed7f87 b637e49 Author: snowleo Date: Mon Nov 28 04:23:38 2011 +0100 Merge branch 'refs/heads/master' into release commit 0ed7f87ee0f8c077f6bb66bee696352d371fe7a4 Merge: 579bbc9 aceda4c Author: snowleo Date: Sun Nov 27 20:59:19 2011 +0100 Merge branch 'refs/heads/master' into release commit 579bbc9f2cd003fc92dce1e38dc3a02c86cfbd7b Merge: e672de9 af456a7 Author: snowleo Date: Thu Nov 24 04:26:05 2011 +0100 Merge branch 'refs/heads/master' into release commit e672de949c6e4d0dcba6869a3e0669f0d9688297 Merge: f72762b 19f5a23 Author: snowleo Date: Sun Nov 20 21:46:02 2011 +0100 Merge branch 'refs/heads/master' into release commit f72762bcb27b9ee8ae099c84c012e594a6a93a26 Merge: 7ecc3c2 4f8319b Author: snowleo Date: Sat Nov 19 16:04:00 2011 +0100 Merge branch 'refs/heads/master' into release commit 7ecc3c25b01b718aa0b21774cc0289ba3c64a394 Merge: adcffba 41c0385 Author: snowleo Date: Thu Nov 17 19:06:44 2011 +0100 Merge branch 'refs/heads/master' into release commit adcffba7cf5e45a1dcd35ee9f6c1a65688b8c61e Merge: e271e60 2a4c26e Author: snowleo Date: Thu Nov 17 16:34:39 2011 +0100 Merge branch 'refs/heads/master' into release commit e271e6014491cd05aa78408924429e4298330225 Merge: 16be869 c5c29ae Author: snowleo Date: Thu Nov 17 15:34:27 2011 +0100 Merge branch 'refs/heads/master' into release commit 16be86953ffabe4736e939fde6fe4125f247724f Merge: 1f527cd eda827b Author: snowleo Date: Tue Nov 15 22:52:42 2011 +0100 Merge branch 'refs/heads/master' into release commit 1f527cdb9e3439a175d01bb80c4eedbc127bcb17 Merge: 11e8240 90c9fe7 Author: KHobbits Date: Tue Nov 8 05:17:42 2011 +0000 Merge branch 'essmaster' into essrelease commit 11e8240c5cbadca9cf9d0a69c97e99220f808e69 Merge: 4aecc03 aa922c5 Author: snowleo Date: Sat Oct 22 11:55:01 2011 +0200 Merge branch 'refs/heads/master' into release Conflicts: EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java commit 4aecc034c26d6d9c71024f90183e25e431217b7b Author: KHobbits Date: Tue Oct 11 22:51:30 2011 +0100 Fixing typo in release build. commit a111a07bcaf303a7b53b9810b3e936b6253d0fc6 Merge: eb71097 9ec398b Author: KHobbits Date: Tue Oct 11 20:06:23 2011 +0100 Merge branch 'essmaster' into essrelease commit eb71097546e2f072e451223612226f3ecadc7e13 Merge: c7fcb72 1bb3eb0 Author: KHobbits Date: Tue Oct 11 17:52:56 2011 +0100 Merge remote branch 'remotes/ess/master' into essrelease commit c7fcb72d6c97b33432d08ade9d4b222a84402fef Merge: 04af8ef 02ee314 Author: KHobbits Date: Mon Oct 10 17:21:48 2011 +0100 Merge remote branch 'remotes/ess/master' into essrelease commit 04af8ef3291381ce0fefdda007714de89e554581 Merge: 4cdf803 a34c92d Author: snowleo Date: Mon Oct 10 00:30:47 2011 +0200 Merge branch 'master' into release commit 4cdf803ab7bbed4a5484cf28ddad758389e28aa3 Merge: 4595c15 6012086 Author: snowleo Date: Sun Oct 9 23:52:15 2011 +0200 Merge branch 'master' into release commit 4595c15bee01bd28318f05b72054de077848a8f5 Merge: 1e3d2fb 8199416 Author: snowleo Date: Sun Oct 9 17:54:59 2011 +0200 Merge branch 'master' into release commit 1e3d2fbfd28068095cce01b5c6bba889794dd1b1 Merge: 57c25bf 313df99 Author: snowleo Date: Sat Oct 8 19:43:07 2011 +0200 Merge branch 'master' into release commit 57c25bf1517ca91216025591314326a1c141096c Merge: ae030b2 55fc8bd Author: snowleo Date: Tue Oct 4 23:07:30 2011 +0200 Merge branch 'master' into release commit ae030b227a2e189429cff5f4e0c4bcfa116a6cb8 Merge: 4f85751 0645d58 Author: snowleo Date: Tue Oct 4 22:20:10 2011 +0200 Merge branch 'master' into release commit 4f85751694b97628cb51f9bcfed9a9ee3187d5f7 Merge: 6b0d0da 65a78a6 Author: snowleo Date: Tue Oct 4 21:34:28 2011 +0200 Merge branch 'master' into release commit 6b0d0daa2e000be06f92faa4f947e35e824a4018 Merge: 401498a 9718e65 Author: KHobbits Date: Tue Oct 4 14:40:12 2011 +0100 Merge branch 'essmaster' into essrelease commit 401498a4f760263868e4833d9d2ae285213ff468 Merge: 8bb5018 acdad5c Author: KHobbits Date: Tue Oct 4 09:51:51 2011 +0100 Merge branch 'essmaster' into essrelease commit 8bb50189bc3a23e6d6a529474f08e82ffb47e60f Merge: eb665a0 f2407bc Author: KHobbits Date: Thu Sep 29 00:43:42 2011 +0100 Merge remote branch 'remotes/ess/master' into essrelease commit eb665a059ad6ffdb8ca832d9cddf75fe0ac7a5e4 Merge: 3dc29be a8cfbe1 Author: KHobbits Date: Thu Sep 29 00:40:16 2011 +0100 Merge branch 'essmaster' into essrelease commit 3dc29be0830b10bb7a37b743df1115c4acc0b300 Merge: 82e5447 ee00fb7 Author: KHobbits Date: Tue Sep 27 02:01:52 2011 +0100 Merge branch 'essmaster' into essrelease commit 82e5447526fcdb90fac3800f4d11dad8525b6d49 Merge: 066f3fd 8b23f86 Author: KHobbits Date: Mon Sep 26 23:06:02 2011 +0100 Merge branch 'essmaster' into essrelease commit 066f3fd726f583f5afdca381437cb4738e4c5d20 Merge: f0acf73 e9c0bb2 Author: KHobbits Date: Thu Sep 22 15:29:47 2011 +0100 Merge branch 'essmaster' into essrelease commit f0acf733a58c1fd0679750c5f65a9eb1ac51cd7f Merge: 96c4dd2 33c6fc1 Author: snowleo Date: Thu Sep 22 10:47:58 2011 +0200 Merge branch 'master' into release commit 96c4dd2ab93e10e7c8b20e32803274ea09bf2e3c Merge: df3b9a7 998d097 Author: snowleo Date: Mon Sep 5 14:15:07 2011 +0200 Merge branch 'master' into release commit df3b9a7ef9bfe32723a72cca05f74edfb642b8d4 Merge: 70a3a59 fd6f768 Author: snowleo Date: Sun Sep 4 20:47:46 2011 +0200 Merge branch 'master' into release commit 70a3a5919e358246bd9cecb7de234a19d939585d Merge: 688d37e fc7a3e0 Author: snowleo Date: Fri Sep 2 00:05:05 2011 +0200 Merge branch 'master' into release commit 688d37ee60858ce6f2bb57969414bc3c3b971949 Merge: 3dcf8bc 382bd24 Author: snowleo Date: Thu Sep 1 16:35:47 2011 +0200 Merge branch 'master' into release commit 3dcf8bc8fc53137c8c38b65a490429880b968462 Merge: 7039d61 ecc1a0a Author: snowleo Date: Tue Aug 30 09:46:49 2011 +0200 Merge branch 'master' into release commit 7039d613eee66f7e389353fc158c792481c0bff6 Merge: 256c963 12e3eb1 Author: snowleo Date: Mon Aug 29 20:43:49 2011 +0200 Merge branch 'master' into release commit 256c9633706e7a8d087e21926871437320895057 Merge: 7b8c2a4 d818f70 Author: snowleo Date: Sun Aug 21 21:44:58 2011 +0200 Merge branch 'master' into release commit 7b8c2a4575a49186ee5002e3a6723bf97cab879f Merge: 7f1ba0d 040e2be Author: snowleo Date: Sun Aug 21 20:22:28 2011 +0200 Merge branch 'master' into release commit 7f1ba0d6ae01e2981758415d26d6bef3bc754907 Merge: 7e5b79a 2b48045 Author: snowleo Date: Fri Aug 19 02:32:56 2011 +0200 Merge branch 'master' into release commit 7e5b79aa145f81677c75ce34e59500b98cd21b65 Merge: 086343e a53d8dd Author: snowleo Date: Fri Aug 19 02:10:36 2011 +0200 Merge branch 'master' into release commit 086343ee482747ae20116165659e35620dc59cc6 Merge: a1ad512 c79ac59 Author: snowleo Date: Fri Aug 19 01:06:52 2011 +0200 Merge branch 'master' into release commit a1ad512a80dcbe15d59ba3e911b0e5f3500a3336 Merge: 9bb2ef9 6a9865c Author: snowleo Date: Fri Aug 19 00:42:26 2011 +0200 Merge branch 'master' into release commit 9bb2ef9cbe99d08beab8606446dfc5c5b3bc2377 Merge: 832910d beb34a7 Author: snowleo Date: Wed Jul 27 01:04:37 2011 +0200 Merge branch 'master' into release commit 832910d480bf2a209df49607c643b930e81b11f8 Merge: 13da2b2 1645417 Author: snowleo Date: Sat Jul 23 22:34:43 2011 +0200 Merge branch 'master' into release commit 13da2b29248be399ab4dcff29853c54a093aeeed Merge: 84ac520 7aea9e7 Author: snowleo Date: Sat Jul 23 20:06:00 2011 +0200 Merge branch 'master' into release commit 84ac520353ce7f80f762e7f5b4098d951567e239 Author: snowleo Date: Sat Jul 23 20:05:44 2011 +0200 Master and Release branch are now identical again. Removed warning for an older bukkit version. commit 5613975314ec358c66246ee6bef4eb4faa58dbed Merge: 662d30a dc0ca35 Author: snowleo Date: Sat Jul 23 03:11:14 2011 +0200 Merge branch 'master' into release commit 662d30ae45d5c655b7617d8342ceef6808374934 Merge: 57bee44 4099755 Author: snowleo Date: Sat Jul 23 03:07:38 2011 +0200 Merge branch 'master' into release commit 57bee443b1cecf0516b4c3d8733fc4382cf3f17d Merge: 621618e 0f3c0e8 Author: snowleo Date: Sat Jul 23 02:39:37 2011 +0200 Merge branch 'master' into release commit 621618e41fe1b8b4021aade20ee32693b3528bb3 Merge: 6ccb608 5455917 Author: snowleo Date: Thu Jul 21 02:58:39 2011 +0200 Merge branch 'master' into release commit 6ccb60813a165d2beb5df5e5080ac6041dd41b29 Merge: b341199 2067bb8 Author: snowleo Date: Thu Jul 21 02:52:25 2011 +0200 Merge branch 'master' into release commit b34119901ed89a0e3026df2aea0eca24bc0addd2 Merge: b317aef 4f31d27 Author: snowleo Date: Thu Jul 21 02:29:45 2011 +0200 Merge branch 'master' into release commit b317aef8c9b9574642c8e91c4d4c4b094da15cb8 Merge: fdbc6fa 8b41219 Author: snowleo Date: Thu Jul 21 00:31:39 2011 +0200 Merge branch 'master' into release commit fdbc6fa94fad33410962c99ea73a756d0fbf34ef Merge: 0ffe249 28dd14d Author: snowleo Date: Wed Jul 20 23:18:34 2011 +0200 Merge branch 'master' into release commit 0ffe24903abc266a7b1070b80e59a48c055c29da Merge: e550a7c f6e6e00 Author: snowleo Date: Wed Jul 20 23:09:40 2011 +0200 Merge branch 'master' into release commit e550a7cc44bf9bd323ae7bffa93f816e8bb94854 Merge: 82165a2 9efc084 Author: snowleo Date: Wed Jul 20 22:37:43 2011 +0200 Merge branch 'master' into release commit 82165a2af6c484efb1e30e6960ebe698ded50730 Merge: 63a4fe3 815b700 Author: snowleo Date: Wed Jul 20 22:22:02 2011 +0200 Merge branch 'master' into release commit 63a4fe32c178b849cd6bb75b5e8524256155650d Merge: 1c44a25 06dc9c2 Author: snowleo Date: Wed Jul 20 18:40:04 2011 +0200 Merge branch 'master' into release commit 1c44a25a4a96784b2ea4ee1e5bb71c88b275f865 Merge: cf21ece 0483635 Author: snowleo Date: Wed Jul 20 12:13:24 2011 +0200 Merge branch 'master' into release commit cf21ecee2ef61d45b622e0debf7de833ff76d36e Merge: 5467e50 3b59dd0 Author: snowleo Date: Tue Jul 19 12:09:48 2011 +0200 Merge branch 'master' into release commit 5467e502a58bfe73b6236855d7a5dd8c2e08a310 Merge: 6af9ec2 e805d10 Author: snowleo Date: Tue Jul 19 11:42:18 2011 +0200 Merge branch 'master' into release commit 6af9ec266b5fd6f054d93ca1f35f43d72dacb625 Merge: faa7e0e 150a0e0 Author: snowleo Date: Tue Jul 19 01:52:44 2011 +0200 Merge branch 'master' into release commit faa7e0e7a9f3459436524d17418b01bb4f912931 Merge: aa36060 fdbb651 Author: snowleo Date: Tue Jul 19 00:47:14 2011 +0200 Merge branch 'master' into release commit aa3606007acf56de3ed09848136e3c80f04f9164 Merge: db59749 d0bf190 Author: snowleo Date: Tue Jul 19 00:42:10 2011 +0200 Merge branch 'master' into release commit db5974970d757de0fdf41e85938c05ad97fb9547 Merge: ba2539d d2bc7e0 Author: snowleo Date: Mon Jul 18 20:55:31 2011 +0200 Merge branch 'master' into release commit ba2539db67ce7b177c8669d88b34629647206b6f Merge: 21d0661 e3a470e Author: snowleo Date: Mon Jul 18 02:30:16 2011 +0200 Merge branch 'master' into release commit 21d0661d79ff75af7d12298a43e6c2a2681dcc87 Merge: 9f3eb46 1556801 Author: snowleo Date: Mon Jul 18 01:49:45 2011 +0200 Merge branch 'master' into release commit 9f3eb461a97c2762f9c4692573ece8c23960c611 Merge: 34b0deb 48230f6 Author: snowleo Date: Sat Jul 16 17:04:46 2011 +0200 Merge branch 'master' into release commit 34b0deba29b4730fd3eb87925aa574bbb02ebb99 Merge: d9a93d8 088f50c Author: snowleo Date: Sat Jul 16 16:53:13 2011 +0200 Merge branch 'master' into release commit d9a93d8dfff77aea0a2d8b726954333efb9f1f26 Merge: 7477763 5ad12b5 Author: snowleo Date: Sat Jul 16 14:04:49 2011 +0200 Merge branch 'master' into release commit 747776344b275b02f37a7857b560d198c9ba0838 Author: snowleo Date: Sat Jul 16 13:32:10 2011 +0200 Fixing merge error commit f979a79081e6b9d97654d9142cc92d2277889f17 Merge: 367e984 e6685ab Author: snowleo Date: Sat Jul 16 13:25:12 2011 +0200 Merge branch 'master' into release Conflicts: Essentials/src/com/earth2me/essentials/Essentials.java Essentials/src/com/earth2me/essentials/EssentialsBlockListener.java Essentials/src/com/earth2me/essentials/commands/Commandspawner.java Essentials/src/com/earth2me/essentials/commands/Commandspawnmob.java Essentials/src/com/earth2me/essentials/register/payment/Methods.java Essentials/src/items.csv EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java lib/bukkit-0.0.1-SNAPSHOT.jar lib/craftbukkit-0.0.1-SNAPSHOT.jar commit 367e9840cc51b3fc56ca556574035fbeebc2847c Author: snowleo Date: Tue Jun 7 22:18:57 2011 +0200 Fix save inventory after logout for new players. commit ea590c2ed1c67009c1170680f28e15f4cec22534 Author: snowleo Date: Sun Jun 5 00:00:41 2011 +0000 NPE fix for offline users in UserData git-svn-id: https://svn.java.net/svn/essentials~svn/trunk@1583 e251c2fe-e539-e718-e476-b85c1f46cddb commit d93120257b170526a74a3620ef0064301f14dc58 Author: snowleo Date: Sat Jul 2 01:10:48 2011 +0200 Update of bukkit version number in essentials class commit e763b362d9f65941f6423e0613a0f5433fabb475 Author: snowleo Date: Sat Jul 2 01:09:19 2011 +0200 CB# 953 B# 754 commit e5eb1ca0cb610409ec719beb3d0ffc5603e0b28e Author: snowleo Date: Fri Jul 1 10:52:59 2011 +0200 More names for pistons (items.csv) Fix for /unlimited and pistons commit ea2649db5e6ded860b4fd096ad9938246f8857f7 Author: snowleo Date: Thu Jun 30 19:16:50 2011 +0200 Updated items.csv commit b53fc9cadc5a3f77c73bf34e768bd6f968537967 Author: snowleo Date: Thu Jun 30 18:54:05 2011 +0200 Renamed functions commit 4b35e1b72982295358e1a557f8cd78a38c81bc0e Author: snowleo Date: Thu Jun 30 18:43:23 2011 +0200 CB #946 B #750 commit 40e106db13fd58351bee9b82733b1900e96dc6a0 Author: snowleo Date: Mon Jun 27 11:57:03 2011 +0200 Fix /spawner command The name had to be first letter uppercase, the rest lowercase commit 3dc0659f664e0ac7f56f1e555da2fa9e97d7b2e8 Author: snowleo Date: Mon Jun 27 11:53:57 2011 +0200 Another fix to /spawnmob Merged for release commit e652ed2981888e39687fe0040b84683e04f74228 Author: snowleo Date: Sun Jun 26 02:00:57 2011 +0200 Copy&Paste is bad. commit 28db891aa51dcea8d15e8eb0bc3c5eb55ee24b59 Author: snowleo Date: Sun Jun 26 01:43:59 2011 +0200 Fix for Register inside Essentials commit b63ae9b771b10a4c0a5122501b98597ab939c62c Author: snowleo Date: Sun Jun 26 01:43:19 2011 +0200 SEVERE error messages for other plugins, that try to manually enable Essentials, FakePermissions or GroupManager commit 27c84ceaac8bf7ad7f192e087fcd324616a23611 Author: snowleo Date: Sat Jun 25 15:34:33 2011 +0200 Remove the restriction of EssEcoApi to not use iConomy or BOSE commit d67ccd03cadf77faf95cc253fbf50d88922a4209 Merge: 96b0f27 5e2f4bc Author: snowleo Date: Sat Jun 25 14:27:30 2011 +0200 Merge branch 'bukkitupdate' into release commit 96b0f27c5117c189a2686f6d1fc534a462e433c2 Author: snowleo Date: Sun Jun 12 02:47:50 2011 +0200 Fix for Craftbukkit Bug 912 --- .../src/com/earth2me/essentials/signs/EssentialsSign.java | 2 +- .../src/com/earth2me/essentials/signs/SignDisposal.java | 6 ++++-- .../src/com/earth2me/essentials/signs/SignFree.java | 15 ++++++++++++--- .../src/com/earth2me/essentials/signs/SignKit.java | 3 ++- .../src/com/earth2me/essentials/signs/SignTrade.java | 8 ++++---- 5 files changed, 23 insertions(+), 11 deletions(-) (limited to 'EssentialsSigns/src/com/earth2me/essentials/signs') diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java b/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java index 2a654600a..bfd9085a6 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java @@ -267,7 +267,7 @@ public class EssentialsSign final Double money = trade.getMoney(); if (money != null) { - sign.setLine(index, Util.formatCurrency(money, ess)); + sign.setLine(index, Util.shortCurrency(money, ess)); } } diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignDisposal.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignDisposal.java index a6c64ca0b..056c79e67 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignDisposal.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignDisposal.java @@ -2,7 +2,6 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; -import com.earth2me.essentials.craftbukkit.ShowInventory; public class SignDisposal extends EssentialsSign @@ -15,7 +14,10 @@ public class SignDisposal extends EssentialsSign @Override protected boolean onSignInteract(final ISign sign, final IUser player, final String username, final IEssentials ess) { - ShowInventory.showEmptyInventory(player.getBase()); + player.sendMessage("Bukkit broke this sign :("); + //TODO: wait for a fix in bukkit + //Problem: Items can be duplicated + //player.getBase().openInventory(ess.getServer().createInventory(player, 36)); return true; } } diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignFree.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignFree.java index 4e77a2ad7..96ae2fdce 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignFree.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignFree.java @@ -4,8 +4,10 @@ import static com.earth2me.essentials.I18n._; import com.earth2me.essentials.Trade; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; -import com.earth2me.essentials.craftbukkit.ShowInventory; +import com.earth2me.essentials.craftbukkit.InventoryWorkaround; import org.bukkit.Material; +import org.bukkit.event.inventory.InventoryType; +import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; @@ -32,8 +34,15 @@ public class SignFree extends EssentialsSign throw new SignException(_("cantSpawnItem", "Air")); } - item.setAmount(item.getType().getMaxStackSize() * 9 * 4); - ShowInventory.showFilledInventory(player.getBase(), item); + item.setAmount(item.getType().getMaxStackSize()); + InventoryWorkaround.addItem(player.getInventory(), true, item); + player.sendMessage("Item added to your inventory."); + player.updateInventory(); + //TODO: wait for a fix in bukkit + //Problem: Items can be duplicated + //Inventory i = ess.getServer().createInventory(player, InventoryType.CHEST); + //i.addItem(item); + //player.openInventory(i); Trade.log("Sign", "Free", "Interact", username, null, username, new Trade(item, ess), sign.getBlock().getLocation(), ess); return true; } diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java index f658f7e11..e150edfa2 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java @@ -20,7 +20,7 @@ public class SignKit extends EssentialsSign protected boolean onSignCreate(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException { validateTrade(sign, 3, ess); - + final String kitName = sign.getLine(1).toLowerCase(Locale.ENGLISH); if (kitName.isEmpty()) @@ -62,6 +62,7 @@ public class SignKit extends EssentialsSign final Kit kit = ess.getKits().getKit(kitName); ess.getKits().sendKit(player, kit); + //TODO: Implement Kits from 2.9 charge.charge(player); } catch (Exception ex) diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java index d72043f56..21cdbf441 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java @@ -139,11 +139,11 @@ public class SignTrade extends EssentialsSign final Double money = getMoney(split[0]); if (money != null) { - if (Util.formatCurrency(money, ess).length() * 2 > 15) + if (Util.shortCurrency(money, ess).length() * 2 > 15) { throw new SignException("Line can be too long!"); } - sign.setLine(index, Util.formatCurrency(money, ess) + ":0"); + sign.setLine(index, Util.shortCurrency(money, ess) + ":0"); return; } } @@ -159,7 +159,7 @@ public class SignTrade extends EssentialsSign { throw new SignException(_("moreThanZero")); } - sign.setLine(index, Util.formatCurrency(money, ess) + ":" + Util.formatCurrency(amount, ess).substring(1)); + sign.setLine(index, Util.shortCurrency(money, ess) + ":" + Util.shortCurrency(amount, ess).substring(1)); return; } } @@ -317,7 +317,7 @@ public class SignTrade extends EssentialsSign final Double amount = getDouble(split[1]); if (money != null && amount != null) { - final String newline = Util.formatCurrency(money, ess) + ":" + Util.formatCurrency(amount + value, ess).substring(1); + final String newline = Util.shortCurrency(money, ess) + ":" + Util.shortCurrency(amount + value, ess).substring(1); if (newline.length() > 15) { throw new SignException("This sign is full: Line too long!"); -- cgit v1.2.3 From 1bfe63da96ca91a736da95a6a82fc2ef747e3228 Mon Sep 17 00:00:00 2001 From: snowleo Date: Wed, 14 Mar 2012 03:01:23 +0100 Subject: Splitting permissions and ranks (renamed from groups) Deleted all old permissions handlers, since we fully use superperms now --- EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java | 4 ++-- EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java | 4 ++-- .../src/com/earth2me/essentials/signs/SignsPermissions.java | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) (limited to 'EssentialsSigns/src/com/earth2me/essentials/signs') diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java index e150edfa2..e54e837bd 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java @@ -4,7 +4,7 @@ import com.earth2me.essentials.api.ChargeException; import com.earth2me.essentials.Trade; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; -import com.earth2me.essentials.perm.KitPermissions; +import com.earth2me.essentials.permissions.KitPermissions; import com.earth2me.essentials.settings.Kit; import java.util.Locale; @@ -52,7 +52,7 @@ public class SignKit extends EssentialsSign { final String kitName = sign.getLine(1).toLowerCase(Locale.ENGLISH); final String group = sign.getLine(2); - if ((!group.isEmpty() && ("§2Everyone".equals(group) || ess.getGroups().inGroup(player, group))) + if ((!group.isEmpty() && ("§2Everyone".equals(group) || ess.getRanks().inGroup(player, group))) || (group.isEmpty() && KitPermissions.getPermission(kitName).isAuthorized(player))) { final Trade charge = getTrade(sign, 3, ess); diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java index 4b343c977..0131e06c6 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java @@ -154,7 +154,7 @@ public class SignProtection extends EssentialsSign for (int i = 1; i <= 2; i++) { final String line = sign.getLine(i); - if (line.startsWith("(") && line.endsWith(")") && ess.getGroups().inGroup(user, line.substring(1, line.length() - 1))) + if (line.startsWith("(") && line.endsWith(")") && ess.getRanks().inGroup(user, line.substring(1, line.length() - 1))) { return SignProtectionState.ALLOWED; } diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java index caabbfb04..281618ce6 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java @@ -4,7 +4,7 @@ import com.earth2me.essentials.api.ChargeException; import com.earth2me.essentials.Trade; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; -import com.earth2me.essentials.perm.WarpPermissions; +import com.earth2me.essentials.permissions.WarpPermissions; import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause; @@ -51,7 +51,7 @@ public class SignWarp extends EssentialsSign final String warpName = sign.getLine(1); final String group = sign.getLine(2); - if ((!group.isEmpty() && ("§2Everyone".equals(group) || ess.getGroups().inGroup(player, group))) + if ((!group.isEmpty() && ("§2Everyone".equals(group) || ess.getRanks().inGroup(player, group))) || (group.isEmpty() && WarpPermissions.getPermission(warpName).isAuthorized(player))) { final Trade charge = getTrade(sign, 3, ess); diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignsPermissions.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignsPermissions.java index 82c9bdca9..eb8025f5b 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignsPermissions.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignsPermissions.java @@ -1,7 +1,7 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.api.IPermission; -import com.earth2me.essentials.perm.BasePermission; +import com.earth2me.essentials.permissions.BasePermission; import java.util.HashMap; import java.util.Locale; import java.util.Map; -- cgit v1.2.3 From 1f8cf1935f1890517ad3405c0e74ddbedba2d916 Mon Sep 17 00:00:00 2001 From: snowleo Date: Wed, 14 Mar 2012 03:10:22 +0100 Subject: Move utils to new package --- EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'EssentialsSigns/src/com/earth2me/essentials/signs') diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java b/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java index bfd9085a6..4a5bd8a1f 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java @@ -3,7 +3,7 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.api.ChargeException; import static com.earth2me.essentials.I18n._; import com.earth2me.essentials.Trade; -import com.earth2me.essentials.Util; +import com.earth2me.essentials.utils.Util; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; import java.util.HashSet; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java index 0131e06c6..74f40b924 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java @@ -3,7 +3,7 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.api.ChargeException; import static com.earth2me.essentials.I18n._; import com.earth2me.essentials.Trade; -import com.earth2me.essentials.Util; +import com.earth2me.essentials.utils.Util; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; import java.util.*; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java index 21cdbf441..2cca465ce 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java @@ -3,7 +3,7 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.api.ChargeException; import static com.earth2me.essentials.I18n._; import com.earth2me.essentials.Trade; -import com.earth2me.essentials.Util; +import com.earth2me.essentials.utils.Util; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; import org.bukkit.inventory.ItemStack; -- cgit v1.2.3 From 90acb796f475356a9110af7ceb915efd80624de2 Mon Sep 17 00:00:00 2001 From: snowleo Date: Wed, 14 Mar 2012 03:58:53 +0100 Subject: Trade is part of Economy --- EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignFree.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignGameMode.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignHeal.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignSell.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignSpawnmob.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignTime.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java | 2 +- EssentialsSigns/src/com/earth2me/essentials/signs/SignWeather.java | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) (limited to 'EssentialsSigns/src/com/earth2me/essentials/signs') diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java b/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java index 4a5bd8a1f..54266b3b9 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/EssentialsSign.java @@ -2,7 +2,7 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.api.ChargeException; import static com.earth2me.essentials.I18n._; -import com.earth2me.essentials.Trade; +import com.earth2me.essentials.economy.Trade; import com.earth2me.essentials.utils.Util; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java index 90deed418..1f5951a16 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignBuy.java @@ -1,7 +1,7 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.api.ChargeException; -import com.earth2me.essentials.Trade; +import com.earth2me.essentials.economy.Trade; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java index e2ca49f1b..66f379d85 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java @@ -3,7 +3,7 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.api.ChargeException; import com.earth2me.essentials.Enchantments; import static com.earth2me.essentials.I18n._; -import com.earth2me.essentials.Trade; +import com.earth2me.essentials.economy.Trade; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; import java.util.Locale; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignFree.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignFree.java index 96ae2fdce..1452d4570 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignFree.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignFree.java @@ -1,7 +1,7 @@ package com.earth2me.essentials.signs; import static com.earth2me.essentials.I18n._; -import com.earth2me.essentials.Trade; +import com.earth2me.essentials.economy.Trade; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; import com.earth2me.essentials.craftbukkit.InventoryWorkaround; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignGameMode.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignGameMode.java index a61b378c1..74fc33509 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignGameMode.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignGameMode.java @@ -2,7 +2,7 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.api.ChargeException; import static com.earth2me.essentials.I18n._; -import com.earth2me.essentials.Trade; +import com.earth2me.essentials.economy.Trade; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; import java.util.Locale; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignHeal.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignHeal.java index 8d4896a78..920ff04e0 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignHeal.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignHeal.java @@ -2,7 +2,7 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.api.ChargeException; import static com.earth2me.essentials.I18n._; -import com.earth2me.essentials.Trade; +import com.earth2me.essentials.economy.Trade; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java index e54e837bd..f6471123f 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java @@ -1,7 +1,7 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.api.ChargeException; -import com.earth2me.essentials.Trade; +import com.earth2me.essentials.economy.Trade; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; import com.earth2me.essentials.permissions.KitPermissions; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java index 74f40b924..ca4f6b869 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java @@ -2,7 +2,7 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.api.ChargeException; import static com.earth2me.essentials.I18n._; -import com.earth2me.essentials.Trade; +import com.earth2me.essentials.economy.Trade; import com.earth2me.essentials.utils.Util; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignSell.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignSell.java index 6efe0ea2a..1ec8da077 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignSell.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignSell.java @@ -1,7 +1,7 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.api.ChargeException; -import com.earth2me.essentials.Trade; +import com.earth2me.essentials.economy.Trade; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignSpawnmob.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignSpawnmob.java index 8a96fe25f..577cc7a6b 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignSpawnmob.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignSpawnmob.java @@ -1,7 +1,7 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.api.ChargeException; -import com.earth2me.essentials.Trade; +import com.earth2me.essentials.economy.Trade; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; import com.earth2me.essentials.commands.Commandspawnmob; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignTime.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTime.java index 76bfb1105..3479b70b0 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignTime.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTime.java @@ -2,7 +2,7 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.api.ChargeException; import static com.earth2me.essentials.I18n._; -import com.earth2me.essentials.Trade; +import com.earth2me.essentials.economy.Trade; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java index 2cca465ce..7622493b7 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java @@ -2,7 +2,7 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.api.ChargeException; import static com.earth2me.essentials.I18n._; -import com.earth2me.essentials.Trade; +import com.earth2me.essentials.economy.Trade; import com.earth2me.essentials.utils.Util; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java index 281618ce6..ba724b733 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignWarp.java @@ -1,7 +1,7 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.api.ChargeException; -import com.earth2me.essentials.Trade; +import com.earth2me.essentials.economy.Trade; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; import com.earth2me.essentials.permissions.WarpPermissions; diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignWeather.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignWeather.java index bac05a825..17f7014fb 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignWeather.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignWeather.java @@ -2,7 +2,7 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.api.ChargeException; import static com.earth2me.essentials.I18n._; -import com.earth2me.essentials.Trade; +import com.earth2me.essentials.economy.Trade; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; -- cgit v1.2.3 From f9668be20ea977f271de288ec09b1dc45a6708b1 Mon Sep 17 00:00:00 2001 From: snowleo Date: Wed, 14 Mar 2012 04:32:40 +0100 Subject: Enchantments are part of bukkit --- EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'EssentialsSigns/src/com/earth2me/essentials/signs') diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java index 66f379d85..4c5deb51f 100644 --- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java @@ -1,7 +1,7 @@ package com.earth2me.essentials.signs; import com.earth2me.essentials.api.ChargeException; -import com.earth2me.essentials.Enchantments; +import com.earth2me.essentials.bukkit.Enchantments; import static com.earth2me.essentials.I18n._; import com.earth2me.essentials.economy.Trade; import com.earth2me.essentials.api.IEssentials; -- cgit v1.2.3