From 92709bf88df1982f96e18b78ca885c58e619f004 Mon Sep 17 00:00:00 2001 From: NotAlexNoyle Date: Tue, 9 Dec 2025 15:34:23 -0500 Subject: [PATCH] 1.1 update --- .gitignore | 1 + README.md | 12 +++++++--- build.gradle.kts | 6 ++--- .../Listeners/ShulkerDragDupePrevention.java | 21 ---------------- .../Listeners/ShulkerBoxHopperHandler.java | 5 ++-- .../Listeners/ShulkerBoxMergeHandler.java | 5 ++-- .../Listeners/ShulkerBoxPickupHandler.java | 5 ++-- .../ShulkerBoxStackingController.java | 15 ++++++------ .../Listeners/ShulkerDragDupePrevention.java | 22 +++++++++++++++++ .../Listeners/ShulkerDragHandler.java | 22 +++++++++-------- .../ShulkerBoxHelpers/DoubleClick.java | 2 +- .../ShulkerBoxHelpers/NormalLeftClick.java | 2 +- .../ShulkerBoxHelpers/NormalRightClick.java | 3 ++- .../ShiftRightLeftClick.java | 2 +- .../ShulkerBoxHelpers/ShulkerBoxUtils.java | 2 +- .../ShulkerStackingOG.java} | 24 ++++++++++++------- src/main/resources/plugin.yml | 6 ++--- 17 files changed, 88 insertions(+), 67 deletions(-) delete mode 100644 src/main/java/me/barny1094875/shulkerstackingog/Listeners/ShulkerDragDupePrevention.java rename src/main/java/{me/barny1094875/shulkerstackingog => plugin}/Listeners/ShulkerBoxHopperHandler.java (92%) rename src/main/java/{me/barny1094875/shulkerstackingog => plugin}/Listeners/ShulkerBoxMergeHandler.java (89%) rename src/main/java/{me/barny1094875/shulkerstackingog => plugin}/Listeners/ShulkerBoxPickupHandler.java (91%) rename src/main/java/{me/barny1094875/shulkerstackingog => plugin}/Listeners/ShulkerBoxStackingController.java (88%) create mode 100644 src/main/java/plugin/Listeners/ShulkerDragDupePrevention.java rename src/main/java/{me/barny1094875/shulkerstackingog => plugin}/Listeners/ShulkerDragHandler.java (89%) rename src/main/java/{me/barny1094875/shulkerstackingog => plugin}/ShulkerBoxHelpers/DoubleClick.java (99%) rename src/main/java/{me/barny1094875/shulkerstackingog => plugin}/ShulkerBoxHelpers/NormalLeftClick.java (96%) rename src/main/java/{me/barny1094875/shulkerstackingog => plugin}/ShulkerBoxHelpers/NormalRightClick.java (96%) rename src/main/java/{me/barny1094875/shulkerstackingog => plugin}/ShulkerBoxHelpers/ShiftRightLeftClick.java (99%) rename src/main/java/{me/barny1094875/shulkerstackingog => plugin}/ShulkerBoxHelpers/ShulkerBoxUtils.java (97%) rename src/main/java/{me/barny1094875/shulkerstackingog/ShulkerStacking_OG.java => plugin/ShulkerStackingOG.java} (59%) diff --git a/.gitignore b/.gitignore index 2b09032..4e3e3f6 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,7 @@ atlassian-ide-plugin.xml .classpath .project .settings/ +bin/ # Log file *.log diff --git a/README.md b/README.md index ba26400..37c1116 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,12 @@ Authors: Barny1094875. The resulting .jar file will be in build/libs -

Current Issues:

