From 03936f6d710b61bd4f0fc1ad8f8c6de825b48217 Mon Sep 17 00:00:00 2001 From: Michael Burgess Date: Mon, 17 Aug 2026 18:48:11 -0400 Subject: [PATCH] Update EnderDragon for Paper 26.2 --- .github/workflows/main.yml | 6 +-- pom.xml | 35 ++++++++++------- .../listener/DragonSpawnListener.java | 6 +-- .../enderdragon/util/UpdateChecker.java | 2 +- .../pers/xanadu/enderdragon/util/Version.java | 39 +++++++------------ src/main/resources/plugin.yml | 2 +- 6 files changed, 45 insertions(+), 45 deletions(-) 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