summaryrefslogtreecommitdiffstats
path: root/EssentialsSigns/src/net/ess3/signs/SignGameMode.java
diff options
context:
space:
mode:
Diffstat (limited to 'EssentialsSigns/src/net/ess3/signs/SignGameMode.java')
-rw-r--r--EssentialsSigns/src/net/ess3/signs/SignGameMode.java20
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);