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();