add advanced achievements requirements (untested)
This commit is contained in:
@@ -15,16 +15,22 @@ public class GroupRequirement extends Requirement {
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
OUTER:
|
||||
for (String requiredGroup : getValueString().split(" ")) {
|
||||
return getRemaining(player) < 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getRemaining(Player player) {
|
||||
int matched = 0;
|
||||
String[] groups = getValueString().split(" ");
|
||||
for (String requiredGroup : groups) {
|
||||
for (String group : plugin.getPermissions().getPlayerGroups(null, player)) {
|
||||
if (group.equalsIgnoreCase(requiredGroup)) {
|
||||
continue OUTER;
|
||||
matched++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
return groups.length - matched;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -15,12 +15,19 @@ public class PermissionRequirement extends Requirement {
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
for(String permission : getValueString().split(" ")) {
|
||||
if(!player.hasPermission(permission)) {
|
||||
return false;
|
||||
return getRemaining(player) < 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getRemaining(Player player) {
|
||||
int matched = 0;
|
||||
String[] permissions = getValueString().split(" ");
|
||||
for(String permission : permissions) {
|
||||
if(player.hasPermission(permission)) {
|
||||
matched++;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
return permissions.length - matched;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
package sh.okx.rankup.requirements.requirement.advancedachievements;
|
||||
|
||||
import com.hm.achievement.api.AdvancedAchievementsAPI;
|
||||
import com.hm.achievement.api.AdvancedAchievementsAPIFetcher;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.Rankup;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class AdvancedAchievementsAchievementRequirement extends Requirement {
|
||||
public AdvancedAchievementsAchievementRequirement(Rankup plugin) {
|
||||
super(plugin, "advancedachievements-achievement");
|
||||
}
|
||||
|
||||
protected AdvancedAchievementsAchievementRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
return getRemaining(player) < 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getRemaining(Player player) {
|
||||
AdvancedAchievementsAPI api = AdvancedAchievementsAPIFetcher.fetchInstance().get();
|
||||
|
||||
int total = 0;
|
||||
String[] achievements = getValueString().split(" ");
|
||||
for (String achievement : achievements) {
|
||||
if (api.hasPlayerReceivedAchievement(player.getUniqueId(), achievement)) {
|
||||
total++;
|
||||
}
|
||||
}
|
||||
return achievements.length - total;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new AdvancedAchievementsAchievementRequirement(this);
|
||||
}
|
||||
}
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
package sh.okx.rankup.requirements.requirement.advancedachievements;
|
||||
|
||||
import com.hm.achievement.api.AdvancedAchievementsAPI;
|
||||
import com.hm.achievement.api.AdvancedAchievementsAPIFetcher;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.Rankup;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class AdvancedAchievementsTotalRequirement extends Requirement {
|
||||
public AdvancedAchievementsTotalRequirement(Rankup plugin) {
|
||||
super(plugin, "advancedachievements-total");
|
||||
}
|
||||
|
||||
protected AdvancedAchievementsTotalRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
return getRemaining(player) < 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getRemaining(Player player) {
|
||||
AdvancedAchievementsAPI api = AdvancedAchievementsAPIFetcher.fetchInstance().get();
|
||||
return getValueInt() - api.getPlayerTotalAchievements(player.getUniqueId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new AdvancedAchievementsTotalRequirement(this);
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
package sh.okx.rankup.requirements.requirement.mcmmo;
|
||||
|
||||
import com.gmail.nossr50.util.player.UserManager;
|
||||
import org.bukkit.entity.Player;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
package sh.okx.rankup.requirements.requirement.mcmmo;
|
||||
|
||||
import com.gmail.nossr50.datatypes.skills.SkillType;
|
||||
import com.gmail.nossr50.util.player.UserManager;
|
||||
Reference in New Issue
Block a user