diff options
author | KHobbits <rob@khobbits.co.uk> | 2012-09-02 06:54:58 +0100 |
---|---|---|
committer | KHobbits <rob@khobbits.co.uk> | 2012-09-02 06:54:58 +0100 |
commit | 814ec196fc048e862f492c9757cff7428f3be210 (patch) | |
tree | d3c9dfde6d2ff5bb797c9ef21364210b8f04bccb | |
parent | ff6bb07580f7a2f714795d789f0a9fc887f72f16 (diff) | |
download | Essentials-814ec196fc048e862f492c9757cff7428f3be210.tar Essentials-814ec196fc048e862f492c9757cff7428f3be210.tar.gz Essentials-814ec196fc048e862f492c9757cff7428f3be210.tar.lz Essentials-814ec196fc048e862f492c9757cff7428f3be210.tar.xz Essentials-814ec196fc048e862f492c9757cff7428f3be210.zip |
Add support for /gamemode toggle | /gamemode t and /gmt to toggle between the 3 gamemodes.
-rw-r--r-- | Essentials/src/com/earth2me/essentials/commands/Commandgamemode.java | 10 | ||||
-rw-r--r-- | Essentials/src/plugin.yml | 2 |
2 files changed, 10 insertions, 2 deletions
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandgamemode.java b/Essentials/src/com/earth2me/essentials/commands/Commandgamemode.java index af4bafc4b..85aeaa673 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandgamemode.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandgamemode.java @@ -52,6 +52,9 @@ public class Commandgamemode extends EssentialsCommand return; } } + if (gameMode == null) { + gameMode = user.getGameMode() == GameMode.SURVIVAL ? GameMode.CREATIVE : user.getGameMode() == GameMode.CREATIVE ? GameMode.ADVENTURE : GameMode.SURVIVAL; + } user.setGameMode(gameMode); user.sendMessage(_("gameMode", _(user.getGameMode().toString().toLowerCase(Locale.ENGLISH)), user.getDisplayName())); } @@ -59,7 +62,7 @@ public class Commandgamemode extends EssentialsCommand private void gamemodeOtherPlayers(final Server server, final CommandSender sender, final GameMode gameMode, final String player) throws NotEnoughArgumentsException { //TODO: TL this - if (player.trim().length() < 2) + if (player.trim().length() < 2 || gameMode == null) { throw new NotEnoughArgumentsException("You need to specify a valid player/mode."); } @@ -100,6 +103,11 @@ public class Commandgamemode extends EssentialsCommand { mode = GameMode.ADVENTURE; } + else if (modeString.equalsIgnoreCase("gmt") || modeString.equalsIgnoreCase("egmt") + || modeString.contains("toggle") || modeString.contains("cycle") || modeString.equalsIgnoreCase("t")) + { + mode = null; + } else { throw new NotEnoughArgumentsException(); } diff --git a/Essentials/src/plugin.yml b/Essentials/src/plugin.yml index 899c20de6..42a36e5a5 100644 --- a/Essentials/src/plugin.yml +++ b/Essentials/src/plugin.yml @@ -122,7 +122,7 @@ commands: gamemode: description: Change player gamemode. usage: /<command> <survival|creative|adventure> [player] - aliases: [gm,creative,creativemode,survival,survivalmode,adventure,adventuremode,gmc,gma,gms,egamemod,eecreative,ecreativemode,esurvival,esurvivalmode,eadventure,eadventuremode,egmc,egma,egms,egm] + aliases: [gm,creative,creativemode,survival,survivalmode,adventure,adventuremode,gmc,gma,gms,gmt,egamemod,eecreative,ecreativemode,esurvival,esurvivalmode,eadventure,eadventuremode,egmc,egma,egms,egm,egmt] getpos: description: Get your current coordinates or those of a player. usage: /<command> [player] |