[Bukkit,Spigot,Paper] plugin.yml还编写了build.gradle.kts


插件-yml

https://github.com/Minecrell/plugin-yml

使用它。该示例中还有build.gralde,因此,如果您喜欢它,请尝试一下。

顺便说一句,kotlin-dsl示例是错误的。我无法设置命令或权限。
"test"register("test")
"testplugin.*"register("testplugin.*")
您可以将其更改为。详细信息在本文底部进行了说明。

摇篮

build.gradle.kts可用。 谁能写出build.gradle的示例
选择适合您的一个并按?
编辑标记为@TODO

的零件

build.gradle(Groovy)

我在等。

build.gradle.kts(科特林)

如果它是

build.gradle,请将其重命名为build.gradle.kts
语法略有不同,因此,我认为如果不解决它,您将得到一个错误。

示例

<详细信息> <摘要> Spigot 1.15.2 Java

build.gradle.kts

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
plugins {
    java
    id("net.minecrell.plugin-yml.bukkit") version "0.3.0"
}

group = "" // @TODO ここを編集
version = "1.0" // @TODO ここを編集

repositories {
    mavenCentral()
    maven {
        url = uri("https://hub.spigotmc.org/nexus/content/repositories/snapshots")
    }
    maven {
        url = uri("https://oss.sonatype.org/content/repositories/snapshots")
    }
}

dependencies {
    implementation("org.spigotmc:spigot-api:1.15.2-R0.1-SNAPSHOT")
}

bukkit {
    // 詳しく説明します
}

val jar by tasks.getting(Jar::class) {
    from(configurations.compileOnly.get().map {
        if (it.isDirectory) it else zipTree(it)
    })
}

<详细信息> <摘要> 论文1.15.2 Kotlin

build.gradle.kts

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
plugins {
    kotlin("jvm") version "1.3.72"
    id("net.minecrell.plugin-yml.bukkit") version "0.3.0"
}

group = "" // @TODO ここを編集
version = "1.0" // @TODO ここを編集

repositories {
    mavenCentral()
    maven {
        url = uri("https://papermc.io/repo/repository/maven-public/")
    }
}

dependencies {
    implementation("com.destroystokyo.paper:paper-api:1.15.2-R0.1-SNAPSHOT")
    compileOnly("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
}

bukkit {
    // 詳しく説明します
}

tasks {
    compileKotlin {
        kotlinOptions.jvmTarget = "1.8"
    }
}

val jar by tasks.getting(Jar::class) {
    from(configurations.compileOnly.get().map {
        if (it.isDirectory) it else zipTree(it)
    })
}

写bukkit {}

至少

1
2
3
4
5
6
7
bukkit {
    main = "" // @TODO JavaPlugin を継承してるクラスへのパス
    apiVersion = "1.15"
        // 1.13.X なら 1.13
        // 1.14.X なら 1.14
        // 1.15.X なら 1.15
}

但是我认为写author更好。

家伙例子

我在GitHub上做了适当的修改。如果可以使其对应,则可以完美地编写它。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
bukkit {
    main = "com.example.testplugin.TestPlugin"
    apiVersion = "1.13"
    load = BukkitPluginDescription.PluginLoadOrder.STARTUP // or POSTWORLD
    authors = listOf("Notch", "Notch2")
    depend = listOf("WorldEdit")
    softDepend = listOf("Essentials")
    loadBefore = listOf("BrokenPlugin")
    prefix = "TEST"
    defaultPermission = BukkitPluginDescription.Permission.Default.OP // TRUE, FALSE, OP or NOT_OP

    commands {
        register("test") {
            description = "This is a test command!"
            aliases = listOf("t")
            permission = "testplugin.test"
            usage = "Just run the command!"
            // permissionMessage = "You may not test this command!"
        }
        // ...
    }

    permissions {
        register("testplugin.*") {
            children = listOf("testplugin.test")
        }
        register("testplugin.test") {
            description = "Allows you to run the test command"
            default = BukkitPluginDescription.Permission.Default.OP // TRUE, FALSE, OP or NOT_OP
        }
        // ...
    }
}

终于

可以编辑的地方更少了,非常棒。它不仅支持Bukkit,还支持BungeeCord和Nukkit。
响应项目更新(版本升级等)将更加容易,因此请使用它。
请不要犹豫,提出编辑请求,因为某些部分可能缺少解释。