|
@@ -1,6 +1,7 @@
|
|
|
package com.gmail.nossr50.commands.skills;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
|
|
|
import org.bukkit.command.Command;
|
|
|
import org.bukkit.command.CommandExecutor;
|
|
@@ -13,13 +14,13 @@ import com.gmail.nossr50.util.skills.SkillUtils;
|
|
|
|
|
|
public class SkillGuideCommand implements CommandExecutor {
|
|
|
private String header;
|
|
|
- private String[] guide;
|
|
|
+ private ArrayList<String> guide;
|
|
|
|
|
|
private String invalidPage;
|
|
|
|
|
|
public SkillGuideCommand(SkillType skillType) {
|
|
|
header = LocaleLoader.getString("Guides.Header", SkillUtils.getSkillName(skillType));
|
|
|
- guide = LocaleLoader.getString("Guides." + StringUtils.getCapitalized(skillType.toString())).split("\n");
|
|
|
+ guide = getGuide(skillType);
|
|
|
|
|
|
invalidPage = LocaleLoader.getString("Guides.Page.Invalid");
|
|
|
}
|
|
@@ -59,7 +60,7 @@ public class SkillGuideCommand implements CommandExecutor {
|
|
|
}
|
|
|
|
|
|
private int getTotalPageNumber() {
|
|
|
- return (int) Math.ceil(guide.length / 8.0);
|
|
|
+ return (int) Math.ceil(guide.size() / 8.0);
|
|
|
}
|
|
|
|
|
|
private void sendGuide(CommandSender sender, int pageNumber) {
|
|
@@ -76,15 +77,38 @@ public class SkillGuideCommand implements CommandExecutor {
|
|
|
|
|
|
// Add targeted strings
|
|
|
while (allStrings.size() < 9) {
|
|
|
- if (pageIndexStart + allStrings.size() > guide.length) {
|
|
|
+ if (pageIndexStart + allStrings.size() > guide.size()) {
|
|
|
allStrings.add("");
|
|
|
}
|
|
|
else {
|
|
|
- allStrings.add(guide[pageIndexStart + (allStrings.size() - 1)]);
|
|
|
+ allStrings.add(guide.get(pageIndexStart + (allStrings.size() - 1)));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
allStrings.add("Page " + pagenum + " of " + getTotalPageNumber());
|
|
|
return allStrings;
|
|
|
}
|
|
|
+
|
|
|
+ private ArrayList<String> getGuide(SkillType skillType) {
|
|
|
+ ArrayList<String> guide = new ArrayList<String>();
|
|
|
+
|
|
|
+ for (int i = 0; i < 10; i++) {
|
|
|
+ String[] section = LocaleLoader.getString("Guides." + StringUtils.getCapitalized(skillType.toString()) + ".Section." + i).split("\n");
|
|
|
+
|
|
|
+ if (section[0].startsWith("!")) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ guide.addAll(Arrays.asList(section));
|
|
|
+
|
|
|
+ if (section.length < 8) {
|
|
|
+ for (int blankLine = 8 - section.length; blankLine > 0; blankLine--) {
|
|
|
+ guide.add("");
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return guide;
|
|
|
+ }
|
|
|
}
|