Skip to content

Commit 90d5a95

Browse files
committed
feat: add dropStackAt methods for dropping ItemStacks at specified locations
1 parent f35592c commit 90d5a95

2 files changed

Lines changed: 15 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
- CompoundTag#putUuidIfNotNull
66
- ObservableMutableSet
77
- FluidStack#isFluid
8+
- AaronUtil#dropStackAt
89

910
# 1.6.0
1011

src/main/kotlin/dev/aaronhowser/mods/aaron/misc/AaronUtil.kt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
package dev.aaronhowser.mods.aaron.misc
22

33
import net.minecraft.nbt.CompoundTag
4+
import net.minecraft.world.entity.Entity
5+
import net.minecraft.world.entity.item.ItemEntity
46
import net.minecraft.world.item.ItemStack
7+
import net.minecraft.world.level.Level
8+
import net.minecraft.world.phys.Vec3
59
import net.neoforged.neoforge.common.UsernameCache
610
import java.util.*
711

@@ -76,4 +80,14 @@ object AaronUtil {
7680
return output
7781
}
7882

83+
fun dropStackAt(itemStack: ItemStack, entity: Entity, instantPickup: Boolean = false): Boolean {
84+
return dropStackAt(itemStack, entity.level(), entity.position(), instantPickup)
85+
}
86+
87+
fun dropStackAt(itemStack: ItemStack, level: Level, pos: Vec3, instantPickup: Boolean = false): Boolean {
88+
val itemEntity = ItemEntity(level, pos.x, pos.y, pos.z, itemStack)
89+
if (instantPickup) itemEntity.setNoPickUpDelay()
90+
return level.addFreshEntity(itemEntity)
91+
}
92+
7993
}

0 commit comments

Comments
 (0)