summaryrefslogtreecommitdiff
path: root/src/main/kotlin/io/dico/parcels2/blockvisitor/Entities.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/io/dico/parcels2/blockvisitor/Entities.kt')
-rw-r--r--src/main/kotlin/io/dico/parcels2/blockvisitor/Entities.kt38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/main/kotlin/io/dico/parcels2/blockvisitor/Entities.kt b/src/main/kotlin/io/dico/parcels2/blockvisitor/Entities.kt
new file mode 100644
index 0000000..d9ea09f
--- /dev/null
+++ b/src/main/kotlin/io/dico/parcels2/blockvisitor/Entities.kt
@@ -0,0 +1,38 @@
+package io.dico.parcels2.blockvisitor
+
+import io.dico.parcels2.util.math.Vec3d
+import org.bukkit.Location
+import org.bukkit.World
+import org.bukkit.entity.Entity
+import org.bukkit.entity.Minecart
+
+/*
+open class EntityCopy<T : Entity>(entity: T) {
+ val type = entity.type
+
+ @Suppress("UNCHECKED_CAST")
+ fun spawn(world: World, position: Vec3d): T {
+ val entity = world.spawnEntity(Location(null, position.x, position.y, position.z), type) as T
+ setAttributes(entity)
+ return entity
+ }
+
+ open fun setAttributes(entity: T) {}
+}
+
+open class MinecartCopy<T : Minecart>(entity: T) : EntityCopy<T>(entity) {
+ val damage = entity.damage
+ val maxSpeed = entity.maxSpeed
+ val isSlowWhenEmpty = entity.isSlowWhenEmpty
+ val flyingVelocityMod = entity.flyingVelocityMod
+ val derailedVelocityMod = entity.derailedVelocityMod
+ val displayBlockData = entity.displayBlockData
+ val displayBlockOffset = entity.displayBlockOffset
+
+ override fun setAttributes(entity: T) {
+ super.setAttributes(entity)
+ entity.damage = damage
+ entity.displayBlockData = displayBlockData
+ entity.displayBlockOffset = displayBlockOffset
+ }
+}*/ \ No newline at end of file