diff options
Diffstat (limited to 'EssentialsSigns/src/net/ess3/signs/SignGameMode.java')
-rw-r--r-- | EssentialsSigns/src/net/ess3/signs/SignGameMode.java | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/EssentialsSigns/src/net/ess3/signs/SignGameMode.java b/EssentialsSigns/src/net/ess3/signs/SignGameMode.java index a8ef5a881..b2e1b2db2 100644 --- a/EssentialsSigns/src/net/ess3/signs/SignGameMode.java +++ b/EssentialsSigns/src/net/ess3/signs/SignGameMode.java @@ -19,16 +19,30 @@ public class SignGameMode extends EssentialsSign @Override protected boolean onSignCreate(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException { - validateTrade(sign, 1, ess); + final String gamemode = sign.getLine(1); + if (gamemode.isEmpty()) + { + sign.setLine(1, "Survival"); + } + + validateTrade(sign, 2, 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); + final Trade charge = getTrade(sign, 2, ess); + final String mode = sign.getLine(1).trim(); + + if (mode.isEmpty()) + { + throw new SignException(_("invalidSignLine", 2)); + } charge.isAffordableFor(player); - + + //this needs to be fixed player.setGameMode(player.getGameMode() == GameMode.SURVIVAL ? GameMode.CREATIVE : GameMode.SURVIVAL); player.sendMessage(_("gameMode", _(player.getGameMode().toString().toLowerCase(Locale.ENGLISH)), player.getDisplayName())); charge.charge(player); |