Use the dimension id number as the level key on 1.12.2.
This commit is contained in:
+1
-1
@@ -137,7 +137,7 @@ public class KeyedClientLevelManager implements IKeyedClientLevelManager
|
||||
{
|
||||
this.keyedLevelsCache.keySet().removeIf(level -> {
|
||||
#if MC_VER <= MC_1_12_2
|
||||
String levelDim = level.provider.getDimensionType().getName();
|
||||
String levelDim = String.valueOf(level.provider.getDimension());
|
||||
#elif MC_VER <= MC_1_21_10
|
||||
String levelDim = level.dimension().location().toString();
|
||||
#else
|
||||
|
||||
+14
-8
@@ -635,11 +635,17 @@ public class MinecraftClientWrapper implements IMinecraftClientWrapper, IMinecra
|
||||
{
|
||||
if (!hasSinglePlayerServer()) return null;
|
||||
#if MC_VER <= MC_1_12_2
|
||||
DimensionType levelID = null;
|
||||
try {
|
||||
levelID = DimensionType.byName(levelKey);
|
||||
} catch (IllegalArgumentException ignored) {}
|
||||
#elif MC_VER <= MC_1_21_10
|
||||
int dimensionID;
|
||||
try
|
||||
{
|
||||
dimensionID = Integer.parseInt(levelKey);
|
||||
}
|
||||
catch (NumberFormatException ignored)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
#else
|
||||
#if MC_VER <= MC_1_21_10
|
||||
ResourceLocation levelID = ResourceLocation.tryParse(levelKey);
|
||||
#else
|
||||
Identifier levelID = Identifier.tryParse(levelKey);
|
||||
@@ -648,10 +654,10 @@ public class MinecraftClientWrapper implements IMinecraftClientWrapper, IMinecra
|
||||
|
||||
#if MC_VER > MC_1_19_2
|
||||
ResourceKey<Level> resourceKey = ResourceKey.create(Registries.DIMENSION, levelID);
|
||||
#elif MC_VER > MC_1_12_2
|
||||
ResourceKey<Level> resourceKey = ResourceKey.create(Registry.DIMENSION_REGISTRY, levelID);
|
||||
#else
|
||||
int dimensionID = Arrays.stream(DimensionManager.getDimensions(levelID)).findFirst().orElse(0); //TODO Maybe 1.12 should use the dimension number as the level key instead?
|
||||
ResourceKey<Level> resourceKey = ResourceKey.create(Registry.DIMENSION_REGISTRY, levelID);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#if MC_VER <= MC_1_12_2
|
||||
|
||||
+13
-11
@@ -11,9 +11,7 @@ import net.minecraft.resources.ResourceKey;
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraft.world.level.Level;
|
||||
#else
|
||||
import net.minecraft.world.DimensionType;
|
||||
import net.minecraft.world.WorldServer;
|
||||
import net.minecraftforge.common.DimensionManager;
|
||||
#endif
|
||||
|
||||
#if MC_VER <= MC_1_12_2
|
||||
@@ -30,7 +28,6 @@ import net.minecraft.core.Registry;
|
||||
#endif
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Arrays;
|
||||
|
||||
public class MinecraftServerWrapper implements IMinecraftSharedWrapper
|
||||
{
|
||||
@@ -95,11 +92,17 @@ public class MinecraftServerWrapper implements IMinecraftSharedWrapper
|
||||
public IServerLevelWrapper getWrappedServerLevel(String levelKey)
|
||||
{
|
||||
#if MC_VER <= MC_1_12_2
|
||||
DimensionType levelID = null;
|
||||
try {
|
||||
levelID = DimensionType.byName(levelKey);
|
||||
} catch (IllegalArgumentException e) {}
|
||||
#elif MC_VER <= MC_1_21_10
|
||||
int dimensionID;
|
||||
try
|
||||
{
|
||||
dimensionID = Integer.parseInt(levelKey);
|
||||
}
|
||||
catch (NumberFormatException ignored)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
#else
|
||||
#if MC_VER <= MC_1_21_10
|
||||
ResourceLocation levelID = ResourceLocation.tryParse(levelKey);
|
||||
#else
|
||||
Identifier levelID = Identifier.tryParse(levelKey);
|
||||
@@ -108,10 +111,9 @@ public class MinecraftServerWrapper implements IMinecraftSharedWrapper
|
||||
|
||||
#if MC_VER > MC_1_19_2
|
||||
ResourceKey<Level> resourceKey = ResourceKey.create(Registries.DIMENSION, levelID);
|
||||
#elif MC_VER > MC_1_12_2
|
||||
ResourceKey<Level> resourceKey = ResourceKey.create(Registry.DIMENSION_REGISTRY, levelID);
|
||||
#else
|
||||
int dimensionID = Arrays.stream(DimensionManager.getDimensions(levelID)).findFirst().orElse(0);
|
||||
ResourceKey<Level> resourceKey = ResourceKey.create(Registry.DIMENSION_REGISTRY, levelID);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if MC_VER > MC_1_12_2
|
||||
|
||||
+1
-1
@@ -436,7 +436,7 @@ public class ClientLevelWrapper implements IClientLevelWrapper
|
||||
}
|
||||
|
||||
#if MC_VER <= MC_1_12_2
|
||||
this.dimensionName = this.level.provider.getDimensionType().getName();
|
||||
this.dimensionName = String.valueOf(this.level.provider.getDimension());
|
||||
#elif MC_VER <= MC_1_21_10
|
||||
this.dimensionName = this.level.dimension().location().toString();
|
||||
#else
|
||||
|
||||
+1
-1
@@ -196,7 +196,7 @@ public class ServerLevelWrapper implements IServerLevelWrapper
|
||||
public String getDimensionName()
|
||||
{
|
||||
#if MC_VER <= MC_1_12_2
|
||||
return this.level.provider.getDimensionType().getName();
|
||||
return String.valueOf(this.level.provider.getDimension());
|
||||
#elif MC_VER <= MC_1_21_10
|
||||
return this.level.dimension().location().toString();
|
||||
#else
|
||||
|
||||
Reference in New Issue
Block a user