add /prestige

This commit is contained in:
okx-code
2018-09-02 15:36:08 +01:00
parent e9d7a9791a
commit 82078dd31b
23 changed files with 469 additions and 181 deletions
@@ -1,6 +1,10 @@
package sh.okx.rankup.requirements;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.entity.Player;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
public class RequirementRegistry {
@@ -20,4 +24,28 @@ public class RequirementRegistry {
}
return null;
}
public Set<Requirement> getRequirements(ConfigurationSection section) {
Set<Requirement> requirements = new HashSet<>();
for (Map.Entry<String, Object> entry : section.getValues(false).entrySet()) {
String name = entry.getKey();
String value = String.valueOf(entry.getValue());
Requirement requirement = newRequirement(name, value);
if (requirement == null) {
System.err.println("Unknown requirement: " + name);
} else {
requirements.add(requirement);
}
}
return requirements;
}
public void apply(Player player, Set<Requirement> requirements) {
for (Requirement requirement : requirements) {
if (requirement instanceof DeductibleRequirement) {
((DeductibleRequirement) requirement).apply(player);
}
}
}
}