diff --git a/core/src/main/java/com/seibel/distanthorizons/core/api/internal/ClientPluginChannelApi.java b/core/src/main/java/com/seibel/distanthorizons/core/api/internal/ClientPluginChannelApi.java index bbddfea23..5b37ada58 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/api/internal/ClientPluginChannelApi.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/api/internal/ClientPluginChannelApi.java @@ -55,7 +55,7 @@ public class ClientPluginChannelApi private void onCurrentLevelKeyMessage(CurrentLevelKeyMessage msg) { - if (!msg.levelKey.matches("^(?=.{1,50}$)([a-zA-Z0-9-_]+@)?[a-zA-Z0-9-_]+(:[a-zA-Z0-9-_]+)?$")) + if (!msg.levelKey.matches("^[a-zA-Z0-9-_@]{1,50}$")) { throw new IllegalArgumentException("Server sent invalid level key."); } diff --git a/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/world/IServerLevelWrapper.java b/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/world/IServerLevelWrapper.java index b4ae28dc8..06b68f50c 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/world/IServerLevelWrapper.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/world/IServerLevelWrapper.java @@ -41,7 +41,7 @@ public interface IServerLevelWrapper extends ILevelWrapper if (!levelKeyPrefix.isEmpty()) { - return levelKeyPrefix + "@" + dimensionName; + return levelKeyPrefix + "@" + dimensionName.replace(":", "@@"); } }