commit 50c5c258feb8ddb382566e9cff49cf57cdec6544 Author: Fortern Date: Sun May 31 02:01:38 2026 +0800 init diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..320d94d --- /dev/null +++ b/.gitignore @@ -0,0 +1,39 @@ +# User-specific stuff +.idea/ + +*.iml +*.ipr +*.iws + +# IntelliJ +out/ + +# Compiled class file +*.class + +# Log file +*.log + +# Package Files # +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# General +.DS_Store +.AppleDouble +.LSOverride + +# Common working directory +run*/ + +# Gradle +.gradle/ +build/ + +# Maven +target/ +dependency-reduced-pom.xml diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..6d42852 --- /dev/null +++ b/pom.xml @@ -0,0 +1,83 @@ + + + 4.0.0 + + xyz.fortern + fortern-helper + 1.0 + jar + + fortern-helper + + + 25 + 2.4.0 + UTF-8 + + + + clean package + ${project.basedir}/src/main/kotlin + + + org.jetbrains.kotlin + kotlin-maven-plugin + ${kotlin.version} + + + compile + compile + + compile + + + + + ${java.version} + + + + org.apache.maven.plugins + maven-shade-plugin + 3.5.3 + + + package + + shade + + + + + + + + src/main/resources + true + + + + + + + spigotmc-repo + https://hub.spigotmc.org/nexus/content/repositories/snapshots/ + + + + + + org.spigotmc + spigot-api + 26.1-R0.1-SNAPSHOT + provided + + + org.jetbrains.kotlin + kotlin-stdlib + ${kotlin.version} + + + diff --git a/src/main/kotlin/xyz/fortern/forternhelper/Helper.kt b/src/main/kotlin/xyz/fortern/forternhelper/Helper.kt new file mode 100644 index 0000000..09b2e05 --- /dev/null +++ b/src/main/kotlin/xyz/fortern/forternhelper/Helper.kt @@ -0,0 +1,19 @@ +package xyz.fortern.forternhelper + +import org.bukkit.Bukkit +import org.bukkit.plugin.java.JavaPlugin +import xyz.fortern.forternhelper.listener.ForternListener + +class Helper : JavaPlugin() { + + override fun onEnable() { + // Plugin startup logic + logger.info("Registering events...") + logger.info("监听末影人生成...") + Bukkit.getPluginManager().registerEvents(ForternListener(this), this) + } + + override fun onDisable() { + // Plugin shutdown logic + } +} diff --git a/src/main/kotlin/xyz/fortern/forternhelper/listener/ForternListener.kt b/src/main/kotlin/xyz/fortern/forternhelper/listener/ForternListener.kt new file mode 100644 index 0000000..3d984c6 --- /dev/null +++ b/src/main/kotlin/xyz/fortern/forternhelper/listener/ForternListener.kt @@ -0,0 +1,31 @@ +package xyz.fortern.forternhelper.listener + +import org.bukkit.entity.Enderman +import org.bukkit.entity.Player +import org.bukkit.entity.Villager +import org.bukkit.event.EventHandler +import org.bukkit.event.Listener +import org.bukkit.event.entity.CreatureSpawnEvent +import org.bukkit.event.entity.VillagerReplenishTradeEvent +import org.bukkit.event.inventory.TradeSelectEvent +import org.bukkit.event.player.PlayerInteractAtEntityEvent +import xyz.fortern.forternhelper.Helper + +class ForternListener(val helper: Helper) : Listener { + @EventHandler + fun onCreatureSpawn(event: CreatureSpawnEvent) { + val entity = event.entity + if (entity !is Enderman) { + return + } + val location = event.location + val x = location.x + val y = location.y + val z = location.z + // x: -900 + if (x > -1028 && x < -770 && y > 0 && y < 186 && z > -777 && z < -521) { + helper.logger.info("Enderman spawned at ${entity.location}") + } + } + +} \ No newline at end of file diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml new file mode 100644 index 0000000..15120d6 --- /dev/null +++ b/src/main/resources/plugin.yml @@ -0,0 +1,13 @@ +name: fortern-helper +version: '${version}' +authors: [ Fortern ] +api-version: '26.1' +main: xyz.fortern.forternhelper.Helper + +libraries: + - org.jetbrains.kotlin:kotlin-stdlib:2.3.21 + +commands: + helper: + description: "游戏主命令" + permission: op