3.7 add prestige-based requirements
This commit is contained in:
@@ -1,32 +1,32 @@
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Statistic;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class BlockBreakRequirement extends ProgressiveRequirement {
|
||||
public BlockBreakRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "block-break", true);
|
||||
}
|
||||
|
||||
protected BlockBreakRequirement(BlockBreakRequirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
Material material = Material.matchMaterial(getSub());
|
||||
if (material == null || !material.isBlock()) {
|
||||
throw new IllegalArgumentException("'" + getSub() + "' is not a valid block");
|
||||
}
|
||||
return player.getStatistic(Statistic.MINE_BLOCK, material);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new BlockBreakRequirement(this);
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Statistic;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class BlockBreakRequirement extends ProgressiveRequirement {
|
||||
public BlockBreakRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "block-break", true);
|
||||
}
|
||||
|
||||
protected BlockBreakRequirement(BlockBreakRequirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
Material material = Material.matchMaterial(getSub());
|
||||
if (material == null || !material.isBlock()) {
|
||||
throw new IllegalArgumentException("'" + getSub() + "' is not a valid block");
|
||||
}
|
||||
return player.getStatistic(Statistic.MINE_BLOCK, material);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new BlockBreakRequirement(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,32 +1,32 @@
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Statistic;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class CraftItemRequirement extends ProgressiveRequirement {
|
||||
public CraftItemRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "craft-item", true);
|
||||
}
|
||||
|
||||
protected CraftItemRequirement(CraftItemRequirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
Material material = Material.matchMaterial(getSub());
|
||||
if (material == null) {
|
||||
throw new IllegalArgumentException("'" + getSub() + "' is not a valid item");
|
||||
}
|
||||
return player.getStatistic(Statistic.CRAFT_ITEM, material);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new CraftItemRequirement(this);
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Statistic;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class CraftItemRequirement extends ProgressiveRequirement {
|
||||
public CraftItemRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "craft-item", true);
|
||||
}
|
||||
|
||||
protected CraftItemRequirement(CraftItemRequirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
Material material = Material.matchMaterial(getSub());
|
||||
if (material == null) {
|
||||
throw new IllegalArgumentException("'" + getSub() + "' is not a valid item");
|
||||
}
|
||||
return player.getStatistic(Statistic.CRAFT_ITEM, material);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new CraftItemRequirement(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class GroupRequirement extends Requirement {
|
||||
public GroupRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "group");
|
||||
}
|
||||
|
||||
protected GroupRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
for (String group : getValuesString()) {
|
||||
if (plugin.getPermissions().inGroup(player.getUniqueId(), group)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new GroupRequirement(this);
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class GroupRequirement extends Requirement {
|
||||
public GroupRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "group");
|
||||
}
|
||||
|
||||
protected GroupRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
for (String group : getValuesString()) {
|
||||
if (plugin.getPermissions().inGroup(player.getUniqueId(), group)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new GroupRequirement(this);
|
||||
}
|
||||
}
|
||||
|
||||
+49
-49
@@ -1,49 +1,49 @@
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.DeductibleRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class ItemDeductibleRequirement extends ItemRequirement implements DeductibleRequirement {
|
||||
|
||||
public ItemDeductibleRequirement(RankupPlugin plugin, String name) {
|
||||
super(plugin, name);
|
||||
}
|
||||
|
||||
public ItemDeductibleRequirement(ItemDeductibleRequirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply(Player player, double multiplier) {
|
||||
int count = (int) (getTotal(player) * multiplier);
|
||||
|
||||
ItemStack[] contents = player.getInventory().getStorageContents();
|
||||
for (int i = 0; i < contents.length && count > 0; i++) {
|
||||
ItemStack item = contents[i];
|
||||
|
||||
if (matchItem(item)) {
|
||||
if (count < item.getAmount()) {
|
||||
item.setAmount(item.getAmount() - count);
|
||||
count = 0;
|
||||
} else {
|
||||
count -= item.getAmount();
|
||||
contents[i] = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
player.getInventory().setStorageContents(contents);
|
||||
|
||||
if (count > 0) {
|
||||
throw new IllegalStateException("REPORT THIS ERROR TO THE DEV - COULD NOT DEDUCT ALL ITEMS");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new ItemDeductibleRequirement(this);
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.DeductibleRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class ItemDeductibleRequirement extends ItemRequirement implements DeductibleRequirement {
|
||||
|
||||
public ItemDeductibleRequirement(RankupPlugin plugin, String name) {
|
||||
super(plugin, name);
|
||||
}
|
||||
|
||||
public ItemDeductibleRequirement(ItemDeductibleRequirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply(Player player, double multiplier) {
|
||||
int count = (int) (getTotal(player) * multiplier);
|
||||
|
||||
ItemStack[] contents = player.getInventory().getStorageContents();
|
||||
for (int i = 0; i < contents.length && count > 0; i++) {
|
||||
ItemStack item = contents[i];
|
||||
|
||||
if (matchItem(item)) {
|
||||
if (count < item.getAmount()) {
|
||||
item.setAmount(item.getAmount() - count);
|
||||
count = 0;
|
||||
} else {
|
||||
count -= item.getAmount();
|
||||
contents[i] = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
player.getInventory().setStorageContents(contents);
|
||||
|
||||
if (count > 0) {
|
||||
throw new IllegalStateException("REPORT THIS ERROR TO THE DEV - COULD NOT DEDUCT ALL ITEMS");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new ItemDeductibleRequirement(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,62 +1,62 @@
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
public class ItemRequirement extends ProgressiveRequirement {
|
||||
public ItemRequirement(RankupPlugin plugin, String name) {
|
||||
super(plugin, name, true);
|
||||
}
|
||||
|
||||
protected ItemRequirement(ItemRequirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new ItemRequirement(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
return Arrays.stream(player.getInventory().getStorageContents())
|
||||
.filter(this::matchItem)
|
||||
.mapToInt(ItemStack::getAmount).sum();
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
protected boolean matchItem(ItemStack item) {
|
||||
if (item == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
String sub = getSub();
|
||||
String[] parts = sub.split(":");
|
||||
|
||||
Material material = Material.matchMaterial(parts[0]);
|
||||
if (material == null) {
|
||||
throw new IllegalArgumentException("[item requirement] could not find material name: " + parts[0]);
|
||||
}
|
||||
|
||||
if (parts.length > 1) {
|
||||
int durability;
|
||||
try {
|
||||
durability = Integer.parseInt(parts[1]);
|
||||
} catch (NumberFormatException e) {
|
||||
throw new IllegalArgumentException("[item requirement] durability '" + parts[1] + "' must be a number in item: '" + sub + "'");
|
||||
}
|
||||
|
||||
if (durability != item.getDurability()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return material == item.getType();
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
public class ItemRequirement extends ProgressiveRequirement {
|
||||
public ItemRequirement(RankupPlugin plugin, String name) {
|
||||
super(plugin, name, true);
|
||||
}
|
||||
|
||||
protected ItemRequirement(ItemRequirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new ItemRequirement(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
return Arrays.stream(player.getInventory().getStorageContents())
|
||||
.filter(this::matchItem)
|
||||
.mapToInt(ItemStack::getAmount).sum();
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
protected boolean matchItem(ItemStack item) {
|
||||
if (item == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
String sub = getSub();
|
||||
String[] parts = sub.split(":");
|
||||
|
||||
Material material = Material.matchMaterial(parts[0]);
|
||||
if (material == null) {
|
||||
throw new IllegalArgumentException("[item requirement] could not find material name: " + parts[0]);
|
||||
}
|
||||
|
||||
if (parts.length > 1) {
|
||||
int durability;
|
||||
try {
|
||||
durability = Integer.parseInt(parts[1]);
|
||||
} catch (NumberFormatException e) {
|
||||
throw new IllegalArgumentException("[item requirement] durability '" + parts[1] + "' must be a number in item: '" + sub + "'");
|
||||
}
|
||||
|
||||
if (durability != item.getDurability()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return material == item.getType();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,32 +1,32 @@
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.Statistic;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class MobKillsRequirement extends ProgressiveRequirement {
|
||||
public MobKillsRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "mob-kills", true);
|
||||
}
|
||||
|
||||
protected MobKillsRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
EntityType entity = Objects.requireNonNull(EntityType.fromName(getSub()), "Invalid entity type '" + getSub() + "' in mob-kills requirement.");
|
||||
return player.getStatistic(Statistic.KILL_ENTITY, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new MobKillsRequirement(this);
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.Statistic;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class MobKillsRequirement extends ProgressiveRequirement {
|
||||
public MobKillsRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "mob-kills", true);
|
||||
}
|
||||
|
||||
protected MobKillsRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
EntityType entity = Objects.requireNonNull(EntityType.fromName(getSub()), "Invalid entity type '" + getSub() + "' in mob-kills requirement.");
|
||||
return player.getStatistic(Statistic.KILL_ENTITY, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new MobKillsRequirement(this);
|
||||
}
|
||||
}
|
||||
|
||||
+29
-29
@@ -1,29 +1,29 @@
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import net.milkbowl.vault.economy.Economy;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.DeductibleRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class MoneyDeductibleRequirement extends MoneyRequirement implements DeductibleRequirement {
|
||||
|
||||
public MoneyDeductibleRequirement(RankupPlugin plugin, String name) {
|
||||
super(plugin, name);
|
||||
}
|
||||
|
||||
protected MoneyDeductibleRequirement(MoneyDeductibleRequirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply(Player player, double multiplier) {
|
||||
Economy economy = plugin.getEconomy();
|
||||
economy.withdrawPlayer(player, getValueDouble() * multiplier);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new MoneyDeductibleRequirement(this);
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import net.milkbowl.vault.economy.Economy;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.DeductibleRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class MoneyDeductibleRequirement extends MoneyRequirement implements DeductibleRequirement {
|
||||
|
||||
public MoneyDeductibleRequirement(RankupPlugin plugin, String name) {
|
||||
super(plugin, name);
|
||||
}
|
||||
|
||||
protected MoneyDeductibleRequirement(MoneyDeductibleRequirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply(Player player, double multiplier) {
|
||||
Economy economy = plugin.getEconomy();
|
||||
economy.withdrawPlayer(player, getValueDouble() * multiplier);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new MoneyDeductibleRequirement(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,26 +1,26 @@
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class MoneyRequirement extends ProgressiveRequirement {
|
||||
public MoneyRequirement(RankupPlugin plugin, String name) {
|
||||
super(plugin, name);
|
||||
}
|
||||
|
||||
protected MoneyRequirement(MoneyRequirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
return plugin.getEconomy().getBalance(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new MoneyRequirement(this);
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class MoneyRequirement extends ProgressiveRequirement {
|
||||
public MoneyRequirement(RankupPlugin plugin, String name) {
|
||||
super(plugin, name);
|
||||
}
|
||||
|
||||
protected MoneyRequirement(MoneyRequirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
return plugin.getEconomy().getBalance(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new MoneyRequirement(this);
|
||||
}
|
||||
}
|
||||
@@ -1,30 +1,30 @@
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class PermissionRequirement extends Requirement {
|
||||
public PermissionRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "permission");
|
||||
}
|
||||
|
||||
protected PermissionRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
for (String permission : getValuesString()) {
|
||||
if (player.hasPermission(permission)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new PermissionRequirement(this);
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class PermissionRequirement extends Requirement {
|
||||
public PermissionRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "permission");
|
||||
}
|
||||
|
||||
protected PermissionRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
for (String permission : getValuesString()) {
|
||||
if (player.hasPermission(permission)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new PermissionRequirement(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,90 +1,90 @@
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import me.clip.placeholderapi.PlaceholderAPI;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class PlaceholderRequirement extends ProgressiveRequirement {
|
||||
|
||||
public static final double DELTA = 0.00001D;
|
||||
|
||||
public PlaceholderRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "placeholder");
|
||||
}
|
||||
|
||||
public PlaceholderRequirement(PlaceholderRequirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
String[] parts = getParts(player);
|
||||
String parsed = parts[0];
|
||||
String value = parts[2];
|
||||
|
||||
// string operations
|
||||
switch (parts[1]) {
|
||||
case "=":
|
||||
return parsed.equals(value) ? 1 : 0;
|
||||
}
|
||||
|
||||
// numeric operations
|
||||
double p = Double.parseDouble(parsed);
|
||||
double v = Double.parseDouble(value);
|
||||
switch (parts[1]) {
|
||||
case ">":
|
||||
return p > v ? v : 0;
|
||||
case ">=":
|
||||
return Math.min(p, v);
|
||||
case "<":
|
||||
return p < v ? v : 0;
|
||||
case "<=":
|
||||
return p <= v ? 1 : 0;
|
||||
case "==":
|
||||
return p == v ? v : 0;
|
||||
}
|
||||
throw new IllegalArgumentException("Invalid operation: " + parts[1]);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getTotal(Player player) {
|
||||
String[] parts = getParts(player);
|
||||
|
||||
if (parts[1].equalsIgnoreCase("=")) {
|
||||
return 1;
|
||||
} else {
|
||||
return Double.parseDouble(parts[2]);
|
||||
}
|
||||
}
|
||||
|
||||
private String[] getParts(Player player) {
|
||||
String[] parts = getValueString().split(" ");
|
||||
if (parts.length < 3) {
|
||||
throw new IllegalArgumentException("Placeholder requirements must be in the form %placeholder% <operation> string");
|
||||
}
|
||||
String parsed = PlaceholderAPI.setPlaceholders(player, parts[0]);
|
||||
if (!PlaceholderAPI.containsPlaceholders(parts[0]) || parsed.equals(parts[0])) {
|
||||
throw new IllegalArgumentException(parts[0] + " is not a PlaceholderAPI placeholder!");
|
||||
}
|
||||
parts[0] = parsed;
|
||||
return parts;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFullName() {
|
||||
String[] parts = getValueString().split(" ");
|
||||
return name + "#" + parts[0].replace("%", "");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
return getRemaining(player) <= 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new PlaceholderRequirement(this);
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import me.clip.placeholderapi.PlaceholderAPI;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class PlaceholderRequirement extends ProgressiveRequirement {
|
||||
|
||||
public static final double DELTA = 0.00001D;
|
||||
|
||||
public PlaceholderRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "placeholder");
|
||||
}
|
||||
|
||||
public PlaceholderRequirement(PlaceholderRequirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
String[] parts = getParts(player);
|
||||
String parsed = parts[0];
|
||||
String value = parts[2];
|
||||
|
||||
// string operations
|
||||
switch (parts[1]) {
|
||||
case "=":
|
||||
return parsed.equals(value) ? 1 : 0;
|
||||
}
|
||||
|
||||
// numeric operations
|
||||
double p = Double.parseDouble(parsed);
|
||||
double v = Double.parseDouble(value);
|
||||
switch (parts[1]) {
|
||||
case ">":
|
||||
return p > v ? v : 0;
|
||||
case ">=":
|
||||
return Math.min(p, v);
|
||||
case "<":
|
||||
return p < v ? v : 0;
|
||||
case "<=":
|
||||
return p <= v ? 1 : 0;
|
||||
case "==":
|
||||
return p == v ? v : 0;
|
||||
}
|
||||
throw new IllegalArgumentException("Invalid operation: " + parts[1]);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getTotal(Player player) {
|
||||
String[] parts = getParts(player);
|
||||
|
||||
if (parts[1].equalsIgnoreCase("=")) {
|
||||
return 1;
|
||||
} else {
|
||||
return Double.parseDouble(parts[2]);
|
||||
}
|
||||
}
|
||||
|
||||
private String[] getParts(Player player) {
|
||||
String[] parts = getValueString().split(" ");
|
||||
if (parts.length < 3) {
|
||||
throw new IllegalArgumentException("Placeholder requirements must be in the form %placeholder% <operation> string");
|
||||
}
|
||||
String parsed = PlaceholderAPI.setPlaceholders(player, parts[0]);
|
||||
if (!PlaceholderAPI.containsPlaceholders(parts[0]) || parsed.equals(parts[0])) {
|
||||
throw new IllegalArgumentException(parts[0] + " is not a PlaceholderAPI placeholder!");
|
||||
}
|
||||
parts[0] = parsed;
|
||||
return parts;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFullName() {
|
||||
String[] parts = getValueString().split(" ");
|
||||
return name + "#" + parts[0].replace("%", "");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
return getRemaining(player) <= 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new PlaceholderRequirement(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,27 +1,27 @@
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.Statistic;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class PlayerKillsRequirement extends ProgressiveRequirement {
|
||||
public PlayerKillsRequirement(RankupPlugin 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);
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.Statistic;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class PlayerKillsRequirement extends ProgressiveRequirement {
|
||||
public PlayerKillsRequirement(RankupPlugin 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);
|
||||
}
|
||||
}
|
||||
|
||||
+37
-37
@@ -1,37 +1,37 @@
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.Statistic;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class PlaytimeMinutesRequirement extends ProgressiveRequirement {
|
||||
private static final int TICKS_PER_MINUTE = 20 * 60;
|
||||
private Statistic playOneTick;
|
||||
|
||||
public PlaytimeMinutesRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "playtime-minutes");
|
||||
try {
|
||||
playOneTick = Statistic.valueOf("PLAY_ONE_MINUTE");
|
||||
} catch (IllegalArgumentException e) {
|
||||
// statistic was changed in 1.13.
|
||||
playOneTick = Statistic.valueOf("PLAY_ONE_TICK");
|
||||
}
|
||||
}
|
||||
|
||||
protected PlaytimeMinutesRequirement(PlaytimeMinutesRequirement clone) {
|
||||
super(clone);
|
||||
this.playOneTick = clone.playOneTick;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
return player.getStatistic(playOneTick) / TICKS_PER_MINUTE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new PlaytimeMinutesRequirement(this);
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.Statistic;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class PlaytimeMinutesRequirement extends ProgressiveRequirement {
|
||||
private static final int TICKS_PER_MINUTE = 20 * 60;
|
||||
private Statistic playOneTick;
|
||||
|
||||
public PlaytimeMinutesRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "playtime-minutes");
|
||||
try {
|
||||
playOneTick = Statistic.valueOf("PLAY_ONE_MINUTE");
|
||||
} catch (IllegalArgumentException e) {
|
||||
// statistic was changed in 1.13.
|
||||
playOneTick = Statistic.valueOf("PLAY_ONE_TICK");
|
||||
}
|
||||
}
|
||||
|
||||
protected PlaytimeMinutesRequirement(PlaytimeMinutesRequirement clone) {
|
||||
super(clone);
|
||||
this.playOneTick = clone.playOneTick;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
return player.getStatistic(playOneTick) / TICKS_PER_MINUTE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new PlaytimeMinutesRequirement(this);
|
||||
}
|
||||
}
|
||||
|
||||
+26
-26
@@ -1,26 +1,26 @@
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.DeductibleRequirement;
|
||||
import sh.okx.rankup.requirements.requirement.tokenmanager.TokensRequirement;
|
||||
|
||||
public class TokensDeductibleRequirement extends TokensRequirement implements DeductibleRequirement {
|
||||
public TokensDeductibleRequirement(RankupPlugin plugin, String name) {
|
||||
super(plugin, name);
|
||||
}
|
||||
|
||||
protected TokensDeductibleRequirement(TokensDeductibleRequirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply(Player player, double multiplier) {
|
||||
manager.removeTokens(player, (long) (getValueInt() * multiplier));
|
||||
}
|
||||
|
||||
@Override
|
||||
public TokensRequirement clone() {
|
||||
return new TokensDeductibleRequirement(this);
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.DeductibleRequirement;
|
||||
import sh.okx.rankup.requirements.requirement.tokenmanager.TokensRequirement;
|
||||
|
||||
public class TokensDeductibleRequirement extends TokensRequirement implements DeductibleRequirement {
|
||||
public TokensDeductibleRequirement(RankupPlugin plugin, String name) {
|
||||
super(plugin, name);
|
||||
}
|
||||
|
||||
protected TokensDeductibleRequirement(TokensDeductibleRequirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply(Player player, double multiplier) {
|
||||
manager.removeTokens(player, (long) (getValueInt() * multiplier));
|
||||
}
|
||||
|
||||
@Override
|
||||
public TokensRequirement clone() {
|
||||
return new TokensDeductibleRequirement(this);
|
||||
}
|
||||
}
|
||||
|
||||
+27
-27
@@ -1,27 +1,27 @@
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.Statistic;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class TotalMobKillsRequirement extends ProgressiveRequirement {
|
||||
public TotalMobKillsRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "total-mob-kills");
|
||||
}
|
||||
|
||||
private TotalMobKillsRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
return player.getStatistic(Statistic.MOB_KILLS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new TotalMobKillsRequirement(this);
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.Statistic;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class TotalMobKillsRequirement extends ProgressiveRequirement {
|
||||
public TotalMobKillsRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "total-mob-kills");
|
||||
}
|
||||
|
||||
private TotalMobKillsRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
return player.getStatistic(Statistic.MOB_KILLS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new TotalMobKillsRequirement(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,32 +1,32 @@
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Statistic;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class UseItemRequirement extends ProgressiveRequirement {
|
||||
public UseItemRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "use-item", true);
|
||||
}
|
||||
|
||||
protected UseItemRequirement(UseItemRequirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
Material material = Material.matchMaterial(getSub());
|
||||
if (material == null) {
|
||||
throw new IllegalArgumentException("'" + getSub() + "' is not a valid item");
|
||||
}
|
||||
return player.getStatistic(Statistic.USE_ITEM, material);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new UseItemRequirement(this);
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Statistic;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class UseItemRequirement extends ProgressiveRequirement {
|
||||
public UseItemRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "use-item", true);
|
||||
}
|
||||
|
||||
protected UseItemRequirement(UseItemRequirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
Material material = Material.matchMaterial(getSub());
|
||||
if (material == null) {
|
||||
throw new IllegalArgumentException("'" + getSub() + "' is not a valid item");
|
||||
}
|
||||
return player.getStatistic(Statistic.USE_ITEM, material);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new UseItemRequirement(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,29 +1,29 @@
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class WorldRequirement extends Requirement {
|
||||
public WorldRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "world");
|
||||
}
|
||||
|
||||
protected WorldRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
String[] worlds = getValuesString();
|
||||
for (String world : worlds) {
|
||||
return player.getWorld().getName().equalsIgnoreCase(world);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new WorldRequirement(this);
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class WorldRequirement extends Requirement {
|
||||
public WorldRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "world");
|
||||
}
|
||||
|
||||
protected WorldRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
String[] worlds = getValuesString();
|
||||
for (String world : worlds) {
|
||||
return player.getWorld().getName().equalsIgnoreCase(world);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new WorldRequirement(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,26 +1,26 @@
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class XpLevelRequirement extends ProgressiveRequirement {
|
||||
public XpLevelRequirement(RankupPlugin plugin, String name) {
|
||||
super(plugin, name);
|
||||
}
|
||||
|
||||
protected XpLevelRequirement(XpLevelRequirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
return player.getLevel();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new XpLevelRequirement(this);
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class XpLevelRequirement extends ProgressiveRequirement {
|
||||
public XpLevelRequirement(RankupPlugin plugin, String name) {
|
||||
super(plugin, name);
|
||||
}
|
||||
|
||||
protected XpLevelRequirement(XpLevelRequirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
return player.getLevel();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new XpLevelRequirement(this);
|
||||
}
|
||||
}
|
||||
+38
-38
@@ -1,38 +1,38 @@
|
||||
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.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class AdvancedAchievementsAchievementRequirement extends Requirement {
|
||||
public AdvancedAchievementsAchievementRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "advancedachievements-achievement");
|
||||
}
|
||||
|
||||
protected AdvancedAchievementsAchievementRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
AdvancedAchievementsAPI api = AdvancedAchievementsAPIFetcher.fetchInstance().get();
|
||||
return api.hasPlayerReceivedAchievement(player.getUniqueId(), getValueString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFullName() {
|
||||
return super.getFullName() + "#" + getValueString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getTotal(Player player) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new AdvancedAchievementsAchievementRequirement(this);
|
||||
}
|
||||
}
|
||||
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.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class AdvancedAchievementsAchievementRequirement extends Requirement {
|
||||
public AdvancedAchievementsAchievementRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "advancedachievements-achievement");
|
||||
}
|
||||
|
||||
protected AdvancedAchievementsAchievementRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
AdvancedAchievementsAPI api = AdvancedAchievementsAPIFetcher.fetchInstance().get();
|
||||
return api.hasPlayerReceivedAchievement(player.getUniqueId(), getValueString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFullName() {
|
||||
return super.getFullName() + "#" + getValueString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getTotal(Player player) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new AdvancedAchievementsAchievementRequirement(this);
|
||||
}
|
||||
}
|
||||
|
||||
+27
-27
@@ -1,27 +1,27 @@
|
||||
package sh.okx.rankup.requirements.requirement.advancedachievements;
|
||||
|
||||
import com.hm.achievement.api.AdvancedAchievementsAPIFetcher;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
|
||||
public class AdvancedAchievementsTotalRequirement extends ProgressiveRequirement {
|
||||
public AdvancedAchievementsTotalRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "advancedachievements-total");
|
||||
}
|
||||
|
||||
private AdvancedAchievementsTotalRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
return AdvancedAchievementsAPIFetcher.fetchInstance().get().getPlayerTotalAchievements(player.getUniqueId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new AdvancedAchievementsTotalRequirement(this);
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement.advancedachievements;
|
||||
|
||||
import com.hm.achievement.api.AdvancedAchievementsAPIFetcher;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
|
||||
public class AdvancedAchievementsTotalRequirement extends ProgressiveRequirement {
|
||||
public AdvancedAchievementsTotalRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "advancedachievements-total");
|
||||
}
|
||||
|
||||
private AdvancedAchievementsTotalRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
return AdvancedAchievementsAPIFetcher.fetchInstance().get().getPlayerTotalAchievements(player.getUniqueId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new AdvancedAchievementsTotalRequirement(this);
|
||||
}
|
||||
}
|
||||
|
||||
+27
-27
@@ -1,27 +1,27 @@
|
||||
package sh.okx.rankup.requirements.requirement.mcmmo;
|
||||
|
||||
import com.gmail.nossr50.util.player.UserManager;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
|
||||
public class McMMOPowerLevelRequirement extends ProgressiveRequirement {
|
||||
public McMMOPowerLevelRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "mcmmo-power-level");
|
||||
}
|
||||
|
||||
protected McMMOPowerLevelRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
return UserManager.getPlayer(player).getPowerLevel();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new McMMOPowerLevelRequirement(this);
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement.mcmmo;
|
||||
|
||||
import com.gmail.nossr50.util.player.UserManager;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
|
||||
public class McMMOPowerLevelRequirement extends ProgressiveRequirement {
|
||||
public McMMOPowerLevelRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "mcmmo-power-level");
|
||||
}
|
||||
|
||||
protected McMMOPowerLevelRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
return UserManager.getPlayer(player).getPowerLevel();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new McMMOPowerLevelRequirement(this);
|
||||
}
|
||||
}
|
||||
|
||||
+26
-26
@@ -1,26 +1,26 @@
|
||||
package sh.okx.rankup.requirements.requirement.mcmmo;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
|
||||
public class McMMOSkillRequirement extends ProgressiveRequirement {
|
||||
public McMMOSkillRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "mcmmo", true);
|
||||
}
|
||||
|
||||
protected McMMOSkillRequirement(McMMOSkillRequirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
return McMMOSkillUtil.getInstance().getSkillLevel(player, getSub());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new McMMOSkillRequirement(this);
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement.mcmmo;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
|
||||
public class McMMOSkillRequirement extends ProgressiveRequirement {
|
||||
public McMMOSkillRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "mcmmo", true);
|
||||
}
|
||||
|
||||
protected McMMOSkillRequirement(McMMOSkillRequirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
return McMMOSkillUtil.getInstance().getSkillLevel(player, getSub());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new McMMOSkillRequirement(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,91 +1,91 @@
|
||||
package sh.okx.rankup.requirements.requirement.mcmmo;
|
||||
|
||||
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
|
||||
import com.gmail.nossr50.util.player.UserManager;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
/**
|
||||
* Because mcMMO like changing the name of their skill types.
|
||||
* Singleton class to access different mcMMO versions.
|
||||
*/
|
||||
public class McMMOSkillUtil {
|
||||
private static McMMOSkillUtil instance;
|
||||
|
||||
private Class<?> skillTypeClass;
|
||||
private Method values;
|
||||
private Method valueOf;
|
||||
//private Class<?> userManagerClass;
|
||||
private Method getSkillLevel;
|
||||
|
||||
private McMMOSkillUtil() {
|
||||
final String pckg = "com.gmail.nossr50.datatypes.skills.";
|
||||
try {
|
||||
skillTypeClass = Class.forName(pckg + "PrimarySkillType");
|
||||
} catch (ClassNotFoundException e0) {
|
||||
try {
|
||||
skillTypeClass = Class.forName(pckg + "PrimarySkill");
|
||||
} catch (ClassNotFoundException e1) {
|
||||
try {
|
||||
skillTypeClass = Class.forName(pckg + "SkillType");
|
||||
} catch (ClassNotFoundException e2) {
|
||||
throw new UnsupportedOperationException("mcMMO Skill Type class not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
try {
|
||||
values = skillTypeClass.getMethod("values");
|
||||
} catch (NoSuchMethodException e) {
|
||||
throw new UnsupportedOperationException("mcMMO " + skillTypeClass + ".values() not found");
|
||||
}
|
||||
try {
|
||||
valueOf = skillTypeClass.getMethod("valueOf", String.class);
|
||||
} catch (NoSuchMethodException e) {
|
||||
throw new UnsupportedOperationException("mcMMO" + skillTypeClass + ".valueOf(String) not found");
|
||||
}
|
||||
|
||||
/*try {
|
||||
userManagerClass = Class.forName("com.gmail.nossr50.util.player.UserManager");
|
||||
} catch (ClassNotFoundException e) {
|
||||
throw new RuntimeException("mcMMO UserManager class not found");
|
||||
}*/
|
||||
|
||||
try {
|
||||
getSkillLevel = McMMOPlayer.class.getMethod("getSkillLevel", skillTypeClass);
|
||||
} catch (NoSuchMethodException e) {
|
||||
throw new UnsupportedOperationException("mcMMO UserManager.getSkillLevel(" + skillTypeClass + ") not found");
|
||||
}
|
||||
}
|
||||
|
||||
public static McMMOSkillUtil getInstance() {
|
||||
if (instance == null) {
|
||||
instance = new McMMOSkillUtil();
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
|
||||
/*public String[] getSkills() {
|
||||
try {
|
||||
Enum<?>[] skills = (Enum<?>[]) values.invoke(null);
|
||||
String[] stringSkills = new String[skills.length];
|
||||
for (int i = 0; i < skills.length; i++) {
|
||||
stringSkills[i] = skills[i].name();
|
||||
}
|
||||
return stringSkills;
|
||||
} catch (IllegalAccessException | InvocationTargetException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}*/
|
||||
|
||||
public int getSkillLevel(Player player, String skill) {
|
||||
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
|
||||
try {
|
||||
Object skillType = skillTypeClass.cast(valueOf.invoke(null, skill.toUpperCase()));
|
||||
return (int) getSkillLevel.invoke(mcMMOPlayer, skillType);
|
||||
} catch (IllegalAccessException | InvocationTargetException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement.mcmmo;
|
||||
|
||||
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
|
||||
import com.gmail.nossr50.util.player.UserManager;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
/**
|
||||
* Because mcMMO like changing the name of their skill types.
|
||||
* Singleton class to access different mcMMO versions.
|
||||
*/
|
||||
public class McMMOSkillUtil {
|
||||
private static McMMOSkillUtil instance;
|
||||
|
||||
private Class<?> skillTypeClass;
|
||||
private Method values;
|
||||
private Method valueOf;
|
||||
//private Class<?> userManagerClass;
|
||||
private Method getSkillLevel;
|
||||
|
||||
private McMMOSkillUtil() {
|
||||
final String pckg = "com.gmail.nossr50.datatypes.skills.";
|
||||
try {
|
||||
skillTypeClass = Class.forName(pckg + "PrimarySkillType");
|
||||
} catch (ClassNotFoundException e0) {
|
||||
try {
|
||||
skillTypeClass = Class.forName(pckg + "PrimarySkill");
|
||||
} catch (ClassNotFoundException e1) {
|
||||
try {
|
||||
skillTypeClass = Class.forName(pckg + "SkillType");
|
||||
} catch (ClassNotFoundException e2) {
|
||||
throw new UnsupportedOperationException("mcMMO Skill Type class not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
try {
|
||||
values = skillTypeClass.getMethod("values");
|
||||
} catch (NoSuchMethodException e) {
|
||||
throw new UnsupportedOperationException("mcMMO " + skillTypeClass + ".values() not found");
|
||||
}
|
||||
try {
|
||||
valueOf = skillTypeClass.getMethod("valueOf", String.class);
|
||||
} catch (NoSuchMethodException e) {
|
||||
throw new UnsupportedOperationException("mcMMO" + skillTypeClass + ".valueOf(String) not found");
|
||||
}
|
||||
|
||||
/*try {
|
||||
userManagerClass = Class.forName("com.gmail.nossr50.util.player.UserManager");
|
||||
} catch (ClassNotFoundException e) {
|
||||
throw new RuntimeException("mcMMO UserManager class not found");
|
||||
}*/
|
||||
|
||||
try {
|
||||
getSkillLevel = McMMOPlayer.class.getMethod("getSkillLevel", skillTypeClass);
|
||||
} catch (NoSuchMethodException e) {
|
||||
throw new UnsupportedOperationException("mcMMO UserManager.getSkillLevel(" + skillTypeClass + ") not found");
|
||||
}
|
||||
}
|
||||
|
||||
public static McMMOSkillUtil getInstance() {
|
||||
if (instance == null) {
|
||||
instance = new McMMOSkillUtil();
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
|
||||
/*public String[] getSkills() {
|
||||
try {
|
||||
Enum<?>[] skills = (Enum<?>[]) values.invoke(null);
|
||||
String[] stringSkills = new String[skills.length];
|
||||
for (int i = 0; i < skills.length; i++) {
|
||||
stringSkills[i] = skills[i].name();
|
||||
}
|
||||
return stringSkills;
|
||||
} catch (IllegalAccessException | InvocationTargetException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}*/
|
||||
|
||||
public int getSkillLevel(Player player, String skill) {
|
||||
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
|
||||
try {
|
||||
Object skillType = skillTypeClass.cast(valueOf.invoke(null, skill.toUpperCase()));
|
||||
return (int) getSkillLevel.invoke(mcMMOPlayer, skillType);
|
||||
} catch (IllegalAccessException | InvocationTargetException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+30
-30
@@ -1,30 +1,30 @@
|
||||
package sh.okx.rankup.requirements.requirement.tokenmanager;
|
||||
|
||||
import java.util.Objects;
|
||||
import me.realized.tokenmanager.api.TokenManager;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
|
||||
public class TokensRequirement extends ProgressiveRequirement {
|
||||
protected final TokenManager manager = (TokenManager) Objects.requireNonNull(Bukkit.getPluginManager().getPlugin("TokenManager"));
|
||||
|
||||
public TokensRequirement(RankupPlugin plugin, String name) {
|
||||
super(plugin, name);
|
||||
}
|
||||
|
||||
protected TokensRequirement(TokensRequirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
return manager.getTokens(player).orElse(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TokensRequirement clone() {
|
||||
return new TokensRequirement(this);
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement.tokenmanager;
|
||||
|
||||
import java.util.Objects;
|
||||
import me.realized.tokenmanager.api.TokenManager;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
|
||||
public class TokensRequirement extends ProgressiveRequirement {
|
||||
protected final TokenManager manager = (TokenManager) Objects.requireNonNull(Bukkit.getPluginManager().getPlugin("TokenManager"));
|
||||
|
||||
public TokensRequirement(RankupPlugin plugin, String name) {
|
||||
super(plugin, name);
|
||||
}
|
||||
|
||||
protected TokensRequirement(TokensRequirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
return manager.getTokens(player).orElse(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TokensRequirement clone() {
|
||||
return new TokensRequirement(this);
|
||||
}
|
||||
}
|
||||
|
||||
+30
-30
@@ -1,30 +1,30 @@
|
||||
package sh.okx.rankup.requirements.requirement.towny;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class TownyKingNumberResidentsRequirement extends ProgressiveRequirement {
|
||||
public TownyKingNumberResidentsRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "towny-king-residents");
|
||||
}
|
||||
|
||||
protected TownyKingNumberResidentsRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
if (TownyUtils.getInstance().isKing(player)) {
|
||||
return TownyUtils.getInstance().getNation(player).getNumResidents();
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new TownyKingNumberResidentsRequirement(this);
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement.towny;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class TownyKingNumberResidentsRequirement extends ProgressiveRequirement {
|
||||
public TownyKingNumberResidentsRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "towny-king-residents");
|
||||
}
|
||||
|
||||
protected TownyKingNumberResidentsRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
if (TownyUtils.getInstance().isKing(player)) {
|
||||
return TownyUtils.getInstance().getNation(player).getNumResidents();
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new TownyKingNumberResidentsRequirement(this);
|
||||
}
|
||||
}
|
||||
|
||||
+30
-30
@@ -1,30 +1,30 @@
|
||||
package sh.okx.rankup.requirements.requirement.towny;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class TownyKingNumberTownsRequirement extends ProgressiveRequirement {
|
||||
public TownyKingNumberTownsRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "towny-king-towns");
|
||||
}
|
||||
|
||||
protected TownyKingNumberTownsRequirement(TownyKingNumberTownsRequirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
if (TownyUtils.getInstance().isKing(player)) {
|
||||
return TownyUtils.getInstance().getNation(player).getNumTowns();
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new TownyKingNumberTownsRequirement(this);
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement.towny;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class TownyKingNumberTownsRequirement extends ProgressiveRequirement {
|
||||
public TownyKingNumberTownsRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "towny-king-towns");
|
||||
}
|
||||
|
||||
protected TownyKingNumberTownsRequirement(TownyKingNumberTownsRequirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
if (TownyUtils.getInstance().isKing(player)) {
|
||||
return TownyUtils.getInstance().getNation(player).getNumTowns();
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new TownyKingNumberTownsRequirement(this);
|
||||
}
|
||||
}
|
||||
|
||||
+25
-25
@@ -1,25 +1,25 @@
|
||||
package sh.okx.rankup.requirements.requirement.towny;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class TownyKingRequirement extends Requirement {
|
||||
public TownyKingRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "towny-king");
|
||||
}
|
||||
|
||||
protected TownyKingRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
return TownyUtils.getInstance().isKing(player) == getValueBoolean();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new TownyKingRequirement(this);
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement.towny;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class TownyKingRequirement extends Requirement {
|
||||
public TownyKingRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "towny-king");
|
||||
}
|
||||
|
||||
protected TownyKingRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
return TownyUtils.getInstance().isKing(player) == getValueBoolean();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new TownyKingRequirement(this);
|
||||
}
|
||||
}
|
||||
|
||||
+30
-30
@@ -1,30 +1,30 @@
|
||||
package sh.okx.rankup.requirements.requirement.towny;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class TownyMayorNumberResidentsRequirement extends ProgressiveRequirement {
|
||||
public TownyMayorNumberResidentsRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "towny-mayor-residents");
|
||||
}
|
||||
|
||||
protected TownyMayorNumberResidentsRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
if (TownyUtils.getInstance().isMayor(player)) {
|
||||
return TownyUtils.getInstance().getTown(player).getNumResidents();
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new TownyMayorNumberResidentsRequirement(this);
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement.towny;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class TownyMayorNumberResidentsRequirement extends ProgressiveRequirement {
|
||||
public TownyMayorNumberResidentsRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "towny-mayor-residents");
|
||||
}
|
||||
|
||||
protected TownyMayorNumberResidentsRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
if (TownyUtils.getInstance().isMayor(player)) {
|
||||
return TownyUtils.getInstance().getTown(player).getNumResidents();
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new TownyMayorNumberResidentsRequirement(this);
|
||||
}
|
||||
}
|
||||
|
||||
+25
-25
@@ -1,25 +1,25 @@
|
||||
package sh.okx.rankup.requirements.requirement.towny;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class TownyMayorRequirement extends Requirement {
|
||||
public TownyMayorRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "towny-mayor");
|
||||
}
|
||||
|
||||
protected TownyMayorRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
return TownyUtils.getInstance().isMayor(player) == getValueBoolean();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new TownyMayorRequirement(this);
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement.towny;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class TownyMayorRequirement extends Requirement {
|
||||
public TownyMayorRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "towny-mayor");
|
||||
}
|
||||
|
||||
protected TownyMayorRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
return TownyUtils.getInstance().isMayor(player) == getValueBoolean();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new TownyMayorRequirement(this);
|
||||
}
|
||||
}
|
||||
|
||||
+25
-25
@@ -1,25 +1,25 @@
|
||||
package sh.okx.rankup.requirements.requirement.towny;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class TownyResidentRequirement extends Requirement {
|
||||
public TownyResidentRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "towny-resident");
|
||||
}
|
||||
|
||||
protected TownyResidentRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
return TownyUtils.getInstance().isResident(player) == getValueBoolean();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new TownyResidentRequirement(this);
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement.towny;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class TownyResidentRequirement extends Requirement {
|
||||
public TownyResidentRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "towny-resident");
|
||||
}
|
||||
|
||||
protected TownyResidentRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
return TownyUtils.getInstance().isResident(player) == getValueBoolean();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new TownyResidentRequirement(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,71 +1,71 @@
|
||||
package sh.okx.rankup.requirements.requirement.towny;
|
||||
|
||||
import com.palmergames.bukkit.towny.exceptions.NotRegisteredException;
|
||||
import com.palmergames.bukkit.towny.object.Nation;
|
||||
import com.palmergames.bukkit.towny.object.Resident;
|
||||
import com.palmergames.bukkit.towny.object.Town;
|
||||
import com.palmergames.bukkit.towny.object.TownyUniverse;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class TownyUtils {
|
||||
private static TownyUtils instance;
|
||||
|
||||
public static TownyUtils getInstance() {
|
||||
if (instance == null) {
|
||||
instance = new TownyUtils();
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
|
||||
public boolean isResident(Player player) {
|
||||
try {
|
||||
Town town = TownyUniverse.getDataSource().getResident(player.getName()).getTown();
|
||||
|
||||
return town != null;
|
||||
} catch (NotRegisteredException e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public Resident getResident(Player player) {
|
||||
try {
|
||||
return TownyUniverse.getDataSource().getResident(player.getName());
|
||||
} catch (NotRegisteredException e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public Town getTown(Player player) {
|
||||
try {
|
||||
return TownyUniverse.getDataSource().getResident(player.getName()).getTown();
|
||||
} catch (NotRegisteredException e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public Nation getNation(Player player) {
|
||||
Town town = getTown(player);
|
||||
|
||||
try {
|
||||
return getTown(player) == null ? null : town.getNation();
|
||||
} catch (NotRegisteredException e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isMayor(Player player) {
|
||||
try {
|
||||
return TownyUniverse.getDataSource().getResident(player.getName()).isMayor();
|
||||
} catch (NotRegisteredException e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isKing(Player player) {
|
||||
try {
|
||||
return TownyUniverse.getDataSource().getResident(player.getName()).isKing();
|
||||
} catch (NotRegisteredException e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement.towny;
|
||||
|
||||
import com.palmergames.bukkit.towny.exceptions.NotRegisteredException;
|
||||
import com.palmergames.bukkit.towny.object.Nation;
|
||||
import com.palmergames.bukkit.towny.object.Resident;
|
||||
import com.palmergames.bukkit.towny.object.Town;
|
||||
import com.palmergames.bukkit.towny.object.TownyUniverse;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class TownyUtils {
|
||||
private static TownyUtils instance;
|
||||
|
||||
public static TownyUtils getInstance() {
|
||||
if (instance == null) {
|
||||
instance = new TownyUtils();
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
|
||||
public boolean isResident(Player player) {
|
||||
try {
|
||||
Town town = TownyUniverse.getDataSource().getResident(player.getName()).getTown();
|
||||
|
||||
return town != null;
|
||||
} catch (NotRegisteredException e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public Resident getResident(Player player) {
|
||||
try {
|
||||
return TownyUniverse.getDataSource().getResident(player.getName());
|
||||
} catch (NotRegisteredException e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public Town getTown(Player player) {
|
||||
try {
|
||||
return TownyUniverse.getDataSource().getResident(player.getName()).getTown();
|
||||
} catch (NotRegisteredException e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public Nation getNation(Player player) {
|
||||
Town town = getTown(player);
|
||||
|
||||
try {
|
||||
return getTown(player) == null ? null : town.getNation();
|
||||
} catch (NotRegisteredException e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isMayor(Player player) {
|
||||
try {
|
||||
return TownyUniverse.getDataSource().getResident(player.getName()).isMayor();
|
||||
} catch (NotRegisteredException e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isKing(Player player) {
|
||||
try {
|
||||
return TownyUniverse.getDataSource().getResident(player.getName()).isKing();
|
||||
} catch (NotRegisteredException e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+27
-27
@@ -1,27 +1,27 @@
|
||||
package sh.okx.rankup.requirements.requirement.votingplugin;
|
||||
|
||||
import com.Ben12345rocks.VotingPlugin.UserManager.UserManager;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
|
||||
public class VotingPluginVotesRequirement extends ProgressiveRequirement {
|
||||
public VotingPluginVotesRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "votingplugin-votes");
|
||||
}
|
||||
|
||||
protected VotingPluginVotesRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
return UserManager.getInstance().getVotingPluginUser(player).getPoints();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new VotingPluginVotesRequirement(this);
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.requirements.requirement.votingplugin;
|
||||
|
||||
import com.Ben12345rocks.VotingPlugin.UserManager.UserManager;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
|
||||
public class VotingPluginVotesRequirement extends ProgressiveRequirement {
|
||||
public VotingPluginVotesRequirement(RankupPlugin plugin) {
|
||||
super(plugin, "votingplugin-votes");
|
||||
}
|
||||
|
||||
protected VotingPluginVotesRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getProgress(Player player) {
|
||||
return UserManager.getInstance().getVotingPluginUser(player).getPoints();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new VotingPluginVotesRequirement(this);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user