
walkmc.hologram.entity.EntityHologramItem.kt Maven / Gradle / Ivy
package walkmc.hologram.entity
import net.minecraft.server.*
import net.minecraft.server.DamageSource
import org.bukkit.*
import walkmc.*
import walkmc.extensions.*
/**
* A base entity for any item line entity.
*/
abstract class EntityHologramItem : EntityItem {
constructor(world: MinecraftWorld) : super(world)
constructor(world: MinecraftWorld, location: Location, item: ItemStack)
: super(world, location.x, location.y, location.z, item)
var item: ItemStack = ItemStack(Blocks.BARRIER)
init {
noclip = false
pickupDelay = 32767
age = -32768
setBoundingBox(NullBoundingBox())
}
fun setItem(item: org.bukkit.inventory.ItemStack) {
this.item = item.handlerCopy() ?: ItemStack(Blocks.BARRIER)
super.setItemStack(this.item)
}
open fun delete() {
dead = true
if (vehicle != null)
vehicle.dead = true
}
override fun onUpdate() {
u()
onTick()
}
override fun isInvulnerable(damagesource: DamageSource?): Boolean {
return true
}
override fun isAlive(): Boolean {
return false
}
override fun canBeCollidedWith(): Boolean {
return false
}
override fun canBePushed(): Boolean {
return false
}
override fun die() {
}
override fun onKillCommand() {
}
override fun a(i: Int) {
super.a(32767)
}
override fun burn(damage: Float) {
}
override fun playSound(s: String?, f: Float, f1: Float) {
}
override fun damageEntity(damagesource: DamageSource?, f: Float): Boolean {
return false
}
override fun travelToDimension(dimensionId: Int) {
}
override fun setItemStack(itemstack: ItemStack?) {
this.item = itemstack ?: ItemStack(Blocks.BARRIER)
super.setItemStack(item)
}
override fun getItemStack(): ItemStack {
return item
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy