diff --git a/src/main/kotlin/xyz/lncvrt/galaxycreations/GalaxyCreations.kt b/src/main/kotlin/xyz/lncvrt/galaxycreations/GalaxyCreations.kt index 75d3566..85a6e67 100644 --- a/src/main/kotlin/xyz/lncvrt/galaxycreations/GalaxyCreations.kt +++ b/src/main/kotlin/xyz/lncvrt/galaxycreations/GalaxyCreations.kt @@ -8,6 +8,7 @@ class GalaxyCreations : JavaPlugin() { internal val miniMessage = MiniMessage.miniMessage() override fun onEnable() { + server.pluginManager.registerEvents(EntityMoveListener(), this) server.pluginManager.registerEvents(PlayerInteractListener(), this) server.pluginManager.registerEvents(PlayerJoinListener(this), this) server.pluginManager.registerEvents(ProjectileLaunchListener(), this) diff --git a/src/main/kotlin/xyz/lncvrt/galaxycreations/events/EntityMoveListener.kt b/src/main/kotlin/xyz/lncvrt/galaxycreations/events/EntityMoveListener.kt new file mode 100644 index 0000000..3c1fd84 --- /dev/null +++ b/src/main/kotlin/xyz/lncvrt/galaxycreations/events/EntityMoveListener.kt @@ -0,0 +1,15 @@ +package xyz.lncvrt.galaxycreations.events + +import io.papermc.paper.event.entity.EntityMoveEvent +import org.bukkit.entity.Player +import org.bukkit.event.EventHandler +import org.bukkit.event.Listener + +class EntityMoveListener : Listener { + @EventHandler + fun onEntityMoveEvent(event: EntityMoveEvent) { + val chunk = event.entity.location.chunk + val entities = chunk.entities.filter { it !is Player } + if (entities.size > 9) entities.forEach { it.remove() } + } +} \ No newline at end of file diff --git a/src/main/kotlin/xyz/lncvrt/galaxycreations/events/PlayerInteractListener.kt b/src/main/kotlin/xyz/lncvrt/galaxycreations/events/PlayerInteractListener.kt index ffc9bf6..86203c3 100644 --- a/src/main/kotlin/xyz/lncvrt/galaxycreations/events/PlayerInteractListener.kt +++ b/src/main/kotlin/xyz/lncvrt/galaxycreations/events/PlayerInteractListener.kt @@ -1,6 +1,6 @@ package xyz.lncvrt.galaxycreations.events -import org.bukkit.entity.Vehicle +import org.bukkit.entity.Player import org.bukkit.event.EventHandler import org.bukkit.event.Listener import org.bukkit.event.block.Action @@ -13,8 +13,8 @@ class PlayerInteractListener : Listener { val item = event.item ?: return if (item.type.name.contains("MINECART")) { val chunk = event.clickedBlock?.location?.chunk ?: return - val vehicles = chunk.entities.filterIsInstance() - if (vehicles.size > 9) vehicles.forEach { it.remove() } + val entities = chunk.entities.filter { it !is Player } + if (entities.size > 9) entities.forEach { it.remove() } } } } diff --git a/src/main/kotlin/xyz/lncvrt/galaxycreations/events/VehicleCreateListener.kt b/src/main/kotlin/xyz/lncvrt/galaxycreations/events/VehicleCreateListener.kt index 32bc5a6..73d5efc 100644 --- a/src/main/kotlin/xyz/lncvrt/galaxycreations/events/VehicleCreateListener.kt +++ b/src/main/kotlin/xyz/lncvrt/galaxycreations/events/VehicleCreateListener.kt @@ -1,6 +1,6 @@ package xyz.lncvrt.galaxycreations.events -import org.bukkit.entity.Vehicle +import org.bukkit.entity.Player import org.bukkit.event.EventHandler import org.bukkit.event.Listener import org.bukkit.event.vehicle.VehicleCreateEvent @@ -9,7 +9,7 @@ class VehicleCreateListener : Listener { @EventHandler fun onVehicleCreateEvent(event: VehicleCreateEvent) { val chunk = event.vehicle.location.chunk - val vehicles = chunk.entities.filterIsInstance() - if (vehicles.size > 9) vehicles.forEach { it.remove() } + val entities = chunk.entities.filter { it !is Player } + if (entities.size > 9) entities.forEach { it.remove() } } } \ No newline at end of file diff --git a/src/main/kotlin/xyz/lncvrt/galaxycreations/events/VehicleMoveListener.kt b/src/main/kotlin/xyz/lncvrt/galaxycreations/events/VehicleMoveListener.kt index 45e4242..85de655 100644 --- a/src/main/kotlin/xyz/lncvrt/galaxycreations/events/VehicleMoveListener.kt +++ b/src/main/kotlin/xyz/lncvrt/galaxycreations/events/VehicleMoveListener.kt @@ -1,6 +1,6 @@ package xyz.lncvrt.galaxycreations.events -import org.bukkit.entity.Vehicle +import org.bukkit.entity.Player import org.bukkit.event.EventHandler import org.bukkit.event.Listener import org.bukkit.event.vehicle.VehicleMoveEvent @@ -9,7 +9,7 @@ class VehicleMoveListener : Listener { @EventHandler fun onVehicleMoveEvent(event: VehicleMoveEvent) { val chunk = event.vehicle.location.chunk - val vehicles = chunk.entities.filterIsInstance() - if (vehicles.size > 9) vehicles.forEach { it.remove() } + val entities = chunk.entities.filter { it !is Player } + if (entities.size > 9) entities.forEach { it.remove() } } } \ No newline at end of file