mirror of
https://gitlab.com/SamB440/rpgregions-2.git
synced 2026-01-04 15:31:38 +00:00
Implements #16
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
package net.islandearth.rpgregions.requirements;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public class DependencyRequirement extends RegionRequirement {
|
||||
|
||||
private final List<String> requiredRegions;
|
||||
|
||||
public DependencyRequirement(List<String> requiredRegions) {
|
||||
this.requiredRegions = requiredRegions;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an immutable list of required regions by their ID.
|
||||
* @return immutable list of required regions
|
||||
*/
|
||||
public ImmutableList<String> getRequiredRegions() {
|
||||
return ImmutableList.copyOf(requiredRegions);
|
||||
}
|
||||
|
||||
public boolean meetsRequirements(Player player, List<String> discoveries) {
|
||||
for (String discovery : discoveries) {
|
||||
if (!requiredRegions.contains(discovery)) return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public boolean meetsRequirements(Player player) {
|
||||
return meetsRequirements(player, Arrays.asList());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "Dependency";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getText(Player player) {
|
||||
return "regions " + String.join(", ", requiredRegions);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user