Disabled ChunkReloader and implemented 'Issue #66: Limit Cache Size'
parent
9234949476
commit
63be95ee87
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
<groupId>com.lishid</groupId>
|
<groupId>com.lishid</groupId>
|
||||||
<artifactId>orebfuscator</artifactId>
|
<artifactId>orebfuscator</artifactId>
|
||||||
<version>4.1.9-SNAPSHOT</version>
|
<version>4.1.10-SNAPSHOT</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<name>Orebfuscator4</name>
|
<name>Orebfuscator4</name>
|
||||||
|
|
|
@ -24,6 +24,7 @@ import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.plugin.PluginManager;
|
import org.bukkit.plugin.PluginManager;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
|
import com.lishid.orebfuscator.cache.CacheCleaner;
|
||||||
import com.lishid.orebfuscator.cache.ObfuscatedDataCache;
|
import com.lishid.orebfuscator.cache.ObfuscatedDataCache;
|
||||||
import com.lishid.orebfuscator.commands.OrebfuscatorCommandExecutor;
|
import com.lishid.orebfuscator.commands.OrebfuscatorCommandExecutor;
|
||||||
import com.lishid.orebfuscator.hithack.BlockHitManager;
|
import com.lishid.orebfuscator.hithack.BlockHitManager;
|
||||||
|
@ -51,7 +52,7 @@ public class Orebfuscator extends JavaPlugin {
|
||||||
return this.isProtocolLibFound;
|
return this.isProtocolLibFound;
|
||||||
}
|
}
|
||||||
|
|
||||||
//\\@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
@Override
|
@Override
|
||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
// Get plugin manager
|
// Get plugin manager
|
||||||
|
@ -79,7 +80,7 @@ public class Orebfuscator extends JavaPlugin {
|
||||||
(new ProtocolLibHook()).register(this);
|
(new ProtocolLibHook()).register(this);
|
||||||
|
|
||||||
// Run CacheCleaner
|
// Run CacheCleaner
|
||||||
//\\getServer().getScheduler().scheduleAsyncRepeatingTask(this, new CacheCleaner(), 0, OrebfuscatorConfig.CacheCleanRate);
|
getServer().getScheduler().scheduleAsyncRepeatingTask(this, new CacheCleaner(), 0, OrebfuscatorConfig.CacheCleanRate);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static INmsManager createNmsManager() {
|
private static INmsManager createNmsManager() {
|
||||||
|
|
|
@ -108,11 +108,10 @@ public class OrebfuscatorConfig {
|
||||||
|
|
||||||
// ChunkReloader
|
// ChunkReloader
|
||||||
public static int ChunkReloaderRate = 500;
|
public static int ChunkReloaderRate = 500;
|
||||||
public static boolean UseChunkReloader = true;
|
public static boolean UseChunkReloader = false;
|
||||||
|
|
||||||
// CacheCleaner
|
// CacheCleaner
|
||||||
//\\public static long CacheCleanRate = 60 * 60 * 20;//once per hour
|
public static long CacheCleanRate = 60 * 60 * 20;//once per hour
|
||||||
public static long CacheCleanRate = 60 * 20;
|
|
||||||
|
|
||||||
public static File getCacheFolder() {
|
public static File getCacheFolder() {
|
||||||
// Try to make the folder
|
// Try to make the folder
|
||||||
|
@ -458,7 +457,7 @@ public class OrebfuscatorConfig {
|
||||||
NoObfuscationForMetadata = getBoolean("Booleans.NoObfuscationForMetadata", NoObfuscationForMetadata);
|
NoObfuscationForMetadata = getBoolean("Booleans.NoObfuscationForMetadata", NoObfuscationForMetadata);
|
||||||
NoObfuscationForMetadataTagName = getString("Strings.NoObfuscationForMetadataTagName", NoObfuscationForMetadataTagName);
|
NoObfuscationForMetadataTagName = getString("Strings.NoObfuscationForMetadataTagName", NoObfuscationForMetadataTagName);
|
||||||
DeleteCacheFilesAfterDays = getInt("Integers.DeleteCacheFilesAfterDays", DeleteCacheFilesAfterDays);
|
DeleteCacheFilesAfterDays = getInt("Integers.DeleteCacheFilesAfterDays", DeleteCacheFilesAfterDays);
|
||||||
UseChunkReloader = getBoolean("Booleans.UseChunkReloader", UseChunkReloader);
|
//UseChunkReloader = getBoolean("Booleans.UseChunkReloader", UseChunkReloader);
|
||||||
|
|
||||||
generateTransparentBlocks();
|
generateTransparentBlocks();
|
||||||
|
|
||||||
|
|
|
@ -12,13 +12,13 @@ public class CacheCleaner implements Runnable {
|
||||||
public void run() {
|
public void run() {
|
||||||
if(!OrebfuscatorConfig.Enabled || OrebfuscatorConfig.DeleteCacheFilesAfterDays <= 0) return;
|
if(!OrebfuscatorConfig.Enabled || OrebfuscatorConfig.DeleteCacheFilesAfterDays <= 0) return;
|
||||||
|
|
||||||
Orebfuscator.log("Started checking old cache files to delete...");
|
int count = 0;
|
||||||
|
|
||||||
for(World world : Bukkit.getWorlds()) {
|
for(World world : Bukkit.getWorlds()) {
|
||||||
File cacheFolder = new File(OrebfuscatorConfig.getCacheFolder(), world.getName());
|
File cacheFolder = new File(OrebfuscatorConfig.getCacheFolder(), world.getName());
|
||||||
ObfuscatedDataCache.deleteFiles(cacheFolder, OrebfuscatorConfig.DeleteCacheFilesAfterDays);
|
count += ObfuscatedDataCache.deleteFiles(cacheFolder, OrebfuscatorConfig.DeleteCacheFilesAfterDays);
|
||||||
}
|
}
|
||||||
|
|
||||||
Orebfuscator.log("Compleetd checking old cache files to delete...");
|
Orebfuscator.log("Cache cleaner completed, deleted files: " + count);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -80,11 +80,13 @@ public class ObfuscatedDataCache {
|
||||||
return getInternalCache().getOutputStream(folder, x, z);
|
return getInternalCache().getOutputStream(folder, x, z);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void deleteFiles(File folder, int deleteAfterDays) {
|
public static int deleteFiles(File folder, int deleteAfterDays) {
|
||||||
|
int count = 0;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
File regionFolder = new File(folder, "data/region");
|
File regionFolder = new File(folder, "data/region");
|
||||||
|
|
||||||
if(!regionFolder.exists()) return;
|
if(!regionFolder.exists()) return count;
|
||||||
|
|
||||||
long deleteAfterDaysMs = (long)deleteAfterDays * 24L * 60L * 60L * 1000L;
|
long deleteAfterDaysMs = (long)deleteAfterDays * 24L * 60L * 60L * 1000L;
|
||||||
|
|
||||||
|
@ -93,11 +95,13 @@ public class ObfuscatedDataCache {
|
||||||
|
|
||||||
if (diff > deleteAfterDaysMs) {
|
if (diff > deleteAfterDaysMs) {
|
||||||
file.delete();
|
file.delete();
|
||||||
Orebfuscator.log("File " + file.getName() + " is deleted.");
|
count++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch(Exception ex) {
|
} catch(Exception ex) {
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return count;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -193,7 +193,8 @@ public class ChunkReloader extends Thread implements Runnable {
|
||||||
|
|
||||||
public static void addLoadedChunk(World world, int chunkX, int chunkZ) {
|
public static void addLoadedChunk(World world, int chunkX, int chunkZ) {
|
||||||
if (!OrebfuscatorConfig.Enabled // Plugin enabled
|
if (!OrebfuscatorConfig.Enabled // Plugin enabled
|
||||||
|| OrebfuscatorConfig.isWorldDisabled(world.getName())) // World not enabled
|
|| OrebfuscatorConfig.isWorldDisabled(world.getName()) // World not enabled
|
||||||
|
|| !OrebfuscatorConfig.UseChunkReloader)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -213,7 +214,8 @@ public class ChunkReloader extends Thread implements Runnable {
|
||||||
|
|
||||||
public static void addUnloadedChunk(World world, int chunkX, int chunkZ) {
|
public static void addUnloadedChunk(World world, int chunkX, int chunkZ) {
|
||||||
if (!OrebfuscatorConfig.Enabled // Plugin enabled
|
if (!OrebfuscatorConfig.Enabled // Plugin enabled
|
||||||
|| OrebfuscatorConfig.isWorldDisabled(world.getName())) // World not enabled
|
|| OrebfuscatorConfig.isWorldDisabled(world.getName()) // World not enabled
|
||||||
|
|| !OrebfuscatorConfig.UseChunkReloader)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue