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

@@ -1,49 +0,0 @@
plugins {
id 'java'
}
group = 'xyz.lncvrt'
version = '1.0.0'
repositories {
mavenCentral()
maven {
name = "papermc-repo"
url = "https://repo.papermc.io/repository/maven-public/"
}
maven {
name = "sonatype"
url = "https://oss.sonatype.org/content/groups/public/"
}
}
dependencies {
compileOnly("io.papermc.paper:paper-api:1.21.4-R0.1-SNAPSHOT")
}
def targetJavaVersion = 21
java {
def javaVersion = JavaVersion.toVersion(targetJavaVersion)
sourceCompatibility = javaVersion
targetCompatibility = javaVersion
if (JavaVersion.current() < javaVersion) {
toolchain.languageVersion = JavaLanguageVersion.of(targetJavaVersion)
}
}
tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8'
if (targetJavaVersion >= 10 || JavaVersion.current().isJava10Compatible()) {
options.release.set(targetJavaVersion)
}
}
processResources {
def props = [version: version]
inputs.properties props
filteringCharset 'UTF-8'
filesMatching('plugin.yml') {
expand props
}
}

45
build.gradle.kts Normal file
View File

@@ -0,0 +1,45 @@
plugins {
kotlin("jvm") version "2.1.20"
id("com.github.johnrengelman.shadow") version "8.1.1"
id("xyz.jpenilla.run-paper") version "2.3.1"
}
group = "xyz.lncvrt"
version = "1.0.0"
repositories {
mavenCentral()
maven("https://repo.papermc.io/repository/maven-public/") {
name = "papermc-repo"
}
maven("https://oss.sonatype.org/content/groups/public/") {
name = "sonatype"
}
}
dependencies {
compileOnly("io.papermc.paper:paper-api:1.21.4-R0.1-SNAPSHOT")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
}
val targetJavaVersion = 21
kotlin {
jvmToolchain(targetJavaVersion)
}
tasks.build {
dependsOn("shadowJar")
}
tasks.processResources {
val props = mapOf("version" to version)
inputs.properties(props)
filteringCharset = "UTF-8"
filesMatching("plugin.yml") {
expand(props)
}
}
tasks.runServer {
minecraftVersion("1.21")
}

View File

@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-all.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME

View File

@@ -1 +0,0 @@
rootProject.name = 'GalaxyCreations'

1
settings.gradle.kts Normal file
View File

@@ -0,0 +1 @@
rootProject.name = "GalaxyCreations"

View File

@@ -1,30 +0,0 @@
package xyz.lncvrt.galaxycreations;
import net.kyori.adventure.text.minimessage.MiniMessage;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;
public final class GalaxyCreations extends JavaPlugin implements Listener {
private final MiniMessage miniMessage = MiniMessage.miniMessage();
@Override
public void onEnable() {
getServer().getPluginManager().registerEvents(this, this);
}
@EventHandler
public void onPlayerJoinEvent(PlayerJoinEvent event) {
Player player = event.getPlayer();
if (!event.getPlayer().hasPlayedBefore()) {
player.performCommand("p auto");
player.sendMessage(miniMessage.deserialize(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>")));
}
}
public String setPrefix(String message) {
return "<gradient:light_purple:dark_purple:light_purple><bold>GalaxyNetwork</gradient> <gray><bold>»</bold></gray> %s".formatted(message);
}
}

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
}
}