package net.ess3.signs; import static net.ess3.I18n._; import net.ess3.api.ChargeException; import net.ess3.api.IEssentials; import net.ess3.api.IUser; import net.ess3.economy.Trade; import java.util.Locale; import org.bukkit.GameMode; public class SignGameMode extends EssentialsSign { public SignGameMode() { super("GameMode"); } @Override protected boolean onSignCreate(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException { validateTrade(sign, 1, 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); charge.isAffordableFor(player); player.setGameMode(player.getGameMode() == GameMode.SURVIVAL ? GameMode.CREATIVE : GameMode.SURVIVAL); player.sendMessage(_("gameMode", _(player.getGameMode().toString().toLowerCase(Locale.ENGLISH)), player.getDisplayName())); charge.charge(player); return true; } }