From bf857b4b2714ac5464a394dd0b39eea5720460d0 Mon Sep 17 00:00:00 2001 From: Mike Primm Date: Mon, 15 Nov 2021 20:51:35 -0600 Subject: [PATCH] Add data pack dimension support for Forge 1.16.5 and 1.17.1 --- .../org/dynmap/forge_1_16_5/ForgeWorld.java | 11 +++++----- .../org/dynmap/forge_1_17_1/ForgeWorld.java | 20 +++++++++++-------- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/forge-1.16.5/src/main/java/org/dynmap/forge_1_16_5/ForgeWorld.java b/forge-1.16.5/src/main/java/org/dynmap/forge_1_16_5/ForgeWorld.java index 1cdcede8..b7a881d0 100644 --- a/forge-1.16.5/src/main/java/org/dynmap/forge_1_16_5/ForgeWorld.java +++ b/forge-1.16.5/src/main/java/org/dynmap/forge_1_16_5/ForgeWorld.java @@ -38,17 +38,18 @@ public class ForgeWorld extends DynmapWorld public static String getWorldName(IServerWorld w) { RegistryKey rk = w.getWorld().getDimensionKey(); - if (rk == World.OVERWORLD) { // Overworld? + String id = rk.getLocation().getNamespace() + "_" + rk.getLocation().getPath(); + if (id.equals("minecraft_overworld")) { // Overworld? return w.getWorld().getServer().getServerConfiguration().getWorldName(); } - else if (rk == World.THE_END) { + else if (id.equals("minecraft_the_end")) { return "DIM1"; } - else if (rk == World.THE_NETHER) { + else if (id.equals("minecraft_the_nether")) { return "DIM-1"; } else { - return rk.getRegistryName().getNamespace() + "_" + rk.getRegistryName().getPath(); + return id; } } @@ -58,7 +59,7 @@ public class ForgeWorld extends DynmapWorld w.getWorld().getSeaLevel(), w.getWorld().getDimensionKey() == World.THE_NETHER, w.getWorld().getDimensionKey() == World.THE_END, - w.getWorld().getDimensionKey().getRegistryName().getPath()); + getWorldName(w)); setWorldLoaded(w); } public ForgeWorld(String name, int height, int sealevel, boolean nether, boolean the_end, String deftitle) diff --git a/forge-1.17.1/src/main/java/org/dynmap/forge_1_17_1/ForgeWorld.java b/forge-1.17.1/src/main/java/org/dynmap/forge_1_17_1/ForgeWorld.java index 159ee7fc..379fe83a 100644 --- a/forge-1.17.1/src/main/java/org/dynmap/forge_1_17_1/ForgeWorld.java +++ b/forge-1.17.1/src/main/java/org/dynmap/forge_1_17_1/ForgeWorld.java @@ -38,15 +38,19 @@ public class ForgeWorld extends DynmapWorld public static String getWorldName(ServerLevelAccessor w) { ResourceKey rk = w.getLevel().dimension(); - if (rk == Level.OVERWORLD) { // Overworld? + String id = rk.location().getNamespace() + "_" + rk.location().getPath(); + if (id.equals("minecraft_overworld")) { // Overworld? return w.getLevel().serverLevelData.getLevelName(); - } else if (rk == Level.END) { - return "DIM1"; - } else if (rk == Level.NETHER) { - return "DIM-1"; - } else { - return rk.getRegistryName() + "_" + rk.location(); - } + } + else if (id.equals("minecraft_the_end")) { + return "DIM1"; + } + else if (id.equals("minecraft_the_nether")) { + return "DIM-1"; + } + else { + return id; + } } public void updateWorld(ServerLevelAccessor w) {