Skip to content

Commit 51db0dd

Browse files
committed
📝 Improve placeholder with null player
1 parent d36d70a commit 51db0dd

3 files changed

Lines changed: 23 additions & 39 deletions

File tree

src/main/java/fr/maxlego08/essentials/user/placeholders/UserKitPlaceholders.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ public void register(Placeholder placeholder, EssentialsPlugin plugin) {
2929
placeholder.register("user_kit_time_until_available_", (player, kitName) -> {
3030
Optional<Kit> optional = plugin.getKit(kitName);
3131
User user = plugin.getUser(player.getUniqueId());
32+
if (user == null) return "false";
3233
if (optional.isEmpty()) return "Kit " + kitName + " was not found";
3334

3435
Kit kit = optional.get();

src/main/java/fr/maxlego08/essentials/user/placeholders/UserPlaceholders.java

Lines changed: 18 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -27,21 +27,22 @@ public void register(Placeholder placeholder, EssentialsPlugin plugin) {
2727

2828
placeholder.register("user_target_player_name", player -> {
2929
User user = iStorage.getUser(player.getUniqueId());
30-
return user.getTargetUser() != null ? user.getTargetUser().getName() : "no";
30+
return user != null && user.getTargetUser() != null ? user.getTargetUser().getName() : "no";
3131
}, "Returns the name of the target player");
3232

3333
placeholder.register("user_target_is_ban", player -> {
3434
User user = iStorage.getUser(player.getUniqueId());
35-
return user.getTargetUser() != null ? String.valueOf(user.getTargetUser().getOption(Option.BAN)) : "false";
35+
return user != null && user.getTargetUser() != null ? String.valueOf(user.getTargetUser().getOption(Option.BAN)) : "false";
3636
}, "Returns true if the target player is banned, otherwise false");
3737

3838
placeholder.register("user_target_is_mute", player -> {
3939
User user = iStorage.getUser(player.getUniqueId());
40-
return user.getTargetUser() != null ? String.valueOf(user.getTargetUser().getOption(Option.MUTE)) : "false";
40+
return user != null && user.getTargetUser() != null ? String.valueOf(user.getTargetUser().getOption(Option.MUTE)) : "false";
4141
}, "Returns true if the target player is muted, otherwise false");
4242

4343
placeholder.register("user_target_pay_amount", player -> {
4444
User user = iStorage.getUser(player.getUniqueId());
45+
if (user == null) return "0";
4546
Economy economy = user.getTargetEconomy();
4647
BigDecimal decimal = user.getTargetDecimal();
4748
return economy == null || decimal == null ? "0" : economyManager.format(economy, decimal);
@@ -51,6 +52,7 @@ public void register(Placeholder placeholder, EssentialsPlugin plugin) {
5152

5253
placeholder.register("user_formatted_balance_", (player, args) -> {
5354
User user = iStorage.getUser(player.getUniqueId());
55+
if (user == null) return "0";
5456
Optional<Economy> optional = economyManager.getEconomy(args);
5557
if (optional.isEmpty()) {
5658
return "Economy " + args + " was not found";
@@ -62,6 +64,7 @@ public void register(Placeholder placeholder, EssentialsPlugin plugin) {
6264

6365
placeholder.register("user_balance_", (player, args) -> {
6466
User user = iStorage.getUser(player.getUniqueId());
67+
if (user == null) return "0";
6568
Optional<Economy> optional = economyManager.getEconomy(args);
6669
if (optional.isEmpty()) {
6770
return "Economy " + args + " was not found";
@@ -72,6 +75,7 @@ public void register(Placeholder placeholder, EssentialsPlugin plugin) {
7275

7376
placeholder.register("user_custom_balance_", (player, args) -> {
7477
User user = iStorage.getUser(player.getUniqueId());
78+
if (user == null) return "0";
7579
String[] split = args.split("_", 2);
7680
if (split.length != 2) return "Error: not enough arguments";
7781

@@ -92,6 +96,7 @@ public void register(Placeholder placeholder, EssentialsPlugin plugin) {
9296

9397
placeholder.register("user_option_", (player, args) -> {
9498
User user = iStorage.getUser(player.getUniqueId());
99+
if (user == null) return "false";
95100
try {
96101
Option option = Option.valueOf(args.toUpperCase());
97102
return String.valueOf(user.getOption(option));
@@ -105,78 +110,56 @@ public void register(Placeholder placeholder, EssentialsPlugin plugin) {
105110
// Cooldowns
106111
placeholder.register("user_is_cooldown_", (player, key) -> {
107112
User user = iStorage.getUser(player.getUniqueId());
108-
try {
109-
return String.valueOf(user.isCooldown(key));
110-
} catch (Exception exception) {
111-
return "false";
112-
}
113+
return user == null ? "false" : String.valueOf(user.isCooldown(key));
113114
}, "Returns true if the key is a cooldown", "cooldown key");
114115

115116
placeholder.register("user_cooldown_second_", (player, key) -> {
116117
User user = iStorage.getUser(player.getUniqueId());
117-
try {
118-
return String.valueOf(user.getCooldownSeconds(key));
119-
} catch (Exception exception) {
120-
return "0";
121-
}
118+
return user == null ? "0" : String.valueOf(user.getCooldownSeconds(key));
122119
}, "Returns the remaining time in seconds for the cooldown", "cooldown key");
123120

124121
placeholder.register("user_cooldown_formatted_", (player, key) -> {
125122
User user = iStorage.getUser(player.getUniqueId());
126-
try {
127-
return TimerBuilder.getStringTime(user.getCooldown(key) - System.currentTimeMillis());
128-
} catch (Exception exception) {
129-
return "0s";
130-
}
123+
return TimerBuilder.getStringTime(user == null ? 0 : (user.getCooldown(key) - System.currentTimeMillis()));
131124
}, "Returns the remaining formatted time for the cooldown", "cooldown key");
132125

133126
// Sanction
134127
placeholder.register("user_is_mute", (player) -> {
135128
User user = iStorage.getUser(player.getUniqueId());
136-
return String.valueOf(user.isMute());
129+
return user != null ? String.valueOf(user.isMute()) : "false";
137130
}, "Returns true if the player's is mute");
138131

139132
placeholder.register("user_mute_seconds", (player) -> {
140133
User user = iStorage.getUser(player.getUniqueId());
141-
try {
142-
return String.valueOf((user.getMuteSanction().getDurationRemaining().toSeconds()));
143-
} catch (Exception exception) {
144-
return "0";
145-
}
134+
return user != null ? String.valueOf((user.getMuteSanction().getDurationRemaining().toSeconds())) : "0";
146135
}, "Returns the remaining time in seconds for the mute");
147136

148137
placeholder.register("user_mute_formatted", (player) -> {
149138
User user = iStorage.getUser(player.getUniqueId());
150-
try {
151-
return TimerBuilder.getStringTime(user.getMuteSanction().getDurationRemaining().toMillis());
152-
} catch (Exception exception) {
153-
return "0s";
154-
}
139+
return TimerBuilder.getStringTime(user != null ? user.getMuteSanction().getDurationRemaining().toMillis() : 0);
155140
}, "Returns the remaining formatted time for the mute");
156141

157142
// Mailbox
158143

159144
placeholder.register("user_mailbox_items", (player) -> {
160145
User user = iStorage.getUser(player.getUniqueId());
161-
return String.valueOf(user.getMailBoxItems().size());
146+
return user == null ? "0" : String.valueOf(user.getMailBoxItems().size());
162147
}, "Returns the number of items in the mailbox");
163148

164149
// God
165150
placeholder.register("user_is_god", (player) -> {
166151
User user = iStorage.getUser(player.getUniqueId());
167-
return String.valueOf(user.getOption(Option.GOD));
152+
return user == null ? "false" : String.valueOf(user.getOption(Option.GOD));
168153
}, "Returns the true if user is in god mode");
169154

170155
// Fly
171156
placeholder.register("user_fly_seconds", (player) -> {
172157
User user = iStorage.getUser(player.getUniqueId());
173-
return String.valueOf(user.getFlySeconds());
158+
return user == null ? "0" : String.valueOf(user.getFlySeconds());
174159
}, "Returns the number of seconds for temporary fly");
175160

176161
// Repair all
177-
placeholder.register("can_repair_all", (player) -> {
178-
return countRepairItems(player.getInventory()) > 0 ? "true" : "false";
179-
}, "Returns true if the player can repair all of their items");
162+
placeholder.register("can_repair_all", (player) -> countRepairItems(player.getInventory()) > 0 ? "true" : "false", "Returns true if the player can repair all of their items");
180163

181164
placeholder.register("count_repair_all", (player) -> String.valueOf(countRepairItems(player.getInventory())), "Returns the number of items that the player can repair");
182165
placeholder.register("user_world", (player) -> player.getWorld().getName(), "Returns the name of the world the player is currently in");

src/main/java/fr/maxlego08/essentials/user/placeholders/UserPlayTimePlaceholders.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,22 +17,22 @@ public void register(Placeholder placeholder, EssentialsPlugin plugin) {
1717

1818
placeholder.register("user_playtime", player -> {
1919
User user = iStorage.getUser(player.getUniqueId());
20-
return String.valueOf(user.getPlayTime());
20+
return user == null ? "0" : String.valueOf(user.getPlayTime());
2121
}, "Returns the player’s playing time");
2222

2323
placeholder.register("user_playtime_formatted", player -> {
2424
User user = iStorage.getUser(player.getUniqueId());
25-
return TimerBuilder.getStringTime(user.getPlayTime() * 1000);
25+
return TimerBuilder.getStringTime(user == null ? 0 : (user.getPlayTime() * 1000));
2626
}, "Returns the player’s playing time formatted");
2727

2828
placeholder.register("user_current_session_playtime", player -> {
2929
User user = iStorage.getUser(player.getUniqueId());
30-
return String.valueOf((System.currentTimeMillis() - user.getCurrentSessionPlayTime()) / 1000);
30+
return user == null ? "0" : String.valueOf((System.currentTimeMillis() - user.getCurrentSessionPlayTime()) / 1000);
3131
}, "Returns the player’s playing time of the current session");
3232

3333
placeholder.register("user_current_session_playtime_formatted", player -> {
3434
User user = iStorage.getUser(player.getUniqueId());
35-
return TimerBuilder.getStringTime(System.currentTimeMillis() - user.getCurrentSessionPlayTime());
35+
return TimerBuilder.getStringTime(user == null ? 0 : (System.currentTimeMillis() - user.getCurrentSessionPlayTime()));
3636
}, "Returns the player’s playing time of the current session formatted");
3737
}
3838
}

0 commit comments

Comments
 (0)