1.1 update
This commit is contained in:
1 parent
5de68e9b72
commit
92709bf88d
17 files changed
+88
-67
No files matched your search
@@ -20,6 +20,7 @@ atlassian-ide-plugin.xml
|
||||
.classpath
|
||||
.project
|
||||
.settings/
|
||||
bin/
|
||||
|
||||
# Log file
|
||||
*.log
|
||||
|
||||
@@ -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
@@ -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.
|
||||
|
||||
|
||||
-21
@@ -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);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
+3
-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
|
||||
+3
-2
@@ -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
|
||||
+3
-2
@@ -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
|
||||
+7
-8
@@ -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);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
+12
-10
@@ -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
-1
@@ -1,4 +1,4 @@
|
||||
package me.barny1094875.shulkerstackingog.ShulkerBoxHelpers;
|
||||
package plugin.ShulkerBoxHelpers;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package me.barny1094875.shulkerstackingog.ShulkerBoxHelpers;
|
||||
package plugin.ShulkerBoxHelpers;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.ShulkerBox;
|
||||
+2
-1
@@ -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
-1
@@ -1,4 +1,4 @@
|
||||
package me.barny1094875.shulkerstackingog.ShulkerBoxHelpers;
|
||||
package plugin.ShulkerBoxHelpers;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package me.barny1094875.shulkerstackingog.ShulkerBoxHelpers;
|
||||
package plugin.ShulkerBoxHelpers;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.ShulkerBox;
|
||||
+16
-8
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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]
|
||||
Reference in new issue
Block a user