Skip to content

Commit b0ae033

Browse files
author
InstanceLabs
committed
Adds option whether to show kits that players don't have permission for or not
1 parent 7070fe1 commit b0ae033

File tree

4 files changed

+20
-2
lines changed

4 files changed

+20
-2
lines changed

API/src/main/java/com/comze_instancelabs/minigamesapi/Classes.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import com.comze_instancelabs.minigamesapi.util.AClass;
2323
import com.comze_instancelabs.minigamesapi.util.IconMenu;
2424
import com.comze_instancelabs.minigamesapi.util.Util;
25+
import com.comze_instancelabs.minigamesapi.util.Validator;
2526
import com.shampaggon.crackshot.CSUtility;
2627

2728
public class Classes {
@@ -44,6 +45,10 @@ public void openGUI(final String p) {
4445
final Classes cl = this;
4546
IconMenu iconm;
4647
int mincount = pli.getAClasses().keySet().size();
48+
if (!Validator.isPlayerOnline(p)) {
49+
return;
50+
}
51+
Player player = Bukkit.getPlayerExact(p);
4752
if (lasticonm.containsKey(p)) {
4853
iconm = lasticonm.get(p);
4954
} else {
@@ -64,11 +69,16 @@ public void onOptionClick(IconMenu.OptionClickEvent event) {
6469
event.setWillClose(true);
6570
}
6671
}, plugin);
67-
72+
6873
int c = 0;
6974
for (String ac : pli.getAClasses().keySet()) {
7075
AClass ac_ = pli.getAClasses().get(ac);
7176
if (ac_.isEnabled()) {
77+
if (!pli.show_classes_without_usage_permission) {
78+
if (!kitPlayerHasPermission(ac_.getInternalName(), player)) {
79+
continue;
80+
}
81+
}
7282
int slot = c;
7383
if (pli.getClassesConfig().getConfig().isSet("config.kits." + ac_.getInternalName() + ".slot")) {
7484
slot = pli.getClassesConfig().getConfig().getInt("config.kits." + ac_.getInternalName() + ".slot");
@@ -82,7 +92,7 @@ public void onOptionClick(IconMenu.OptionClickEvent event) {
8292
}
8393
}
8494

85-
iconm.open(Bukkit.getPlayerExact(p));
95+
iconm.open(player);
8696
lasticonm.put(p, iconm);
8797
}
8898

API/src/main/java/com/comze_instancelabs/minigamesapi/PluginInstance.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ public class PluginInstance {
7171
public boolean color_background_wool_of_signs;
7272
boolean last_man_standing = true;
7373
boolean old_reset = false;
74+
public boolean show_classes_without_usage_permission = true;
7475

7576
public HashMap<String, ArrayList<String>> cached_sign_states = new HashMap<String, ArrayList<String>>();
7677

@@ -114,6 +115,7 @@ public void reloadVariables() {
114115
spectator_mode_1_8 = plugin.getConfig().getBoolean("config.effects.1_8_spectator_mode");
115116
last_man_standing = plugin.getConfig().getBoolean("config.last_man_standing_wins");
116117
old_reset = plugin.getConfig().getBoolean("config.use_old_reset_method");
118+
show_classes_without_usage_permission = plugin.getConfig().getBoolean("config.show_classes_without_usage_permission");
117119

118120
// Cache sign configuration
119121
for (String state : ArenaState.getAllStateNames()) {

API/src/main/java/com/comze_instancelabs/minigamesapi/commands/CommandHandler.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -780,6 +780,11 @@ public boolean setKit(PluginInstance pli, CommandSender sender, String[] args, S
780780
String all = "";
781781
for (AClass k : pli.getAClasses().values()) {
782782
if (k.isEnabled()) {
783+
if (!pli.show_classes_without_usage_permission) {
784+
if (!pli.getClassesHandler().kitPlayerHasPermission(k.getInternalName(), p)) {
785+
continue;
786+
}
787+
}
783788
all += k.getInternalName() + ", ";
784789
}
785790
}

API/src/main/java/com/comze_instancelabs/minigamesapi/config/DefaultConfig.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ public static void init(JavaPlugin plugin, boolean custom) {
4141
config.addDefault("config.use_credits_instead_of_money_for_kits", false);
4242
config.addDefault("config.reset_inventory_when_players_leave_server", true);
4343
config.addDefault("config.color_background_wool_of_signs", false);
44+
config.addDefault("config.show_classes_without_usage_permission", true);
4445

4546
config.addDefault("config.rewards.economy", true);
4647
config.addDefault("config.rewards.economy_reward", 10);

0 commit comments

Comments
 (0)