1.1 update

This commit is contained in:
NotAlexNoyle committed 2025-12-09 15:34:23 -05:00
1 parent 5de68e9b72
commit 92709bf88d
17 files changed
+88 -67

No files matched your search

+1
View File
@@ -20,6 +20,7 @@ atlassian-ide-plugin.xml
.classpath
.project
.settings/
bin/
# Log file
*.log
+9 -3
View File
@@ -11,6 +11,12 @@ Authors: Barny1094875.
The resulting .jar file will be in build/libs
<h3>Current Issues:</h3
Double clicking behavior does not mimic vanilla items well.
# Changelog:
v1.1
- Update shadow to 8.3.9
- Update spotless to 8.1.0
- Rename package to net.trueog.shulkerstacking-og
- Fix shulkers getting eaten when merging
- Fix double click behavior
- Merge exactly like a vanilla item
+3 -3
View File
@@ -4,8 +4,8 @@
plugins {
id("java") // Import Java plugin.
id("java-library") // Import Java Library plugin.
id("com.diffplug.spotless") version "7.0.4" // Import Spotless plugin.
id("com.gradleup.shadow") version "8.3.6" // Import Shadow plugin.
id("com.diffplug.spotless") version "8.1.0" // Import Spotless plugin.
id("com.gradleup.shadow") version "8.3.9" // Import Shadow plugin.
id("checkstyle") // Import Checkstyle plugin.
eclipse // Import Eclipse plugin.
kotlin("jvm") version "2.1.21" // Import Kotlin JVM plugin.
@@ -25,7 +25,7 @@ kotlin { jvmToolchain(17) }
/* ----------------------------- Metadata ------------------------------ */
group = "net.trueog.shulkerstacking-og" // Declare bundle identifier.
version = "1.0" // Declare plugin version (will be in .jar).
version = "1.1" // Declare plugin version (will be in .jar).
val apiVersion = "1.19" // Declare minecraft server target version.
@@ -1,21 +0,0 @@
package me.barny1094875.shulkerstackingog.Listeners;
import me.barny1094875.shulkerstackingog.ShulkerStacking_OG;
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;
public class ShulkerDragDupePrevention implements Listener {
@EventHandler(priority = EventPriority.LOWEST)
public void shulkerDragDupePrevent(InventoryCloseEvent event) {
ShulkerStacking_OG.isInventoryClosed.put(event.getPlayer().getUniqueId(), true);
Bukkit.getScheduler().runTaskLater(ShulkerStacking_OG.getPlugin(),
() -> ShulkerStacking_OG.isInventoryClosed.put(event.getPlayer().getUniqueId(), false), 2);
}
}
@@ -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
@@ -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
@@ -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
@@ -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")) {
@@ -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);
}
}
@@ -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<Integer> 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
@@ -1,4 +1,4 @@
package me.barny1094875.shulkerstackingog.ShulkerBoxHelpers;
package plugin.ShulkerBoxHelpers;
import org.bukkit.Bukkit;
import org.bukkit.Material;
@@ -1,4 +1,4 @@
package me.barny1094875.shulkerstackingog.ShulkerBoxHelpers;
package plugin.ShulkerBoxHelpers;
import org.bukkit.Material;
import org.bukkit.block.ShulkerBox;
@@ -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);
}
@@ -1,4 +1,4 @@
package me.barny1094875.shulkerstackingog.ShulkerBoxHelpers;
package plugin.ShulkerBoxHelpers;
import org.bukkit.Bukkit;
import org.bukkit.Material;
@@ -1,4 +1,4 @@
package me.barny1094875.shulkerstackingog.ShulkerBoxHelpers;
package plugin.ShulkerBoxHelpers;
import org.bukkit.Material;
import org.bukkit.block.ShulkerBox;
@@ -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<UUID, Boolean> 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;
}
}
}
+3 -3
View File
@@ -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]