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
commit21ebe590949e00c46728d23428ccc4ac0371c598 (patch)
treedc4d60a65968b0e6ff75f5b0e8af1c8c9f83ae42
parent929e2ce4c91f46abe73eca048fd37c27c07c9fd0 (diff)
downloadEssentials-21ebe590949e00c46728d23428ccc4ac0371c598.tar
Essentials-21ebe590949e00c46728d23428ccc4ac0371c598.tar.gz
Essentials-21ebe590949e00c46728d23428ccc4ac0371c598.tar.lz
Essentials-21ebe590949e00c46728d23428ccc4ac0371c598.tar.xz
Essentials-21ebe590949e00c46728d23428ccc4ac0371c598.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()),