mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-19 10:43:14 +00:00
Smashed the Stupid out of Memory
This commit is contained in:
parent
445ce46357
commit
f5ab7f3102
@ -1,7 +1,5 @@
|
||||
package ninja.bytecode.iris.controller;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Location;
|
||||
@ -14,7 +12,6 @@ import ninja.bytecode.iris.util.IrisController;
|
||||
import ninja.bytecode.shuriken.collections.GList;
|
||||
import ninja.bytecode.shuriken.collections.GSet;
|
||||
import ninja.bytecode.shuriken.execution.J;
|
||||
import ninja.bytecode.shuriken.io.IO;
|
||||
|
||||
public class DebugController implements IrisController
|
||||
{
|
||||
@ -84,24 +81,6 @@ public class DebugController implements IrisController
|
||||
@Override
|
||||
public void onStop()
|
||||
{
|
||||
deleteOnExit(new File("iris-worlds"));
|
||||
}
|
||||
|
||||
public static void deleteOnExit(File f)
|
||||
{
|
||||
if(f == null || !f.exists())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(f.isDirectory())
|
||||
{
|
||||
for(File i : f.listFiles())
|
||||
{
|
||||
deleteOnExit(i);
|
||||
}
|
||||
}
|
||||
|
||||
f.deleteOnExit();
|
||||
}
|
||||
}
|
||||
|
@ -18,8 +18,6 @@ import ninja.bytecode.shuriken.bench.PrecisionStopwatch;
|
||||
import ninja.bytecode.shuriken.collections.GList;
|
||||
import ninja.bytecode.shuriken.collections.GMap;
|
||||
import ninja.bytecode.shuriken.execution.J;
|
||||
import ninja.bytecode.shuriken.execution.TaskExecutor;
|
||||
import ninja.bytecode.shuriken.execution.TaskExecutor.TaskGroup;
|
||||
import ninja.bytecode.shuriken.format.F;
|
||||
import ninja.bytecode.shuriken.io.IO;
|
||||
import ninja.bytecode.shuriken.json.JSONException;
|
||||
@ -283,6 +281,21 @@ public class PackController implements IrisController
|
||||
|
||||
public void dispose()
|
||||
{
|
||||
for(GenObjectGroup i : genObjectGroups.values())
|
||||
{
|
||||
i.dispose();
|
||||
}
|
||||
|
||||
for(IrisDimension i : dimensions.values())
|
||||
{
|
||||
i.dispose();
|
||||
}
|
||||
|
||||
for(CompiledDimension i : compiledDimensions.values())
|
||||
{
|
||||
i.dispose();
|
||||
}
|
||||
|
||||
compiledDimensions.clear();
|
||||
dimensions.clear();
|
||||
biomes.clear();
|
||||
|
@ -1,8 +1,10 @@
|
||||
package ninja.bytecode.iris.controller;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.WorldCreator;
|
||||
@ -12,15 +14,16 @@ import ninja.bytecode.iris.generator.IrisGenerator;
|
||||
import ninja.bytecode.iris.pack.CompiledDimension;
|
||||
import ninja.bytecode.iris.util.IrisController;
|
||||
import ninja.bytecode.shuriken.execution.J;
|
||||
import ninja.bytecode.shuriken.io.IO;
|
||||
|
||||
public class WorldController implements IrisController
|
||||
{
|
||||
@Override
|
||||
public void onStart()
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public boolean isChunkGenerated(World w, int x, int z)
|
||||
{
|
||||
return w.loadChunk(x, z, false);
|
||||
@ -52,7 +55,27 @@ public class WorldController implements IrisController
|
||||
|
||||
if(temp)
|
||||
{
|
||||
File folder = ww.getWorldFolder();
|
||||
J.attempt(() -> new File(ww.getWorldFolder(), ".garbage").createNewFile());
|
||||
Runtime.getRuntime().addShutdownHook(new Thread()
|
||||
{
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
IO.delete(folder);
|
||||
|
||||
try
|
||||
{
|
||||
FileUtils.forceDelete(folder);
|
||||
System.out.println("Deleted Debug World: " + folder.getName());
|
||||
}
|
||||
|
||||
catch(IOException e)
|
||||
{
|
||||
System.out.println("FAILED TO Delete Debug World: " + folder.getName());
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return ww;
|
||||
|
@ -468,4 +468,9 @@ public class GenObject
|
||||
recalculateMountShift();
|
||||
}
|
||||
}
|
||||
|
||||
public void dispose()
|
||||
{
|
||||
s.clear();
|
||||
}
|
||||
}
|
||||
|
@ -220,4 +220,15 @@ public class GenObjectGroup
|
||||
|
||||
L.i(ChatColor.LIGHT_PURPLE + "Processed " + ChatColor.WHITE + F.f(schematics.size()) + ChatColor.LIGHT_PURPLE + " Schematics in " + ChatColor.WHITE + name);
|
||||
}
|
||||
|
||||
public void dispose()
|
||||
{
|
||||
for(GenObject i : schematics)
|
||||
{
|
||||
i.dispose();
|
||||
}
|
||||
|
||||
schematics.clear();
|
||||
flags.clear();
|
||||
}
|
||||
}
|
||||
|
@ -169,4 +169,17 @@ public class CompiledDimension
|
||||
|
||||
return b;
|
||||
}
|
||||
|
||||
public void dispose()
|
||||
{
|
||||
biomes.clear();
|
||||
biomeCache.clear();
|
||||
|
||||
for(GenObjectGroup i : objects.values())
|
||||
{
|
||||
i.dispose();
|
||||
}
|
||||
|
||||
objects.clear();
|
||||
}
|
||||
}
|
||||
|
@ -104,4 +104,9 @@ public class IrisDimension
|
||||
{
|
||||
return environment;
|
||||
}
|
||||
|
||||
public void dispose()
|
||||
{
|
||||
biomes.clear();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user