Skip to content

Commit cac616c

Browse files
committed
Fix permission problems
1 parent 4dab22f commit cac616c

File tree

5 files changed

+31
-5
lines changed

5 files changed

+31
-5
lines changed

src/main/java/io/github/bilektugrul/simpleservertools/commands/FeedCommand.java

+6-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,12 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
2121
Player feedPlayer;
2222

2323
if (args.length >= 1) {
24-
feedPlayer = Bukkit.getPlayer(args[0]);
24+
if (sender.hasPermission("sst.feed.others")) {
25+
feedPlayer = Bukkit.getPlayer(args[0]);
26+
} else {
27+
sender.sendMessage(Utils.getMessage("no-permission", sender));
28+
return true;
29+
}
2530
} else if (sender instanceof Player) {
2631
feedPlayer = (Player) sender;
2732
} else {

src/main/java/io/github/bilektugrul/simpleservertools/commands/FlyCommand.java

+9-1
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,19 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
4242
}
4343

4444
public void change(CommandSender from, Player flightPlayer, boolean newMode) {
45+
46+
boolean isSame = from.equals(flightPlayer);
47+
48+
if (!isSame && !from.hasPermission("sst.fly.others")) {
49+
from.sendMessage(Utils.getMessage("no-permission", from));
50+
return;
51+
}
52+
4553
flightPlayer.setAllowFlight(newMode);
4654
flightPlayer.setFlying(newMode);
4755
flightPlayer.sendMessage(Utils.getMessage("fly.toggled", flightPlayer)
4856
.replace("%flymode%", Utils.getMessage("fly.modes." + newMode, from)));
49-
if (!from.equals(flightPlayer)) {
57+
if (!isSame) {
5058
from.sendMessage(Utils.getMessage("fly.toggled-other", from)
5159
.replace("%other%", flightPlayer.getName())
5260
.replace("%flymode%", Utils.getMessage("fly.modes." + newMode, from)));

src/main/java/io/github/bilektugrul/simpleservertools/commands/GodCommand.java

+8
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,14 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
4747
}
4848

4949
public void change(CommandSender from, Player godPlayer, User godUser, boolean newMode) {
50+
51+
boolean isSame = from.equals(godPlayer);
52+
53+
if (!isSame && !from.hasPermission("sst.god.others")) {
54+
from.sendMessage(Utils.getMessage("no-permission", from));
55+
return;
56+
}
57+
5058
godUser.setGod(newMode);
5159
godPlayer.sendMessage(Utils.getMessage("god.toggled", godPlayer)
5260
.replace("%godmode%", Utils.getMessage("god.modes." + newMode, from)));

src/main/java/io/github/bilektugrul/simpleservertools/commands/HealCommand.java

+7-2
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,15 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
1818
return true;
1919
}
2020

21-
Player healPlayer = null;
21+
Player healPlayer;
2222

2323
if (args.length >= 1) {
24-
healPlayer = Bukkit.getPlayer(args[0]);
24+
if (sender.hasPermission("sst.heal.others")) {
25+
healPlayer = Bukkit.getPlayer(args[0]);
26+
} else {
27+
sender.sendMessage(Utils.getMessage("no-permission", sender));
28+
return true;
29+
}
2530
} else if (sender instanceof Player) {
2631
healPlayer = (Player) sender;
2732
} else {

src/main/java/io/github/bilektugrul/simpleservertools/commands/gamemode/GamemodeCommand.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ private GameMode matchGameMode(String mode) {
6565
}
6666

6767
private boolean canChange(CommandSender sender, GameMode gamemode) {
68-
return sender.hasPermission("sst.gamemode.*") || sender.hasPermission("sst.gamemode." + gamemode.name().toLowerCase(Locale.ROOT));
68+
return sender.hasPermission("sst.gamemode.all") || sender.hasPermission("sst.gamemode.*") || sender.hasPermission("sst.gamemode." + gamemode.name().toLowerCase(Locale.ROOT));
6969
}
7070

7171
}

0 commit comments

Comments
 (0)