ShulkerStacking_OG.isInventoryClosed.put(event.getPlayer().getUniqueId(), false), 2); - - } - -} diff --git a/src/main/java/me/barny1094875/shulkerstackingog/Listeners/ShulkerBoxHopperHandler.java b/src/main/java/plugin/Listeners/ShulkerBoxHopperHandler.java similarity index 92% rename from src/main/java/me/barny1094875/shulkerstackingog/Listeners/ShulkerBoxHopperHandler.java rename to src/main/java/plugin/Listeners/ShulkerBoxHopperHandler.java index 6c2811c..d7d442f 100644 --- a/src/main/java/me/barny1094875/shulkerstackingog/Listeners/ShulkerBoxHopperHandler.java +++ b/src/main/java/plugin/Listeners/ShulkerBoxHopperHandler.java @@ -1,12 +1,13 @@ -package me.barny1094875.shulkerstackingog.Listeners; +package plugin.Listeners; -import me.barny1094875.shulkerstackingog.ShulkerBoxHelpers.ShulkerBoxUtils; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.inventory.InventoryMoveItemEvent; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; +import plugin.ShulkerBoxHelpers.ShulkerBoxUtils; + public class ShulkerBoxHopperHandler implements Listener { @EventHandler diff --git a/src/main/java/me/barny1094875/shulkerstackingog/Listeners/ShulkerBoxMergeHandler.java b/src/main/java/plugin/Listeners/ShulkerBoxMergeHandler.java similarity index 89% rename from src/main/java/me/barny1094875/shulkerstackingog/Listeners/ShulkerBoxMergeHandler.java rename to src/main/java/plugin/Listeners/ShulkerBoxMergeHandler.java index 5fdc667..2f620dc 100644 --- a/src/main/java/me/barny1094875/shulkerstackingog/Listeners/ShulkerBoxMergeHandler.java +++ b/src/main/java/plugin/Listeners/ShulkerBoxMergeHandler.java @@ -1,11 +1,12 @@ -package me.barny1094875.shulkerstackingog.Listeners; +package plugin.Listeners; -import me.barny1094875.shulkerstackingog.ShulkerBoxHelpers.ShulkerBoxUtils; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.entity.ItemMergeEvent; import org.bukkit.inventory.ItemStack; +import plugin.ShulkerBoxHelpers.ShulkerBoxUtils; + public class ShulkerBoxMergeHandler implements Listener { @EventHandler diff --git a/src/main/java/me/barny1094875/shulkerstackingog/Listeners/ShulkerBoxPickupHandler.java b/src/main/java/plugin/Listeners/ShulkerBoxPickupHandler.java similarity index 91% rename from src/main/java/me/barny1094875/shulkerstackingog/Listeners/ShulkerBoxPickupHandler.java rename to src/main/java/plugin/Listeners/ShulkerBoxPickupHandler.java index 6752b9e..7cfb98f 100644 --- a/src/main/java/me/barny1094875/shulkerstackingog/Listeners/ShulkerBoxPickupHandler.java +++ b/src/main/java/plugin/Listeners/ShulkerBoxPickupHandler.java @@ -1,6 +1,5 @@ -package me.barny1094875.shulkerstackingog.Listeners; +package plugin.Listeners; -import me.barny1094875.shulkerstackingog.ShulkerBoxHelpers.ShulkerBoxUtils; import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -9,6 +8,8 @@ import org.bukkit.event.entity.EntityPickupItemEvent; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; +import plugin.ShulkerBoxHelpers.ShulkerBoxUtils; + public class ShulkerBoxPickupHandler implements Listener { @EventHandler diff --git a/src/main/java/me/barny1094875/shulkerstackingog/Listeners/ShulkerBoxStackingController.java b/src/main/java/plugin/Listeners/ShulkerBoxStackingController.java similarity index 88% rename from src/main/java/me/barny1094875/shulkerstackingog/Listeners/ShulkerBoxStackingController.java rename to src/main/java/plugin/Listeners/ShulkerBoxStackingController.java index ececd09..acc0690 100644 --- a/src/main/java/me/barny1094875/shulkerstackingog/Listeners/ShulkerBoxStackingController.java +++ b/src/main/java/plugin/Listeners/ShulkerBoxStackingController.java @@ -1,16 +1,16 @@ -package me.barny1094875.shulkerstackingog.Listeners; +package plugin.Listeners; -import me.barny1094875.shulkerstackingog.ShulkerBoxHelpers.DoubleClick; -import me.barny1094875.shulkerstackingog.ShulkerBoxHelpers.NormalLeftClick; -import me.barny1094875.shulkerstackingog.ShulkerBoxHelpers.NormalRightClick; -import me.barny1094875.shulkerstackingog.ShulkerBoxHelpers.ShiftRightLeftClick; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.inventory.ClickType; import org.bukkit.event.inventory.InventoryClickEvent; -import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; +import plugin.ShulkerBoxHelpers.DoubleClick; +import plugin.ShulkerBoxHelpers.NormalLeftClick; +import plugin.ShulkerBoxHelpers.NormalRightClick; +import plugin.ShulkerBoxHelpers.ShiftRightLeftClick; + public class ShulkerBoxStackingController implements Listener { @EventHandler @@ -30,9 +30,8 @@ public class ShulkerBoxStackingController implements Listener { ItemStack currentItem = event.getCurrentItem(); ItemStack cursorItem = event.getCursor(); - Inventory inventory = event.getInventory(); - // if the player combines two shulker stacks + // If the player combines two shulker stacks... if (event.getClick().equals(ClickType.LEFT)) { if (currentItem.getType().toString().contains("SHULKER_BOX")) { diff --git a/src/main/java/plugin/Listeners/ShulkerDragDupePrevention.java b/src/main/java/plugin/Listeners/ShulkerDragDupePrevention.java new file mode 100644 index 0000000..3acc3e4 --- /dev/null +++ b/src/main/java/plugin/Listeners/ShulkerDragDupePrevention.java @@ -0,0 +1,22 @@ +package plugin.Listeners; + +import org.bukkit.Bukkit; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.Listener; +import org.bukkit.event.inventory.InventoryCloseEvent; + +import plugin.ShulkerStackingOG; + +public class ShulkerDragDupePrevention implements Listener { + + @EventHandler(priority = EventPriority.LOWEST) + public void shulkerDragDupePrevent(InventoryCloseEvent event) { + + ShulkerStackingOG.isInventoryClosed.put(event.getPlayer().getUniqueId(), true); + Bukkit.getScheduler().runTaskLater(ShulkerStackingOG.getPlugin(), + () -> ShulkerStackingOG.isInventoryClosed.put(event.getPlayer().getUniqueId(), false), 2); + + } + +} \ No newline at end of file diff --git a/src/main/java/me/barny1094875/shulkerstackingog/Listeners/ShulkerDragHandler.java b/src/main/java/plugin/Listeners/ShulkerDragHandler.java similarity index 89% rename from src/main/java/me/barny1094875/shulkerstackingog/Listeners/ShulkerDragHandler.java rename to src/main/java/plugin/Listeners/ShulkerDragHandler.java index a9fcd2e..03bf5a4 100644 --- a/src/main/java/me/barny1094875/shulkerstackingog/Listeners/ShulkerDragHandler.java +++ b/src/main/java/plugin/Listeners/ShulkerDragHandler.java @@ -1,7 +1,7 @@ -package me.barny1094875.shulkerstackingog.Listeners; +package plugin.Listeners; import java.util.ArrayList; -import me.barny1094875.shulkerstackingog.ShulkerStacking_OG; + import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -13,6 +13,8 @@ import org.bukkit.event.inventory.InventoryDragEvent; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; +import plugin.ShulkerStackingOG; + public class ShulkerDragHandler implements Listener { @EventHandler(priority = EventPriority.MONITOR) @@ -24,14 +26,14 @@ public class ShulkerDragHandler implements Listener { } - // disable default behavior + // Disable default behavior. event.setCancelled(true); - Bukkit.getScheduler().runTask(ShulkerStacking_OG.getPlugin(), () -> { + Bukkit.getScheduler().runTask(ShulkerStackingOG.getPlugin(), () -> { - // check if the inventory was closed in the last tick - // this prevents a dupe glitch from occurring - if (ShulkerStacking_OG.isInventoryClosed.get(event.getWhoClicked().getUniqueId())) { + // Check if the inventory was closed in the last tick. + // This prevents a duplication glitch from occurring. + if (ShulkerStackingOG.isInventoryClosed.get(event.getWhoClicked().getUniqueId())) { return; @@ -41,17 +43,17 @@ public class ShulkerDragHandler implements Listener { int numberOfSlotsDragged = event.getInventorySlots().size(); ArrayList slotsDragged = new ArrayList<>(event.getInventorySlots().stream().toList()); Inventory dragInventory = event.getView().getBottomInventory(); - // right click drag + // Right click drag. if (event.getType().equals(DragType.SINGLE)) { - // if the player drags a stack of shulker boxes + // If the player drags a stack of shulker boxes. if (shulkerBoxes.getAmount() <= 1) { return; } - // set each slot to the appropriate amount of shulkers + // Set each slot to the appropriate amount of shulkers. for (int i = 0; i < numberOfSlotsDragged; i++) { if (dragInventory.getItem(slotsDragged.get(i)) == null diff --git a/src/main/java/me/barny1094875/shulkerstackingog/ShulkerBoxHelpers/DoubleClick.java b/src/main/java/plugin/ShulkerBoxHelpers/DoubleClick.java similarity index 99% rename from src/main/java/me/barny1094875/shulkerstackingog/ShulkerBoxHelpers/DoubleClick.java rename to src/main/java/plugin/ShulkerBoxHelpers/DoubleClick.java index 1b6af76..a6e2eb6 100644 --- a/src/main/java/me/barny1094875/shulkerstackingog/ShulkerBoxHelpers/DoubleClick.java +++ b/src/main/java/plugin/ShulkerBoxHelpers/DoubleClick.java @@ -1,4 +1,4 @@ -package me.barny1094875.shulkerstackingog.ShulkerBoxHelpers; +package plugin.ShulkerBoxHelpers; import org.bukkit.Bukkit; import org.bukkit.Material; diff --git a/src/main/java/me/barny1094875/shulkerstackingog/ShulkerBoxHelpers/NormalLeftClick.java b/src/main/java/plugin/ShulkerBoxHelpers/NormalLeftClick.java similarity index 96% rename from src/main/java/me/barny1094875/shulkerstackingog/ShulkerBoxHelpers/NormalLeftClick.java rename to src/main/java/plugin/ShulkerBoxHelpers/NormalLeftClick.java index 49688d5..927c138 100644 --- a/src/main/java/me/barny1094875/shulkerstackingog/ShulkerBoxHelpers/NormalLeftClick.java +++ b/src/main/java/plugin/ShulkerBoxHelpers/NormalLeftClick.java @@ -1,4 +1,4 @@ -package me.barny1094875.shulkerstackingog.ShulkerBoxHelpers; +package plugin.ShulkerBoxHelpers; import org.bukkit.Material; import org.bukkit.block.ShulkerBox; diff --git a/src/main/java/me/barny1094875/shulkerstackingog/ShulkerBoxHelpers/NormalRightClick.java b/src/main/java/plugin/ShulkerBoxHelpers/NormalRightClick.java similarity index 96% rename from src/main/java/me/barny1094875/shulkerstackingog/ShulkerBoxHelpers/NormalRightClick.java rename to src/main/java/plugin/ShulkerBoxHelpers/NormalRightClick.java index 618910c..3119d56 100644 --- a/src/main/java/me/barny1094875/shulkerstackingog/ShulkerBoxHelpers/NormalRightClick.java +++ b/src/main/java/plugin/ShulkerBoxHelpers/NormalRightClick.java @@ -1,4 +1,4 @@ -package me.barny1094875.shulkerstackingog.ShulkerBoxHelpers; +package plugin.ShulkerBoxHelpers; import org.bukkit.Material; import org.bukkit.block.ShulkerBox; @@ -36,6 +36,7 @@ public class NormalRightClick { event.getCursor().setAmount(newCursorAmount); } + event.setCancelled(true); } diff --git a/src/main/java/me/barny1094875/shulkerstackingog/ShulkerBoxHelpers/ShiftRightLeftClick.java b/src/main/java/plugin/ShulkerBoxHelpers/ShiftRightLeftClick.java similarity index 99% rename from src/main/java/me/barny1094875/shulkerstackingog/ShulkerBoxHelpers/ShiftRightLeftClick.java rename to src/main/java/plugin/ShulkerBoxHelpers/ShiftRightLeftClick.java index 801c62e..4a3c760 100644 --- a/src/main/java/me/barny1094875/shulkerstackingog/ShulkerBoxHelpers/ShiftRightLeftClick.java +++ b/src/main/java/plugin/ShulkerBoxHelpers/ShiftRightLeftClick.java @@ -1,4 +1,4 @@ -package me.barny1094875.shulkerstackingog.ShulkerBoxHelpers; +package plugin.ShulkerBoxHelpers; import org.bukkit.Bukkit; import org.bukkit.Material; diff --git a/src/main/java/me/barny1094875/shulkerstackingog/ShulkerBoxHelpers/ShulkerBoxUtils.java b/src/main/java/plugin/ShulkerBoxHelpers/ShulkerBoxUtils.java similarity index 97% rename from src/main/java/me/barny1094875/shulkerstackingog/ShulkerBoxHelpers/ShulkerBoxUtils.java rename to src/main/java/plugin/ShulkerBoxHelpers/ShulkerBoxUtils.java index a28f5da..2fbf132 100644 --- a/src/main/java/me/barny1094875/shulkerstackingog/ShulkerBoxHelpers/ShulkerBoxUtils.java +++ b/src/main/java/plugin/ShulkerBoxHelpers/ShulkerBoxUtils.java @@ -1,4 +1,4 @@ -package me.barny1094875.shulkerstackingog.ShulkerBoxHelpers; +package plugin.ShulkerBoxHelpers; import org.bukkit.Material; import org.bukkit.block.ShulkerBox; diff --git a/src/main/java/me/barny1094875/shulkerstackingog/ShulkerStacking_OG.java b/src/main/java/plugin/ShulkerStackingOG.java similarity index 59% rename from src/main/java/me/barny1094875/shulkerstackingog/ShulkerStacking_OG.java rename to src/main/java/plugin/ShulkerStackingOG.java index 72461f6..5322f93 100644 --- a/src/main/java/me/barny1094875/shulkerstackingog/ShulkerStacking_OG.java +++ b/src/main/java/plugin/ShulkerStackingOG.java @@ -1,22 +1,30 @@ -package me.barny1094875.shulkerstackingog; +package plugin; import java.util.HashMap; import java.util.UUID; -import me.barny1094875.shulkerstackingog.Listeners.*; + import org.bukkit.plugin.java.JavaPlugin; -public final class ShulkerStacking_OG extends JavaPlugin { +import plugin.Listeners.ShulkerBoxHopperHandler; +import plugin.Listeners.ShulkerBoxMergeHandler; +import plugin.Listeners.ShulkerBoxPickupHandler; +import plugin.Listeners.ShulkerBoxStackingController; +import plugin.Listeners.ShulkerDragDupePrevention; +import plugin.Listeners.ShulkerDragHandler; - private static ShulkerStacking_OG plugin; +public final class ShulkerStackingOG extends JavaPlugin { - // used to prevent dupe glitches from inventory drag events + private static ShulkerStackingOG plugin; + + // Used to prevent duplication glitches from inventory drag events. public static HashMap isInventoryClosed = new HashMap<>(); @Override public void onEnable() { plugin = this; - // Plugin startup logic + + // Plugin startup logic. getServer().getPluginManager().registerEvents(new ShulkerBoxStackingController(), this); getServer().getPluginManager().registerEvents(new ShulkerBoxPickupHandler(), this); getServer().getPluginManager().registerEvents(new ShulkerDragHandler(), this); @@ -26,10 +34,10 @@ public final class ShulkerStacking_OG extends JavaPlugin { } - public static ShulkerStacking_OG getPlugin() { + public static ShulkerStackingOG getPlugin() { return plugin; } -} +} \ No newline at end of file diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index d1c4bf2..4d409f9 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,5 +1,5 @@ name: ShulkerStacking-OG version: '${version}' -main: me.barny1094875.shulkerstackingog.ShulkerStacking_OG -api-version: 1.19 -authors: [Barny1094875] +api-version: '${apiVersion}' +main: plugin.ShulkerStackingOG +authors: [Barny1094875, NotAlexNoyle]