Skip to content

Commit a376e58

Browse files
committed
remove reliance on LuckPerms group and run configurable commands
1 parent 97285c1 commit a376e58

File tree

4 files changed

+23
-16
lines changed

4 files changed

+23
-16
lines changed

src/main/java/pro/cloudnode/smp/smpcore/Configuration.java

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@
44
import net.kyori.adventure.text.minimessage.MiniMessage;
55
import net.kyori.adventure.text.minimessage.tag.resolver.Formatter;
66
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
7+
import org.bukkit.Bukkit;
8+
import org.bukkit.OfflinePlayer;
79
import org.jetbrains.annotations.NotNull;
10+
import org.jetbrains.annotations.Nullable;
811

912
import java.time.Duration;
1013
import java.time.temporal.ChronoUnit;
@@ -110,7 +113,17 @@ public boolean deathBanEnabled() {
110113
return MiniMessage.miniMessage().deserialize(Objects.requireNonNull(config.getString("staff.team.name")));
111114
}
112115

113-
public @NotNull String staffGroup() {
114-
return Objects.requireNonNull(config.getString("staff.group"));
116+
public void staffCommands(final boolean addMode, final @NotNull OfflinePlayer player) {
117+
final @Nullable String name = player.getName();
118+
if (name == null)
119+
return;
120+
121+
final List<String> commands = config.getStringList("staff.commands." + (addMode ? "add" : "remove"));
122+
123+
for (final String command : commands)
124+
Bukkit.dispatchCommand(
125+
Bukkit.getConsoleSender(),
126+
command.replace("<player>", name)
127+
);
115128
}
116129
}

src/main/java/pro/cloudnode/smp/smpcore/command/MainCommand.java

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import net.kyori.adventure.text.TextComponent;
66
import net.kyori.adventure.text.minimessage.MiniMessage;
77
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
8-
import org.bukkit.Bukkit;
98
import org.bukkit.OfflinePlayer;
109
import org.bukkit.command.CommandSender;
1110
import org.bukkit.command.ConsoleCommandSender;
@@ -391,19 +390,15 @@ public static boolean member(
391390
member.get().nation().ifPresent(nation -> nation.getTeam().removePlayer(member.get().player()));
392391

393392
Member.getStaffTeam().addPlayer(member.get().player());
394-
395-
console.getServer().dispatchCommand(console, "luckperms:luckperms user "
396-
+ member.get().player().getName() + " parent add " + SMPCore.config().staffGroup());
397393
}
398394
else {
399395
Member.getStaffTeam().removePlayer(member.get().player());
400396

401397
member.get().nation().ifPresent(nation -> nation.getTeam().addPlayer(member.get().player()));
402-
403-
console.getServer().dispatchCommand(console, "luckperms:luckperms user "
404-
+ member.get().player().getName() + " parent remove " + SMPCore.config().staffGroup());
405398
}
406399

400+
SMPCore.config().staffCommands(member.get().staff, member.get().player());
401+
407402
return sendMessage(sender, SMPCore.messages().membersSetStaff(member.get()));
408403
}
409404
}
@@ -471,10 +466,7 @@ private static boolean removeMember(final @NotNull Audience audience, final @Not
471466
if (target.staff) {
472467
Member.getStaffTeam().removePlayer(player);
473468

474-
final ConsoleCommandSender console = Bukkit.getConsoleSender();
475-
476-
Bukkit.dispatchCommand(console, "luckperms:luckperms user " + player.getName()
477-
+ " parent remove " + SMPCore.config().staffGroup());
469+
SMPCore.config().staffCommands(false, player);
478470
}
479471

480472
if (!target.delete())

src/main/resources/config.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,8 @@ staff:
5252
team:
5353
id: staff
5454
name: <hover:show_text:'The shield that guards the realms of men.'><dark_red><b>STAFF</b></dark_red></hover>
55-
group: staff
55+
commands:
56+
add:
57+
- luckperms:luckperms user <player> parent remove staff
58+
remove:
59+
- luckperms:luckperms user <player> parent add staff

src/main/resources/plugin.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ author: Cloudnode
33
version: '${project.version}'
44
main: pro.cloudnode.smp.smpcore.SMPCore
55
api-version: '1.20'
6-
depend:
7-
- LuckPerms
86
commands:
97
smpcore:
108
description: SMPCore Main command

0 commit comments

Comments
 (0)