summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKHobbits <rob@khobbits.co.uk>2012-09-02 06:54:58 +0100
committerKHobbits <rob@khobbits.co.uk>2012-09-02 06:54:58 +0100
commit814ec196fc048e862f492c9757cff7428f3be210 (patch)
treed3c9dfde6d2ff5bb797c9ef21364210b8f04bccb
parentff6bb07580f7a2f714795d789f0a9fc887f72f16 (diff)
downloadEssentials-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.java10
-rw-r--r--Essentials/src/plugin.yml2
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]