Refactor to PaperPlugin

This commit is contained in:
Len 2026-07-25 10:43:58 -05:00
parent ea0d678c83
commit f82160d7d3
4 changed files with 77 additions and 82 deletions

View File

@ -1,7 +1,9 @@
import java.io.ByteArrayOutputStream import net.minecrell.pluginyml.bukkit.BukkitPluginDescription
import net.minecrell.pluginyml.paper.PaperPluginDescription
plugins { plugins {
id("java") id("java")
id("de.eldoria.plugin-yml.paper") version "0.9.0"
} }
group = "com.alttd" group = "com.alttd"
@ -27,14 +29,6 @@ tasks {
jar { jar {
archiveFileName.set("${rootProject.name}.jar") archiveFileName.set("${rootProject.name}.jar")
} }
processResources {
filteringCharset = Charsets.UTF_8.name()
duplicatesStrategy = DuplicatesStrategy.INCLUDE
filesMatching("plugin.yml") {
expand(Pair("projectVersion", project.version))
}
}
} }
dependencies { dependencies {
@ -48,12 +42,66 @@ dependencies {
} }
fun gitCommit(): String { fun gitCommit(): String {
// val os = ByteArrayOutputStream()
// project.exec {
// isIgnoreExitValue = true
// commandLine = "git rev-parse --short HEAD".split(" ")
// standardOutput = os
// }
// return String(os.toByteArray()).trim()
return "FIXME" return "FIXME"
} }
paper {
name = rootProject.name
main = "$group.${rootProject.name}"
description = rootProject.description
bootstrapper = "$group.${rootProject.name}Bootstrap"
version = "${rootProject.version}"
apiVersion = "26.2"
authors = listOf("destro174")
serverDependencies {
register("MyPet") {
required = false
load = PaperPluginDescription.RelativeLoadOrder.BEFORE
}
}
permissions {
register("afkdetector.admin") {
description = "Admin permission for the ${rootProject.name} plugin."
default = BukkitPluginDescription.Permission.Default.FALSE
children = listOf(
"afkdetector.bypass",
"afkdetector.afklist",
"afkdetector.afkcheck",
"afkdetector.notify",
"afkdetector.reload"
)
}
register("afkdetector.bypass") {
description = "Bypass permission for the ${rootProject.name} plugin."
default = BukkitPluginDescription.Permission.Default.FALSE
children = listOf(
"afkdetector.kickexempt"
)
}
register("afkdetector.reload") {
description = "Allows reloading the ${rootProject.name} plugin."
default = BukkitPluginDescription.Permission.Default.FALSE
}
register("afkdetector.kickexempt") {
description = "Bypass permission for being afk kicked."
default = BukkitPluginDescription.Permission.Default.FALSE
}
register("afkdetector.afktime") {
description = "Master permission for custom afk time in the ${rootProject.name} plugin."
default = BukkitPluginDescription.Permission.Default.FALSE
}
register("afkdetector.afkcheck") {
description = "Allows usage of the /afkcheck command."
default = BukkitPluginDescription.Permission.Default.FALSE
}
register("afkdetector.afklist") {
description = "Allows usage of the /afklist command."
default = BukkitPluginDescription.Permission.Default.FALSE
}
register("afkdetector.notify") {
description = "Get notified when a player is afk."
default = BukkitPluginDescription.Permission.Default.FALSE
}
}
}

View File

@ -0,0 +1,13 @@
package com.alttd.afkdectector;
import io.papermc.paper.plugin.bootstrap.BootstrapContext;
import io.papermc.paper.plugin.bootstrap.PluginBootstrap;
@SuppressWarnings("UnstableApiUsage")
public class AFKDetectorBootstrap implements PluginBootstrap {
@Override
public void bootstrap(BootstrapContext context) {}
}

View File

@ -1,66 +0,0 @@
main: com.alttd.afkdectector.AFKDetector
name: AFKDetector
version: ${projectVersion}
api-version: 1.21
author: Destro174
softdepend:
- MyPet
description: Checks if a player is afk.
commands:
afklist:
description: Gives a list of all afk players
permission: afkdetector.afklist
permission-message: You do not have permission!
usage: /afklist
afkcheck:
description: Sends and afkcheck message to the target
permission: afkdetector.afkcheck
permission-message: You do not have permission!
usage: /afkcheck <target>
relogcheck:
description: Sends and relogcheck message to the target
permission: afkdetector.relogcheck
permission-message: You do not have permission!
usage: /relogcheck <target>
reloadafkdetector:
description: Reloads the plugin config
permission: afkdetector.reload
permission-message: You do not have permission!
usage: /afkdetectorreload
permissions:
afkdetector.admin:
default: op
description: Implies all permissions.
children:
afkdetector.bypass: true
afkdetector.afklist: true
afkdetector.afkcheck: true
afkdetector.notify: true
afkdetector.reload: true
afkdetector.bypass:
description: Bypass the AFKplugin.
default: op
children:
afkdetector.kickexempt: true
afkdetector.reload:
description: Allows reloading the afkdetector plugin config.
default: op
afkdetector.kickexempt:
description: Doesn't kick you automatically for AFK.
default: op
afkdetector.afktime:
description: Master permission for custom times.
default: false
afkdetector.afkcheck:
description: Allows the usage of /afkcheck command.
default: false
afkdetector.afklist:
description: Allows the usage of /afklist command.
default: false
afkdetector.notify:
description: Get output when a player goes afk.
default: false