Commits
md_5 authored e9e8ed7530a
1 1 | package org.bukkit.craftbukkit.inventory; |
2 2 | |
3 3 | import com.google.common.base.Preconditions; |
4 + | import net.minecraft.world.InventoryUtils; |
5 + | import net.minecraft.world.entity.player.EntityHuman; |
6 + | import org.bukkit.craftbukkit.entity.CraftHumanEntity; |
4 7 | import org.bukkit.event.inventory.InventoryType; |
5 8 | import org.bukkit.inventory.Inventory; |
6 9 | import org.bukkit.inventory.InventoryView; |
7 10 | import org.bukkit.inventory.ItemStack; |
8 11 | import org.jetbrains.annotations.NotNull; |
9 12 | import org.jetbrains.annotations.Nullable; |
10 13 | |
11 14 | public abstract class CraftAbstractInventoryView implements InventoryView { |
12 15 | |
13 16 | |
14 17 | public void setItem(final int slot, final ItemStack item) { |
15 18 | Inventory inventory = getInventory(slot); |
16 19 | if (inventory != null) { |
17 20 | inventory.setItem(convertSlot(slot), item); |
18 21 | } else if (item != null) { |
19 - | getPlayer().getWorld().dropItemNaturally(getPlayer().getLocation(), item); |
22 + | EntityHuman handle = ((CraftHumanEntity) getPlayer()).getHandle(); |
23 + | InventoryUtils.dropItemStack(handle.level(), handle.getX(), handle.getY(), handle.getZ(), CraftItemStack.asNMSCopy(item)); |
20 24 | } |
21 25 | } |
22 26 | |
23 27 | |
24 28 | |
25 29 | public ItemStack getItem(final int slot) { |
26 30 | Inventory inventory = getInventory(slot); |
27 31 | return (inventory == null) ? null : inventory.getItem(convertSlot(slot)); |
28 32 | } |
29 33 | |