diff --git a/backend/build.gradle.kts b/backend/build.gradle.kts index 5b98d93..9219867 100644 --- a/backend/build.gradle.kts +++ b/backend/build.gradle.kts @@ -2,9 +2,6 @@ plugins { id("io.github.goooler.shadow") version "8.1.8" } -repositories { -} - dependencies { compileOnly(project(":common")) compileOnly(project(":api")) @@ -26,12 +23,6 @@ dependencies { compileOnly("com.github.ben-manes.caffeine:caffeine:${rootProject.properties["caffeine_version"]}") // COMMONS IO compileOnly("commons-io:commons-io:${rootProject.properties["commons_io_version"]}") - // FOP - compileOnly("org.apache.pdfbox:fontbox:${rootProject.properties["fontbox_version"]}") -} - -tasks { - shadowJar { - relocate ("net.kyori", "net.momirealms.customnameplates.libraries") - } + // lwjgl + implementation("org.lwjgl:lwjgl-freetype:3.3.4") } \ No newline at end of file diff --git a/backend/src/main/java/net/momirealms/customnameplates/backend/feature/advance/AdvanceManagerImpl.java b/backend/src/main/java/net/momirealms/customnameplates/backend/feature/advance/AdvanceManagerImpl.java index 835676d..1ced981 100644 --- a/backend/src/main/java/net/momirealms/customnameplates/backend/feature/advance/AdvanceManagerImpl.java +++ b/backend/src/main/java/net/momirealms/customnameplates/backend/feature/advance/AdvanceManagerImpl.java @@ -51,9 +51,6 @@ import net.momirealms.customnameplates.api.placeholder.SharedPlaceholder; import net.momirealms.customnameplates.api.util.CharacterUtils; import net.momirealms.customnameplates.common.util.Tuple; import org.apache.commons.io.FileUtils; -import org.apache.fontbox.ttf.CmapSubtable; -import org.apache.fontbox.ttf.TTFParser; -import org.apache.fontbox.ttf.TrueTypeFont; import org.jetbrains.annotations.Nullable; import javax.imageio.ImageIO; @@ -780,35 +777,7 @@ public class AdvanceManagerImpl implements AdvanceManager { plugin.getPluginLogger().warn(ttfFile.getAbsolutePath() + " is not a .ttf"); return; } - try (InputStream inputStream = new FileInputStream(ttfFile)) { - ttfCache.getParentFile().mkdirs(); - ttfCache.createNewFile(); - YamlDocument yml = plugin.getConfigManager().loadData(ttfCache); - TTFParser parser = new TTFParser(); - TrueTypeFont ttf = parser.parseEmbedded(inputStream); - CmapSubtable[] cMaps = ttf.getCmap().getCmaps(); - Set codePoints = new HashSet<>(); - for (CmapSubtable cMap : cMaps) { - for (int codepoint = Character.MIN_CODE_POINT; codepoint <= Character.MAX_CODE_POINT; codepoint++) { - int glyphId = cMap.getGlyphId(codepoint); - if (glyphId != 0) { - codePoints.add(codepoint); - } - } - } - for (int skippedCodePoint : skippCodePoints) { - codePoints.remove(skippedCodePoint); - } - for (int codePoint : codePoints) { - float advanceWidth = ttf.getWidth(Character.toString(codePoint)); - char[] text = Character.toChars(codePoint); - yml.set(CharacterUtils.char2Unicode(text), ((advanceWidth) / ttf.getUnitsPerEm()) * size); - } - ttf.close(); - yml.save(ttfCache); - } catch (IOException e) { - throw new RuntimeException(e); - } + } registerCharacterFontData(id, ttfCache, (properties) -> { diff --git a/bukkit/build.gradle.kts b/bukkit/build.gradle.kts index b77d15c..87ac65d 100644 --- a/bukkit/build.gradle.kts +++ b/bukkit/build.gradle.kts @@ -62,8 +62,6 @@ tasks { relocate("com.github.benmanes.caffeine", "net.momirealms.customnameplates.libraries.caffeine") relocate("net.objecthunter.exp4j", "net.momirealms.customnameplates.libraries.exp4j") relocate("redis.clients.jedis", "net.momirealms.customnameplates.libraries.jedis") - relocate("org.apache.fontbox", "net.momirealms.customnameplates.libraries.fontbox") - relocate("org.apache.pdfbox", "net.momirealms.customnameplates.libraries.pdfbox") relocate("org.apache.commons.io", "net.momirealms.customnameplates.libraries.commons.io") } } diff --git a/bukkit/src/main/java/net/momirealms/customnameplates/bukkit/BukkitCustomNameplates.java b/bukkit/src/main/java/net/momirealms/customnameplates/bukkit/BukkitCustomNameplates.java index c1579f7..8896c9b 100644 --- a/bukkit/src/main/java/net/momirealms/customnameplates/bukkit/BukkitCustomNameplates.java +++ b/bukkit/src/main/java/net/momirealms/customnameplates/bukkit/BukkitCustomNameplates.java @@ -115,7 +115,6 @@ public class BukkitCustomNameplates extends CustomNameplates implements Listener Dependency.H2_DRIVER, Dependency.MONGODB_DRIVER_CORE, Dependency.MONGODB_DRIVER_SYNC, Dependency.MONGODB_DRIVER_BSON, Dependency.HIKARI_CP, - Dependency.FONT_BOX, Dependency.PDF_BOX, Dependency.BYTE_BUDDY, Dependency.COMMONS_IO ) @@ -204,21 +203,21 @@ public class BukkitCustomNameplates extends CustomNameplates implements Listener if (!this.loaded) return; if (this.scheduledMainTask != null) this.scheduledMainTask.cancel(); - this.configManager.disable(); - this.actionBarManager.disable(); - this.bossBarManager.disable(); - this.unlimitedTagManager.disable(); - this.advanceManager.disable(); - this.backgroundManager.disable(); - this.requirementManager.disable(); - this.placeholderManager.disable(); - this.storageManager.disable(); - this.bubbleManager.disable(); - this.nameplateManager.disable(); - this.imageManager.disable(); - this.chatManager.disable(); + if (configManager != null) this.configManager.disable(); + if (actionBarManager != null) this.actionBarManager.disable(); + if (bossBarManager != null) this.bossBarManager.disable(); + if (unlimitedTagManager != null) this.unlimitedTagManager.disable(); + if (advanceManager != null) this.advanceManager.disable(); + if (backgroundManager != null) this.backgroundManager.disable(); + if (requirementManager != null) this.requirementManager.disable(); + if (placeholderManager != null) this.placeholderManager.disable(); + if (storageManager != null) this.storageManager.disable(); + if (bubbleManager != null) this.bubbleManager.disable(); + if (nameplateManager != null) this.nameplateManager.disable(); + if (imageManager != null) this.imageManager.disable(); + if (chatManager != null) this.chatManager.disable(); - this.commandManager.unregisterFeatures(); + if (commandManager != null) this.commandManager.unregisterFeatures(); this.joinQuitListeners.clear(); HandlerList.unregisterAll(this); diff --git a/common/src/main/java/net/momirealms/customnameplates/common/dependency/Dependency.java b/common/src/main/java/net/momirealms/customnameplates/common/dependency/Dependency.java index 9ae505d..106d26c 100644 --- a/common/src/main/java/net/momirealms/customnameplates/common/dependency/Dependency.java +++ b/common/src/main/java/net/momirealms/customnameplates/common/dependency/Dependency.java @@ -269,21 +269,6 @@ public enum Dependency { "maven", "slf4j" ), - FONT_BOX( - "org{}apache{}pdfbox", - "fontbox", - "maven", - "fontbox", - Relocation.of("fontbox", "org{}apache{}fontbox"), - Relocation.of("pdfbox", "org{}apache{}pdfbox") - ), - PDF_BOX( - "org{}apache{}pdfbox", - "pdfbox-io", - "maven", - "pdfbox-io", - Relocation.of("pdfbox", "org{}apache{}pdfbox") - ), BYTE_BUDDY( "net{}bytebuddy", "byte-buddy", diff --git a/common/src/main/resources/custom-nameplates.properties b/common/src/main/resources/custom-nameplates.properties index a050956..67b7f04 100644 --- a/common/src/main/resources/custom-nameplates.properties +++ b/common/src/main/resources/custom-nameplates.properties @@ -25,7 +25,5 @@ commons-pool=${commons_pool_version} jedis=${jedis_version} h2-driver=${h2_driver_version} sqlite-driver=${sqlite_driver_version} -fontbox=${fontbox_version} -pdfbox-io=${pdfbox_io_version} byte-buddy=${byte_buddy_version} commons-io=${commons_io_version} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 8c47989..c392db6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -39,8 +39,6 @@ exp4j_version=0.4.8 placeholder_api_version=2.11.6 vault_version=1.7 guava_version=33.2.0-jre -fontbox_version=3.0.3 -pdfbox_io_version=3.0.3 commons_io_version=2.17.0 # Proxy settings diff --git a/jitpack.yml b/jitpack.yml index 1e41e00..a8f900b 100644 --- a/jitpack.yml +++ b/jitpack.yml @@ -1,2 +1,4 @@ -jdk: - - openjdk17 \ No newline at end of file +before_install: + - sdk install java 17.0.11-oracle + - sdk install java 21.0.3-oracle + - sdk use java 17.0.11-oracle \ No newline at end of file