3.7 add prestige-based requirements
This commit is contained in:
@@ -1,63 +1,63 @@
|
||||
package sh.okx.rankup.ranks;
|
||||
|
||||
import java.util.List;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.ToString;
|
||||
import me.clip.placeholderapi.PlaceholderAPI;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.messages.MessageBuilder;
|
||||
import sh.okx.rankup.ranks.requirements.RankRequirements;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
@EqualsAndHashCode
|
||||
@ToString
|
||||
@RequiredArgsConstructor(access = AccessLevel.PROTECTED)
|
||||
public class Rank {
|
||||
@Getter
|
||||
protected final ConfigurationSection section;
|
||||
protected final RankupPlugin plugin;
|
||||
@Getter
|
||||
protected final String next;
|
||||
@Getter
|
||||
protected final String rank;
|
||||
@Getter
|
||||
protected final RankRequirements requirements;
|
||||
protected final List<String> commands;
|
||||
|
||||
public boolean isIn(Player player) {
|
||||
return plugin.getPermissions().inGroup(player.getUniqueId(), rank);
|
||||
}
|
||||
|
||||
public boolean isLast() {
|
||||
return plugin.getRankups().getByName(next) == null;
|
||||
}
|
||||
|
||||
public boolean hasRequirements(Player player) {
|
||||
return requirements.hasRequirements(player);
|
||||
}
|
||||
|
||||
public Requirement getRequirement(Player player, String name) {
|
||||
return requirements.getRequirement(player, name);
|
||||
}
|
||||
|
||||
public void applyRequirements(Player player) {
|
||||
requirements.applyRequirements(player);
|
||||
}
|
||||
|
||||
|
||||
public void runCommands(Player player) {
|
||||
for (String command : commands) {
|
||||
String string = new MessageBuilder(command).replaceRanks(player, this, next).toString();
|
||||
if (Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI")) {
|
||||
string = PlaceholderAPI.setPlaceholders(player, string);
|
||||
}
|
||||
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), string);
|
||||
}
|
||||
}
|
||||
}
|
||||
package sh.okx.rankup.ranks;
|
||||
|
||||
import java.util.List;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.ToString;
|
||||
import me.clip.placeholderapi.PlaceholderAPI;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.entity.Player;
|
||||
import sh.okx.rankup.RankupPlugin;
|
||||
import sh.okx.rankup.messages.MessageBuilder;
|
||||
import sh.okx.rankup.ranks.requirements.RankRequirements;
|
||||
import sh.okx.rankup.requirements.Requirement;
|
||||
|
||||
@EqualsAndHashCode
|
||||
@ToString
|
||||
@RequiredArgsConstructor(access = AccessLevel.PROTECTED)
|
||||
public class Rank {
|
||||
@Getter
|
||||
protected final ConfigurationSection section;
|
||||
protected final RankupPlugin plugin;
|
||||
@Getter
|
||||
protected final String next;
|
||||
@Getter
|
||||
protected final String rank;
|
||||
@Getter
|
||||
protected final RankRequirements requirements;
|
||||
protected final List<String> commands;
|
||||
|
||||
public boolean isIn(Player player) {
|
||||
return plugin.getPermissions().inGroup(player.getUniqueId(), rank);
|
||||
}
|
||||
|
||||
public boolean isLast() {
|
||||
return plugin.getRankups().getByName(next) == null;
|
||||
}
|
||||
|
||||
public boolean hasRequirements(Player player) {
|
||||
return requirements.hasRequirements(player);
|
||||
}
|
||||
|
||||
public Requirement getRequirement(Player player, String name) {
|
||||
return requirements.getRequirement(player, name);
|
||||
}
|
||||
|
||||
public void applyRequirements(Player player) {
|
||||
requirements.applyRequirements(player);
|
||||
}
|
||||
|
||||
|
||||
public void runCommands(Player player) {
|
||||
for (String command : commands) {
|
||||
String string = new MessageBuilder(command).replaceRanks(player, this, next).toString();
|
||||
if (Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI")) {
|
||||
string = PlaceholderAPI.setPlaceholders(player, string);
|
||||
}
|
||||
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), string);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user