diff --git a/.run/Fabric 1.16.5 - Client.run.xml b/.run/Fabric 1.16.5 - Client.run.xml
index a9d84421f..9c1085782 100644
--- a/.run/Fabric 1.16.5 - Client.run.xml
+++ b/.run/Fabric 1.16.5 - Client.run.xml
@@ -20,7 +20,7 @@
- true
+ false
true
false
false
diff --git a/.run/Fabric 1.16.5 - Server.run.xml b/.run/Fabric 1.16.5 - Server.run.xml
index a98fee063..7ace88578 100644
--- a/.run/Fabric 1.16.5 - Server.run.xml
+++ b/.run/Fabric 1.16.5 - Server.run.xml
@@ -20,7 +20,7 @@
- true
+ false
true
false
false
diff --git a/.run/Fabric 1.17.1 - Client.run.xml b/.run/Fabric 1.17.1 - Client.run.xml
index a92cd0969..0e1ce5d9c 100644
--- a/.run/Fabric 1.17.1 - Client.run.xml
+++ b/.run/Fabric 1.17.1 - Client.run.xml
@@ -20,7 +20,7 @@
- true
+ false
true
false
false
diff --git a/.run/Fabric 1.17.1 - Server.run.xml b/.run/Fabric 1.17.1 - Server.run.xml
index da75d92a4..7bb2430a7 100644
--- a/.run/Fabric 1.17.1 - Server.run.xml
+++ b/.run/Fabric 1.17.1 - Server.run.xml
@@ -20,7 +20,7 @@
- true
+ false
true
false
false
diff --git a/.run/Fabric 1.18.2 - Client.run.xml b/.run/Fabric 1.18.2 - Client.run.xml
index 433ad0299..46f67735d 100644
--- a/.run/Fabric 1.18.2 - Client.run.xml
+++ b/.run/Fabric 1.18.2 - Client.run.xml
@@ -20,7 +20,7 @@
- true
+ false
true
false
false
diff --git a/.run/Fabric 1.18.2 - Server.run.xml b/.run/Fabric 1.18.2 - Server.run.xml
index d9c54483c..6dc84414f 100644
--- a/.run/Fabric 1.18.2 - Server.run.xml
+++ b/.run/Fabric 1.18.2 - Server.run.xml
@@ -20,7 +20,7 @@
- true
+ false
true
false
false
diff --git a/.run/Fabric 1.19.2 - Client.run.xml b/.run/Fabric 1.19.2 - Client.run.xml
index 039ec14a0..5349bde49 100644
--- a/.run/Fabric 1.19.2 - Client.run.xml
+++ b/.run/Fabric 1.19.2 - Client.run.xml
@@ -20,7 +20,7 @@
- true
+ false
true
false
false
diff --git a/.run/Fabric 1.19.2 - Server.run.xml b/.run/Fabric 1.19.2 - Server.run.xml
index c009bc110..45c5bf1be 100644
--- a/.run/Fabric 1.19.2 - Server.run.xml
+++ b/.run/Fabric 1.19.2 - Server.run.xml
@@ -20,7 +20,7 @@
- true
+ false
true
false
false
diff --git a/.run/Fabric 1.19.4 - Client.run.xml b/.run/Fabric 1.19.4 - Client.run.xml
index 79d4f8118..ab6cdcf0c 100644
--- a/.run/Fabric 1.19.4 - Client.run.xml
+++ b/.run/Fabric 1.19.4 - Client.run.xml
@@ -20,7 +20,7 @@
- true
+ false
true
false
false
diff --git a/.run/Fabric 1.19.4 - Server.run.xml b/.run/Fabric 1.19.4 - Server.run.xml
index a66dd76c8..2afc51c6a 100644
--- a/.run/Fabric 1.19.4 - Server.run.xml
+++ b/.run/Fabric 1.19.4 - Server.run.xml
@@ -20,7 +20,7 @@
- true
+ false
true
false
false
diff --git a/.run/Fabric 1.20.1 - Client.run.xml b/.run/Fabric 1.20.1 - Client.run.xml
index 25f5ecd59..0b2593d8a 100644
--- a/.run/Fabric 1.20.1 - Client.run.xml
+++ b/.run/Fabric 1.20.1 - Client.run.xml
@@ -20,7 +20,7 @@
- true
+ false
true
false
false
diff --git a/.run/Fabric 1.20.1 - Server.run.xml b/.run/Fabric 1.20.1 - Server.run.xml
index 2f62e1094..07174946f 100644
--- a/.run/Fabric 1.20.1 - Server.run.xml
+++ b/.run/Fabric 1.20.1 - Server.run.xml
@@ -20,7 +20,7 @@
- true
+ false
true
false
false
diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/WrapperFactory.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/WrapperFactory.java
index 220b26e51..c19d944b3 100644
--- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/WrapperFactory.java
+++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/WrapperFactory.java
@@ -66,7 +66,7 @@ public class WrapperFactory implements IWrapperFactory
public IBiomeWrapper deserializeBiomeWrapper(String str, ILevelWrapper levelWrapper) throws IOException { return BiomeWrapper.deserialize(str, levelWrapper); }
@Override
- public IBlockStateWrapper deserializeBlockStateWrapper(String str) throws IOException { return BlockStateWrapper.deserialize(str); }
+ public IBlockStateWrapper deserializeBlockStateWrapper(String str, ILevelWrapper levelWrapper) throws IOException { return BlockStateWrapper.deserialize(str, levelWrapper); }
@Override
public IBlockStateWrapper getAirBlockStateWrapper() { return BlockStateWrapper.AIR; }
diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/block/BiomeWrapper.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/block/BiomeWrapper.java
index 3434badcf..a4cc12d80 100644
--- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/block/BiomeWrapper.java
+++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/block/BiomeWrapper.java
@@ -27,7 +27,6 @@ import java.util.concurrent.ConcurrentMap;
import com.seibel.distanthorizons.core.wrapperInterfaces.world.IBiomeWrapper;
import com.seibel.distanthorizons.core.wrapperInterfaces.world.ILevelWrapper;
-import net.minecraft.client.Minecraft;
#if POST_MC_1_17
import net.minecraft.core.Holder;
import net.minecraft.resources.RegistryOps;
@@ -103,7 +102,7 @@ public class BiomeWrapper implements IBiomeWrapper
}
@Override
- public String serialize(ILevelWrapper levelWrapper) // FIXME pass in level to prevent null pointers (or maybe just RegistryAccess?)
+ public String serialize(ILevelWrapper levelWrapper)
{
net.minecraft.core.RegistryAccess registryAccess = ((Level)levelWrapper.getWrappedMcObject()).registryAccess();
@@ -129,7 +128,7 @@ public class BiomeWrapper implements IBiomeWrapper
}
}
- public static IBiomeWrapper deserialize(String resourceLocationString, ILevelWrapper levelWrapper) throws IOException // FIXME pass in level to prevent null pointers (or maybe just RegistryAccess?)
+ public static IBiomeWrapper deserialize(String resourceLocationString, ILevelWrapper levelWrapper) throws IOException
{
if (resourceLocationString.trim().isEmpty() || resourceLocationString.equals(""))
{
diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/block/BlockStateWrapper.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/block/BlockStateWrapper.java
index 2b0cb4ba0..dd3d66462 100644
--- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/block/BlockStateWrapper.java
+++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/block/BlockStateWrapper.java
@@ -3,7 +3,9 @@ package com.seibel.distanthorizons.common.wrappers.block;
import com.seibel.distanthorizons.core.logging.DhLoggerBuilder;
import com.seibel.distanthorizons.core.wrapperInterfaces.block.IBlockStateWrapper;
+import com.seibel.distanthorizons.core.wrapperInterfaces.world.ILevelWrapper;
import net.minecraft.resources.ResourceLocation;
+import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import org.apache.logging.log4j.Logger;
@@ -17,11 +19,8 @@ import java.util.concurrent.ConcurrentHashMap;
#if MC_1_16_5 || MC_1_17_1
import net.minecraft.core.Registry;
#elif MC_1_18_2 || MC_1_19_2
-import net.minecraft.client.Minecraft;
-import net.minecraft.core.BlockPos;
import net.minecraft.core.Registry;
#else
-import net.minecraft.client.Minecraft;
import net.minecraft.core.BlockPos;
import net.minecraft.core.registries.Registries;
import net.minecraft.world.level.EmptyBlockGetter;
@@ -93,7 +92,7 @@ public class BlockStateWrapper implements IBlockStateWrapper
@Override
- public String serialize() // FIXME pass in level to prevent null pointers (or maybe just RegistryAccess?)
+ public String serialize(ILevelWrapper levelWrapper)
{
if (this.blockState == null)
{
@@ -104,10 +103,10 @@ public class BlockStateWrapper implements IBlockStateWrapper
#if MC_1_16_5 || MC_1_17_1
resourceLocation = Registry.BLOCK.getKey(this.blockState.getBlock());
#elif MC_1_18_2 || MC_1_19_2
- net.minecraft.core.RegistryAccess registryAccess = Minecraft.getInstance().level.registryAccess();
+ net.minecraft.core.RegistryAccess registryAccess = ((Level)levelWrapper.getWrappedMcObject()).registryAccess();
resourceLocation = registryAccess.registryOrThrow(Registry.BLOCK_REGISTRY).getKey(this.blockState.getBlock());
#else
- net.minecraft.core.RegistryAccess registryAccess = Minecraft.getInstance().level.registryAccess();
+ net.minecraft.core.RegistryAccess registryAccess = ((Level)levelWrapper.getWrappedMcObject()).registryAccess();
resourceLocation = registryAccess.registryOrThrow(Registries.BLOCK).getKey(this.blockState.getBlock());
#endif
@@ -116,7 +115,7 @@ public class BlockStateWrapper implements IBlockStateWrapper
return resourceStateString;
}
- public static BlockStateWrapper deserialize(String resourceStateString) throws IOException // FIXME pass in level to prevent null pointers (or maybe just RegistryAccess?)
+ public static BlockStateWrapper deserialize(String resourceStateString, ILevelWrapper levelWrapper) throws IOException
{
if (resourceStateString.equals("AIR") || resourceStateString.equals("")) // the empty string shouldn't normally happen, but just in case
{
@@ -151,10 +150,10 @@ public class BlockStateWrapper implements IBlockStateWrapper
#if MC_1_16_5 || MC_1_17_1
block = Registry.BLOCK.get(resourceLocation);
#elif MC_1_18_2 || MC_1_19_2
- net.minecraft.core.RegistryAccess registryAccess = Minecraft.getInstance().level.registryAccess();
+ net.minecraft.core.RegistryAccess registryAccess = ((Level)levelWrapper.getWrappedMcObject()).registryAccess();
block = registryAccess.registryOrThrow(Registry.BLOCK_REGISTRY).get(resourceLocation);
#else
- net.minecraft.core.RegistryAccess registryAccess = Minecraft.getInstance().level.registryAccess();
+ net.minecraft.core.RegistryAccess registryAccess = ((Level)levelWrapper.getWrappedMcObject()).registryAccess();
block = registryAccess.registryOrThrow(Registries.BLOCK).get(resourceLocation);
#endif
diff --git a/coreSubProjects b/coreSubProjects
index 271b19354..0c155ac8c 160000
--- a/coreSubProjects
+++ b/coreSubProjects
@@ -1 +1 @@
-Subproject commit 271b193543ef5a636acf0af5e0c47e07a7636c82
+Subproject commit 0c155ac8cde8800892ef1c3497e255ee045fa325