Compare commits
2 Commits
b1cab088c1
...
c3a3a7ddf0
| Author | SHA1 | Date | |
|---|---|---|---|
| c3a3a7ddf0 | |||
| 19688852f7 |
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<groupId>xyz.fortern</groupId>
|
<groupId>xyz.fortern</groupId>
|
||||||
<artifactId>fortern-helper</artifactId>
|
<artifactId>fortern-helper</artifactId>
|
||||||
<version>1.0</version>
|
<version>1.1</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<name>fortern-helper</name>
|
<name>fortern-helper</name>
|
||||||
@@ -65,6 +65,10 @@
|
|||||||
<id>spigotmc-repo</id>
|
<id>spigotmc-repo</id>
|
||||||
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
|
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
|
||||||
</repository>
|
</repository>
|
||||||
|
<repository>
|
||||||
|
<id>placeholderapi</id>
|
||||||
|
<url>https://repo.helpch.at/releases/</url>
|
||||||
|
</repository>
|
||||||
</repositories>
|
</repositories>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
@@ -102,5 +106,12 @@
|
|||||||
<version>4.4.1</version>
|
<version>4.4.1</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<!-- PlaceholderAPI -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>me.clip</groupId>
|
||||||
|
<artifactId>placeholderapi</artifactId>
|
||||||
|
<version>2.12.2</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
@@ -1,23 +1,39 @@
|
|||||||
package xyz.fortern.forternhelper
|
package xyz.fortern.forternhelper
|
||||||
|
|
||||||
|
import me.clip.placeholderapi.expansion.PlaceholderExpansion
|
||||||
import net.kyori.adventure.platform.bukkit.BukkitAudiences
|
import net.kyori.adventure.platform.bukkit.BukkitAudiences
|
||||||
import org.bukkit.Bukkit
|
import org.bukkit.Bukkit
|
||||||
import org.bukkit.plugin.java.JavaPlugin
|
import org.bukkit.plugin.java.JavaPlugin
|
||||||
import xyz.fortern.forternhelper.command.HelperCommand
|
import xyz.fortern.forternhelper.command.HelperCommand
|
||||||
import xyz.fortern.forternhelper.listener.ForternListener
|
import xyz.fortern.forternhelper.listener.ForternListener
|
||||||
|
import xyz.fortern.forternhelper.placeholder.ForternExpansion
|
||||||
|
|
||||||
class Helper : JavaPlugin() {
|
class Helper : JavaPlugin() {
|
||||||
private lateinit var adventure: BukkitAudiences
|
private lateinit var adventure: BukkitAudiences
|
||||||
|
|
||||||
|
private lateinit var expansion: PlaceholderExpansion
|
||||||
|
|
||||||
override fun onEnable() {
|
override fun onEnable() {
|
||||||
// Plugin startup logic
|
// Plugin startup logic
|
||||||
this.adventure = BukkitAudiences.create(this)
|
this.adventure = BukkitAudiences.create(this)
|
||||||
logger.info("Registering listeners...")
|
logger.info("Registering listeners...")
|
||||||
|
// register listeners
|
||||||
Bukkit.getPluginManager().registerEvents(ForternListener(this), this)
|
Bukkit.getPluginManager().registerEvents(ForternListener(this), this)
|
||||||
|
logger.info("Registering commands...")
|
||||||
|
// register commands
|
||||||
Bukkit.getPluginCommand("helper")?.setExecutor(HelperCommand(this, adventure))
|
Bukkit.getPluginCommand("helper")?.setExecutor(HelperCommand(this, adventure))
|
||||||
|
// register placeholder
|
||||||
|
expansion = ForternExpansion(this)
|
||||||
|
if (Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI")) {
|
||||||
|
logger.info("Registering placeholders...")
|
||||||
|
expansion.register()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDisable() {
|
override fun onDisable() {
|
||||||
// Plugin shutdown logic
|
// Plugin shutdown logic
|
||||||
|
if (Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI")) {
|
||||||
|
expansion.unregister()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,60 @@
|
|||||||
|
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 "fortern"
|
||||||
|
}
|
||||||
|
|
||||||
|
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_")) {
|
||||||
|
// e.g. peace_the_nether_x,z
|
||||||
|
val first = params.indexOf('_')
|
||||||
|
if(first < 0) return null
|
||||||
|
val last = params.lastIndexOf('_')
|
||||||
|
if (last <= first) return null
|
||||||
|
val chunkPos = params.substring(last + 1)
|
||||||
|
val split = chunkPos.split(',')
|
||||||
|
if (split.size < 2) return null
|
||||||
|
val chunkX = split[0]
|
||||||
|
val chunkZ = split[1]
|
||||||
|
val worldName = params.substring(first, last)
|
||||||
|
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
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3,6 +3,7 @@ version: '${version}'
|
|||||||
authors: [ Fortern ]
|
authors: [ Fortern ]
|
||||||
api-version: '26.1'
|
api-version: '26.1'
|
||||||
main: xyz.fortern.forternhelper.Helper
|
main: xyz.fortern.forternhelper.Helper
|
||||||
|
softdepend: ["PlaceholderAPI"]
|
||||||
|
|
||||||
libraries:
|
libraries:
|
||||||
- org.jetbrains.kotlin:kotlin-stdlib:2.3.21
|
- org.jetbrains.kotlin:kotlin-stdlib:2.3.21
|
||||||
|
|||||||
Reference in New Issue
Block a user