From 20effd37cb35e781510de96d6b03027a8c758c39 Mon Sep 17 00:00:00 2001 From: Artur Kociszewski <36969029+xartuu@users.noreply.github.com> Date: Sun, 30 Apr 2023 19:45:09 +0200 Subject: [PATCH 1/3] fix: Fixed interactions with kit blocks --- .../listeners/InteractListeners.java | 69 +++++++++++-------- 1 file changed, 42 insertions(+), 27 deletions(-) diff --git a/src/main/java/com/songoda/ultimatekits/listeners/InteractListeners.java b/src/main/java/com/songoda/ultimatekits/listeners/InteractListeners.java index 0b1f1eb..bf8910a 100644 --- a/src/main/java/com/songoda/ultimatekits/listeners/InteractListeners.java +++ b/src/main/java/com/songoda/ultimatekits/listeners/InteractListeners.java @@ -21,6 +21,7 @@ import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.inventory.EquipmentSlot; import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.ItemStack; +import com.songoda.ultimatekits.settings.Settings; public class InteractListeners implements Listener { @@ -48,50 +49,64 @@ public class InteractListeners implements Listener { Kit kit = kitBlockData.getKit(); Player player = event.getPlayer(); + + Material itemInHand = player.getItemInHand().getType(); + + Material keyMaterial = Settings.KEY_MATERIAL.getMaterial().getItem().getType(); + if (event.getAction() == Action.LEFT_CLICK_BLOCK) { - if (player.isSneaking()) return; - event.setCancelled(true); - - if (player.getItemInHand().getType() == Material.TRIPWIRE_HOOK) { - event.setCancelled(true); - kit.processKeyUse(player); + if (player.isSneaking()) { return; } - if (kitBlockData.getType() != KitType.PREVIEW) { + event.setCancelled(true); + + if (kitBlockData.getType() == KitType.PREVIEW) { + kit.display(player, guiManager, null); + + } else if(kitBlockData.getType() == KitType.CRATE) { + + if (itemInHand == keyMaterial) { + kit.processKeyUse(player); + } else { + plugin.getLocale().getMessage("event.crate.needkey").sendPrefixedMessage(player); + return; + } + + } else if (kitBlockData.getType() == KitType.CLAIM) { + if (!kit.hasPermissionToClaim(player)) { plugin.getLocale().getMessage("command.general.noperms").sendPrefixedMessage(player); return; } - if (kit.getNextUse(player) <= 0) { - kit.processGenericUse(player, false); - kit.updateDelay(player); - } else { + + if (kit.getNextUse(player) > 0) { long time = kit.getNextUse(player); - plugin.getLocale().getMessage("event.crate.notyet").processPlaceholder("time", - Methods.makeReadable(time)).sendPrefixedMessage(player); + plugin.getLocale().getMessage("event.crate.notyet").processPlaceholder("time", Methods.makeReadable(time)).sendPrefixedMessage(player); + return; } - } else if (kit.getLink() != null || kit.getPrice() != 0) { - kit.buy(player, guiManager); - } else { - kit.display(player, guiManager, null); - } - } else if (event.getAction() == Action.RIGHT_CLICK_BLOCK) { - if (block.getState() instanceof InventoryHolder || block.getType() == Material.ENDER_CHEST) { - event.setCancelled(true); + + if (kit.getLink() != null || kit.getPrice() != 0) { + kit.buy(player, guiManager); + } else { + kit.processGenericUse(player, false); + } + + kit.updateDelay(player); } + } + + if (event.getAction() == Action.RIGHT_CLICK_BLOCK) { + + event.setCancelled(true); + if (player.isSneaking() && player.hasPermission("ultimatekits.admin")) { guiManager.showGUI(player, new BlockEditorGui(plugin, kitBlockData)); return; } - if (player.getItemInHand().getType() == Material.TRIPWIRE_HOOK) { - event.setCancelled(true); - kit.processKeyUse(player); - return; - } - kit.display(player, guiManager, null); + kit.display(player, guiManager, null); } } From a74b801576c0a11665bc7b2910d25736511c8dbe Mon Sep 17 00:00:00 2001 From: Artur Kociszewski <36969029+xartuu@users.noreply.github.com> Date: Sun, 30 Apr 2023 19:46:04 +0200 Subject: [PATCH 2/3] feat: Added message about the need for a key --- src/main/resources/en_US.lang | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/resources/en_US.lang b/src/main/resources/en_US.lang index 0da1b88..146b7ee 100644 --- a/src/main/resources/en_US.lang +++ b/src/main/resources/en_US.lang @@ -187,6 +187,7 @@ event: wrongkey: '&cThis key doesn''t belong to this kit..' success: '&9Successfully opened a crate.' given: '&9You have received a %crate% %kit% crate.' + needkey: '&cYou need the right key to get this kit' claim: cannotafford: '&9You cannot afford to buy kit &7%kit%&9.' nottwice: '&9You can only receive this kit once.' From 87598f6a3a362af2b044a2b2facb6d3969fd45c0 Mon Sep 17 00:00:00 2001 From: "craftaro-plugins-overview[bot]" <111250264+craftaro-plugins-overview[bot]@users.noreply.github.com> Date: Fri, 25 Aug 2023 12:31:27 +0000 Subject: [PATCH 3/3] Updates contents of README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8bf9811..7edb7a8 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # UltimateKits -**Creating and displaying your servers kits has never been easier.** +**Creating and displaying your server's kits has never been easier.** **Use a GUI to drag kit items in then players can browse through them and even use crate keys on them.**