Skip to content

Commit 0011a25

Browse files
committed
Fix NPE on change world event
1 parent b85b837 commit 0011a25

1 file changed

Lines changed: 14 additions & 12 deletions

File tree

pvpmanager/src/main/java/me/chancesd/pvpmanager/listener/PlayerListener.java

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -227,30 +227,32 @@ public final void onPlayerRespawn(final PlayerRespawnEvent event) {
227227
@EventHandler
228228
public void onChangeWorld(final PlayerChangedWorldEvent event) {
229229
final Player player = event.getPlayer();
230-
final CombatPlayer pvPlayer = playerManager.get(player);
230+
final CombatPlayer combatPlayer = playerManager.getUnchecked(player);
231+
if (combatPlayer == null)
232+
return;
231233
final CombatWorld combatWorld = playerManager.getPlugin().getWorldManager().getWorld(player.getWorld());
232-
pvPlayer.setCombatWorld(combatWorld);
234+
combatPlayer.setCombatWorld(combatWorld);
233235

234236
// Handle newbie protection pause in excluded worlds
235-
if (pvPlayer.isNewbie() && pvPlayer.getNewbieTask() != null) {
237+
if (combatPlayer.isNewbie() && combatPlayer.getNewbieTask() != null) {
236238
if (CombatUtils.isWorldExcluded(player.getWorld().getName())) {
237-
pvPlayer.getNewbieTask().pause();
239+
combatPlayer.getNewbieTask().pause();
238240
} else {
239-
pvPlayer.getNewbieTask().resume();
241+
combatPlayer.getNewbieTask().resume();
240242
}
241243
}
242244

243-
final CombatWorld.WorldOptionState optionState = pvPlayer.getCombatWorld().isPvPForced();
245+
final CombatWorld.WorldOptionState optionState = combatPlayer.getCombatWorld().isPvPForced();
244246
if (optionState == CombatWorld.WorldOptionState.NONE)
245247
return;
246-
if (pvPlayer.hasPvPEnabled() && optionState == CombatWorld.WorldOptionState.OFF) {
247-
pvPlayer.setPvP(false);
248-
pvPlayer.message(Lang.ERROR_PVP_TOGGLE_NO_PVP);
248+
if (combatPlayer.hasPvPEnabled() && optionState == CombatWorld.WorldOptionState.OFF) {
249+
combatPlayer.setPvP(false);
250+
combatPlayer.message(Lang.ERROR_PVP_TOGGLE_NO_PVP);
249251
return;
250252
}
251-
if (!pvPlayer.hasPvPEnabled() && optionState == CombatWorld.WorldOptionState.ON) {
252-
pvPlayer.setPvP(true);
253-
pvPlayer.message(Lang.ERROR_PVP_TOGGLE_FORCE_PVP);
253+
if (!combatPlayer.hasPvPEnabled() && optionState == CombatWorld.WorldOptionState.ON) {
254+
combatPlayer.setPvP(true);
255+
combatPlayer.message(Lang.ERROR_PVP_TOGGLE_FORCE_PVP);
254256
}
255257
}
256258

0 commit comments

Comments
 (0)