diff options
author | snowleo <schneeleo@gmail.com> | 2011-12-14 16:04:15 +0100 |
---|---|---|
committer | snowleo <schneeleo@gmail.com> | 2011-12-14 16:04:15 +0100 |
commit | 0f1eb9b4f910b4f61f4c89fbad14b6485c372756 (patch) | |
tree | 62257261b99340c51a36b9dbdc97d72ec226a01f /EssentialsSigns/src/com/earth2me/essentials/signs/SignWeather.java | |
parent | 503e837cfdf1eaf0a4ae8b04199fc1c60dd82923 (diff) | |
download | Essentials-0f1eb9b4f910b4f61f4c89fbad14b6485c372756.tar Essentials-0f1eb9b4f910b4f61f4c89fbad14b6485c372756.tar.gz Essentials-0f1eb9b4f910b4f61f4c89fbad14b6485c372756.tar.lz Essentials-0f1eb9b4f910b4f61f4c89fbad14b6485c372756.tar.xz Essentials-0f1eb9b4f910b4f61f4c89fbad14b6485c372756.zip |
Moved signs code to a new module
Diffstat (limited to 'EssentialsSigns/src/com/earth2me/essentials/signs/SignWeather.java')
-rw-r--r-- | EssentialsSigns/src/com/earth2me/essentials/signs/SignWeather.java | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignWeather.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignWeather.java new file mode 100644 index 000000000..c674e04a9 --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignWeather.java @@ -0,0 +1,55 @@ +package com.earth2me.essentials.signs; + +import com.earth2me.essentials.ChargeException; +import static com.earth2me.essentials.I18n._; +import com.earth2me.essentials.api.IEssentials; +import com.earth2me.essentials.Trade; +import com.earth2me.essentials.api.IUser; + + +public class SignWeather extends EssentialsSign +{ + public SignWeather() + { + super("Weather"); + } + + @Override + protected boolean onSignCreate(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException + { + validateTrade(sign, 2, ess); + final String timeString = sign.getLine(1); + if ("Sun".equalsIgnoreCase(timeString)) + { + sign.setLine(1, "§2Sun"); + return true; + } + if ("Storm".equalsIgnoreCase(timeString)) + { + sign.setLine(1, "§2Storm"); + return true; + } + throw new SignException(_("onlySunStorm")); + } + + @Override + protected boolean onSignInteract(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException, ChargeException + { + final Trade charge = getTrade(sign, 2, ess); + charge.isAffordableFor(player); + final String weatherString = sign.getLine(1); + if ("§2Sun".equalsIgnoreCase(weatherString)) + { + player.getWorld().setStorm(false); + charge.charge(player); + return true; + } + if ("§2Storm".equalsIgnoreCase(weatherString)) + { + player.getWorld().setStorm(true); + charge.charge(player); + return true; + } + throw new SignException(_("onlySunStorm")); + } +} |