mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-21 11:43:27 +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;
|
package ninja.bytecode.iris.controller;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.Location;
|
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.GList;
|
||||||
import ninja.bytecode.shuriken.collections.GSet;
|
import ninja.bytecode.shuriken.collections.GSet;
|
||||||
import ninja.bytecode.shuriken.execution.J;
|
import ninja.bytecode.shuriken.execution.J;
|
||||||
import ninja.bytecode.shuriken.io.IO;
|
|
||||||
|
|
||||||
public class DebugController implements IrisController
|
public class DebugController implements IrisController
|
||||||
{
|
{
|
||||||
@ -84,24 +81,6 @@ public class DebugController implements IrisController
|
|||||||
@Override
|
@Override
|
||||||
public void onStop()
|
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.GList;
|
||||||
import ninja.bytecode.shuriken.collections.GMap;
|
import ninja.bytecode.shuriken.collections.GMap;
|
||||||
import ninja.bytecode.shuriken.execution.J;
|
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.format.F;
|
||||||
import ninja.bytecode.shuriken.io.IO;
|
import ninja.bytecode.shuriken.io.IO;
|
||||||
import ninja.bytecode.shuriken.json.JSONException;
|
import ninja.bytecode.shuriken.json.JSONException;
|
||||||
@ -283,6 +281,21 @@ public class PackController implements IrisController
|
|||||||
|
|
||||||
public void dispose()
|
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();
|
compiledDimensions.clear();
|
||||||
dimensions.clear();
|
dimensions.clear();
|
||||||
biomes.clear();
|
biomes.clear();
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
package ninja.bytecode.iris.controller;
|
package ninja.bytecode.iris.controller;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
|
import org.apache.commons.io.FileUtils;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.WorldCreator;
|
import org.bukkit.WorldCreator;
|
||||||
@ -12,6 +14,7 @@ import ninja.bytecode.iris.generator.IrisGenerator;
|
|||||||
import ninja.bytecode.iris.pack.CompiledDimension;
|
import ninja.bytecode.iris.pack.CompiledDimension;
|
||||||
import ninja.bytecode.iris.util.IrisController;
|
import ninja.bytecode.iris.util.IrisController;
|
||||||
import ninja.bytecode.shuriken.execution.J;
|
import ninja.bytecode.shuriken.execution.J;
|
||||||
|
import ninja.bytecode.shuriken.io.IO;
|
||||||
|
|
||||||
public class WorldController implements IrisController
|
public class WorldController implements IrisController
|
||||||
{
|
{
|
||||||
@ -52,7 +55,27 @@ public class WorldController implements IrisController
|
|||||||
|
|
||||||
if(temp)
|
if(temp)
|
||||||
{
|
{
|
||||||
|
File folder = ww.getWorldFolder();
|
||||||
J.attempt(() -> new File(ww.getWorldFolder(), ".garbage").createNewFile());
|
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;
|
return ww;
|
||||||
|
@ -468,4 +468,9 @@ public class GenObject
|
|||||||
recalculateMountShift();
|
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);
|
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;
|
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;
|
return environment;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void dispose()
|
||||||
|
{
|
||||||
|
biomes.clear();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user