DummyEntity changes

This commit is contained in:
Auxilor
2022-02-28 20:02:58 +00:00
parent 4fce11b149
commit 0ded1fe68b
6 changed files with 23 additions and 12 deletions

View File

@@ -0,0 +1,10 @@
package com.willfp.eco.core.entities.dummy;
import org.bukkit.entity.Entity;
/**
* Interface for Dummy Entities in order to filter them using instanceof.
*/
public interface DummyEntity extends Entity {
}

View File

@@ -1,8 +1,9 @@
package com.willfp.eco.internal.entities
import com.willfp.eco.core.entities.dummy.DummyEntity
import org.bukkit.entity.Entity
class DummyEntityDelegate(private val handle: Entity) : Entity by handle {
class EcoDummyEntity(private val handle: Entity) : DummyEntity, Entity by handle {
override fun toString(): String {
return "DummyEntity{id=${this.entityId}}"
}

View File

@@ -1,16 +1,16 @@
package com.willfp.eco.internal.spigot.proxy.v1_17_R1
import com.willfp.eco.internal.entities.DummyEntityDelegate
import com.willfp.eco.internal.spigot.proxy.DummyEntityProxy
import com.willfp.eco.internal.entities.EcoDummyEntity
import com.willfp.eco.internal.spigot.proxy.DummyEntityFactoryProxy
import org.bukkit.Location
import org.bukkit.craftbukkit.v1_17_R1.CraftWorld
import org.bukkit.entity.Entity
import org.bukkit.entity.EntityType
class DummyEntity : DummyEntityProxy {
class DummyEntityFactory : DummyEntityFactoryProxy {
override fun createDummyEntity(location: Location): Entity {
val world = location.world as CraftWorld
@Suppress("UsePropertyAccessSyntax")
return DummyEntityDelegate(world.createEntity(location, EntityType.ZOMBIE.entityClass).getBukkitEntity())
return EcoDummyEntity(world.createEntity(location, EntityType.ZOMBIE.entityClass).getBukkitEntity())
}
}

View File

@@ -1,16 +1,16 @@
package com.willfp.eco.internal.spigot.proxy.v1_18_R1
import com.willfp.eco.internal.entities.DummyEntityDelegate
import com.willfp.eco.internal.spigot.proxy.DummyEntityProxy
import com.willfp.eco.internal.entities.EcoDummyEntity
import com.willfp.eco.internal.spigot.proxy.DummyEntityFactoryProxy
import org.bukkit.Location
import org.bukkit.craftbukkit.v1_18_R1.CraftWorld
import org.bukkit.entity.Entity
import org.bukkit.entity.EntityType
class DummyEntity : DummyEntityProxy {
class DummyEntityFactory : DummyEntityFactoryProxy {
override fun createDummyEntity(location: Location): Entity {
val world = location.world as CraftWorld
@Suppress("UsePropertyAccessSyntax")
return DummyEntityDelegate(world.createEntity(location, EntityType.ZOMBIE.entityClass).getBukkitEntity())
return EcoDummyEntity(world.createEntity(location, EntityType.ZOMBIE.entityClass).getBukkitEntity())
}
}

View File

@@ -28,7 +28,7 @@ import com.willfp.eco.internal.spigot.data.DataYml
import com.willfp.eco.internal.spigot.data.EcoKeyRegistry
import com.willfp.eco.internal.spigot.data.EcoProfileHandler
import com.willfp.eco.internal.spigot.integrations.bstats.MetricHandler
import com.willfp.eco.internal.spigot.proxy.DummyEntityProxy
import com.willfp.eco.internal.spigot.proxy.DummyEntityFactoryProxy
import com.willfp.eco.internal.spigot.proxy.FastItemStackFactoryProxy
import net.kyori.adventure.platform.bukkit.BukkitAudiences
import org.bukkit.Location
@@ -149,7 +149,7 @@ class EcoHandler : EcoSpigotPlugin(), Handler {
}
override fun createDummyEntity(location: Location): Entity {
return getProxy(DummyEntityProxy::class.java).createDummyEntity(location)
return getProxy(DummyEntityFactoryProxy::class.java).createDummyEntity(location)
}
override fun createNamespacedKey(namespace: String, key: String): NamespacedKey {

View File

@@ -3,7 +3,7 @@ package com.willfp.eco.internal.spigot.proxy
import org.bukkit.Location
import org.bukkit.entity.Entity
interface DummyEntityProxy {
interface DummyEntityFactoryProxy {
fun createDummyEntity(
location: Location
): Entity