Add towny dependency + requirements
This commit is contained in:
@@ -61,6 +61,10 @@ public abstract class Requirement implements Cloneable {
|
||||
return Integer.parseInt(value);
|
||||
}
|
||||
|
||||
public boolean getValueBoolean() {
|
||||
return Boolean.parseBoolean(value);
|
||||
}
|
||||
|
||||
public String getFullName() {
|
||||
if (hasSubRequirement()) {
|
||||
return name + "#" + sub;
|
||||
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
package sh.okx.rankup.requirements.requirement.towny;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.Rankup;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class TownyKingNumberResidentsRequirement extends ProgressiveRequirement {
|
||||
public TownyKingNumberResidentsRequirement(Rankup 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
@@ -0,0 +1,30 @@
|
||||
package sh.okx.rankup.requirements.requirement.towny;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.Rankup;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class TownyKingNumberTownsRequirement extends ProgressiveRequirement {
|
||||
public TownyKingNumberTownsRequirement(Rankup plugin) {
|
||||
super(plugin, "towny-king-towns");
|
||||
}
|
||||
|
||||
protected TownyKingNumberTownsRequirement(Requirement 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);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package sh.okx.rankup.requirements.requirement.towny;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.Rankup;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class TownyKingRequirement extends Requirement {
|
||||
public TownyKingRequirement(Rankup 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
@@ -0,0 +1,30 @@
|
||||
package sh.okx.rankup.requirements.requirement.towny;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.Rankup;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class TownyMayorNumberResidentsRequirement extends ProgressiveRequirement {
|
||||
public TownyMayorNumberResidentsRequirement(Rankup 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);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package sh.okx.rankup.requirements.requirement.towny;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.Rankup;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class TownyMayorRequirement extends Requirement {
|
||||
public TownyMayorRequirement(Rankup 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);
|
||||
}
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
package sh.okx.rankup.requirements.requirement.towny;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.Rankup;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class TownyResidentRequirement extends Requirement {
|
||||
public TownyResidentRequirement(Rankup plugin) {
|
||||
super(plugin, "towny-resident");
|
||||
}
|
||||
|
||||
public TownyResidentRequirement(Rankup plugin, String name) {
|
||||
super(plugin, name);
|
||||
}
|
||||
|
||||
protected TownyResidentRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean check(Player player) {
|
||||
return TownyUtils.getInstance().isResident(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Requirement clone() {
|
||||
return new TownyResidentRequirement(this);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user