Fix parallax sizes & imports

This commit is contained in:
Daniel Mills 2020-10-31 08:47:47 -04:00
parent 1173c3d053
commit 536ed2b967
18 changed files with 95 additions and 107 deletions

View File

@ -39,17 +39,16 @@ import com.volmit.iris.util.C;
import com.volmit.iris.util.Form; import com.volmit.iris.util.Form;
import com.volmit.iris.util.GroupedExecutor; import com.volmit.iris.util.GroupedExecutor;
import com.volmit.iris.util.IO; import com.volmit.iris.util.IO;
import com.volmit.iris.util.IrisLock;
import com.volmit.iris.util.J; import com.volmit.iris.util.J;
import com.volmit.iris.util.KList; import com.volmit.iris.util.KList;
import com.volmit.iris.util.M; import com.volmit.iris.util.M;
import com.volmit.iris.util.MetricsLite; import com.volmit.iris.util.MetricsLite;
import com.volmit.iris.util.VolmitPlugin;
import com.volmit.iris.util.NastyRunnable; import com.volmit.iris.util.NastyRunnable;
import com.volmit.iris.util.Permission; import com.volmit.iris.util.Permission;
import com.volmit.iris.util.Queue; import com.volmit.iris.util.Queue;
import com.volmit.iris.util.RNG; import com.volmit.iris.util.RNG;
import com.volmit.iris.util.ShurikenQueue; import com.volmit.iris.util.ShurikenQueue;
import com.volmit.iris.util.VolmitPlugin;
import io.papermc.lib.PaperLib; import io.papermc.lib.PaperLib;
@ -68,7 +67,6 @@ public class Iris extends VolmitPlugin
public static MultiverseCoreLink linkMultiverseCore; public static MultiverseCoreLink linkMultiverseCore;
public static MythicMobsLink linkMythicMobs; public static MythicMobsLink linkMythicMobs;
public static CitizensLink linkCitizens; public static CitizensLink linkCitizens;
private static IrisLock lock = new IrisLock("Iris");
private static final Queue<Runnable> syncJobs = new ShurikenQueue<>(); private static final Queue<Runnable> syncJobs = new ShurikenQueue<>();
public static boolean customModels = doesSupportCustomModels(); public static boolean customModels = doesSupportCustomModels();
public static boolean awareEntities = doesSupportAwareness(); public static boolean awareEntities = doesSupportAwareness();
@ -187,7 +185,6 @@ public class Iris extends VolmitPlugin
{ {
instance = this; instance = this;
compat = IrisCompat.configured(getDataFile("compat.json")); compat = IrisCompat.configured(getDataFile("compat.json"));
lock = new IrisLock("Iris");
proj = new ProjectManager(); proj = new ProjectManager();
hotloader = new IrisHotloadManager(); hotloader = new IrisHotloadManager();
convert = new ConversionManager(); convert = new ConversionManager();

View File

@ -1,15 +1,16 @@
package com.volmit.iris.object; package com.volmit.iris.object;
import com.volmit.iris.Iris; import com.volmit.iris.util.Desc;
import com.volmit.iris.gen.atomics.AtomicCache; import com.volmit.iris.util.DontObfuscate;
import com.volmit.iris.manager.IrisDataManager; import com.volmit.iris.util.MinNumber;
import com.volmit.iris.util.*; import com.volmit.iris.util.RegistryListDimension;
import com.volmit.iris.util.Required;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import org.bukkit.block.data.BlockData;
@Accessors(chain = true) @Accessors(chain = true)
@NoArgsConstructor @NoArgsConstructor

View File

@ -1,7 +1,6 @@
package com.volmit.iris.object; package com.volmit.iris.object;
import com.volmit.iris.Iris; import com.volmit.iris.Iris;
import com.volmit.iris.gen.ContextualTerrainProvider;
import com.volmit.iris.gen.atomics.AtomicCache; import com.volmit.iris.gen.atomics.AtomicCache;
import com.volmit.iris.noise.CNG; import com.volmit.iris.noise.CNG;
import com.volmit.iris.util.ArrayType; import com.volmit.iris.util.ArrayType;
@ -13,8 +12,8 @@ import com.volmit.iris.util.MinNumber;
import com.volmit.iris.util.RNG; import com.volmit.iris.util.RNG;
import com.volmit.iris.util.RegistryListObject; import com.volmit.iris.util.RegistryListObject;
import com.volmit.iris.util.Required; import com.volmit.iris.util.Required;
import com.volmit.iris.v2.scaffold.data.DataProvider; import com.volmit.iris.v2.scaffold.data.DataProvider;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;

View File

@ -2,11 +2,13 @@ package com.volmit.iris.object;
import java.util.List; import java.util.List;
import com.volmit.iris.util.M;
import org.bukkit.Axis; import org.bukkit.Axis;
import org.bukkit.Material;
import org.bukkit.block.BlockFace; import org.bukkit.block.BlockFace;
import org.bukkit.block.data.*; import org.bukkit.block.data.BlockData;
import org.bukkit.block.data.Directional;
import org.bukkit.block.data.MultipleFacing;
import org.bukkit.block.data.Orientable;
import org.bukkit.block.data.Rotatable;
import org.bukkit.util.BlockVector; import org.bukkit.util.BlockVector;
import com.volmit.iris.util.Desc; import com.volmit.iris.util.Desc;

View File

@ -10,7 +10,6 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Sound;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandMap; import org.bukkit.command.CommandMap;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
@ -18,16 +17,15 @@ import org.bukkit.command.PluginCommand;
import org.bukkit.command.SimpleCommandMap; import org.bukkit.command.SimpleCommandMap;
import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.HandlerList; import org.bukkit.event.HandlerList;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.permissions.PermissionDefault; import org.bukkit.permissions.PermissionDefault;
import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.plugin.java.JavaPlugin;
import com.volmit.iris.Iris;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import com.volmit.iris.Iris;
public abstract class VolmitPlugin extends JavaPlugin implements Listener public abstract class VolmitPlugin extends JavaPlugin implements Listener
{ {
public static boolean bad = false; public static boolean bad = false;

View File

@ -1,24 +1,12 @@
package com.volmit.iris.v2; package com.volmit.iris.v2;
import java.util.List;
import java.util.Random;
import java.util.UUID; import java.util.UUID;
import com.volmit.iris.util.KList;
import com.volmit.iris.v2.scaffold.engine.EngineCompositeGenerator;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.WorldCreator; import org.bukkit.WorldCreator;
import org.bukkit.block.Biome;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.generator.BlockPopulator;
import org.bukkit.generator.ChunkGenerator;
import com.volmit.iris.Iris; import com.volmit.iris.v2.scaffold.engine.EngineCompositeGenerator;
import com.volmit.iris.v2.scaffold.hunk.Hunk;
import com.volmit.iris.util.Form;
import com.volmit.iris.util.PrecisionStopwatch;
import org.jetbrains.annotations.NotNull;
public class TestGen public class TestGen
{ {

View File

@ -4,7 +4,10 @@ import com.volmit.iris.util.V;
public interface Multicache public interface Multicache
{ {
@SuppressWarnings("hiding")
public <V> Cache<V> getCache(int id); public <V> Cache<V> getCache(int id);
@SuppressWarnings("hiding")
public <V> Cache<V> createCache(); public <V> Cache<V> createCache();
} }

View File

@ -1,15 +1,14 @@
package com.volmit.iris.v2.scaffold.engine; package com.volmit.iris.v2.scaffold.engine;
import com.volmit.iris.v2.scaffold.hunk.Hunk;
import com.volmit.iris.v2.scaffold.hunk.io.BlockDataHunkIOAdapter;
import com.volmit.iris.v2.scaffold.parallax.ParallaxAccess;
import com.volmit.iris.manager.IrisDataManager;
import com.volmit.iris.object.IrisDimension;
import com.volmit.iris.v2.scaffold.parallel.MultiBurst;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.block.Biome; import org.bukkit.block.Biome;
import org.bukkit.block.data.BlockData; import org.bukkit.block.data.BlockData;
import com.volmit.iris.manager.IrisDataManager;
import com.volmit.iris.object.IrisDimension;
import com.volmit.iris.v2.scaffold.hunk.Hunk;
import com.volmit.iris.v2.scaffold.parallax.ParallaxAccess;
public interface Engine public interface Engine
{ {
public void setParallelism(int parallelism); public void setParallelism(int parallelism);

View File

@ -1,11 +1,6 @@
package com.volmit.iris.v2.scaffold.engine; package com.volmit.iris.v2.scaffold.engine;
import com.volmit.iris.util.RollingSequence;
import com.volmit.iris.v2.generator.IrisComplex;
import com.volmit.iris.v2.scaffold.hunk.Hunk; import com.volmit.iris.v2.scaffold.hunk.Hunk;
import com.volmit.iris.v2.scaffold.parallax.ParallaxAccess;
import com.volmit.iris.manager.IrisDataManager;
import com.volmit.iris.object.IrisDimension;
public interface EngineActuator<O> extends EngineComponent public interface EngineActuator<O> extends EngineComponent
{ {

View File

@ -1,11 +1,6 @@
package com.volmit.iris.v2.scaffold.engine; package com.volmit.iris.v2.scaffold.engine;
import com.volmit.iris.util.PrecisionStopwatch;
import com.volmit.iris.util.RollingSequence;
import com.volmit.iris.v2.scaffold.hunk.Hunk; import com.volmit.iris.v2.scaffold.hunk.Hunk;
import lombok.AllArgsConstructor;
import lombok.Getter;
import org.bukkit.block.data.BlockData;
public abstract class EngineAssignedActuator<T> extends EngineAssignedComponent implements EngineActuator<T> public abstract class EngineAssignedActuator<T> extends EngineAssignedComponent implements EngineActuator<T>
{ {

View File

@ -1,9 +1,6 @@
package com.volmit.iris.v2.scaffold.engine; package com.volmit.iris.v2.scaffold.engine;
import com.volmit.iris.util.PrecisionStopwatch;
import com.volmit.iris.util.RollingSequence;
import com.volmit.iris.v2.scaffold.hunk.Hunk; import com.volmit.iris.v2.scaffold.hunk.Hunk;
import lombok.Getter;
public abstract class EngineAssignedModifier<T> extends EngineAssignedComponent implements EngineModifier<T> public abstract class EngineAssignedModifier<T> extends EngineAssignedComponent implements EngineModifier<T>
{ {

View File

@ -1,14 +1,10 @@
package com.volmit.iris.v2.scaffold.engine; package com.volmit.iris.v2.scaffold.engine;
import com.mysql.jdbc.profiler.ProfilerEvent; import java.io.File;
import com.volmit.iris.Iris; import java.util.List;
import com.volmit.iris.manager.IrisDataManager; import java.util.Random;
import com.volmit.iris.object.IrisDimension; import java.util.concurrent.atomic.AtomicBoolean;
import com.volmit.iris.util.Form;
import com.volmit.iris.util.M;
import com.volmit.iris.util.PrecisionStopwatch;
import com.volmit.iris.v2.generator.IrisEngineCompound;
import com.volmit.iris.v2.scaffold.hunk.Hunk;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.block.Biome; import org.bukkit.block.Biome;
@ -18,10 +14,13 @@ import org.bukkit.generator.ChunkGenerator;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import java.io.File; import com.volmit.iris.Iris;
import java.util.List; import com.volmit.iris.manager.IrisDataManager;
import java.util.Random; import com.volmit.iris.object.IrisDimension;
import java.util.concurrent.atomic.AtomicBoolean; import com.volmit.iris.util.Form;
import com.volmit.iris.util.M;
import com.volmit.iris.v2.generator.IrisEngineCompound;
import com.volmit.iris.v2.scaffold.hunk.Hunk;
public class EngineCompositeGenerator extends ChunkGenerator implements Hotloadable { public class EngineCompositeGenerator extends ChunkGenerator implements Hotloadable {
private EngineCompound compound; private EngineCompound compound;

View File

@ -1,13 +1,13 @@
package com.volmit.iris.v2.scaffold.engine; package com.volmit.iris.v2.scaffold.engine;
import com.volmit.iris.v2.scaffold.engine.Engine;
import com.volmit.iris.v2.scaffold.hunk.Hunk;
import com.volmit.iris.v2.scaffold.parallel.MultiBurst;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.block.Biome; import org.bukkit.block.Biome;
import org.bukkit.block.data.BlockData; import org.bukkit.block.data.BlockData;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import com.volmit.iris.v2.scaffold.hunk.Hunk;
import com.volmit.iris.v2.scaffold.parallel.MultiBurst;
public interface EngineCompound extends Listener public interface EngineCompound extends Listener
{ {
public void generate(int x, int z, Hunk<BlockData> blocks, Hunk<Biome> biomes); public void generate(int x, int z, Hunk<BlockData> blocks, Hunk<Biome> biomes);

View File

@ -1,13 +1,11 @@
package com.volmit.iris.v2.scaffold.engine; package com.volmit.iris.v2.scaffold.engine;
import org.bukkit.block.Biome;
import org.bukkit.block.data.BlockData;
import com.volmit.iris.manager.IrisDataManager; import com.volmit.iris.manager.IrisDataManager;
import com.volmit.iris.v2.generator.IrisComplex; import com.volmit.iris.v2.generator.IrisComplex;
import com.volmit.iris.v2.generator.IrisEngine;
import com.volmit.iris.v2.scaffold.data.DataProvider; import com.volmit.iris.v2.scaffold.data.DataProvider;
import com.volmit.iris.v2.scaffold.parallax.ParallaxAccess;
import com.volmit.iris.v2.scaffold.parallax.ParallaxWorld;
import org.bukkit.block.Biome;
import org.bukkit.block.data.BlockData;
public interface EngineFramework extends DataProvider public interface EngineFramework extends DataProvider
{ {

View File

@ -1,11 +1,6 @@
package com.volmit.iris.v2.scaffold.engine; package com.volmit.iris.v2.scaffold.engine;
import com.volmit.iris.manager.IrisDataManager;
import com.volmit.iris.object.IrisDimension;
import com.volmit.iris.util.RollingSequence;
import com.volmit.iris.v2.generator.IrisComplex;
import com.volmit.iris.v2.scaffold.hunk.Hunk; import com.volmit.iris.v2.scaffold.hunk.Hunk;
import com.volmit.iris.v2.scaffold.parallax.ParallaxAccess;
public interface EngineModifier<T> extends EngineComponent { public interface EngineModifier<T> extends EngineComponent {
public void modify(Hunk<T> t); public void modify(Hunk<T> t);

View File

@ -1,22 +1,31 @@
package com.volmit.iris.v2.scaffold.engine; package com.volmit.iris.v2.scaffold.engine;
import java.util.concurrent.atomic.AtomicInteger;
import org.bukkit.block.data.BlockData;
import org.bukkit.util.BlockVector;
import com.volmit.iris.Iris; import com.volmit.iris.Iris;
import com.volmit.iris.gen.ContextualTerrainProvider;
import com.volmit.iris.manager.IrisDataManager; import com.volmit.iris.manager.IrisDataManager;
import com.volmit.iris.object.*; import com.volmit.iris.object.IrisBiome;
import com.volmit.iris.util.*; import com.volmit.iris.object.IrisDepositGenerator;
import com.volmit.iris.object.IrisObject;
import com.volmit.iris.object.IrisObjectPlacement;
import com.volmit.iris.object.IrisRegion;
import com.volmit.iris.object.IrisTextPlacement;
import com.volmit.iris.util.B;
import com.volmit.iris.util.Form;
import com.volmit.iris.util.IObjectPlacer;
import com.volmit.iris.util.KList;
import com.volmit.iris.util.KSet;
import com.volmit.iris.util.RNG;
import com.volmit.iris.v2.generator.IrisComplex; import com.volmit.iris.v2.generator.IrisComplex;
import com.volmit.iris.v2.generator.IrisEngine;
import com.volmit.iris.v2.scaffold.cache.Cache; import com.volmit.iris.v2.scaffold.cache.Cache;
import com.volmit.iris.v2.scaffold.data.DataProvider; import com.volmit.iris.v2.scaffold.data.DataProvider;
import com.volmit.iris.v2.scaffold.hunk.Hunk; import com.volmit.iris.v2.scaffold.hunk.Hunk;
import com.volmit.iris.v2.scaffold.parallax.ParallaxAccess; import com.volmit.iris.v2.scaffold.parallax.ParallaxAccess;
import com.volmit.iris.v2.scaffold.parallel.BurstExecutor; import com.volmit.iris.v2.scaffold.parallel.BurstExecutor;
import com.volmit.iris.v2.scaffold.parallel.MultiBurst; import com.volmit.iris.v2.scaffold.parallel.MultiBurst;
import org.bukkit.block.data.BlockData;
import org.bukkit.util.BlockVector;
import java.util.concurrent.atomic.AtomicInteger;
public interface EngineParallax extends DataProvider, IObjectPlacer public interface EngineParallax extends DataProvider, IObjectPlacer
{ {
@ -157,7 +166,6 @@ public interface EngineParallax extends DataProvider, IObjectPlacer
} }
} }
IrisLock t = new IrisLock("t");
Iris.verbose("Checking sizes for " + Form.f(objects.size()) + " referenced objects."); Iris.verbose("Checking sizes for " + Form.f(objects.size()) + " referenced objects.");
BurstExecutor e = MultiBurst.burst.burst(objects.size()); BurstExecutor e = MultiBurst.burst.burst(objects.size());
for(String i : objects) for(String i : objects)

View File

@ -1,12 +1,18 @@
package com.volmit.iris.v2.scaffold.hunk.io; package com.volmit.iris.v2.scaffold.hunk.io;
import java.io.IOException; import java.io.IOException;
import java.util.concurrent.atomic.AtomicIntegerArray;
import com.volmit.iris.util.*;
import org.bukkit.block.data.BlockData; import org.bukkit.block.data.BlockData;
import com.volmit.iris.Iris; import com.volmit.iris.Iris;
import com.volmit.iris.util.ByteArrayTag;
import com.volmit.iris.util.CompoundTag;
import com.volmit.iris.util.Function2;
import com.volmit.iris.util.Function3;
import com.volmit.iris.util.KList;
import com.volmit.iris.util.KMap;
import com.volmit.iris.util.M;
import com.volmit.iris.util.Tag;
import com.volmit.iris.v2.scaffold.hunk.Hunk; import com.volmit.iris.v2.scaffold.hunk.Hunk;
public class HunkRegionSlice<T> public class HunkRegionSlice<T>
@ -18,9 +24,9 @@ public class HunkRegionSlice<T>
private final HunkIOAdapter<T> adapter; private final HunkIOAdapter<T> adapter;
private final CompoundTag compound; private final CompoundTag compound;
private final String key; private final String key;
private final KMap<Short, Hunk<T>> loadedChunks; private final KMap<Long, Hunk<T>> loadedChunks;
private final KMap<Short, Long> lastUse; private final KMap<Long, Long> lastUse;
private final KList<Short> save; private final KList<Long> save;
private final int height; private final int height;
public HunkRegionSlice(int height, Function3<Integer, Integer, Integer, Hunk<T>> factory, HunkIOAdapter<T> adapter, CompoundTag compound, String key) public HunkRegionSlice(int height, Function3<Integer, Integer, Integer, Hunk<T>> factory, HunkIOAdapter<T> adapter, CompoundTag compound, String key)
@ -42,11 +48,12 @@ public class HunkRegionSlice<T>
Iris.warn("Incorrect chunk use counts in " + key); Iris.warn("Incorrect chunk use counts in " + key);
} }
for(Short i : lastUse.k()) for(Long i : lastUse.k())
{ {
if(M.ms() - lastUse.get(i) > t) if(M.ms() - lastUse.get(i) > t)
{ {
unload((byte) (i & 0xFF), (byte) ((i >> 8) & 0xFF)); System.out.println("Trying to unload " + i);
unload((int)(i >> 32), (int) i.longValue());
} }
} }
} }
@ -67,9 +74,9 @@ public class HunkRegionSlice<T>
public void save() public void save()
{ {
for(short i : save) for(Long i : save)
{ {
save((byte) (i & 0xFF), (byte) ((i >> 8) & 0xFF)); save((int)(i >> 32), (int) i.longValue());
} }
save.clear(); save.clear();
@ -105,9 +112,9 @@ public class HunkRegionSlice<T>
public synchronized void unloadAll() public synchronized void unloadAll()
{ {
for(Short i : loadedChunks.k()) for(Long i : loadedChunks.k())
{ {
unload((byte) (i & 0xFF), (byte) ((i >> 8) & 0xFF)); unload((int)(i >> 32), (int) i.longValue());
} }
save.clear(); save.clear();
@ -142,10 +149,11 @@ public class HunkRegionSlice<T>
public synchronized void unload(int x, int z) public synchronized void unload(int x, int z)
{ {
short key = ikey(x, z); long key = ikey(x, z);
System.out.println(x + "," + z + " = " + key);
if(isLoaded(x, z)) if(isLoaded(x, z))
{ {
System.out.println("HOT IT");
if(save.contains(key)) if(save.contains(key))
{ {
save(x, z); save(x, z);
@ -155,6 +163,11 @@ public class HunkRegionSlice<T>
lastUse.remove(key); lastUse.remove(key);
loadedChunks.remove(key); loadedChunks.remove(key);
} }
else
{
System.out.println("IDK WHERE " + key + " IS");
}
} }
public synchronized Hunk<T> load(int x, int z) public synchronized Hunk<T> load(int x, int z)
@ -191,7 +204,7 @@ public class HunkRegionSlice<T>
public Hunk<T> get(int x, int z) public Hunk<T> get(int x, int z)
{ {
short key = ikey(x, z); long key = ikey(x, z);
Hunk<T> c = loadedChunks.get(key); Hunk<T> c = loadedChunks.get(key);
@ -200,7 +213,7 @@ public class HunkRegionSlice<T>
c = load(x, z); c = load(x, z);
} }
lastUse.put(ikey(x,z), M.ms()); lastUse.put(ikey(x, z), M.ms());
return c; return c;
} }
@ -216,9 +229,9 @@ public class HunkRegionSlice<T>
return get(x, z); return get(x, z);
} }
private short ikey(int x, int z) private long ikey(int x, int z)
{ {
return ((short) (((x & 0xFF) << 8) | (z & 0xFF))); return (((long) x) << 32) | (((long) z) & 0xffffffffL);
} }
private String key(int x, int z) private String key(int x, int z)
@ -228,10 +241,11 @@ public class HunkRegionSlice<T>
throw new IndexOutOfBoundsException("The chunk " + x + " " + z + " is out of bounds max is 31x31"); throw new IndexOutOfBoundsException("The chunk " + x + " " + z + " is out of bounds max is 31x31");
} }
return key + "." + Integer.toString(((short) (((x & 0xFF) << 8) | (z & 0xFF))), 36); return key + "." + Long.toString(ikey(x,z), 36);
} }
public int getLoadCount() { public int getLoadCount()
{
return loadedChunks.size(); return loadedChunks.size();
} }
} }

View File

@ -192,7 +192,7 @@ public class ParallaxWorld implements ParallaxAccess
public void cleanup() public void cleanup()
{ {
cleanup(30000, 10000); cleanup(10000, 3000);
} }
@Override @Override