fix mem leak & increase perf

This commit is contained in:
dfsek 2020-12-14 02:19:18 -07:00
parent ebe887def0
commit 2215c8a98c
2 changed files with 8 additions and 2 deletions

View File

@ -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<Long, TerraWorld> 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

View File

@ -40,7 +40,7 @@ public class FabricWorldChunkRegion implements World {
@Override
public String getName() {
return getWorldFolder().getName();
return delegate.chunk.toString();
}
@Override