diff options
author | ementalo <ementalodev@gmx.co.uk> | 2012-10-10 14:00:38 +0100 |
---|---|---|
committer | ementalo <ementalodev@gmx.co.uk> | 2012-10-10 14:01:22 +0100 |
commit | 3d2870cc4e6f771a37304ce9e6267663e10d01e6 (patch) | |
tree | 008085f4380398b7c21de638696b176d5876a021 /EssentialsSigns/src/net/ess3/signs/signs/SignInfo.java | |
parent | 62d5f63ab19fd5b35f712598080b8aab7e5e7185 (diff) | |
download | Essentials-3d2870cc4e6f771a37304ce9e6267663e10d01e6.tar Essentials-3d2870cc4e6f771a37304ce9e6267663e10d01e6.tar.gz Essentials-3d2870cc4e6f771a37304ce9e6267663e10d01e6.tar.lz Essentials-3d2870cc4e6f771a37304ce9e6267663e10d01e6.tar.xz Essentials-3d2870cc4e6f771a37304ce9e6267663e10d01e6.zip |
Esschat clean up
Re-implement sign throttle Test #2331
Diffstat (limited to 'EssentialsSigns/src/net/ess3/signs/signs/SignInfo.java')
-rw-r--r-- | EssentialsSigns/src/net/ess3/signs/signs/SignInfo.java | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/EssentialsSigns/src/net/ess3/signs/signs/SignInfo.java b/EssentialsSigns/src/net/ess3/signs/signs/SignInfo.java new file mode 100644 index 000000000..634959c6d --- /dev/null +++ b/EssentialsSigns/src/net/ess3/signs/signs/SignInfo.java @@ -0,0 +1,55 @@ +package net.ess3.signs.signs; + +import java.io.IOException; +import net.ess3.api.ChargeException; +import net.ess3.api.IEssentials; +import net.ess3.api.IUser; +import net.ess3.economy.Trade; +import net.ess3.signs.EssentialsSign; +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 IUser player, final String username, final IEssentials ess) throws SignException + { + validateTrade(sign, 3, 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, 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; + } +} |