Compare commits

...

2 Commits

Author SHA1 Message Date
Fortern 05f2184452 ver 1.1 2026-06-04 02:54:59 +08:00
Fortern 0ec5960f69 占位符 2026-06-04 02:54:30 +08:00
4 changed files with 82 additions and 1 deletions
+12 -1
View File
@@ -6,7 +6,7 @@
<groupId>xyz.fortern</groupId>
<artifactId>fortern-helper</artifactId>
<version>1.0</version>
<version>1.1</version>
<packaging>jar</packaging>
<name>fortern-helper</name>
@@ -65,6 +65,10 @@
<id>spigotmc-repo</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
</repository>
<repository>
<id>placeholderapi</id>
<url>https://repo.helpch.at/releases/</url>
</repository>
</repositories>
<dependencies>
@@ -102,5 +106,12 @@
<version>4.4.1</version>
<scope>provided</scope>
</dependency>
<!-- PlaceholderAPI -->
<dependency>
<groupId>me.clip</groupId>
<artifactId>placeholderapi</artifactId>
<version>2.12.2</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
@@ -1,23 +1,37 @@
package xyz.fortern.forternhelper
import me.clip.placeholderapi.expansion.PlaceholderExpansion
import net.kyori.adventure.platform.bukkit.BukkitAudiences
import org.bukkit.Bukkit
import org.bukkit.plugin.java.JavaPlugin
import xyz.fortern.forternhelper.command.HelperCommand
import xyz.fortern.forternhelper.listener.ForternListener
import xyz.fortern.forternhelper.placeholder.ForternExpansion
class Helper : JavaPlugin() {
private lateinit var adventure: BukkitAudiences
private lateinit var expansion: PlaceholderExpansion
override fun onEnable() {
// Plugin startup logic
this.adventure = BukkitAudiences.create(this)
logger.info("Registering listeners...")
// register listeners
Bukkit.getPluginManager().registerEvents(ForternListener(this), this)
// register commands
Bukkit.getPluginCommand("helper")?.setExecutor(HelperCommand(this, adventure))
// register placeholder
expansion = ForternExpansion(this)
if (Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI")) {
expansion.register()
}
}
override fun onDisable() {
// Plugin shutdown logic
if (Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI")) {
expansion.unregister()
}
}
}
@@ -0,0 +1,55 @@
package xyz.fortern.forternhelper.placeholder
import me.clip.placeholderapi.expansion.PlaceholderExpansion
import org.bukkit.Bukkit
import org.bukkit.Chunk
import org.bukkit.OfflinePlayer
import org.bukkit.plugin.java.JavaPlugin
class ForternExpansion(
val plugin: JavaPlugin
) : PlaceholderExpansion() {
override fun getIdentifier(): String {
return plugin.description.name
}
override fun getAuthor(): String {
return plugin.description.authors.toString()
}
override fun getVersion(): String {
return plugin.description.version
}
override fun persist(): Boolean {
return true
}
override fun onRequest(player: OfflinePlayer, params: String): String? {
if (params.startsWith("peace_")) {
val split = params.split("_")
if (split.size == 4) {
val worldName = split[1]
val chunkX = split[2]
val chunkZ = split[3]
val world = Bukkit.getWorld(worldName)
if (world != null) {
return try {
val x = Integer.parseInt(chunkX)
val z = Integer.parseInt(chunkZ)
val loadLevel = world.getChunkAt(x, z).loadLevel
if (loadLevel == Chunk.LoadLevel.TICKING || loadLevel == Chunk.LoadLevel.ENTITY_TICKING) {
"true"
} else {
"false"
}
} catch (_: NumberFormatException) {
null
}
}
}
}
return null
}
}
+1
View File
@@ -3,6 +3,7 @@ version: '${version}'
authors: [ Fortern ]
api-version: '26.1'
main: xyz.fortern.forternhelper.Helper
softdepend: ["PlaceholderAPI"]
libraries:
- org.jetbrains.kotlin:kotlin-stdlib:2.3.21