summaryrefslogtreecommitdiffstats
path: root/EssentialsSigns/src/com
diff options
context:
space:
mode:
authorPaul A. <ementalodev@gmx.co.uk>2012-06-05 18:20:06 -0700
committerPaul A. <ementalodev@gmx.co.uk>2012-06-05 18:20:06 -0700
commit9f3b3d5873c1d8be06586b4821a4b253c8c99ac9 (patch)
tree373d92a3625d5b9caefe3798dddc5e7e2c74a85a /EssentialsSigns/src/com
parentb69a16bcf0abac1ebd2ca3d35520cfcb5b433e88 (diff)
parent5c0f944b2b0bd7e335dabe54cccaf12d5a3b9cba (diff)
downloadEssentials-9f3b3d5873c1d8be06586b4821a4b253c8c99ac9.tar
Essentials-9f3b3d5873c1d8be06586b4821a4b253c8c99ac9.tar.gz
Essentials-9f3b3d5873c1d8be06586b4821a4b253c8c99ac9.tar.lz
Essentials-9f3b3d5873c1d8be06586b4821a4b253c8c99ac9.tar.xz
Essentials-9f3b3d5873c1d8be06586b4821a4b253c8c99ac9.zip
Merge pull request #73 from ementalo/3.0
2.9 -> 3.0 merge Metrics has been disable atm. Everything eeds a thorough going over, settings are prob in wrong place etc.
Diffstat (limited to 'EssentialsSigns/src/com')
-rw-r--r--EssentialsSigns/src/com/earth2me/essentials/signs/SignBalance.java3
-rw-r--r--EssentialsSigns/src/com/earth2me/essentials/signs/SignBlockListener.java78
-rw-r--r--EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java4
-rw-r--r--EssentialsSigns/src/com/earth2me/essentials/signs/SignEntityListener.java12
-rw-r--r--EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java10
-rw-r--r--EssentialsSigns/src/com/earth2me/essentials/signs/SignPlayerListener.java11
-rw-r--r--EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java2
-rw-r--r--EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java2
-rw-r--r--EssentialsSigns/src/com/earth2me/essentials/signs/Signs.java1
-rw-r--r--EssentialsSigns/src/com/earth2me/essentials/signs/SignsConfigHolder.java23
10 files changed, 84 insertions, 62 deletions
diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignBalance.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignBalance.java
index 2ef64003a..cb8e568aa 100644
--- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignBalance.java
+++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignBalance.java
@@ -3,6 +3,7 @@ package com.earth2me.essentials.signs;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.api.IEssentials;
import com.earth2me.essentials.api.IUser;
+import com.earth2me.essentials.utils.Util;
public class SignBalance extends EssentialsSign
@@ -15,7 +16,7 @@ public class SignBalance extends EssentialsSign
@Override
protected boolean onSignInteract(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException
{
- player.sendMessage(_("balance", player.getMoney()));
+ player.sendMessage(_("balance", Util.displayCurrency(player.getMoney(), ess)));
return true;
}
}
diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignBlockListener.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignBlockListener.java
index b16cdb07e..a2465c76d 100644
--- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignBlockListener.java
+++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignBlockListener.java
@@ -1,7 +1,9 @@
package com.earth2me.essentials.signs;
import com.earth2me.essentials.api.IEssentials;
+import com.earth2me.essentials.api.ISettings;
import com.earth2me.essentials.api.IUser;
+import com.earth2me.essentials.utils.Util;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.bukkit.Material;
@@ -19,6 +21,8 @@ public class SignBlockListener implements Listener
private final transient IEssentials ess;
private final transient ISignsPlugin plugin;
private final static Logger LOGGER = Logger.getLogger("Minecraft");
+ private final static int WALL_SIGN = Material.WALL_SIGN.getId();
+ private final static int SIGN_POST = Material.SIGN_POST.getId();
public SignBlockListener(final IEssentials ess, final ISignsPlugin plugin)
{
@@ -26,10 +30,12 @@ public class SignBlockListener implements Listener
this.plugin = plugin;
}
- @EventHandler(priority = EventPriority.HIGHEST)
+ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onBlockBreak(final BlockBreakEvent event)
{
- if (event.isCancelled())
+ ISettings settings = ess.getSettings();
+ settings.acquireReadLock();
+ if (plugin.getSettings().areSignsDisabled())
{
return;
}
@@ -43,7 +49,7 @@ public class SignBlockListener implements Listener
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())
+ if (mat == SIGN_POST || mat == WALL_SIGN)
{
final Sign csign = (Sign)block.getState();
@@ -56,15 +62,13 @@ public class SignBlockListener implements Listener
}
}
}
- else
+ // prevent any signs be broken by destroying the block they are attached to
+ if (EssentialsSign.checkIfBlockBreaksSigns(block))
{
- // 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 (EssentialsSign sign : plugin.getSettings().getEnabledSigns())
+ LOGGER.log(Level.INFO, "Prevented that a block was broken next to a sign.");
+ return true;
+ }
+ for (EssentialsSign sign : plugin.getSettings().getEnabledSigns())
{
if (sign.getBlocks().contains(block.getType())
&& !sign.onBlockBreak(block, player, ess))
@@ -72,26 +76,24 @@ public class SignBlockListener implements Listener
LOGGER.log(Level.INFO, "A block was protected by a sign.");
return true;
}
- }
- }
+ }
return false;
}
- @EventHandler(priority = EventPriority.HIGHEST)
+ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onSignChange(final SignChangeEvent event)
{
- if (event.isCancelled())
+ if (plugin.getSettings().areSignsDisabled())
{
return;
}
IUser user = ess.getUser(event.getPlayer());
- if (SignsPermissions.COLOR.isAuthorized(user))
+
+ for (int i = 0; i < 4; i++)
{
- for (int i = 0; i < 4; i++)
- {
- event.setLine(i, event.getLine(i).replaceAll("&([0-9a-f])", "ยง$1"));
- }
+ event.setLine(i, Util.formatString(user, "essentials.signs", event.getLine(i)));
}
+
for (Signs signs : Signs.values())
{
final EssentialsSign sign = signs.getSign();
@@ -109,25 +111,25 @@ public class SignBlockListener implements Listener
}
}
- @EventHandler(priority = EventPriority.LOW)
+ @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onBlockPlace(final BlockPlaceEvent event)
{
- if (event.isCancelled())
+ if (plugin.getSettings().areSignsDisabled())
{
return;
}
final Block against = event.getBlockAgainst();
- if ((against.getType() == Material.WALL_SIGN
- || against.getType() == Material.SIGN_POST)
+ if ((against.getTypeId() == WALL_SIGN
+ || against.getTypeId() == 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)
+ if (block.getTypeId() == WALL_SIGN
+ || block.getTypeId() == SIGN_POST)
{
return;
}
@@ -143,17 +145,17 @@ public class SignBlockListener implements Listener
}
}
- @EventHandler(priority = EventPriority.LOW)
+ @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onBlockBurn(final BlockBurnEvent event)
{
- if (event.isCancelled())
+ if (plugin.getSettings().areSignsDisabled())
{
return;
}
final Block block = event.getBlock();
- if (((block.getType() == Material.WALL_SIGN
- || block.getType() == Material.SIGN_POST)
+ if (((block.getTypeId() == WALL_SIGN
+ || block.getTypeId() == SIGN_POST)
&& EssentialsSign.isValidSign(new EssentialsSign.BlockSign(block)))
|| EssentialsSign.checkIfBlockBreaksSigns(block))
{
@@ -171,17 +173,17 @@ public class SignBlockListener implements Listener
}
}
- @EventHandler(priority = EventPriority.LOW)
+ @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onBlockIgnite(final BlockIgniteEvent event)
{
- if (event.isCancelled())
+ if (plugin.getSettings().areSignsDisabled())
{
return;
}
final Block block = event.getBlock();
- if (((block.getType() == Material.WALL_SIGN
- || block.getType() == Material.SIGN_POST)
+ if (((block.getTypeId() == WALL_SIGN
+ || block.getTypeId() == SIGN_POST)
&& EssentialsSign.isValidSign(new EssentialsSign.BlockSign(block)))
|| EssentialsSign.checkIfBlockBreaksSigns(block))
{
@@ -204,8 +206,8 @@ public class SignBlockListener implements Listener
{
for (Block block : event.getBlocks())
{
- if (((block.getType() == Material.WALL_SIGN
- || block.getType() == Material.SIGN_POST)
+ if (((block.getTypeId() == WALL_SIGN
+ || block.getTypeId() == SIGN_POST)
&& EssentialsSign.isValidSign(new EssentialsSign.BlockSign(block)))
|| EssentialsSign.checkIfBlockBreaksSigns(block))
{
@@ -230,8 +232,8 @@ public class SignBlockListener implements Listener
if (event.isSticky())
{
final Block block = event.getBlock();
- if (((block.getType() == Material.WALL_SIGN
- || block.getType() == Material.SIGN_POST)
+ if (((block.getTypeId() == WALL_SIGN
+ || block.getTypeId() == SIGN_POST)
&& EssentialsSign.isValidSign(new EssentialsSign.BlockSign(block)))
|| EssentialsSign.checkIfBlockBreaksSigns(block))
{
diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java
index 4c5deb51f..f974b2e25 100644
--- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java
+++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignEnchant.java
@@ -39,7 +39,7 @@ public class SignEnchant extends EssentialsSign
}
catch (NumberFormatException ex)
{
- throw new SignException(ex.getMessage());
+ throw new SignException(ex.getMessage(), ex);
}
if (level < 1 || level > enchantment.getMaxLevel())
{
@@ -55,7 +55,7 @@ public class SignEnchant extends EssentialsSign
}
catch (Throwable ex)
{
- throw new SignException(ex.getMessage());
+ throw new SignException(ex.getMessage(), ex);
}
getTrade(sign, 3, ess);
return true;
diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignEntityListener.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignEntityListener.java
index 96d5e7222..213b0e125 100644
--- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignEntityListener.java
+++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignEntityListener.java
@@ -26,8 +26,8 @@ public class SignEntityListener implements Listener
{
for (Block block : event.blockList())
{
- if (((block.getType() == Material.WALL_SIGN
- || block.getType() == Material.SIGN_POST)
+ if (((block.getTypeId() == Material.WALL_SIGN.getId()
+ || block.getTypeId() == Material.SIGN_POST.getId())
&& EssentialsSign.isValidSign(new EssentialsSign.BlockSign(block)))
|| EssentialsSign.checkIfBlockBreaksSigns(block))
{
@@ -45,17 +45,17 @@ public class SignEntityListener implements Listener
}
}
- @EventHandler(priority = EventPriority.LOW)
+ @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onEntityChangeBlock(final EntityChangeBlockEvent event)
{
- if (event.isCancelled())
+ if (plugin.getSettings().areSignsDisabled())
{
return;
}
final Block block = event.getBlock();
- if (((block.getType() == Material.WALL_SIGN
- || block.getType() == Material.SIGN_POST)
+ if (((block.getTypeId() == Material.WALL_SIGN.getId()
+ || block.getTypeId() == Material.SIGN_POST.getId())
&& EssentialsSign.isValidSign(new EssentialsSign.BlockSign(block)))
|| EssentialsSign.checkIfBlockBreaksSigns(block))
{
diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java
index f6471123f..b33e05a35 100644
--- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java
+++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java
@@ -1,5 +1,6 @@
package com.earth2me.essentials.signs;
+import com.earth2me.essentials.Kits;
import com.earth2me.essentials.api.ChargeException;
import com.earth2me.essentials.economy.Trade;
import com.earth2me.essentials.api.IEssentials;
@@ -58,11 +59,10 @@ public class SignKit extends EssentialsSign
final Trade charge = getTrade(sign, 3, ess);
charge.isAffordableFor(player);
try
- {
- final Kit kit = ess.getKits().getKit(kitName);
- ess.getKits().sendKit(player, kit);
-
- //TODO: Implement Kits from 2.9
+ {;
+ final Kit kit = ess.getKits().getKit(kitName);
+ ess.getKits().checkTime(player, kit);
+ ess.getKits().sendKit(player,kit);
charge.charge(player);
}
catch (Exception ex)
diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignPlayerListener.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignPlayerListener.java
index 3aed5d155..9d597820f 100644
--- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignPlayerListener.java
+++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignPlayerListener.java
@@ -22,26 +22,22 @@ public class SignPlayerListener implements Listener
this.plugin = plugin;
}
- @EventHandler(priority = EventPriority.LOW)
+ @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onPlayerInteract(final PlayerInteractEvent event)
{
- if (event.isCancelled())
+ if (plugin.getSettings().areSignsDisabled() || event.getAction() != Action.RIGHT_CLICK_BLOCK)
{
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 (EssentialsSign sign : plugin.getSettings().getEnabledSigns())
{
@@ -62,7 +58,6 @@ public class SignPlayerListener implements Listener
{
event.setCancelled(true);
return;
-
}
}
}
diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java
index ca4f6b869..bfdacee41 100644
--- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java
+++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignProtection.java
@@ -147,7 +147,7 @@ public class SignProtection extends EssentialsSign
{
return SignProtectionState.OWNER;
}
- if (Util.stripColor(sign.getLine(3)).equalsIgnoreCase(username))
+ if (Util.stripFormat(sign.getLine(3)).equalsIgnoreCase(username))
{
return SignProtectionState.OWNER;
}
diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java
index 7622493b7..0dcb58c95 100644
--- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java
+++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignTrade.java
@@ -228,7 +228,7 @@ public class SignTrade extends EssentialsSign
}
catch (SignException e)
{
- throw new SignException(_("tradeSignEmpty"));
+ throw new SignException(_("tradeSignEmpty"), e);
}
}
diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/Signs.java b/EssentialsSigns/src/com/earth2me/essentials/signs/Signs.java
index e29d45ad4..2cf05ee77 100644
--- a/EssentialsSigns/src/com/earth2me/essentials/signs/Signs.java
+++ b/EssentialsSigns/src/com/earth2me/essentials/signs/Signs.java
@@ -19,6 +19,7 @@ public enum Signs
TRADE(new SignTrade()),
WARP(new SignWarp()),
WEATHER(new SignWeather());
+
private final EssentialsSign sign;
private Signs(final EssentialsSign sign)
diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignsConfigHolder.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignsConfigHolder.java
index dcf436b03..d5ece9f69 100644
--- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignsConfigHolder.java
+++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignsConfigHolder.java
@@ -12,6 +12,7 @@ public class SignsConfigHolder extends AsyncStorageObjectHolder<SignsConfig>
{
private final Plugin plugin;
private Set<EssentialsSign> enabledSigns = new HashSet<EssentialsSign>();
+ private boolean signsEnabled = false;
public SignsConfigHolder(final IEssentials ess, final Plugin plugin)
{
@@ -24,6 +25,11 @@ public class SignsConfigHolder extends AsyncStorageObjectHolder<SignsConfig>
Map<String, Boolean> signs = getData().getSigns();
for (Map.Entry<String, Boolean> entry : signs.entrySet())
{
+ if(entry.getKey().trim().toUpperCase(Locale.ENGLISH).equals("COLOR") || entry.getKey().trim().toUpperCase(Locale.ENGLISH).equals("COLOUR"))
+ {
+ signsEnabled = true;
+ continue;
+ }
Signs sign = Signs.valueOf(entry.getKey().toUpperCase(Locale.ENGLISH));
if (sign != null && entry.getValue())
{
@@ -61,4 +67,21 @@ public class SignsConfigHolder extends AsyncStorageObjectHolder<SignsConfig>
{
return enabledSigns;
}
+
+ public boolean areSignsDisabled()
+ {
+ return !signsEnabled;
+ }
+
+ @Override
+ public void finishRead()
+ {
+
+ }
+
+ @Override
+ public void finishWrite()
+ {
+
+ }
}