diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index d0e5087..4d43092 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -17,10 +17,10 @@ jobs:
steps:
- uses: actions/checkout@v4
- - name: Set up JDK 21
- uses: actions/setup-java@v3
+ - name: Set up JDK 25
+ uses: actions/setup-java@v4
with:
- java-version: '21'
+ java-version: '25'
distribution: 'temurin'
cache: maven
diff --git a/pom.xml b/pom.xml
index e45ae7b..eb6b028 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,13 +6,13 @@
pers.xanadu
EnderDragon
- 2.5.8
+ 2.5.9-tss3
jar
EnderDragon
- 1.8
+ 25
UTF-8
@@ -21,16 +21,22 @@
org.apache.maven.plugins
maven-compiler-plugin
- 3.8.1
+ 3.14.1
- 8
- 8
+ ${java.version}
+
+
+ org.projectlombok
+ lombok
+ 1.18.46
+
+
org.apache.maven.plugins
maven-shade-plugin
- 3.2.4
+ 3.6.2
package
@@ -148,6 +154,10 @@
+
+ papermc
+ https://repo.papermc.io/repository/maven-public/
+
spigotmc-repo
https://hub.spigotmc.org/nexus/content/groups/public/
@@ -179,11 +189,10 @@
- org.spigotmc1.20.6
- spigot-api
- 1.20.6-R0.1
- system
- ${basedir}/lib/spigot-api-1.20.6-R0.1-20240613.152322-4-shaded.jar
+ io.papermc.paper
+ paper-api
+ 26.2.build.112-stable
+ provided
me.clip
@@ -222,13 +231,13 @@
org.apache.groovy
groovy
- 4.0.18
+ 4.0.32
provided
org.projectlombok
lombok
- 1.18.30
+ 1.18.46
provided
diff --git a/src/main/java/pers/xanadu/enderdragon/listener/DragonSpawnListener.java b/src/main/java/pers/xanadu/enderdragon/listener/DragonSpawnListener.java
index bb5c318..df3da78 100644
--- a/src/main/java/pers/xanadu/enderdragon/listener/DragonSpawnListener.java
+++ b/src/main/java/pers/xanadu/enderdragon/listener/DragonSpawnListener.java
@@ -73,15 +73,15 @@ public class DragonSpawnListener implements Listener {
Lang.broadcastMSG(str.replaceAll("%times%",String.valueOf(times)));
}
dragon.setCustomName(myDragon.display_name);
- setAttribute(dragon, Attribute.GENERIC_MAX_HEALTH, myDragon.max_health);
+ setAttribute(dragon, Attribute.MAX_HEALTH, myDragon.max_health);
dragon.setHealth(myDragon.spawn_health);
dragon.setMaximumNoDamageTicks(myDragon.no_damage_tick);
//modifyAttribute(dragon, Attribute.GENERIC_MOVEMENT_SPEED, myDragon.move_speed_modify);//
- modifyAttribute(dragon, Attribute.GENERIC_ARMOR, myDragon.armor_modify);
+ modifyAttribute(dragon, Attribute.ARMOR, myDragon.armor_modify);
- modifyAttribute(dragon, Attribute.GENERIC_ARMOR_TOUGHNESS, myDragon.armor_toughness_modify);
+ modifyAttribute(dragon, Attribute.ARMOR_TOUGHNESS, myDragon.armor_toughness_modify);
String color = myDragon.glow_color.toUpperCase();
if(color.equals("NONE")) dragon.setGlowing(false);
else setGlowingColor(dragon,getGlowColor(color));
diff --git a/src/main/java/pers/xanadu/enderdragon/util/UpdateChecker.java b/src/main/java/pers/xanadu/enderdragon/util/UpdateChecker.java
index bc8e58d..6577fc6 100644
--- a/src/main/java/pers/xanadu/enderdragon/util/UpdateChecker.java
+++ b/src/main/java/pers/xanadu/enderdragon/util/UpdateChecker.java
@@ -15,7 +15,7 @@ import java.net.URLConnection;
public final class UpdateChecker {
public static void checkUpdate(){
// https://github.com/iXanadu13/EnderDragon/issues/17
- if (EnderDragon.plugin.getConfig().getBoolean("skip_update_check")) return;
+ if (EnderDragon.plugin.getConfig().getBoolean("skip_update_check", true)) return;
Lang.info(Lang.plugin_checking_update);
new BukkitRunnable(){
@Override
diff --git a/src/main/java/pers/xanadu/enderdragon/util/Version.java b/src/main/java/pers/xanadu/enderdragon/util/Version.java
index fe56444..68ac105 100644
--- a/src/main/java/pers/xanadu/enderdragon/util/Version.java
+++ b/src/main/java/pers/xanadu/enderdragon/util/Version.java
@@ -9,10 +9,6 @@ import pers.xanadu.enderdragon.nms.NMSItem.INMSItemManager;
import pers.xanadu.enderdragon.nms.RespawnAnchor.IRespawnAnchorManager;
import pers.xanadu.enderdragon.nms.WorldData.IWorldDataManager;
-import java.lang.reflect.Field;
-
-import static org.bukkit.Bukkit.getServer;
-
public class Version {
public static final String setting_dragon = "2.5.4";
public static final String lang = "2.2.0";
@@ -26,29 +22,24 @@ public class Version {
private static String version = "no version found";
private static boolean isMohist = false;
public static void init(){
- try {
- version = getServer().getClass().getPackage().getName().split("\\.")[3];
- } catch (Throwable throwable) {
- try{
- //paper 1.20.6+
- Class> clazz = Class.forName("io.papermc.paper.util.MappingEnvironment");
- Field LEGACY_CB_VERSION = clazz.getField("LEGACY_CB_VERSION");
- version = (String) LEGACY_CB_VERSION.get(null);
- }catch (ReflectiveOperationException e){
- version = Bukkit.getVersion().split("-")[0];
- }
- }
- String[] mc_version = getServer().getBukkitVersion().split("-")[0].split("\\.");
+ String minecraftVersion = Bukkit.getMinecraftVersion();
+ String[] parts = minecraftVersion.split("\\.");
+ int first = Integer.parseInt(parts[0]);
- int first = Integer.parseInt(mc_version[0]);
- // e.g. 26.1.2.build.53
if (first >= 26) {
+ // Paper 26.x no longer version-qualifies CraftBukkit packages.
+ version = minecraftVersion;
mcMainVersion = first;
- mcPatchVersion = Integer.parseInt(mc_version[1]);
+ mcPatchVersion = parts.length > 1 ? Integer.parseInt(parts[1]) : 0;
} else {
- mcMainVersion = Integer.parseInt(mc_version[1]);
- if(mc_version.length<=2) mcPatchVersion = 0;
- else mcPatchVersion = Integer.parseInt(mc_version[2]);
+ // Retained for the legacy implementation classes still bundled in the project.
+ try {
+ version = Bukkit.getServer().getClass().getPackage().getName().split("\\.")[3];
+ } catch (RuntimeException ex) {
+ version = minecraftVersion;
+ }
+ mcMainVersion = parts.length > 1 ? Integer.parseInt(parts[1]) : first;
+ mcPatchVersion = parts.length > 2 ? Integer.parseInt(parts[2]) : 0;
}
Lang.info("Found version: " + version);
@@ -56,7 +47,7 @@ public class Version {
Class.forName("net.minecraftforge.server.ServerMain");
isMohist = true;
}catch(ReflectiveOperationException ignored){}
- NBT_UPDATE = mcMainVersion > 20 || mcMainVersion == 20 && mcPatchVersion >=5;
+ NBT_UPDATE = mcMainVersion > 20 || mcMainVersion == 20 && mcPatchVersion >= 5;
}
public static INMSItemManager getNMSItemManager(){
switch (version){
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index 4c46639..2f79c6f 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -2,7 +2,7 @@ name: EnderDragon
version: ${project.version}
main: pers.xanadu.enderdragon.EnderDragon
author: Xanadu13
-api-version: 1.13
+api-version: '26.2'
softdepend:
- MMOItems
- MythicLib