All Downloads are FREE. Search and download functionalities are using the official Maven repository.

walkmc.hologram.entity.EntityHologram.kt Maven / Gradle / Ivy

package walkmc.hologram.entity

import net.minecraft.server.*
import net.minecraft.server.DamageSource
import walkmc.*

/**
 * A base entity for any hologram entity.
 */
abstract class EntityHologram(world: World) : EntityArmorStand(world) {
	init {
		noclip = false
		isInvisible = true
		isSmall = true
		customNameVisible = false
		disabledSlots = 2147483647
		setArms(false)
		setBasePlate(false)
		setGravity(false)
		setBoundingBox(NullBoundingBox())
	}
	
	open fun delete() {
		dead = true
	}
	
	override fun onUpdate() {
		onTick()
	}
	
	override fun onEntityUpdate() {
	}
	
	override fun isInvulnerable(damagesource: DamageSource?): Boolean {
		return true
	}
	
	override fun die() {
	}
	
	override fun damageEntity(damagesource: DamageSource?, f: Float): Boolean {
		return false
	}
	
	override fun setInvisible(flag: Boolean) {
		super.setInvisible(true)
	}
	
	override fun isInvisible(): Boolean {
		return true
	}
	
	override fun playSound(s: String?, f: Float, f1: Float) {
	}
	
	override fun replaceItemInInventory(slot: Int, item: ItemStack?): Boolean {
		return false
	}
	
	override fun interactAt(player: EntityHuman?, vec3d: Vec3D?): Boolean {
		return false
	}
	
	override fun burn(damage: Float) {
	}
	
	override fun burnFromLava() {
	}
	
	override fun isSmall(): Boolean {
		return true
	}
	
	override fun setSmall(flag: Boolean) {
		super.setSmall(true)
	}
	
	override fun setGravity(flag: Boolean) {
		super.setGravity(false)
	}
	
	override fun hasGravity(): Boolean {
		return false
	}
	
	override fun setArms(flag: Boolean) {
		super.setArms(false)
	}
	
	override fun hasArms(): Boolean {
		return false
	}
	
	override fun setBasePlate(flag: Boolean) {
		super.setBasePlate(false)
	}
	
	override fun hasBasePlate(): Boolean {
		return false
	}
	
	override fun setMarker(flag: Boolean) {
		super.setMarker(flag)
	}
	
	override fun isMarker(): Boolean {
		return false
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy