summaryrefslogtreecommitdiffstats
path: root/EssentialsSigns/src/net
diff options
context:
space:
mode:
authorIaccidentally <coryhuckaby@gmail.com>2012-08-06 07:50:40 -0400
committerIaccidentally <coryhuckaby@gmail.com>2012-08-06 07:50:40 -0400
commit9cee4f9826fddae13be15e63a5a809ca88530156 (patch)
tree83199f9c434a0efb759bf86a5b578459deb13ede /EssentialsSigns/src/net
parent412d979c75f9986711a298254a76e455e03bd931 (diff)
downloadEssentials-9cee4f9826fddae13be15e63a5a809ca88530156.tar
Essentials-9cee4f9826fddae13be15e63a5a809ca88530156.tar.gz
Essentials-9cee4f9826fddae13be15e63a5a809ca88530156.tar.lz
Essentials-9cee4f9826fddae13be15e63a5a809ca88530156.tar.xz
Essentials-9cee4f9826fddae13be15e63a5a809ca88530156.zip
2.9 -> 3.0 (new commands and signs)
Diffstat (limited to 'EssentialsSigns/src/net')
-rw-r--r--EssentialsSigns/src/net/ess3/signs/SignGameMode.java20
-rw-r--r--EssentialsSigns/src/net/ess3/signs/SignInfo.java58
-rw-r--r--EssentialsSigns/src/net/ess3/signs/SignRepair.java55
-rw-r--r--EssentialsSigns/src/net/ess3/signs/Signs.java2
4 files changed, 132 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);
diff --git a/EssentialsSigns/src/net/ess3/signs/SignInfo.java b/EssentialsSigns/src/net/ess3/signs/SignInfo.java
new file mode 100644
index 000000000..426e7c04c
--- /dev/null
+++ b/EssentialsSigns/src/net/ess3/signs/SignInfo.java
@@ -0,0 +1,58 @@
+package net.ess3.signs;
+
+
+import java.io.IOException;
+import net.ess3.api.ChargeException;
+import net.ess3.api.IEssentials;
+import net.ess3.economy.Trade;
+import net.ess3.user.User;
+import net.ess3.utils.textreader.IText;
+import net.ess3.utils.textreader.KeywordReplacer;
+import net.ess3.utils.textreader.TextInput;
+import net.ess3.utils.textreader.TextPager;
+
+
+public class SignInfo extends EssentialsSign
+{
+ public SignInfo()
+ {
+ super("Info");
+ }
+
+ @Override
+ protected boolean onSignCreate(final ISign sign, final User player, final String username, final IEssentials ess) throws SignException
+ {
+ validateTrade(sign, 3, 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, 3, ess);
+ charge.isAffordableFor(player);
+
+ String chapter = sign.getLine(1);
+ String page = sign.getLine(2);
+
+ final IText input;
+ try
+ {
+ input = new TextInput(player, "info", true, ess);
+ final IText output = new KeywordReplacer(input, player, ess);
+ final TextPager pager = new TextPager(output);
+ pager.showPage(chapter, page, null, player);
+
+ }
+ catch (IOException ex)
+ {
+ throw new SignException(ex.getMessage(), ex);
+ }
+
+ charge.charge(player);
+ return true;
+ }
+}
+
+
+
diff --git a/EssentialsSigns/src/net/ess3/signs/SignRepair.java b/EssentialsSigns/src/net/ess3/signs/SignRepair.java
new file mode 100644
index 000000000..aea1a69cb
--- /dev/null
+++ b/EssentialsSigns/src/net/ess3/signs/SignRepair.java
@@ -0,0 +1,55 @@
+package net.ess3.signs;
+
+import net.ess3.api.IEssentials;
+import net.ess3.commands.Commandrepair;
+import net.ess3.economy.Trade;
+import net.ess3.user.User;
+
+
+public class SignRepair extends EssentialsSign
+{
+ public SignRepair()
+ {
+ super("Repair");
+ }
+
+ @Override
+ protected boolean onSignCreate(final ISign sign, final User player, final String username, final IEssentials ess) throws SignException
+ {
+ final String repairTarget = sign.getLine(1);
+ if (repairTarget.isEmpty())
+ {
+ sign.setLine(1, "Hand");
+ }
+ else if (!repairTarget.equalsIgnoreCase("all") && !repairTarget.equalsIgnoreCase("hand") )
+ {
+ throw new SignException(_("invalidSignLine", 2));
+ }
+ validateTrade(sign, 2, 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, 2, ess);
+ charge.isAffordableFor(player);
+
+ Commandrepair command = new Commandrepair();
+ command.setEssentials(ess);
+ String[] args = new String[]
+ {
+ sign.getLine(1)
+ };
+ try
+ {
+ command.run(ess.getServer(), player, "repair", args);
+ }
+ catch (Exception ex)
+ {
+ throw new SignException(ex.getMessage(), ex);
+ }
+ charge.charge(player);
+ return true;
+ }
+}
diff --git a/EssentialsSigns/src/net/ess3/signs/Signs.java b/EssentialsSigns/src/net/ess3/signs/Signs.java
index af4111dac..5af46e0e2 100644
--- a/EssentialsSigns/src/net/ess3/signs/Signs.java
+++ b/EssentialsSigns/src/net/ess3/signs/Signs.java
@@ -10,9 +10,11 @@ public enum Signs
FREE(new SignFree()),
GAMEMODE(new SignGameMode()),
HEAL(new SignHeal()),
+ INFO(new SignInfo()),
KIT(new SignKit()),
MAIL(new SignMail()),
PROTECTION(new SignProtection()),
+ REPAIR(new SignRepair()),
SELL(new SignSell()),
SPAWNMOB(new SignSpawnmob()),
TIME(new SignTime()),