3.5.8-beta

This commit is contained in:
okx-code
2019-09-29 10:19:07 +01:00
parent 3f5534a201
commit db0a439d0c
11 changed files with 63 additions and 25 deletions
+5 -2
View File
@@ -5,7 +5,7 @@ plugins {
} }
group 'sh.okx' group 'sh.okx'
version '3.5.7' version '3.5.8-beta'
repositories { repositories {
mavenCentral() mavenCentral()
@@ -29,7 +29,10 @@ repositories {
dependencies { dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12' testCompile group: 'junit', name: 'junit', version: '4.12'
compile 'org.spigotmc:spigot-api:1.8.8-R0.1-SNAPSHOT' compile 'org.spigotmc:spigot-api:1.14.4-R0.1-SNAPSHOT'
compile('com.github.Realizedd:TokenManager:3.2.4') {
transitive = false
}
compile('net.milkbowl.vault:VaultAPI:1.7') { compile('net.milkbowl.vault:VaultAPI:1.7') {
exclude group: 'org.bukkit' exclude group: 'org.bukkit'
+9 -1
View File
@@ -33,6 +33,7 @@ import sh.okx.rankup.ranks.Rank;
import sh.okx.rankup.ranks.Rankups; import sh.okx.rankup.ranks.Rankups;
import sh.okx.rankup.requirements.DeductibleRequirement; import sh.okx.rankup.requirements.DeductibleRequirement;
import sh.okx.rankup.requirements.NonDeductibleRequirement; import sh.okx.rankup.requirements.NonDeductibleRequirement;
import sh.okx.rankup.requirements.ProgressiveRequirement;
import sh.okx.rankup.requirements.Requirement; import sh.okx.rankup.requirements.Requirement;
import sh.okx.rankup.requirements.RequirementRegistry; import sh.okx.rankup.requirements.RequirementRegistry;
import sh.okx.rankup.requirements.requirement.*; import sh.okx.rankup.requirements.requirement.*;
@@ -41,6 +42,7 @@ import sh.okx.rankup.requirements.requirement.advancedachievements.AdvancedAchie
import sh.okx.rankup.requirements.requirement.advancedachievements.AdvancedAchievementsTotalRequirement; import sh.okx.rankup.requirements.requirement.advancedachievements.AdvancedAchievementsTotalRequirement;
import sh.okx.rankup.requirements.requirement.mcmmo.McMMOPowerLevelRequirement; import sh.okx.rankup.requirements.requirement.mcmmo.McMMOPowerLevelRequirement;
import sh.okx.rankup.requirements.requirement.mcmmo.McMMOSkillRequirement; import sh.okx.rankup.requirements.requirement.mcmmo.McMMOSkillRequirement;
import sh.okx.rankup.requirements.requirement.tokenmanager.TokensRequirement;
import sh.okx.rankup.requirements.requirement.towny.*; import sh.okx.rankup.requirements.requirement.towny.*;
import sh.okx.rankup.requirements.requirement.votingplugin.VotingPluginVotesRequirement; import sh.okx.rankup.requirements.requirement.votingplugin.VotingPluginVotesRequirement;
@@ -302,9 +304,15 @@ public class Rankup extends JavaPlugin {
requirements.addRequirement(new TownyKingNumberResidentsRequirement(this)); requirements.addRequirement(new TownyKingNumberResidentsRequirement(this));
requirements.addRequirement(new TownyKingNumberTownsRequirement(this)); requirements.addRequirement(new TownyKingNumberTownsRequirement(this));
} }
if (Bukkit.getPluginManager().isPluginEnabled("TokenManager")) {
registerDeductible(new TokensRequirement(this));
}
} }
private void registerDeductible(DeductibleRequirement requirement) { private void registerDeductible(ProgressiveRequirement requirement) {
if (!(requirement instanceof DeductibleRequirement)) {
throw new IllegalArgumentException("Requirement is not DeductibleRequirement");
}
requirements.addRequirement(requirement); requirements.addRequirement(requirement);
requirements.addRequirement(new NonDeductibleRequirement(requirement, requirement.getName() + "h")); requirements.addRequirement(new NonDeductibleRequirement(requirement, requirement.getName() + "h"));
} }
@@ -3,19 +3,7 @@ package sh.okx.rankup.requirements;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import sh.okx.rankup.Rankup; import sh.okx.rankup.Rankup;
public abstract class DeductibleRequirement extends ProgressiveRequirement { public interface DeductibleRequirement {
public DeductibleRequirement(Rankup plugin, String name) {
super(plugin, name);
}
public DeductibleRequirement(Rankup plugin, String name, boolean subRequirement) {
super(plugin, name, subRequirement);
}
protected DeductibleRequirement(Requirement clone) {
super(clone);
}
/** /**
* Apply the effect of this requirement to the player. * Apply the effect of this requirement to the player.
* For money, this could be taking money away from the player. * For money, this could be taking money away from the player.
@@ -25,9 +13,9 @@ public abstract class DeductibleRequirement extends ProgressiveRequirement {
* @param player the player to take from * @param player the player to take from
* @param multiplier The multiplier for the value * @param multiplier The multiplier for the value
*/ */
public abstract void apply(Player player, double multiplier); void apply(Player player, double multiplier);
public final void apply(Player player) { default void apply(Player player) {
apply(player, 1); apply(player, 1);
} }
} }
@@ -6,9 +6,9 @@ import org.bukkit.entity.Player;
* Proxy requirement for a deductible requirement that is exactly the same but is not deductible * Proxy requirement for a deductible requirement that is exactly the same but is not deductible
*/ */
public class NonDeductibleRequirement extends ProgressiveRequirement { public class NonDeductibleRequirement extends ProgressiveRequirement {
private final DeductibleRequirement requirement; private final ProgressiveRequirement requirement;
public NonDeductibleRequirement(DeductibleRequirement requirement, String name) { public NonDeductibleRequirement(ProgressiveRequirement requirement, String name) {
super(requirement.plugin, name, requirement.hasSubRequirement()); super(requirement.plugin, name, requirement.hasSubRequirement());
this.requirement = requirement; this.requirement = requirement;
} }
@@ -11,7 +11,7 @@ import sh.okx.rankup.requirements.Requirement;
import java.util.Arrays; import java.util.Arrays;
public class ItemRequirement extends DeductibleRequirement { public class ItemRequirement extends ProgressiveRequirement implements DeductibleRequirement {
public ItemRequirement(Rankup plugin) { public ItemRequirement(Rankup plugin) {
super(plugin, "item", true); super(plugin, "item", true);
} }
@@ -4,9 +4,10 @@ import net.milkbowl.vault.economy.Economy;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import sh.okx.rankup.Rankup; import sh.okx.rankup.Rankup;
import sh.okx.rankup.requirements.DeductibleRequirement; import sh.okx.rankup.requirements.DeductibleRequirement;
import sh.okx.rankup.requirements.ProgressiveRequirement;
import sh.okx.rankup.requirements.Requirement; import sh.okx.rankup.requirements.Requirement;
public class MoneyRequirement extends DeductibleRequirement { public class MoneyRequirement extends ProgressiveRequirement implements DeductibleRequirement {
public MoneyRequirement(Rankup plugin) { public MoneyRequirement(Rankup plugin) {
super(plugin, "money"); super(plugin, "money");
} }
@@ -3,9 +3,10 @@ package sh.okx.rankup.requirements.requirement;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import sh.okx.rankup.Rankup; import sh.okx.rankup.Rankup;
import sh.okx.rankup.requirements.DeductibleRequirement; import sh.okx.rankup.requirements.DeductibleRequirement;
import sh.okx.rankup.requirements.ProgressiveRequirement;
import sh.okx.rankup.requirements.Requirement; import sh.okx.rankup.requirements.Requirement;
public class XpLevelRequirement extends DeductibleRequirement { public class XpLevelRequirement extends ProgressiveRequirement implements DeductibleRequirement {
public XpLevelRequirement(Rankup plugin) { public XpLevelRequirement(Rankup plugin) {
super(plugin, "xp-level"); super(plugin, "xp-level");
} }
@@ -0,0 +1,35 @@
package sh.okx.rankup.requirements.requirement.tokenmanager;
import me.realized.tokenmanager.api.TokenManager;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import sh.okx.rankup.Rankup;
import sh.okx.rankup.requirements.DeductibleRequirement;
import sh.okx.rankup.requirements.ProgressiveRequirement;
public class TokensRequirement extends ProgressiveRequirement implements DeductibleRequirement {
private final TokenManager manager = (TokenManager) Bukkit.getPluginManager().getPlugin("TokenManager");
public TokensRequirement(Rankup plugin) {
super(plugin, "tokenmanager-tokens");
}
private TokensRequirement(TokensRequirement clone) {
super(clone);
}
@Override
public void apply(Player player, double multiplier) {
manager.removeTokens(player, (long) (getValueInt() * multiplier));
}
@Override
public double getProgress(Player player) {
return manager.getTokens(player).orElse(0);
}
@Override
public TokensRequirement clone() {
return new TokensRequirement(this);
}
}
@@ -11,7 +11,7 @@ public class VotingPluginVotesRequirement extends ProgressiveRequirement {
super(plugin, "votingplugin-votes"); super(plugin, "votingplugin-votes");
} }
protected VotingPluginVotesRequirement(VotingPluginVotesRequirement clone) { protected VotingPluginVotesRequirement(Requirement clone) {
super(clone); super(clone);
} }
+1 -1
View File
@@ -23,7 +23,7 @@ prestiges: true
# whether or not /prestige and /prestiges should be enabled. # whether or not /prestige and /prestiges should be enabled.
# you can alternatively negate the permission rankup.prestige # you can alternatively negate the permission rankup.prestige
# this will also make the command not autocomplete in 1.13 # this will also make the command not autocomplete in 1.13
prestige: true prestige: false
# how people should confirm ranking up # how people should confirm ranking up
# options are: gui, text or none # options are: gui, text or none
+2
View File
@@ -1,3 +1,5 @@
# !!! To use prestiges, you must first enable it in config.yml
first: first:
# the rank people must be to use this prestige # the rank people must be to use this prestige
from: 'D' from: 'D'