From 36bc761c199658a9361ad685960547f15a94b1a3 Mon Sep 17 00:00:00 2001 From: HaHaWTH Date: Sun, 1 Oct 2023 22:55:52 +0800 Subject: [PATCH] Fix NPE --- .../java/fr/xephi/authme/listener/GuiCaptchaHandler.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/fr/xephi/authme/listener/GuiCaptchaHandler.java b/src/main/java/fr/xephi/authme/listener/GuiCaptchaHandler.java index a016d417..80103641 100644 --- a/src/main/java/fr/xephi/authme/listener/GuiCaptchaHandler.java +++ b/src/main/java/fr/xephi/authme/listener/GuiCaptchaHandler.java @@ -61,7 +61,7 @@ public class GuiCaptchaHandler implements Listener { public void onInventoryClick(InventoryClickEvent event) { if (event.getWhoClicked() instanceof Player) { Player player = (Player) event.getWhoClicked(); - // 获取点击事件的容器 + ItemStack currentItem = event.getCurrentItem(); if (!authmeApi.isRegistered(player.getName()) && !closeReasonMap.containsKey(player)) { if (AuthMe.settings.getProperty(HooksSettings.HOOK_FLOODGATE_PLAYER) && AuthMe.settings.getProperty(SecuritySettings.GUI_CAPTCHA_BE_COMPATIBILITY) && org.geysermc.floodgate.api.FloodgateApi.getInstance().isFloodgateId(event.getWhoClicked().getUniqueId()) && (getServer().getPluginManager().isPluginEnabled("floodgate") || getServer().getPluginManager().getPlugin("floodgate") != null)) { if (!closeReasonMap.containsKey(player)) { @@ -70,8 +70,7 @@ public class GuiCaptchaHandler implements Listener { } return; } - /* Line 74 may throw NullPointerException, we can't solve it for now.*/ - if (Objects.requireNonNull(event.getCurrentItem()).getType().equals(Material.REDSTONE_BLOCK)) { + if (currentItem!=null && currentItem.getType().equals(Material.REDSTONE_BLOCK)){ event.setCancelled(true); closeReasonMap.put(player, "verified"); player.closeInventory();