diff --git a/src/main/java/com/volmit/iris/engine/parallax/ParallaxWorld.java b/src/main/java/com/volmit/iris/engine/parallax/ParallaxWorld.java index 5512f6f32..febd98adc 100644 --- a/src/main/java/com/volmit/iris/engine/parallax/ParallaxWorld.java +++ b/src/main/java/com/volmit/iris/engine/parallax/ParallaxWorld.java @@ -22,8 +22,6 @@ import com.volmit.iris.Iris; import com.volmit.iris.core.IrisSettings; import com.volmit.iris.engine.hunk.Hunk; import com.volmit.iris.engine.object.tile.TileData; -import com.volmit.iris.engine.parallel.GridLock; -import com.volmit.iris.engine.parallel.HyperLock; import com.volmit.iris.engine.parallel.MultiBurst; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KMap; @@ -40,14 +38,12 @@ import java.io.IOException; public class ParallaxWorld implements ParallaxAccess { private final KMap loadedRegions; private final KList save; - private final HyperLock hlock; private final File folder; private final MultiBurst burst; private final int height; public ParallaxWorld(MultiBurst burst, int height, File folder) { this.height = height; - this.hlock = new HyperLock(1024); this.burst = burst; this.folder = folder; save = new KList<>(); @@ -85,7 +81,7 @@ public class ParallaxWorld implements ParallaxAccess { public void save(ParallaxRegion region) { try { - hlock.withIO(region.getX(), region.getZ(), () -> region.save()); + region.save(); } catch (IOException e) { Iris.reportError(e); e.printStackTrace(); @@ -99,70 +95,60 @@ public class ParallaxWorld implements ParallaxAccess { @RegionCoordinates public void save(int x, int z) { - hlock.with(x, z, () -> { - if (isLoaded(x, z)) { - save(getR(x, z)); - } - }); + if (isLoaded(x, z)) { + save(getR(x, z)); + } } @RegionCoordinates public int unload(int x, int z) { - return hlock.withResult(x, z, () -> { - long key = key(x, z); - int v = 0; - if (isLoaded(x, z)) { - if (save.contains(key)) { - save(x, z); - save.remove(key); - } - - ParallaxRegion lr = loadedRegions.remove(key); - - if (lr != null) { - v += lr.unload(); - } + long key = key(x, z); + int v = 0; + if (isLoaded(x, z)) { + if (save.contains(key)) { + save(x, z); + save.remove(key); } - return v; - }); + ParallaxRegion lr = loadedRegions.remove(key); + + if (lr != null) { + v += lr.unload(); + } + } + + return v; } @RegionCoordinates public ParallaxRegion load(int x, int z) { - return hlock.withResult(x, z, () -> { - if (isLoaded(x, z)) { - return loadedRegions.get(key(x, z)); - } + if (isLoaded(x, z)) { + return loadedRegions.get(key(x, z)); + } - ParallaxRegion v = new ParallaxRegion(burst, height, folder, x, z); - loadedRegions.put(key(x, z), v); + ParallaxRegion v = new ParallaxRegion(burst, height, folder, x, z); + loadedRegions.put(key(x, z), v); - return v; - }); + return v; } @RegionCoordinates public ParallaxRegion getR(int x, int z) { - return hlock.withResult(x, z, () -> { - long key = key(x, z); + long key = key(x, z); - ParallaxRegion region = loadedRegions.get(key); + ParallaxRegion region = loadedRegions.get(key); - if (region == null) { - region = load(x, z); - } + if (region == null) { + region = load(x, z); + } - return region; - }); + return region; } @RegionCoordinates public ParallaxRegion getRW(int x, int z) { - return hlock.withResult(x, z, () -> { - save.addIfMissing(key(x, z)); - return getR(x, z); - }); + save.addIfMissing(key(x, z)); + return getR(x, z); } @RegionCoordinates