From c251b34d486b56245d18d94b0ee780fb4bc1d295 Mon Sep 17 00:00:00 2001 From: Ellpeck Date: Sun, 5 Feb 2023 16:13:41 +0100 Subject: [PATCH] fixed aura bottles not dropping when they don't fit in the inventory Closes #292 --- .../java/de/ellpeck/naturesaura/items/ItemAuraBottle.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/ellpeck/naturesaura/items/ItemAuraBottle.java b/src/main/java/de/ellpeck/naturesaura/items/ItemAuraBottle.java index d8fe5283..f78eb6f3 100644 --- a/src/main/java/de/ellpeck/naturesaura/items/ItemAuraBottle.java +++ b/src/main/java/de/ellpeck/naturesaura/items/ItemAuraBottle.java @@ -13,6 +13,7 @@ import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; +import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; @@ -115,7 +116,9 @@ public class ItemAuraBottle extends ItemImpl implements IColorProvidingItem, ICu if (!player.level.isClientSide) { held.shrink(1); - player.getInventory().add(ItemAuraBottle.setType(new ItemStack(ItemAuraBottle.this), IAuraType.forLevel(player.level))); + var stack = ItemAuraBottle.setType(new ItemStack(ItemAuraBottle.this), IAuraType.forLevel(player.level)); + if (!player.addItem(stack)) + player.level.addFreshEntity(new ItemEntity(player.level, player.getX(), player.getY(), player.getZ(), stack)); var spot = IAuraChunk.getHighestSpot(player.level, pos, 30, pos); IAuraChunk.getAuraChunk(player.level, spot).drainAura(spot, 20000);