3.5-beta.2
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Statistic;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.Rankup;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class BlockBreakRequirement extends ProgressiveRequirement {
|
||||
public BlockBreakRequirement(Rankup plugin) {
|
||||
super(plugin, "block-break");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
return false;
|
||||
}
|
||||
|
||||
protected BlockBreakRequirement(BlockBreakRequirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
return player.getStatistic(Statistic.MINE_BLOCK, Material.matchMaterial(getValueString()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new BlockBreakRequirement(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasSubRequirement() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -15,22 +15,14 @@ public class GroupRequirement extends Requirement {
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
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)) {
|
||||
matched++;
|
||||
break;
|
||||
for (String group : plugin.getPermissions().getPlayerGroups(null, player)) {
|
||||
for (String value : getValuesString()) {
|
||||
if (group.equalsIgnoreCase(value)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return groups.length - matched;
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.Statistic;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.Rankup;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class MobKillsRequirement extends ProgressiveRequirement {
|
||||
public MobKillsRequirement(Rankup plugin) {
|
||||
super(plugin, "mob-kills");
|
||||
}
|
||||
|
||||
protected MobKillsRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
return player.getStatistic(Statistic.KILL_ENTITY, EntityType.fromName(getValueString()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new MobKillsRequirement(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasSubRequirement() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -15,13 +15,6 @@ public class MoneyRequirement extends DeductibleRequirement {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
Economy economy = plugin.getEconomy();
|
||||
double balance = economy.getBalance(player);
|
||||
return balance >= getValueDouble();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply(Player player) {
|
||||
Economy economy = plugin.getEconomy();
|
||||
@@ -29,8 +22,8 @@ public class MoneyRequirement extends DeductibleRequirement {
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getRemaining(Player player) {
|
||||
return Math.max(0, getValueDouble() - plugin.getEconomy().getBalance(player));
|
||||
public double getProgress(Player player) {
|
||||
return plugin.getEconomy().getBalance(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -15,19 +15,12 @@ public class PermissionRequirement extends Requirement {
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
return getRemaining(player) < 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getRemaining(Player player) {
|
||||
int matched = 0;
|
||||
String[] permissions = getValueString().split(" ");
|
||||
for (String permission : permissions) {
|
||||
for (String permission : getValuesString()) {
|
||||
if (player.hasPermission(permission)) {
|
||||
matched++;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return permissions.length - matched;
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -43,15 +43,12 @@ public class PlaceholderRequirement extends Requirement {
|
||||
return p < v;
|
||||
case "<=":
|
||||
return p <= v;
|
||||
case "==":
|
||||
return p == v;
|
||||
}
|
||||
throw new IllegalArgumentException("Invalid operation: " + parts[1]);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getRemaining(Player player) {
|
||||
return check(player) ? 0 : 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new PlaceholderRequirement(this);
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.Statistic;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.Rankup;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class PlayerKillsRequirement extends ProgressiveRequirement {
|
||||
public PlayerKillsRequirement(Rankup plugin) {
|
||||
super(plugin, "player-kills");
|
||||
}
|
||||
|
||||
protected PlayerKillsRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
return player.getStatistic(Statistic.PLAYER_KILLS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new PlayerKillsRequirement(this);
|
||||
}
|
||||
}
|
||||
+4
-8
@@ -3,9 +3,10 @@ package sh.okx.rankup.requirements.requirement;
|
||||
import org.bukkit.Statistic;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.Rankup;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class PlaytimeMinutesRequirement extends Requirement {
|
||||
public class PlaytimeMinutesRequirement extends ProgressiveRequirement {
|
||||
private static final int TICKS_PER_MINUTE = 20 * 60;
|
||||
private Statistic playOneTick;
|
||||
|
||||
@@ -25,13 +26,8 @@ public class PlaytimeMinutesRequirement extends Requirement {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
return getRemaining(player) <= 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getRemaining(Player player) {
|
||||
return Math.max(0, getValueDouble() - (player.getStatistic(playOneTick) / TICKS_PER_MINUTE));
|
||||
public double getProgress(Player player) {
|
||||
return player.getStatistic(playOneTick) / TICKS_PER_MINUTE;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -15,17 +15,7 @@ public class WorldRequirement extends Requirement {
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
for (String world : getValueString().split(" ")) {
|
||||
if (player.getWorld().getName().equalsIgnoreCase(world)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getRemaining(Player player) {
|
||||
return check(player) ? 0 : 1;
|
||||
return player.getWorld().getName().equalsIgnoreCase(getValueString());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -14,19 +14,14 @@ public class XpLevelRequirement extends DeductibleRequirement {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
return player.getLevel() >= getValueInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply(Player player) {
|
||||
player.setLevel(player.getLevel() - getValueInt());
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getRemaining(Player player) {
|
||||
return Math.max(0, getValueInt() - player.getLevel());
|
||||
public double getProgress(Player player) {
|
||||
return player.getLevel();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+1
-14
@@ -17,21 +17,8 @@ public class AdvancedAchievementsAchievementRequirement extends Requirement {
|
||||
|
||||
@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;
|
||||
return api.hasPlayerReceivedAchievement(player.getUniqueId(), getValueString());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+4
-10
@@ -1,12 +1,12 @@
|
||||
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;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
|
||||
public class AdvancedAchievementsTotalRequirement extends Requirement {
|
||||
public class AdvancedAchievementsTotalRequirement extends ProgressiveRequirement {
|
||||
public AdvancedAchievementsTotalRequirement(Rankup plugin) {
|
||||
super(plugin, "advancedachievements-total");
|
||||
}
|
||||
@@ -16,14 +16,8 @@ public class AdvancedAchievementsTotalRequirement extends Requirement {
|
||||
}
|
||||
|
||||
@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());
|
||||
public double getProgress(Player player) {
|
||||
return AdvancedAchievementsAPIFetcher.fetchInstance().get().getPlayerTotalAchievements(player.getUniqueId());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+4
-8
@@ -4,8 +4,9 @@ import com.gmail.nossr50.util.player.UserManager;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.Rankup;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
|
||||
public class McMMOPowerLevelRequirement extends Requirement {
|
||||
public class McMMOPowerLevelRequirement extends ProgressiveRequirement {
|
||||
public McMMOPowerLevelRequirement(Rankup plugin) {
|
||||
super(plugin, "mcmmo-power-level");
|
||||
}
|
||||
@@ -15,13 +16,8 @@ public class McMMOPowerLevelRequirement extends Requirement {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
return getRemaining(player) <= 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getRemaining(Player player) {
|
||||
return Math.max(0, getValueInt() - UserManager.getPlayer(player).getPowerLevel());
|
||||
public double getProgress(Player player) {
|
||||
return UserManager.getPlayer(player).getPowerLevel();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+8
-11
@@ -3,28 +3,25 @@ package sh.okx.rankup.requirements.requirement.mcmmo;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.Rankup;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
|
||||
public class McMMOSkillRequirement extends Requirement {
|
||||
private String skill;
|
||||
|
||||
public McMMOSkillRequirement(Rankup plugin, String skill) {
|
||||
super(plugin, "mcmmo-" + skill.toLowerCase());
|
||||
this.skill = skill;
|
||||
public class McMMOSkillRequirement extends ProgressiveRequirement {
|
||||
public McMMOSkillRequirement(Rankup plugin) {
|
||||
super(plugin, "mcmmo");
|
||||
}
|
||||
|
||||
protected McMMOSkillRequirement(McMMOSkillRequirement clone) {
|
||||
super(clone);
|
||||
this.skill = clone.skill;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
return getRemaining(player) <= 0;
|
||||
public double getProgress(Player player) {
|
||||
return McMMOSkillUtil.getInstance().getSkillLevel(player, getValueString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getRemaining(Player player) {
|
||||
return Math.max(0, getValueInt() - McMMOSkillUtil.getInstance().getSkillLevel(player, skill));
|
||||
public boolean hasSubRequirement() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -51,6 +51,7 @@ public class McMMOSkillUtil {
|
||||
} catch (ClassNotFoundException e) {
|
||||
throw new RuntimeException("mcMMO UserManager class not found");
|
||||
}*/
|
||||
|
||||
try {
|
||||
getSkillLevel = McMMOPlayer.class.getMethod("getSkillLevel", skillTypeClass);
|
||||
} catch (NoSuchMethodException e) {
|
||||
@@ -81,7 +82,7 @@ public class McMMOSkillUtil {
|
||||
public int getSkillLevel(Player player, String skill) {
|
||||
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
|
||||
try {
|
||||
Object skillType = skillTypeClass.cast(valueOf.invoke(null, skill));
|
||||
Object skillType = skillTypeClass.cast(valueOf.invoke(null, skill.toUpperCase()));
|
||||
return (int) getSkillLevel.invoke(mcMMOPlayer, skillType);
|
||||
} catch (IllegalAccessException | InvocationTargetException e) {
|
||||
throw new RuntimeException(e);
|
||||
|
||||
+4
-8
@@ -4,8 +4,9 @@ import com.Ben12345rocks.VotingPlugin.UserManager.UserManager;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.Rankup;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
|
||||
public class VotingPluginVotesRequirement extends Requirement {
|
||||
public class VotingPluginVotesRequirement extends ProgressiveRequirement {
|
||||
public VotingPluginVotesRequirement(Rankup plugin) {
|
||||
super(plugin, "votingplugin-votes");
|
||||
}
|
||||
@@ -15,13 +16,8 @@ public class VotingPluginVotesRequirement extends Requirement {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
return getRemaining(player) < 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getRemaining(Player player) {
|
||||
return Math.max(0, getValueDouble() - UserManager.getInstance().getVotingPluginUser(player).getPoints());
|
||||
public double getProgress(Player player) {
|
||||
return UserManager.getInstance().getVotingPluginUser(player).getPoints();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user