From 1ff00557bb2621debdfc7632958cd3db00f4f090 Mon Sep 17 00:00:00 2001 From: SBDeveloper Date: Fri, 2 May 2025 16:02:17 +0200 Subject: [PATCH] Fixed parsing url shortner --- pom.xml | 2 +- .../themeparkaudio/listener/WGListener.java | 1 - .../socket/messages/AudioMessage.java | 26 ++++++++++++++++++- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 69098a8..3624e8f 100644 --- a/pom.xml +++ b/pom.xml @@ -108,7 +108,7 @@ org.spigotmc spigot-api - 1.21.5-R0.1-SNAPSHOT + 1.21.4-R0.1-SNAPSHOT provided diff --git a/src/main/java/tech/sbdevelopment/themeparkaudio/listener/WGListener.java b/src/main/java/tech/sbdevelopment/themeparkaudio/listener/WGListener.java index 5a2a2a7..977b047 100644 --- a/src/main/java/tech/sbdevelopment/themeparkaudio/listener/WGListener.java +++ b/src/main/java/tech/sbdevelopment/themeparkaudio/listener/WGListener.java @@ -14,7 +14,6 @@ import tech.sbdevelopment.themeparkaudio.managers.PinManager; import tech.sbdevelopment.themeparkaudio.managers.WGManager; import tech.sbdevelopment.themeparkaudio.socket.messages.AudioMessage; import tech.sbdevelopment.themeparkaudio.socket.messages.LightMessage; -import tech.sbdevelopment.themeparkaudio.socket.messages.StopAudioMessage; import org.bukkit.Location; import org.bukkit.entity.Entity; import org.bukkit.entity.Player; diff --git a/src/main/java/tech/sbdevelopment/themeparkaudio/socket/messages/AudioMessage.java b/src/main/java/tech/sbdevelopment/themeparkaudio/socket/messages/AudioMessage.java index 3cc6b3b..206703d 100644 --- a/src/main/java/tech/sbdevelopment/themeparkaudio/socket/messages/AudioMessage.java +++ b/src/main/java/tech/sbdevelopment/themeparkaudio/socket/messages/AudioMessage.java @@ -1,9 +1,16 @@ package tech.sbdevelopment.themeparkaudio.socket.messages; import lombok.Getter; +import tech.sbdevelopment.themeparkaudio.ThemeParkAudio; import tech.sbdevelopment.themeparkaudio.api.AudioType; import org.json.simple.JSONObject; +import javax.net.ssl.HttpsURLConnection; +import java.io.IOException; +import java.net.HttpURLConnection; +import java.net.URI; +import java.net.URISyntaxException; + @Getter public class AudioMessage extends AbstractMessage { private final String path; @@ -12,7 +19,7 @@ public class AudioMessage extends AbstractMessage { protected AudioMessage(AudioType type, String path, Boolean play, Integer at) { super(type.toMessageTask()); - this.path = path; + this.path = parsePath(path); this.play = play; this.at = at; } @@ -29,6 +36,23 @@ public class AudioMessage extends AbstractMessage { return new AudioMessage(type, path, play, at); } + private static String parsePath(String path) { + if (path.startsWith("https://mcau.nl")) { + try { + HttpsURLConnection connection = (HttpsURLConnection) new URI(path).toURL().openConnection(); + connection.setInstanceFollowRedirects(false); + connection.connect(); + if (connection.getResponseCode() == HttpURLConnection.HTTP_MOVED_PERM || + connection.getResponseCode() == HttpURLConnection.HTTP_MOVED_TEMP) { + path = connection.getHeaderField("Location"); + } + } catch (URISyntaxException | IOException e) { + ThemeParkAudio.getInstance().getLogger().warning("Failed to resolve URL: " + e.getMessage()); + } + } + return path; + } + @Override protected JSONObject extendJson() { JSONObject data = new JSONObject();