MinecraftManagerPlugin/src/main/java/xyz/etztech/minecraftmanager/objects/Rules.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();
}
}