Split the locale skill guides into seperate sections

This will make it easier for translators to keep up with translating our skill guides. Closes #560
This commit is contained in:
TfT_02
2013-09-27 17:47:16 +02:00
parent fb4777e7f0
commit 4aef4c63fc
2 changed files with 123 additions and 18 deletions

View File

@ -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;
}
}