Add towny dependency + requirements
This commit is contained in:
@@ -41,4 +41,5 @@ dependencies {
|
||||
exclude group: 'com.sk89q.worldguard'
|
||||
}
|
||||
compile 'com.github.Ben12345rocks:VotingPlugin:5.18.2'
|
||||
compile 'com.github.LlmDl:Towny:25fc18a'
|
||||
}
|
||||
|
||||
@@ -37,6 +37,7 @@ import sh.okx.rankup.requirements.requirement.advancedachievements.AdvancedAchie
|
||||
import sh.okx.rankup.requirements.requirement.advancedachievements.AdvancedAchievementsTotalRequirement;
|
||||
import sh.okx.rankup.requirements.requirement.mcmmo.McMMOPowerLevelRequirement;
|
||||
import sh.okx.rankup.requirements.requirement.mcmmo.McMMOSkillRequirement;
|
||||
import sh.okx.rankup.requirements.requirement.towny.*;
|
||||
import sh.okx.rankup.requirements.requirement.votingplugin.VotingPluginVotesRequirement;
|
||||
|
||||
import java.io.File;
|
||||
@@ -242,6 +243,14 @@ public class Rankup extends JavaPlugin {
|
||||
if (Bukkit.getPluginManager().isPluginEnabled("VotingPlugin")) {
|
||||
requirementRegistry.addRequirement(new VotingPluginVotesRequirement(this));
|
||||
}
|
||||
if (Bukkit.getPluginManager().isPluginEnabled("Towny")) {
|
||||
requirementRegistry.addRequirement(new TownyResidentRequirement(this));
|
||||
requirementRegistry.addRequirement(new TownyMayorRequirement(this));
|
||||
requirementRegistry.addRequirement(new TownyMayorNumberResidentsRequirement(this));
|
||||
requirementRegistry.addRequirement(new TownyKingRequirement(this));
|
||||
requirementRegistry.addRequirement(new TownyKingNumberResidentsRequirement(this));
|
||||
requirementRegistry.addRequirement(new TownyKingNumberTownsRequirement(this));
|
||||
}
|
||||
requirementRegistry.addRequirement(new ItemRequirement(this));
|
||||
requirementRegistry.addRequirement(new UseItemRequirement(this));
|
||||
requirementRegistry.addRequirement(new TotalMobKillsRequirement(this));
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@ version: 3.5.4
|
||||
main: sh.okx.rankup.Rankup
|
||||
author: Okx
|
||||
depend: [Vault]
|
||||
softdepend: [PlaceholderAPI, mcMMO, AdvancedAchievements]
|
||||
softdepend: [PlaceholderAPI, mcMMO, AdvancedAchievements, Towny]
|
||||
api-version: 1.13
|
||||
|
||||
commands:
|
||||
|
||||
Reference in New Issue
Block a user