Switch to Kotlin and disable projectiles

This commit is contained in:
2025-04-06 21:08:26 -07:00
parent 81bf02e188
commit 9f7fdb8ee7
10 changed files with 97 additions and 81 deletions

View File

@@ -0,0 +1,19 @@
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
class GalaxyCreations : JavaPlugin() {
internal val miniMessage = MiniMessage.miniMessage()
override fun onEnable() {
server.pluginManager.registerEvents(PlayerJoinListener(this), this)
server.pluginManager.registerEvents(ProjectileLaunchListener(), this)
}
internal fun setPrefix(message: String): String {
return "<gradient:light_purple:dark_purple:light_purple><bold>GalaxyNetwork</gradient> <gray><bold>»</bold></gray> $message"
}
}

View File

@@ -0,0 +1,17 @@
package xyz.lncvrt.galaxycreations.events
import org.bukkit.event.EventHandler
import org.bukkit.event.Listener
import org.bukkit.event.player.PlayerJoinEvent
import xyz.lncvrt.galaxycreations.GalaxyCreations
class PlayerJoinListener(private val plugin: GalaxyCreations) : Listener {
@EventHandler
fun onPlayerJoinEvent(event: PlayerJoinEvent) {
val player = event.getPlayer()
if (!event.getPlayer().hasPlayedBefore()) {
player.performCommand("p auto")
player.sendMessage(plugin.miniMessage.deserialize(plugin.setPrefix("<light_purple>Welcome to Galaxy Network: Creative Server!\nYou have been teleported <rainbow>to your own plot!</rainbow>\nHere, you can build almost anything you want\nIf you need help, run the /discord command and we will help you!</light_purple>")))
}
}
}

View File

@@ -0,0 +1,14 @@
package xyz.lncvrt.galaxycreations.events
import org.bukkit.entity.EntityType
import org.bukkit.event.EventHandler
import org.bukkit.event.Listener
import org.bukkit.event.entity.ProjectileLaunchEvent
class ProjectileLaunchListener : Listener {
@EventHandler
fun onProjectileLaunchEvent(event: ProjectileLaunchEvent) {
if (event.entityType == EntityType.ARROW) return
event.isCancelled = true
}
}