summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsnowleo <schneeleo@gmail.com>2011-11-24 05:57:01 +0100
committersnowleo <schneeleo@gmail.com>2011-11-24 05:57:01 +0100
commit32e43bf1673fa2aa50891aa5b830fdd75cee534b (patch)
tree9a8e0ca317ce532e98d186f076fb0915a4f26e0a
parentaf456a73dd575d8ecb994e153c06c0f6ec1fdf5a (diff)
downloadEssentials-32e43bf1673fa2aa50891aa5b830fdd75cee534b.tar
Essentials-32e43bf1673fa2aa50891aa5b830fdd75cee534b.tar.gz
Essentials-32e43bf1673fa2aa50891aa5b830fdd75cee534b.tar.lz
Essentials-32e43bf1673fa2aa50891aa5b830fdd75cee534b.tar.xz
Essentials-32e43bf1673fa2aa50891aa5b830fdd75cee534b.zip
Show more then 9 lines of motd on login
-rw-r--r--Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java2
-rw-r--r--Essentials/src/com/earth2me/essentials/textreader/TextPager.java39
2 files changed, 25 insertions, 16 deletions
diff --git a/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java b/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java
index a4961ac20..cb3be43c7 100644
--- a/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java
+++ b/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java
@@ -172,7 +172,7 @@ public class EssentialsPlayerListener extends PlayerListener
{
final IText input = new TextInput(user, "motd", true, ess);
final IText output = new KeywordReplacer(input, user, ess);
- final TextPager pager = new TextPager(output, false);
+ final TextPager pager = new TextPager(output, true);
pager.showPage("1", null, user);
}
catch (IOException ex)
diff --git a/Essentials/src/com/earth2me/essentials/textreader/TextPager.java b/Essentials/src/com/earth2me/essentials/textreader/TextPager.java
index 06fd8763f..dd8422580 100644
--- a/Essentials/src/com/earth2me/essentials/textreader/TextPager.java
+++ b/Essentials/src/com/earth2me/essentials/textreader/TextPager.java
@@ -10,17 +10,17 @@ import org.bukkit.command.CommandSender;
public class TextPager
{
private final transient IText text;
- private final transient boolean showHeader;
+ private final transient boolean onePage;
public TextPager(final IText text)
{
- this(text, true);
+ this(text, false);
}
- public TextPager(final IText text, final boolean showHeader)
+ public TextPager(final IText text, final boolean onePage)
{
this.text = text;
- this.showHeader = showHeader;
+ this.onePage = onePage;
}
public void showPage(final String pageStr, final String chapterPageStr, final CommandSender sender)
@@ -40,17 +40,18 @@ public class TextPager
{
page = 1;
}
- if (page < 1) {
+ if (page < 1)
+ {
page = 1;
}
- int start = (page - 1) * 9;
- if (showHeader)
+ int start = onePage ? 0 : (page - 1) * 9;
+ if (!onePage)
{
int pages = lines.size() / 9 + (lines.size() % 9 > 0 ? 1 : 0);
sender.sendMessage(_("infoPages", page, pages));
}
- for (int i = start; i < lines.size() && i < start + 9; i++)
+ for (int i = start; i < lines.size() && i < start + (onePage ? 20 : 9); i++)
{
sender.sendMessage(lines.get(i));
}
@@ -61,7 +62,7 @@ public class TextPager
{
if (lines.get(0).startsWith("#"))
{
- if (!showHeader)
+ if (onePage)
{
return;
}
@@ -91,8 +92,12 @@ public class TextPager
{
page = 1;
}
+ if (page < 1)
+ {
+ page = 1;
+ }
- int start = (page - 1) * 9;
+ int start = onePage ? 0 : (page - 1) * 9;
int end;
for (end = 0; end < lines.size(); end++)
{
@@ -103,12 +108,12 @@ public class TextPager
}
}
- if (showHeader)
+ if (!onePage)
{
int pages = end / 9 + (end % 9 > 0 ? 1 : 0);
sender.sendMessage(_("infoPages", page, pages));
}
- for (int i = start; i < end && i < start + 9; i++)
+ for (int i = start; i < end && i < start + (onePage ? 20 : 9); i++)
{
sender.sendMessage(lines.get(i));
}
@@ -127,6 +132,10 @@ public class TextPager
{
chapterpage = 0;
}
+ if (chapterpage < 0)
+ {
+ chapterpage = 0;
+ }
}
if (!bookmarks.containsKey(pageStr.toLowerCase(Locale.ENGLISH)))
@@ -144,15 +153,15 @@ public class TextPager
break;
}
}
- final int start = chapterstart + chapterpage * 9;
+ final int start = chapterstart + (onePage ? 0 : chapterpage * 9);
- if (showHeader)
+ if (!onePage)
{
final int page = chapterpage + 1;
final int pages = (chapterend - chapterstart) / 9 + ((chapterend - chapterstart) % 9 > 0 ? 1 : 0);
sender.sendMessage(_("infoChapterPages", pageStr, page, pages));
}
- for (int i = start; i < chapterend && i < start + 9; i++)
+ for (int i = start; i < chapterend && i < start + (onePage ? 20 : 9); i++)
{
sender.sendMessage(lines.get(i));
}