mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-02-11 11:49:12 +00:00
Fix and give better sign errors.
This commit is contained in:
parent
d722e6a9f0
commit
f1930e76d6
6 changed files with 21 additions and 2 deletions
|
@ -438,11 +438,13 @@ public class EssentialsSign
|
|||
{
|
||||
private final transient SignChangeEvent event;
|
||||
private final transient Block block;
|
||||
private final transient Sign sign;
|
||||
|
||||
public EventSign(final SignChangeEvent event)
|
||||
{
|
||||
this.event = event;
|
||||
this.block = event.getBlock();
|
||||
this.sign = (Sign)block.getState();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -455,6 +457,8 @@ public class EssentialsSign
|
|||
public final void setLine(final int index, final String text)
|
||||
{
|
||||
event.setLine(index, text);
|
||||
sign.setLine(index, text);
|
||||
updateSign();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -466,6 +470,7 @@ public class EssentialsSign
|
|||
@Override
|
||||
public void updateSign()
|
||||
{
|
||||
sign.update();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -21,11 +21,13 @@ public class SignEnchant extends EssentialsSign
|
|||
final String[] enchantLevel = sign.getLine(2).split(":");
|
||||
if (enchantLevel.length != 2)
|
||||
{
|
||||
sign.setLine(2, "§c<enchant>");
|
||||
throw new SignException(_("invalidSignLine", 3));
|
||||
}
|
||||
final Enchantment enchantment = Enchantments.getByName(enchantLevel[0]);
|
||||
if (enchantment == null)
|
||||
{
|
||||
sign.setLine(2, "§c<enchant>");
|
||||
throw new SignException(_("enchantmentNotFound"));
|
||||
}
|
||||
int level;
|
||||
|
@ -35,6 +37,7 @@ public class SignEnchant extends EssentialsSign
|
|||
}
|
||||
catch (NumberFormatException ex)
|
||||
{
|
||||
sign.setLine(2, "§c<enchant>");
|
||||
throw new SignException(ex.getMessage(), ex);
|
||||
}
|
||||
if (level < 1 || level > enchantment.getMaxLevel())
|
||||
|
|
|
@ -19,7 +19,14 @@ public class SignFree extends EssentialsSign
|
|||
@Override
|
||||
protected boolean onSignCreate(final ISign sign, final User player, final String username, final IEssentials ess) throws SignException
|
||||
{
|
||||
getItemStack(sign.getLine(1), 1, ess);
|
||||
try {
|
||||
getItemStack(sign.getLine(1), 1, ess);
|
||||
}
|
||||
catch (SignException ex)
|
||||
{
|
||||
sign.setLine(1, "§c<item>");
|
||||
throw new SignException(ex.getMessage(), ex);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ public class SignRepair extends EssentialsSign
|
|||
}
|
||||
else if (!repairTarget.equalsIgnoreCase("all") && !repairTarget.equalsIgnoreCase("hand") )
|
||||
{
|
||||
sign.setLine(1, "§c<hand|all>");
|
||||
throw new SignException(_("invalidSignLine", 2));
|
||||
}
|
||||
validateTrade(sign, 2, ess);
|
||||
|
|
|
@ -17,12 +17,14 @@ public class SignWarp extends EssentialsSign
|
|||
@Override
|
||||
protected boolean onSignCreate(final ISign sign, final User player, final String username, final IEssentials ess) throws SignException
|
||||
{
|
||||
ess.getLogger().info("triggered warp sign create");
|
||||
validateTrade(sign, 3, ess);
|
||||
final String warpName = sign.getLine(1);
|
||||
|
||||
if (warpName.isEmpty())
|
||||
{
|
||||
sign.setLine(1, "§dWarp name!");
|
||||
ess.getLogger().info("trying to change sign to show error");
|
||||
sign.setLine(1, "§c<Warp name>");
|
||||
return false;
|
||||
}
|
||||
else
|
||||
|
|
|
@ -29,6 +29,7 @@ public class SignWeather extends EssentialsSign
|
|||
sign.setLine(1, "§2Storm");
|
||||
return true;
|
||||
}
|
||||
sign.setLine(1, "§c<sun|storm>");
|
||||
throw new SignException(_("onlySunStorm"));
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue