Skip to content

Commit

Permalink
Версия 1.2
Browse files Browse the repository at this point in the history
  • Loading branch information
daedal-dev-ru committed Jun 11, 2023
1 parent b23bff3 commit be0cd37
Showing 1 changed file with 27 additions and 16 deletions.
43 changes: 27 additions & 16 deletions src/main/java/daedal/expirytime/ExpiryExpansion.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import me.clip.placeholderapi.expansion.Configurable;
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
import net.luckperms.api.LuckPerms;
import net.luckperms.api.model.group.GroupManager;
import net.luckperms.api.model.user.UserManager;
import net.luckperms.api.node.Node;
import org.bukkit.Bukkit;
Expand All @@ -18,14 +17,13 @@
import java.util.Objects;

public class ExpiryExpansion extends PlaceholderExpansion implements Configurable {
RegisteredServiceProvider<LuckPerms> provider = Bukkit.getServicesManager().getRegistration(LuckPerms.class);
LuckPerms lp;
private final RegisteredServiceProvider<LuckPerms> provider = Bukkit.getServicesManager().getRegistration(LuckPerms.class);
private final LuckPerms lp;
{
assert provider != null;
lp = provider.getProvider();
}
GroupManager groupManager = lp.getGroupManager();
UserManager userManager = lp.getUserManager();
private final UserManager userManager = lp.getUserManager();

@Override
public @NotNull String getIdentifier() {
Expand All @@ -45,7 +43,6 @@ public class ExpiryExpansion extends PlaceholderExpansion implements Configurabl
@Override
public Map<String, Object> getDefaults() {
Map<String, Object> defaults = new HashMap<>();
defaults.put("invalid_group", "&cНЕИЗВЕСТНАЯ ГРУППА");
defaults.put("numbers_color", "&7");
defaults.put("never", "&6∞");
defaults.put("days", "&6 дн.");
Expand All @@ -55,21 +52,35 @@ public Map<String, Object> getDefaults() {
}

@Override
public String onPlaceholderRequest(Player p, @NotNull String group) {

public String onPlaceholderRequest(Player p, @NotNull String prompt) {
if (p == null) return null;
Collection<Node> nodes = Objects.requireNonNull(userManager.getUser(p.getUniqueId())).getNodes();
String invalid_group = this.getString("invalid_group", "&cНЕИЗВЕСТНАЯ ГРУППА");
String numbers_color = this.getString("numbers_color", "&7");
String never = this.getString("never", "&6∞") ;
String days = this.getString("days", "&6 дн.");
String hours = this.getString("hours", "&6 ч.");
String minutes = this.getString("minutes", "&6 мин.");

if (!groupManager.getLoadedGroups().contains(groupManager.getGroup(group))) return invalid_group;
if (p == null) return null;

Collection<Node> nodes = Objects.requireNonNull(userManager.getUser(p.getUniqueId())).getNodes();
String[] params = prompt.split("_");
String permission;
switch (params[0]) {
case "auto":
permission = "group." + Objects.requireNonNull(this.userManager.getUser(p.getUniqueId())).getPrimaryGroup();
break;
case "group":
permission = "group." + params[1];
if (!this.lp.getGroupManager().getLoadedGroups().contains(this.lp.getGroupManager().getGroup(params[1]))) {
return invalid_group;
}
break;
case "permission":
permission = params[1];
break;
default:
permission = null;
}
for (Node node : nodes) {
if (node.getKey().equals("group."+group)) {
if (node.getKey().equals(permission)) {
if (!node.hasExpiry()) {
return never;
}
Expand All @@ -78,8 +89,8 @@ public String onPlaceholderRequest(Player p, @NotNull String group) {
double toDays = dur.toDays();
double toHours = dur.toHours();
double toMinutes = dur.toMinutes();
if (toDays < 1) {
if (toHours < 1) {
if (toDays < 1.0) {
if (toHours < 1.0) {
return numbers_color + (int) toMinutes + minutes;
}
else {
Expand Down

0 comments on commit be0cd37

Please sign in to comment.