-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add missing slot sanity checks for container clicks
- Loading branch information
Showing
1 changed file
with
26 additions
and
0 deletions.
There are no files selected for viewing
26 changes: 26 additions & 0 deletions
26
patches/server/1031-Add-slot-sanity-checks-in-container-clicks.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
From: Nassim Jahnke <[email protected]> | ||
Date: Mon, 11 Sep 2023 12:01:57 +1000 | ||
Subject: [PATCH] Add slot sanity checks in container clicks | ||
|
||
|
||
diff --git a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java | ||
index 706b354ac9a1a6a4a1e61b2a109180d1dd22bbbd..71b7a091e56dd68da280d13318a393170967b042 100644 | ||
--- a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java | ||
+++ b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java | ||
@@ -423,6 +423,7 @@ public abstract class AbstractContainerMenu { | ||
this.resetQuickCraft(); | ||
} | ||
} else if (this.quickcraftStatus == 1) { | ||
+ if (slotIndex < 0) return; // Paper | ||
slot = (Slot) this.slots.get(slotIndex); | ||
itemstack = this.getCarried(); | ||
if (AbstractContainerMenu.canItemQuickReplace(slot, itemstack, true) && slot.mayPlace(itemstack) && (this.quickcraftType == 2 || itemstack.getCount() > this.quickcraftSlots.size()) && this.canDragTo(slot)) { | ||
@@ -598,6 +599,7 @@ public abstract class AbstractContainerMenu { | ||
int j2; | ||
|
||
if (actionType == ClickType.SWAP) { | ||
+ if (slotIndex < 0) return; // Paper | ||
slot2 = (Slot) this.slots.get(slotIndex); | ||
itemstack1 = playerinventory.getItem(button); | ||
itemstack = slot2.getItem(); |