Skip to content

Commit 73631ef

Browse files
committed
Null checks to prevent NPEs when trying to disable the plugin while already disabled (??)
It's not like it is going to happen anyway, but who knows ¯\_(ツ)_/¯
1 parent a71e2ae commit 73631ef

File tree

2 files changed

+39
-21
lines changed

2 files changed

+39
-21
lines changed

Main Plugin/src/main/java/com/jaimemartz/playerbalancer/PlayerBalancer.java

Lines changed: 38 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -169,48 +169,66 @@ private void execStart() {
169169
}
170170

171171
private void execStop() {
172-
getProxy().getPluginManager().unregisterCommand(mainCommand);
173-
mainCommand = null;
172+
if (mainCommand != null) {
173+
getProxy().getPluginManager().unregisterCommand(mainCommand);
174+
mainCommand = null;
175+
}
174176

175177
if (settings.getGeneralProps().isEnabled()) {
176178
//Do not try to do anything if the plugin has not loaded correctly
177179
if (failed) return;
178180

179181
if (settings.getGeneralProps().isAutoReload()) {
180-
getProxy().getPluginManager().unregisterListener(reloadListener);
181-
reloadListener = null;
182+
if (reloadListener != null) {
183+
getProxy().getPluginManager().unregisterListener(reloadListener);
184+
reloadListener = null;
185+
}
182186
}
183187

184188
if (settings.getServerCheckerProps().isEnabled()) {
185-
statusManager.stop();
189+
if (statusManager != null) {
190+
statusManager.stop();
191+
}
186192
}
187193

188-
if (settings.getFallbackCommandProps().isEnabled()) {
189-
getProxy().getPluginManager().unregisterCommand(fallbackService);
190-
}
194+
if (fallbackService != null) {
195+
if (settings.getFallbackCommandProps().isEnabled()) {
196+
getProxy().getPluginManager().unregisterCommand(fallbackService);
197+
}
191198

192-
getProxy().getPluginManager().unregisterListener(fallbackService);
199+
getProxy().getPluginManager().unregisterListener(fallbackService);
193200

194-
fallbackService = null;
201+
fallbackService = null;
202+
}
195203

196204
if (settings.getKickHandlerProps().isEnabled()) {
197-
getProxy().getPluginManager().unregisterListener(kickListener);
198-
kickListener = null;
205+
if (kickListener != null) {
206+
getProxy().getPluginManager().unregisterListener(kickListener);
207+
kickListener = null;
208+
}
199209
}
200210

201-
getProxy().getPluginManager().unregisterListener(connectListener);
202-
connectListener = null;
211+
if (connectListener != null) {
212+
getProxy().getPluginManager().unregisterListener(connectListener);
213+
connectListener = null;
214+
}
203215

204216
if (settings.getGeneralProps().isPluginMessaging()) {
205-
getProxy().unregisterChannel("PlayerBalancer");
206-
getProxy().getPluginManager().unregisterListener(messagingService);
207-
messagingService = null;
217+
if (messagingService != null) {
218+
getProxy().unregisterChannel("PlayerBalancer");
219+
getProxy().getPluginManager().unregisterListener(messagingService);
220+
messagingService = null;
221+
}
208222
}
209223

210-
getProxy().getPluginManager().unregisterCommand(manageCommand);
211-
manageCommand = null;
224+
if (manageCommand != null) {
225+
getProxy().getPluginManager().unregisterCommand(manageCommand);
226+
manageCommand = null;
227+
}
212228

213-
sectionManager.flush();
229+
if (sectionManager != null) {
230+
sectionManager.flush();
231+
}
214232

215233
ServerAssignRegistry.getTable().clear();
216234
}

Main Plugin/src/main/java/com/jaimemartz/playerbalancer/commands/MainCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public class MainCommand extends Command {
1212
private final PlayerBalancer plugin;
1313

1414
public MainCommand(PlayerBalancer plugin) {
15-
super("balancer", "", "playerbalancer", "pb");
15+
super("balancer", "", "playerbalancer");
1616
this.plugin = plugin;
1717
}
1818

0 commit comments

Comments
 (0)