Compare commits

..

2 Commits

Author SHA1 Message Date
Fortern 9a1878dcba ver 1.1 2026-06-04 04:49:33 +08:00
Fortern 9b3f49d7b5 占位符 2026-06-04 04:49:33 +08:00
@@ -2,6 +2,7 @@ package xyz.fortern.forternhelper.placeholder
import me.clip.placeholderapi.expansion.PlaceholderExpansion import me.clip.placeholderapi.expansion.PlaceholderExpansion
import org.bukkit.Bukkit import org.bukkit.Bukkit
import org.bukkit.Chunk
import org.bukkit.OfflinePlayer import org.bukkit.OfflinePlayer
import org.bukkit.plugin.java.JavaPlugin import org.bukkit.plugin.java.JavaPlugin
@@ -26,7 +27,7 @@ class ForternExpansion(
} }
override fun onRequest(player: OfflinePlayer, params: String): String { override fun onRequest(player: OfflinePlayer, params: String): String {
return if (params.startsWith("loadlevel_")) { if (params.startsWith("loadlevel_")) {
// e.g. peace_the_nether_x,z // e.g. peace_the_nether_x,z
val first = params.indexOf('_') val first = params.indexOf('_')
if (first < 0) return "unknown" if (first < 0) return "unknown"
@@ -38,16 +39,23 @@ class ForternExpansion(
val chunkX = split[0] val chunkX = split[0]
val chunkZ = split[1] val chunkZ = split[1]
val worldName = params.substring(first + 1, last) val worldName = params.substring(first + 1, last)
val world = Bukkit.getWorld(worldName) ?: return "unknown" val world = Bukkit.getWorld(worldName)
try { if (world != null) {
return try {
val x = Integer.parseInt(chunkX) val x = Integer.parseInt(chunkX)
val z = Integer.parseInt(chunkZ) val z = Integer.parseInt(chunkZ)
world.getChunkAt(x, z).loadLevel.toString() val loadLevel = world.getChunkAt(x, z).loadLevel
} catch (_: NumberFormatException) { if (loadLevel == Chunk.LoadLevel.TICKING || loadLevel == Chunk.LoadLevel.ENTITY_TICKING) {
"unknown" "true"
}
} else { } else {
"unknown" "false"
}
} catch (_: NumberFormatException) {
return "unknown"
} }
} }
return "unknown"
}
return "null"
}
} }