mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-02-14 13:13:24 +00:00
Correct overflow behavior after c44c41ef02
This commit is contained in:
parent
24e068b94d
commit
dcc6e2f23f
1 changed files with 10 additions and 1 deletions
|
@ -2,6 +2,7 @@ package com.earth2me.essentials.craftbukkit;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.event.inventory.InventoryType;
|
||||||
import org.bukkit.inventory.Inventory;
|
import org.bukkit.inventory.Inventory;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.PlayerInventory;
|
import org.bukkit.inventory.PlayerInventory;
|
||||||
|
@ -31,11 +32,19 @@ public final class InventoryWorkaround {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private static final int USABLE_PLAYER_INV_SIZE = 36;
|
||||||
// Returns what it couldnt store
|
// Returns what it couldnt store
|
||||||
// This will will abort if it couldn't store all items
|
// This will will abort if it couldn't store all items
|
||||||
public static Map<Integer, ItemStack> addAllItems(final Inventory inventory, final ItemStack... items) {
|
public static Map<Integer, ItemStack> addAllItems(final Inventory inventory, final ItemStack... items) {
|
||||||
final Inventory fakeInventory = Bukkit.getServer().createInventory(null, inventory.getType());
|
|
||||||
ItemStack[] contents = inventory.getContents();
|
ItemStack[] contents = inventory.getContents();
|
||||||
|
|
||||||
|
final Inventory fakeInventory;
|
||||||
|
if (inventory.getType() == InventoryType.PLAYER && contents.length > USABLE_PLAYER_INV_SIZE) {
|
||||||
|
fakeInventory = Bukkit.getServer().createInventory(null, USABLE_PLAYER_INV_SIZE);
|
||||||
|
} else {
|
||||||
|
fakeInventory = Bukkit.getServer().createInventory(null, inventory.getType());
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
fakeInventory.setContents(contents);
|
fakeInventory.setContents(contents);
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
|
|
Loading…
Reference in a new issue