Files
Rankup3/src/main/java/sh/okx/rankup/requirements/RequirementRegistry.java
T
okx-code 11200862cd 3.5.7-alpha
- better reporting of configuration errors (instead of disabling the plugin, send the error on startup and whenever a command is executed)
- don't check for updates if on a pre-release version
- add infinite rankup loop detection
- add itemh requirement (like the item requirement, but not deductible)
- make it so i only have to change the plugin version in one place
2019-08-03 15:29:53 +01:00

40 lines
1.2 KiB
Java

package sh.okx.rankup.requirements;
import java.util.HashSet;
import java.util.List;
import java.util.Objects;
import java.util.Set;
public class RequirementRegistry {
private Set<Requirement> requirements = new HashSet<>();
public void addRequirement(Requirement requirement) {
requirements.add(requirement);
}
public Requirement newRequirement(String name, String value) {
for (Requirement requirement : requirements) {
if (requirement.getName().equalsIgnoreCase(name)) {
Requirement newRequirement = requirement.clone();
newRequirement.setValue(value);
return newRequirement;
}
}
return null;
}
public Set<Requirement> getRequirements(List<String> list) {
Set<Requirement> requirements = new HashSet<>();
for (String req : list) {
String[] parts = req.split(" ", 2);
String name = parts[0];
String value = parts[1];
Requirement requirement = newRequirement(name, value);
Objects.requireNonNull(requirement, name.equalsIgnoreCase("money") ? "The 'money' requirement is being used but no economy is found" : "Unknown requirement: " + name);
requirements.add(requirement);
}
return requirements;
}
}