summaryrefslogtreecommitdiffstats
path: root/EssentialsSigns/src/com/earth2me/essentials/signs
diff options
context:
space:
mode:
Diffstat (limited to 'EssentialsSigns/src/com/earth2me/essentials/signs')
-rw-r--r--EssentialsSigns/src/com/earth2me/essentials/signs/SignBalance.java3
-rw-r--r--EssentialsSigns/src/com/earth2me/essentials/signs/SignBlockListener.java74
-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.java6
-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
9 files changed, 60 insertions, 55 deletions
diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignBalance.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignBalance.java
index 2ef64003a..77f82bdb5 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.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..c678c2efa 100644
--- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignBlockListener.java
+++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignBlockListener.java
@@ -2,6 +2,7 @@ package com.earth2me.essentials.signs;
import com.earth2me.essentials.api.IEssentials;
import com.earth2me.essentials.api.IUser;
+import com.earth2me.essentials.Util;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.bukkit.Material;
@@ -19,6 +20,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 +29,10 @@ 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())
+ if (ess.getSettings().areSignsDisabled())
{
return;
}
@@ -43,7 +46,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,12 +59,18 @@ 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 : ess.getSettings().enabledSigns())
+ {
+ if (sign.getBlocks().contains(block.getType())
+ && !sign.onBlockBreak(block, player, ess))
{
- LOGGER.log(Level.INFO, "Prevented that a block was broken next to a sign.");
+ LOGGER.log(Level.INFO, "A block was protected by a sign.");
return true;
}
for (EssentialsSign sign : plugin.getSettings().getEnabledSigns())
@@ -77,21 +86,20 @@ public class SignBlockListener implements Listener
return false;
}
- @EventHandler(priority = EventPriority.HIGHEST)
+ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onSignChange(final SignChangeEvent event)
{
- if (event.isCancelled())
+ if (ess.getSettings().areSignsDisabled())
{
return;
}
- IUser user = ess.getUser(event.getPlayer());
- if (SignsPermissions.COLOR.isAuthorized(user))
+ User user = ess.getUser(event.getPlayer());
+
+ 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 +117,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 (ess.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 +151,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 (ess.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 +179,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 (ess.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 +212,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 +238,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..00ebc60d0 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 (ess.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..46bbb65db 100644
--- a/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java
+++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignKit.java
@@ -60,9 +60,9 @@ public class SignKit extends EssentialsSign
try
{
final Kit kit = ess.getKits().getKit(kitName);
- ess.getKits().sendKit(player, kit);
-
- //TODO: Implement Kits from 2.9
+ Kit.checkTime(player, kitName, kit);
+ final List<String> items = Kit.getItems(player, kit);
+ Kit.expandItems(ess, player, items);
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..1a401ce64 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 (ess.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)