From fe2b877052f22870fb412704a0128f8442d91227 Mon Sep 17 00:00:00 2001 From: HaHaWTH Date: Wed, 31 Jan 2024 21:13:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=87=86=E4=B8=9E=E7=9B=B8=E7=8E=87=E4=B8=89?= =?UTF-8?q?=E5=8D=81=E4=B8=87=E5=A4=A7=E5=86=9B=EF=BC=8C=E6=8B=A9=E6=97=A5?= =?UTF-8?q?=E5=90=AF=E7=A8=8B=EF=BC=8C=E5=8C=97=E4=BC=90=E6=9B=B9=E9=AD=8F?= =?UTF-8?q?!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/xephi/authme/listener/GuiCaptchaHandler.java | 13 ++++++++++--- 1 file changed, 10 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 5df82f9c..497de210 100644 --- a/src/main/java/fr/xephi/authme/listener/GuiCaptchaHandler.java +++ b/src/main/java/fr/xephi/authme/listener/GuiCaptchaHandler.java @@ -76,6 +76,7 @@ public class GuiCaptchaHandler implements Listener { String randomString = ""; Random randomItemSet = new Random(); Random howManyRandom = new Random(); + private Material captchaMaterial = getRandomMaterial(); private boolean isPacketListenersActive = false; @@ -108,11 +109,11 @@ public class GuiCaptchaHandler implements Listener { if (event.getWhoClicked() instanceof Player) { Player player = (Player) event.getWhoClicked(); ItemStack currentItem = event.getCurrentItem(); - if (!authmeApi.isRegistered(player.getName()) && !closeReasonMap.containsKey(player)) { + if (!authmeApi.isRegistered(player.getName())) { if (isBedrockPlayer(player.getUniqueId())) { return; } - if (currentItem != null && currentItem.getType().equals(Material.REDSTONE_BLOCK)) { + if (currentItem != null && currentItem.getType().equals(captchaMaterial)) { event.setCancelled(true); if (!closeReasonMap.containsKey(player)) { closeReasonMap.put(player, "verified"); @@ -169,7 +170,7 @@ public class GuiCaptchaHandler implements Listener { Random random_blockpos = new Random(); AtomicInteger random_num = new AtomicInteger(random_blockpos.nextInt(26)); Inventory menu = Bukkit.createInventory(playerunreg, 27, messages.retrieveSingle(playerunreg, MessageKey.GUI_CAPTCHA_WINDOW_NAME, randomString)); - ItemStack item = new ItemStack(Material.REDSTONE_BLOCK); + ItemStack item = new ItemStack(captchaMaterial); ItemMeta meta = item.getItemMeta(); try { if (meta != null) { @@ -314,6 +315,12 @@ public class GuiCaptchaHandler implements Listener { closeReasonMap.remove(player); } } + + private Material getRandomMaterial() { + Material[] allMaterials = Material.values(); + Random random = new Random(); + return allMaterials[random.nextInt(allMaterials.length)]; + } }