71 lines
2.2 KiB
Java
71 lines
2.2 KiB
Java
package xyz.etztech.minecraftmanager.objects;
|
|
|
|
import org.bukkit.ChatColor;
|
|
import org.bukkit.configuration.file.FileConfiguration;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
public class Rules {
|
|
|
|
private List<String> rules = new ArrayList<>();
|
|
private Map<String, List<String>> subRules = new HashMap<>();
|
|
|
|
public Rules(FileConfiguration config) {
|
|
List<String> configRules = config.getStringList("rules.rules");
|
|
if (config.getBoolean("rules.application.validate")) {
|
|
String finalAnswer = config.getString("rules.application.answer");
|
|
configRules.add("The answer for the final question is \"" + finalAnswer + "\"");
|
|
}
|
|
for (String configRule : configRules) {
|
|
if (configRule.startsWith("*")) {
|
|
configRule = configRule.substring(1);
|
|
List<String> subs = subRules.get(rules.get(rules.size()-1));
|
|
if (subs != null) {
|
|
subs.add(configRule);
|
|
} else {
|
|
subs = new ArrayList<>();
|
|
subs.add(configRule);
|
|
}
|
|
subRules.put(rules.get(rules.size()-1), subs);
|
|
} else {
|
|
rules.add(configRule);
|
|
}
|
|
}
|
|
}
|
|
|
|
public List<String> getRules() {
|
|
return rules;
|
|
}
|
|
|
|
public void setRules(List<String> rules) {
|
|
this.rules = rules;
|
|
}
|
|
|
|
public Map<String, List<String>> getSubRules() {
|
|
return subRules;
|
|
}
|
|
|
|
public void setSubRules(Map<String, List<String>> subRules) {
|
|
this.subRules = subRules;
|
|
}
|
|
|
|
public String minecraft() {
|
|
StringBuilder rulesMessage = new StringBuilder(ChatColor.GOLD + "===== Rules =====");
|
|
int idx = 0;
|
|
for (String rule : rules) {
|
|
rulesMessage.append("\n" + ChatColor.YELLOW + (++idx) + ". " + rule);
|
|
List<String> subs = subRules.get(rule);
|
|
if (subs != null) {
|
|
for (String sub : subs) {
|
|
rulesMessage.append("\n" + ChatColor.YELLOW + "* " + sub);
|
|
}
|
|
}
|
|
}
|
|
return rulesMessage.toString();
|
|
}
|
|
|
|
}
|