Add our basic-needs PlayerInsertBundleItemEvent
This commit is contained in:
66
patches/api/0018-PlayerInsertBundleItemEvent.patch
Normal file
66
patches/api/0018-PlayerInsertBundleItemEvent.patch
Normal file
@@ -0,0 +1,66 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Cryptite <cryptite@gmail.com>
|
||||
Date: Sun, 15 Dec 2024 17:55:31 -0600
|
||||
Subject: [PATCH] PlayerInsertBundleItemEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/io/papermc/paper/event/player/PlayerInsertBundleItemEvent.java b/src/main/java/io/papermc/paper/event/player/PlayerInsertBundleItemEvent.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..f715b36826591c5b19408c96119892a935eca27f
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/io/papermc/paper/event/player/PlayerInsertBundleItemEvent.java
|
||||
@@ -0,0 +1,54 @@
|
||||
+package io.papermc.paper.event.player;
|
||||
+
|
||||
+import org.bukkit.entity.Player;
|
||||
+import org.bukkit.event.Cancellable;
|
||||
+import org.bukkit.event.HandlerList;
|
||||
+import org.bukkit.event.player.PlayerEvent;
|
||||
+import org.bukkit.inventory.ItemStack;
|
||||
+import org.jetbrains.annotations.ApiStatus;
|
||||
+import org.jspecify.annotations.NullMarked;
|
||||
+
|
||||
+@NullMarked
|
||||
+public class PlayerInsertBundleItemEvent extends PlayerEvent implements Cancellable {
|
||||
+
|
||||
+ private static final HandlerList HANDLER_LIST = new HandlerList();
|
||||
+
|
||||
+ private ItemStack bundle;
|
||||
+ private ItemStack itemStack;
|
||||
+
|
||||
+ private boolean cancelled;
|
||||
+
|
||||
+ @ApiStatus.Internal
|
||||
+ public PlayerInsertBundleItemEvent(final Player player, final ItemStack bundle, final ItemStack itemStack) {
|
||||
+ super(player);
|
||||
+ this.bundle = bundle;
|
||||
+ this.itemStack = itemStack;
|
||||
+ }
|
||||
+
|
||||
+ public ItemStack getItemStack() {
|
||||
+ return itemStack;
|
||||
+ }
|
||||
+
|
||||
+ public ItemStack getBundle() {
|
||||
+ return bundle;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean isCancelled() {
|
||||
+ return this.cancelled;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void setCancelled(final boolean cancel) {
|
||||
+ this.cancelled = cancel;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public HandlerList getHandlers() {
|
||||
+ return HANDLER_LIST;
|
||||
+ }
|
||||
+
|
||||
+ public static HandlerList getHandlerList() {
|
||||
+ return HANDLER_LIST;
|
||||
+ }
|
||||
+}
|
||||
@@ -1,7 +1,7 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Cryptite <cryptite@gmail.com>
|
||||
Date: Thu, 12 Dec 2024 15:20:17 -0600
|
||||
Subject: [PATCH] Player spawnsOwnMobs
|
||||
Subject: [PATCH] PlayerInsertBundleItemEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||
@@ -29,3 +29,23 @@ index e4041c58a23d3eaefd01402635f714404f3c82cf..6eb9155c3227ae2a69bb7a379af94d6a
|
||||
// CraftBukkit start
|
||||
public boolean fauxSleeping;
|
||||
public int oldLevel = -1;
|
||||
diff --git a/src/main/java/net/minecraft/world/item/BundleItem.java b/src/main/java/net/minecraft/world/item/BundleItem.java
|
||||
index f1999d904ac66f5349346ad8157f5401fb395e11..56159a23d231028ba671f441fed0f601eedec7be 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/BundleItem.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/BundleItem.java
|
||||
@@ -67,6 +67,7 @@ public class BundleItem extends Item {
|
||||
ItemStack itemStack = slot.getItem();
|
||||
BundleContents.Mutable mutable = new BundleContents.Mutable(bundleContents);
|
||||
if (clickType == ClickAction.PRIMARY && !itemStack.isEmpty()) {
|
||||
+ if (!new io.papermc.paper.event.player.PlayerInsertBundleItemEvent((org.bukkit.entity.Player) player.getBukkitEntity(), stack.getBukkitStack(), itemStack.getBukkitStack()).callEvent()) return false; // Slice
|
||||
if (mutable.tryTransfer(slot, player) > 0) {
|
||||
playInsertSound(player);
|
||||
} else {
|
||||
@@ -110,6 +111,7 @@ public class BundleItem extends Item {
|
||||
} else {
|
||||
BundleContents.Mutable mutable = new BundleContents.Mutable(bundleContents);
|
||||
if (clickType == ClickAction.PRIMARY && !otherStack.isEmpty()) {
|
||||
+ if (!new io.papermc.paper.event.player.PlayerInsertBundleItemEvent((org.bukkit.entity.Player) player.getBukkitEntity(), stack.getBukkitStack(), otherStack.getBukkitStack()).callEvent()) return false; // Slice
|
||||
if (slot.allowModification(player) && mutable.tryInsert(otherStack) > 0) {
|
||||
playInsertSound(player);
|
||||
} else {
|
||||
Reference in New Issue
Block a user