summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKHobbits <rob@khobbits.co.uk>2011-11-16 00:21:55 +0000
committerKHobbits <rob@khobbits.co.uk>2011-11-16 00:21:55 +0000
commitc0d046841fe2a1f21f81e43649d7b8a4068864c7 (patch)
tree64d3654d388057766ae10052a40857d9b766df7a
parente4c3f7b11576e8baafa511a509d4f6041823257b (diff)
downloadEssentials-c0d046841fe2a1f21f81e43649d7b8a4068864c7.tar
Essentials-c0d046841fe2a1f21f81e43649d7b8a4068864c7.tar.gz
Essentials-c0d046841fe2a1f21f81e43649d7b8a4068864c7.tar.lz
Essentials-c0d046841fe2a1f21f81e43649d7b8a4068864c7.tar.xz
Essentials-c0d046841fe2a1f21f81e43649d7b8a4068864c7.zip
Gamemode sign, standard sign permissions.
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandgamemode.java1
-rw-r--r--Essentials/src/com/earth2me/essentials/signs/SignGameMode.java36
-rw-r--r--Essentials/src/com/earth2me/essentials/signs/Signs.java1
3 files changed, 37 insertions, 1 deletions
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandgamemode.java b/Essentials/src/com/earth2me/essentials/commands/Commandgamemode.java
index 90e9df143..b19aa5d14 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandgamemode.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandgamemode.java
@@ -38,7 +38,6 @@ public class Commandgamemode extends EssentialsCommand
}
}
player.setGameMode(player.getGameMode() == GameMode.SURVIVAL ? GameMode.CREATIVE : GameMode.SURVIVAL);
- //TODO: add this to messages?
sender.sendMessage(Util.format("gameMode", Util.i18n(player.getGameMode().toString().toLowerCase()), player.getDisplayName()));
}
}
diff --git a/Essentials/src/com/earth2me/essentials/signs/SignGameMode.java b/Essentials/src/com/earth2me/essentials/signs/SignGameMode.java
new file mode 100644
index 000000000..a3b8cd275
--- /dev/null
+++ b/Essentials/src/com/earth2me/essentials/signs/SignGameMode.java
@@ -0,0 +1,36 @@
+package com.earth2me.essentials.signs;
+
+import com.earth2me.essentials.Trade;
+import com.earth2me.essentials.ChargeException;
+import com.earth2me.essentials.IEssentials;
+import com.earth2me.essentials.User;
+import com.earth2me.essentials.Util;
+import org.bukkit.GameMode;
+
+
+public class SignGameMode extends EssentialsSign
+{
+ public SignGameMode()
+ {
+ super("GameMode");
+ }
+
+ @Override
+ protected boolean onSignCreate(final ISign sign, final User player, final String username, final IEssentials ess) throws SignException
+ {
+ validateTrade(sign, 1, ess);
+ return true;
+ }
+
+ @Override
+ protected boolean onSignInteract(final ISign sign, final User player, final String username, final IEssentials ess) throws SignException, ChargeException
+ {
+ final Trade charge = getTrade(sign, 1, ess);
+ charge.isAffordableFor(player);
+
+ player.setGameMode(player.getGameMode() == GameMode.SURVIVAL ? GameMode.CREATIVE : GameMode.SURVIVAL);
+ player.sendMessage(Util.format("gameMode", Util.i18n(player.getGameMode().toString().toLowerCase()), player.getDisplayName()));
+ charge.charge(player);
+ return true;
+ }
+}
diff --git a/Essentials/src/com/earth2me/essentials/signs/Signs.java b/Essentials/src/com/earth2me/essentials/signs/Signs.java
index 53ed1d6b0..d7c0d2086 100644
--- a/Essentials/src/com/earth2me/essentials/signs/Signs.java
+++ b/Essentials/src/com/earth2me/essentials/signs/Signs.java
@@ -7,6 +7,7 @@ public enum Signs
BUY(new SignBuy()),
DISPOSAL(new SignDisposal()),
FREE(new SignFree()),
+ GAMEMODE(new SignGameMode()),
HEAL(new SignHeal()),
MAIL(new SignMail()),
PROTECTION(new SignProtection()),