3.5.8-beta
This commit is contained in:
@@ -3,19 +3,7 @@ package sh.okx.rankup.requirements;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.Rankup;
|
||||
|
||||
public abstract class DeductibleRequirement extends ProgressiveRequirement {
|
||||
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);
|
||||
}
|
||||
|
||||
public interface DeductibleRequirement {
|
||||
/**
|
||||
* Apply the effect of this requirement to 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 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,9 +6,9 @@ import org.bukkit.entity.Player;
|
||||
* Proxy requirement for a deductible requirement that is exactly the same but is not deductible
|
||||
*/
|
||||
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());
|
||||
this.requirement = requirement;
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
public class ItemRequirement extends DeductibleRequirement {
|
||||
public class ItemRequirement extends ProgressiveRequirement implements DeductibleRequirement {
|
||||
public ItemRequirement(Rankup plugin) {
|
||||
super(plugin, "item", true);
|
||||
}
|
||||
|
||||
@@ -4,9 +4,10 @@ import net.milkbowl.vault.economy.Economy;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.Rankup;
|
||||
import sh.okx.rankup.requirements.DeductibleRequirement;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class MoneyRequirement extends DeductibleRequirement {
|
||||
public class MoneyRequirement extends ProgressiveRequirement implements DeductibleRequirement {
|
||||
public MoneyRequirement(Rankup plugin) {
|
||||
super(plugin, "money");
|
||||
}
|
||||
|
||||
@@ -3,9 +3,10 @@ package sh.okx.rankup.requirements.requirement;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.Rankup;
|
||||
import sh.okx.rankup.requirements.DeductibleRequirement;
|
||||
import sh.okx.rankup.requirements.ProgressiveRequirement;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
public class XpLevelRequirement extends DeductibleRequirement {
|
||||
public class XpLevelRequirement extends ProgressiveRequirement implements DeductibleRequirement {
|
||||
public XpLevelRequirement(Rankup plugin) {
|
||||
super(plugin, "xp-level");
|
||||
}
|
||||
|
||||
+35
@@ -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);
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -11,7 +11,7 @@ public class VotingPluginVotesRequirement extends ProgressiveRequirement {
|
||||
super(plugin, "votingplugin-votes");
|
||||
}
|
||||
|
||||
protected VotingPluginVotesRequirement(VotingPluginVotesRequirement clone) {
|
||||
protected VotingPluginVotesRequirement(Requirement clone) {
|
||||
super(clone);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user