add advanced achievements requirements (untested)
This commit is contained in:
+5
-1
@@ -4,7 +4,7 @@ plugins {
|
|||||||
}
|
}
|
||||||
|
|
||||||
group 'sh.okx'
|
group 'sh.okx'
|
||||||
version '3.2.1-beta.4'
|
version '3.3-beta'
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
@@ -19,6 +19,9 @@ repositories {
|
|||||||
maven {
|
maven {
|
||||||
url 'http://repo.extendedclip.com/content/repositories/placeholderapi/'
|
url 'http://repo.extendedclip.com/content/repositories/placeholderapi/'
|
||||||
}
|
}
|
||||||
|
maven {
|
||||||
|
url 'https://raw.github.com/PyvesB/AdvancedAchievements/mvn-repo/'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
@@ -33,6 +36,7 @@ dependencies {
|
|||||||
exclude group: 'org.bukkit'
|
exclude group: 'org.bukkit'
|
||||||
}
|
}
|
||||||
compile 'me.clip:placeholderapi:2.9.2'
|
compile 'me.clip:placeholderapi:2.9.2'
|
||||||
|
compile 'com.hm.achievement:advanced-achievements-api:1.1.0'
|
||||||
// if compiling this you will have to download and install mcMMO locally
|
// if compiling this you will have to download and install mcMMO locally
|
||||||
compile 'com.gmail.nossr50.mcMMO:mcMMO:1.6.0-SNAPSHOT'
|
compile 'com.gmail.nossr50.mcMMO:mcMMO:1.6.0-SNAPSHOT'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,8 +38,10 @@ import sh.okx.rankup.requirements.operation.AnyOperation;
|
|||||||
import sh.okx.rankup.requirements.operation.NoneOperation;
|
import sh.okx.rankup.requirements.operation.NoneOperation;
|
||||||
import sh.okx.rankup.requirements.operation.OneOperation;
|
import sh.okx.rankup.requirements.operation.OneOperation;
|
||||||
import sh.okx.rankup.requirements.requirement.GroupRequirement;
|
import sh.okx.rankup.requirements.requirement.GroupRequirement;
|
||||||
import sh.okx.rankup.requirements.requirement.McMMOPowerLevelRequirement;
|
import sh.okx.rankup.requirements.requirement.advancedachievements.AdvancedAchievementsAchievementRequirement;
|
||||||
import sh.okx.rankup.requirements.requirement.McMMOSkillRequirement;
|
import sh.okx.rankup.requirements.requirement.advancedachievements.AdvancedAchievementsTotalRequirement;
|
||||||
|
import sh.okx.rankup.requirements.requirement.mcmmo.McMMOPowerLevelRequirement;
|
||||||
|
import sh.okx.rankup.requirements.requirement.mcmmo.McMMOSkillRequirement;
|
||||||
import sh.okx.rankup.requirements.requirement.MoneyRequirement;
|
import sh.okx.rankup.requirements.requirement.MoneyRequirement;
|
||||||
import sh.okx.rankup.requirements.requirement.PermissionRequirement;
|
import sh.okx.rankup.requirements.requirement.PermissionRequirement;
|
||||||
import sh.okx.rankup.requirements.requirement.PlaceholderRequirement;
|
import sh.okx.rankup.requirements.requirement.PlaceholderRequirement;
|
||||||
@@ -198,6 +200,10 @@ public class Rankup extends JavaPlugin {
|
|||||||
}
|
}
|
||||||
requirementRegistry.addRequirement(new McMMOPowerLevelRequirement(this));
|
requirementRegistry.addRequirement(new McMMOPowerLevelRequirement(this));
|
||||||
}
|
}
|
||||||
|
if (Bukkit.getPluginManager().isPluginEnabled("AdvancedAchievements")) {
|
||||||
|
requirementRegistry.addRequirement(new AdvancedAchievementsAchievementRequirement(this));
|
||||||
|
requirementRegistry.addRequirement(new AdvancedAchievementsTotalRequirement(this));
|
||||||
|
}
|
||||||
|
|
||||||
operationRegistry = new OperationRegistry();
|
operationRegistry = new OperationRegistry();
|
||||||
operationRegistry.addOperation("all", new AllOperation());
|
operationRegistry.addOperation("all", new AllOperation());
|
||||||
|
|||||||
@@ -40,12 +40,4 @@ public class RequirementRegistry {
|
|||||||
}
|
}
|
||||||
return requirements;
|
return requirements;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void apply(Player player, Set<Requirement> requirements) {
|
|
||||||
for (Requirement requirement : requirements) {
|
|
||||||
if (requirement instanceof DeductibleRequirement) {
|
|
||||||
((DeductibleRequirement) requirement).apply(player);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,16 +15,22 @@ public class GroupRequirement extends Requirement {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean check(Player player) {
|
public boolean check(Player player) {
|
||||||
OUTER:
|
return getRemaining(player) < 1;
|
||||||
for (String requiredGroup : getValueString().split(" ")) {
|
}
|
||||||
|
|
||||||
|
@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)) {
|
for (String group : plugin.getPermissions().getPlayerGroups(null, player)) {
|
||||||
if (group.equalsIgnoreCase(requiredGroup)) {
|
if (group.equalsIgnoreCase(requiredGroup)) {
|
||||||
continue OUTER;
|
matched++;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
return true;
|
return groups.length - matched;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -15,12 +15,19 @@ public class PermissionRequirement extends Requirement {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean check(Player player) {
|
public boolean check(Player player) {
|
||||||
for(String permission : getValueString().split(" ")) {
|
return getRemaining(player) < 1;
|
||||||
if(!player.hasPermission(permission)) {
|
}
|
||||||
return false;
|
|
||||||
|
@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
|
@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 com.gmail.nossr50.util.player.UserManager;
|
||||||
import org.bukkit.entity.Player;
|
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.datatypes.skills.SkillType;
|
||||||
import com.gmail.nossr50.util.player.UserManager;
|
import com.gmail.nossr50.util.player.UserManager;
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
name: Rankup
|
name: Rankup
|
||||||
version: 3.2.1-beta.4
|
version: 3.3-beta
|
||||||
main: sh.okx.rankup.Rankup
|
main: sh.okx.rankup.Rankup
|
||||||
author: Okx
|
author: Okx
|
||||||
depend: [Vault]
|
depend: [Vault]
|
||||||
softdepend: [PlaceholderAPI, mcMMO]
|
softdepend: [PlaceholderAPI, mcMMO, AdvancedAchievements]
|
||||||
api-version: 1.13
|
api-version: 1.13
|
||||||
|
|
||||||
commands:
|
commands:
|
||||||
|
|||||||
Reference in New Issue
Block a user