Prevent kids from crashing my server
This commit is contained in:
@@ -2,14 +2,16 @@ package xyz.lncvrt.galaxycreations
|
||||
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage
|
||||
import org.bukkit.plugin.java.JavaPlugin
|
||||
import xyz.lncvrt.galaxycreations.events.PlayerJoinListener
|
||||
import xyz.lncvrt.galaxycreations.events.ProjectileLaunchListener
|
||||
import xyz.lncvrt.galaxycreations.events.*
|
||||
|
||||
class GalaxyCreations : JavaPlugin() {
|
||||
internal val miniMessage = MiniMessage.miniMessage()
|
||||
|
||||
override fun onEnable() {
|
||||
server.pluginManager.registerEvents(PlayerInteractListener(), this)
|
||||
server.pluginManager.registerEvents(PlayerJoinListener(this), this)
|
||||
server.pluginManager.registerEvents(ProjectileLaunchListener(), this)
|
||||
server.pluginManager.registerEvents(VehicleCreateListener(), this)
|
||||
server.pluginManager.registerEvents(VehicleMoveListener(), this)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package xyz.lncvrt.galaxycreations.events
|
||||
|
||||
import org.bukkit.entity.Vehicle
|
||||
import org.bukkit.event.EventHandler
|
||||
import org.bukkit.event.Listener
|
||||
import org.bukkit.event.block.Action
|
||||
import org.bukkit.event.player.PlayerInteractEvent
|
||||
|
||||
class PlayerInteractListener : Listener {
|
||||
@EventHandler
|
||||
fun onPlayerInteractEvent(event: PlayerInteractEvent) {
|
||||
if (event.action == Action.RIGHT_CLICK_BLOCK) {
|
||||
val item = event.item ?: return
|
||||
if (item.type.name.contains("MINECART")) {
|
||||
val chunk = event.clickedBlock?.location?.chunk ?: return
|
||||
val vehicles = chunk.entities.filterIsInstance<Vehicle>()
|
||||
if (vehicles.size > 9) vehicles.forEach { it.remove() }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package xyz.lncvrt.galaxycreations.events
|
||||
|
||||
import org.bukkit.entity.Vehicle
|
||||
import org.bukkit.event.EventHandler
|
||||
import org.bukkit.event.Listener
|
||||
import org.bukkit.event.vehicle.VehicleCreateEvent
|
||||
|
||||
class VehicleCreateListener : Listener {
|
||||
@EventHandler
|
||||
fun onVehicleCreateEvent(event: VehicleCreateEvent) {
|
||||
val chunk = event.vehicle.location.chunk
|
||||
val vehicles = chunk.entities.filterIsInstance<Vehicle>()
|
||||
if (vehicles.size > 9) vehicles.forEach { it.remove() }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package xyz.lncvrt.galaxycreations.events
|
||||
|
||||
import org.bukkit.entity.Vehicle
|
||||
import org.bukkit.event.EventHandler
|
||||
import org.bukkit.event.Listener
|
||||
import org.bukkit.event.vehicle.VehicleMoveEvent
|
||||
|
||||
class VehicleMoveListener : Listener {
|
||||
@EventHandler
|
||||
fun onVehicleMoveEvent(event: VehicleMoveEvent) {
|
||||
val chunk = event.vehicle.location.chunk
|
||||
val vehicles = chunk.entities.filterIsInstance<Vehicle>()
|
||||
if (vehicles.size > 9) vehicles.forEach { it.remove() }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user