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 net.kyori.adventure.text.minimessage.MiniMessage
|
||||||
import org.bukkit.plugin.java.JavaPlugin
|
import org.bukkit.plugin.java.JavaPlugin
|
||||||
import xyz.lncvrt.galaxycreations.events.PlayerJoinListener
|
import xyz.lncvrt.galaxycreations.events.*
|
||||||
import xyz.lncvrt.galaxycreations.events.ProjectileLaunchListener
|
|
||||||
|
|
||||||
class GalaxyCreations : JavaPlugin() {
|
class GalaxyCreations : JavaPlugin() {
|
||||||
internal val miniMessage = MiniMessage.miniMessage()
|
internal val miniMessage = MiniMessage.miniMessage()
|
||||||
|
|
||||||
override fun onEnable() {
|
override fun onEnable() {
|
||||||
|
server.pluginManager.registerEvents(PlayerInteractListener(), this)
|
||||||
server.pluginManager.registerEvents(PlayerJoinListener(this), this)
|
server.pluginManager.registerEvents(PlayerJoinListener(this), this)
|
||||||
server.pluginManager.registerEvents(ProjectileLaunchListener(), 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