diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/TerraFabricPlugin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/TerraFabricPlugin.java index 655fdb4e1..79b5505ce 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/TerraFabricPlugin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/TerraFabricPlugin.java @@ -36,10 +36,13 @@ import net.minecraft.world.gen.chunk.ChunkGeneratorSettings; import java.io.File; import java.io.IOException; +import java.util.HashMap; +import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; public class TerraFabricPlugin implements TerraPlugin, ModInitializer { + private final Map worldMap = new HashMap<>(); private static TerraFabricPlugin instance; private final TerraChunkGeneratorCodec chunkGeneratorCodec = new TerraChunkGeneratorCodec(this); @@ -72,7 +75,10 @@ public class TerraFabricPlugin implements TerraPlugin, ModInitializer { @Override public TerraWorld getWorld(World world) { - return new TerraWorld(world, getRegistry().get("DEFAULT"), this); + return worldMap.computeIfAbsent(world.getSeed(), w -> { + logger.info("Loading world " + w); + return new TerraWorld(world, getRegistry().get("DEFAULT"), this); + }); } @Override diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/handles/world/FabricWorldChunkRegion.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/handles/world/FabricWorldChunkRegion.java index a0b8f8f2d..da6fca15e 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/handles/world/FabricWorldChunkRegion.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/handles/world/FabricWorldChunkRegion.java @@ -40,7 +40,7 @@ public class FabricWorldChunkRegion implements World { @Override public String getName() { - return getWorldFolder().getName(); + return delegate.chunk.toString(); } @Override