Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-11-15 04:20:04 +01:00
27 Zeilen
1.5 KiB
Diff
27 Zeilen
1.5 KiB
Diff
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||
|
From: Nassim Jahnke <nassim@njahnke.dev>
|
||
|
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();
|